Мазмуну:

ESP32 менен санариптик масштаб: 12 кадам
ESP32 менен санариптик масштаб: 12 кадам

Video: ESP32 менен санариптик масштаб: 12 кадам

Video: ESP32 менен санариптик масштаб: 12 кадам
Video: Introduction to M5Stack Core2 ESP32 2" Display Development Module -Robojax 2024, Июль
Anonim
Image
Image
Колдонулган ресурстар
Колдонулган ресурстар

ESP32 жана сенсорду (жүк клеткасы деп аталат) колдонуп санариптик масштабды орнотуу жөнүндө ойлонуп көрдүңүз беле? Бүгүн мен муну башка мисалдардын арасында кыймылдаткычтын бир чекитте аткаруучу күчүн аныктоо сыяктуу башка лабораториялык сыноолорго мүмкүнчүлүк берген процесс аркылуу кантип жасоону көрсөтөм.

Мен андан кийин жүк клеткаларын колдонууга байланыштуу кээ бир түшүнүктөрдү көрсөтөм, мисал масштабын түзүү үчүн клетка маалыматтарын басып алам жана жүк клеткаларынын башка мүмкүн болгон колдонмолорун көрсөтөм.

1 -кадам: Колдонулган ресурстар

• Heltec Lora 32 WiFi ESP

• Уячаны жүктөө (0дон 50гө чейин, шкаланы колдонуу менен)

• 1 потенциометр 100к (эгер жакшы жөнгө салуу үчүн көп вольттуу тримпотту колдонсоңуз жакшы)

• 1 Amp Op LM358

• 2 1M5 каршылыгы

• 2 10k каршылыгы

• 1 4k7 каршылыгы

• Зымдар

• Протобоард

• ESP үчүн USB кабели

• Таразасы, бүткөн көлөмү бар контейнер же калибрлөөнүн башка ыкмасы.

2 -кадам: Демонстрация

Демонстрация
Демонстрация

3 -кадам: Уячаларды жүктөө

Уячаларды жүктөө
Уячаларды жүктөө

• Алар күч которгучтар.

• Алар колдонулган күчтү чара катары колдонула турган пропорционалдуу чоңдукка которуу үчүн ар кандай ыкмаларды колдонушу мүмкүн. Эң кеңири тарагандардын арасында барак экстенометрлерин, пьезоэлектр эффектисин, гидравликаны, дирилдеген жиптерди ж.

• Алар ошондой эле өлчөө формасы боюнча классификацияланышы мүмкүн (чыңалуу же кысуу)

4 -кадам: Клеткаларды жана штаммды өлчөгүчтөрдү жүктөө

Load Cells жана Strain Gauges
Load Cells жана Strain Gauges
Load Cells жана Strain Gauges
Load Cells жана Strain Gauges

• Барактын экстенометрлери - бул каршылыгы бар, көлөмү өзгөргөн сайын өзгөрүп туруучу басылган зымы бар тасмалар (көбүнчө пластикалык).

• Анын курулушу негизинен механикалык деформацияны электрдик чоңдуктун (каршылыктын) вариациясына айландырууну көздөйт. Бул компонентти баалоо жүргүзүлүшү үчүн бир багытта болот. Бул үчүн бир нече экстенометрдин айкалышы кеңири таралган

• Денеге туура бекитилгенде, анын деформациясы денеге окшош болот. Ошентип, анын каршылыгы дененин деформациясына жараша өзгөрөт, бул болсо деформациялоочу күчкө байланыштуу.

• Алар штамм өлчөгүчтөр катары да белгилүү.

• Чыңалуучу күч менен тараганда, жиптер узарып, тар болуп, каршылыкты күчөтөт.

• Кысуу күчү менен кысылганда, зымдар кыскарып, кеңейип, каршылыкты азайтат.

5 -кадам: Уитстоун көпүрөсү

Wheatstone көпүрөсү
Wheatstone көпүрөсү

• Так өлчөө үчүн жана жүк клеткасындагы каршылыктын өзгөрүүсүн эффективдүү аныктоого мүмкүндүк берүү үчүн, штамм өлчөгүч Wheatstone көпүрөсүнө чогултулат.

• Бул конфигурацияда көпүрөнүн дисбалансы аркылуу каршылыктын өзгөрүүсүн аныктай алабыз.

• Эгерде R1 = Rx жана R2 = R3 болсо, анда чыңалуу бөлүштүргүчтөрү барабар болот, Vc жана Vb чыңалуусу да барабар болот, көпүрө тең салмактуулукта. Башкача айтканда, Vbc = 0V;

• Эгерде Rx R1ден башка болсо, көпүрө тең салмаксыз болот жана Vbc чыңалуусу нөлгө барабар болот.

• Бул вариация кантип пайда болушу керек экенин көрсөтүүгө болот, бирок бул жерде биз ADCде окулган маанини жүк клеткасына колдонулган масса менен байланыштырып түздөн -түз калибрлөө жүргүзөбүз.

6 -кадам: Күчөтүү

Күчөтүү
Күчөтүү

• Окууну эффективдүү кылуу үчүн Wheatstone көпүрөсүн колдонсо да, жүк клеткасынын металлындагы микро деформациялар Vbc ортосундагы чакан чыңалуу өзгөрүүлөрүн пайда кылат.

• Бул жагдайды чечүү үчүн биз күчөтүүнүн эки баскычын колдонобуз. Бири айырмачылыкты аныктайт, экинчиси ESPтин ADCсине алынган мааниге дал келет.

7 -кадам: Күчөтүү (схема)

Күчөтүү (схема)
Күчөтүү (схема)

• Чыгаруу кадамынын кирешеси R6 / R5 тарабынан берилет жана R7 / R8 менен бирдей.

• Инверсиясыз акыркы кадамдын пайдасы Pot / R10 тарабынан берилет

8 -кадам: Калибрлөө үчүн маалыматтарды чогултуу

Калибрлөө үчүн маалыматтарды чогултуу
Калибрлөө үчүн маалыматтарды чогултуу
Калибрлөө үчүн маалыматтарды чогултуу
Калибрлөө үчүн маалыматтарды чогултуу

• Чогулгандан кийин, биз эң чоң өлчөнгөн массанын мааниси АДКнын максималдуу маанисине жакын болушу үчүн акыркы кирешени коебуз. Бул учурда, камерада колдонулган 2 кг үчүн, чыңалуу 3V3 тегерегинде болгон.

• Кийинки, биз колдонулган массаны өзгөртөбүз (баланс аркылуу белгилүү жана ар бир баалуулук үчүн), жана биз кийинки столго ээ болуп, ADCдин ЛЕИТУРУН байланыштырабыз.

9 -кадам: Ченелген масса менен ADCдин баалуулугунун ортосундагы функция байланышын алуу

Ченелген масса менен алынган ADCдин ортосундагы Функционалдык байланышты алуу
Ченелген масса менен алынган ADCдин ортосундагы Функционалдык байланышты алуу

Биз PolySolve программасын ADCтин массасы менен мааниси ортосундагы байланышты билдирген полином алуу үчүн колдонобуз.

10 -кадам: Булак коду

Булак коду - #камтыйт

Эми бизде кантип өлчөө керек жана ADC менен колдонулган массанын ортосундагы байланышты билүү керек, биз программалык камсыздоону жазууга өтүшүбүз мүмкүн.

// Bibliotecas para utilização do дисплей oLED #камтыйт // Ардуино 1.6.5 үчүн эң алдыңкы #"SSD1306.h"/"SSD1306Wire.h" камтыйт

Булак коду - #Defines

// OLED estão conectados ao ESP32 менен байланышкан GPIO: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #destine RST 16 // RST иштеп чыгуу программалык камсыздоо

Булак - Глобалдык өзгөрмөлөр жана константалар

SSD1306 дисплейи (0x3c, SDA, SCL, RST); // Instantiando e justando osos pinos to do "display" const int amostras = 10000; // nosmer de amostras coletadas média const int pin = 13; // pino de leitura

Булак коду - Орнотуу ()

void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // сериялуу инициандо // Inicia o display display.init (); display.flipScreenVertically (); // Vera a tela verticalmente}

Булак коду - Loop ()

void loop () {float medidas = 0.0; // variável para manipular as medidas float massa = 0.0; // ар кандай мүмкүнчүлүктөргө ээ болуу үчүн // ADC үчүн кол коюлган амостралар (int i = 0; i) (5000)) // кийинки 5 күндүн ичинде {// En CSS CSV менен байланышкан, ошол эле учурда ADC жана грамматиканын сериялары үчүн //. Serial.print (millis () / 1000.0, 0); // заматта Serial.print (","); Serial.print (medidas, 3); // valor médio obtido no ADC Serial.print (","); Serial.println ((massa), 1); // massa em gramas // Escreve no buffer do display.clear (); // Буферди көрсөтүңүз // экстрасенстин дисплейи.setTextAlignment (TEXT_ALIGN_LEFT); // Arial 16 үчүн display font.setFont (ArialMT_Plain_16); // Escreve no buffer does not display a massa display.drawString (0, 0, "Massa:" + String (int (massa)) + "g"); // ADC display.drawString (0, 30, "ADC:" + String (int (medidas))) үчүн эч кандай буфер жок. } else // se 5 a segundos {display.clear (); // чектөө буферин display.setTextAlignment (TEXT_ALIGN_LEFT) көрсөтөт; // Эсепке алуу үчүн Display.setFont (ArialMT_Plain_24); // Arust 24 display.drawString (0, 0, "Баланча"); // escreve no buffer display.setFont (ArialMT_Plain_16); // Arial 16 үчүн display.drawString (0, 26, "ESP-WiFi-Lora"); // escreve no buffer} display.display (); // transferere o buffer para o display display (50); }

Булак коду - Function calculaMassa ()

// função para cálculo da massa obtida pela regressão // usando oPolySolve float calculaMassa (float medida) {return -6.798357840659e + 01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida *10 * 08 * media * 10 * medida * medida * medida + 1.796252359323e-10 * medida * medida * medida * medida + -3.995722708150e-14 * medida * medida * medida * medida * medida + 3.284692453344e-18 * medida * medida * medida * medida * medida *. medida; }

11 -кадам: Баштоо жана өлчөө

Баштоо жана өлчөө
Баштоо жана өлчөө

12 -кадам: Файлдар

Файлдарды жүктөп алыңыз

МЕН ЖОК

PDF

Сунушталууда: