Мазмұны:

ESP32 көмегімен сандық масштаб: 12 қадам
ESP32 көмегімен сандық масштаб: 12 қадам

Бейне: ESP32 көмегімен сандық масштаб: 12 қадам

Бейне: ESP32 көмегімен сандық масштаб: 12 қадам
Бейне: ESP32 Tutorial 5 - LED Fade, control brightness of an LED -ESP32 IoT Learnig kit 2024, Шілде
Anonim
Image
Image
Қолданылған ресурстар
Қолданылған ресурстар

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

Содан кейін мен жүктеме ұяшықтарын қолдануға қатысты кейбір түсініктерді көрсетемін, мысал шкаласын құру үшін ұяшық деректерін жинаймын және жүктеме ұяшықтарының басқа мүмкін болатын қосымшаларын көрсетемін.

1 -қадам: Қолданылған ресурстар

• Heltec Lora 32 WiFi ESP

• Ұяшықты жүктеу (шкаланы қолдана отырып, 0 -ден 50 Ньютонға дейін)

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

• 1 Amp Op LM358

• 2 1M5 резисторы

• 2 10к резистор

• 1 4к7 резистор

• Сымдар

• протокол тақтасы

• ESP үшін USB кабелі

• Таразы, сыйымдылығы бар контейнер немесе кез келген басқа калибрлеу әдісі.

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

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

3 -қадам: ұяшықтарды жүктеу

Ұяшықтарды жүктеу
Ұяшықтарды жүктеу

• Олар күш түрлендіргіштері.

• Олар қолданылатын күштерді өлшем ретінде қолдануға болатын пропорционалды шамаға аудару үшін әр түрлі әдістерді қолдана алады. Ең кең тарағандардың қатарында парақ экстенометрлерін, пьезоэлектрлік эффектіні, гидравликаны, дірілдеу тізбегін және т.

• Оларды өлшеу формасы бойынша да жіктеуге болады (керілу немесе қысу)

4 -қадам: ұяшықтар мен штамм өлшегіштерді жүктеңіз

Ұяшықтар мен штамм өлшегіштерді жүктеу
Ұяшықтар мен штамм өлшегіштерді жүктеу
Ұяшықтар мен штамм өлшегіштерді жүктеу
Ұяшықтар мен штамм өлшегіштерді жүктеу

• Парақтардың экстенометрлері - қарсылығы бар, өлшемі өзгерген сайын өзгеруі мүмкін баспа сымы бар пленкалар (әдетте пластикалық).

• Оның құрылысы негізінен механикалық деформацияны электрлік шаманың өзгеруіне (қарсылыққа) айналдыруға бағытталған. Бұл жақсырақ бір бағытта жүреді, сондықтан компоненттерді бағалауды жүзеге асыруға болады. Ол үшін бірнеше экстенометрлердің комбинациясы кең таралған

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

• Оларды кернеу өлшегіштер деп те атайды.

• Созылу күшімен созылған кезде жіптер ұзарып, тарылып, қарсылық күшейеді.

• Қысу күшімен қысылған кезде сымдар қысқарады және кеңейеді, бұл қарсылықты төмендетеді.

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

Уитстон көпірі
Уитстон көпірі

• Нақтырақ өлшеу үшін және жүктеме ұяшығындағы қарсылықтың өзгеруін неғұрлым тиімді анықтау үшін деформация өлшегіш Уитстоун көпіріне жиналады.

• Бұл конфигурацияда көпір теңгерімсіздігі арқылы қарсылықтың өзгеруін анықтай аламыз.

• Егер R1 = Rx және R2 = R3 болса, онда кернеу бөлгіштері тең болады, сонымен қатар Vc және Vb кернеулері тең болады, көпір тепе -теңдікте болады. Яғни, Vbc = 0V;

• Егер Rx R1 -ден басқа болса, көпір теңгерімсіз болады және кернеу Vbc нөлге тең болмайды.

• Бұл өзгерістің қалай болатынын көрсетуге болады, бірақ бұл жерде біз ADC -те оқылатын мәнді жүктеме ұяшығына қолданылатын массаға қатысты тікелей калибрлеуді жүргіземіз.

6 -қадам: күшейту

Күшейту
Күшейту

• Оқуды тиімдірек ету үшін Уитстоун көпірін қолданғанның өзінде, жүктеме ұяшығының металындағы микро деформациялар Vbc арасындағы шағын кернеу ауытқуларын тудырады.

• Бұл жағдайды шешу үшін біз күшейтудің екі кезеңін қолданамыз. Бірі айырмашылықты анықтау үшін, екіншісі алынған мәнді ESP ADC -ке сәйкестендіру үшін.

7 -қадам: күшейту (схема)

Күшейту (схема)
Күшейту (схема)

• Айыру қадамының пайдасы R6 / R5 арқылы беріледі және R7 / R8 -ге тең.

• Инверсияланбайтын соңғы қадамның пайдасы Pot / R10 арқылы беріледі

8 -қадам: Калибрлеу үшін деректерді жинау

Калибрлеу үшін мәліметтер жинау
Калибрлеу үшін мәліметтер жинау
Калибрлеу үшін мәліметтер жинау
Калибрлеу үшін мәліметтер жинау

• Жиналғаннан кейін, біз ең үлкен өлшенген массаның мәні ADC максималды мәніне жақын болатындай етіп соңғы кірісті орнатамыз. Бұл жағдайда ұяшыққа салынған 2 кг үшін шығыс кернеуі 3V3 шамасында болды.

• Әрі қарай, біз қолданылған массаны өзгертеміз (баланс арқылы және әрбір мән үшін белгілі), және біз келесі кестені ала отырып, ADC LEITUR -мен байланыстырамыз.

9 -қадам: өлшенген масса мен алынған ADC мәні арасындағы функционалдық байланысты алу

Өлшенген масса мен алынған ADC мәні арасындағы функционалдық байланысты алу
Өлшенген масса мен алынған ADC мәні арасындағы функционалдық байланысты алу

Біз PolySolve бағдарламалық жасақтамасын ADC массасы мен мәні арасындағы байланысты көрсететін полином алу үшін қолданамыз.

10 -қадам: бастапқы код

Бастапқы код - #қамтиды

Енді бізде өлшеулерді алу және ADC мен қолданылатын массаның арасындағы байланысты білу керек болғандықтан, біз бағдарламалық қамтамасыз етуді жазуға көшуге болады.

// Библиотекалар OLED #дисплейін көрсетеді // Arduino 1.6.5 үшін алдыңғы нұсқасы #«SSD1306.h» қосу // «SSD1306Wire.h» қосу

Бастапқы код - #Анықтайды

// OLED -ді қолдану 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 or aosando osos de los de los «display» const int amostras = 10000; // amostras coletadas a média const int pin = 13; // пино де лейтура

Бастапқы код - орнату ()

void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // сериялық инициация // Inicia o display display.init (); display.flipScreenVertically (); // Виртуалды телекөрініс}

Бастапқы код - Loop ()

void loop () {float medidas = 0.0; // variável para manipular medidas float massa = 0.0; // бағалы қағаздар үшін үлкен жауапкершілік // ADC үшін қол жетімді амостралар (int i = 0; i) (5000)) // кез келген уақытта 5 -ші сынып {// CSV -ге қолдау көрсету, ADC -дің стандартты әдістері // сериялық серия үшін. Serial.print (millis () / 1000.0, 0); // Instante em segundos Serial.print («,»); Serial.print (medidas, 3); // ADC жоқ ADC Serial.print («,»); Serial.println ((massa), 1); // massa em gramas // Escreve no buffers display display.clear (); // Limfa o буфері дисплейде // диспансерлік дисплейде.setTextAlignment (TEXT_ALIGN_LEFT); // Arial 16 display.setFont (ArialMT_Plain_16) үшін қаріптер; // Escreve no buffer does not display massa display.drawString (0, 0, «Massa:» + String (int (massa)) + «g»); // ADC display.drawString (0, 30, «ADC:» + String (int (medidas))) буфері жоқ. } else // 5 кесте бойынша {display.clear (); // limpa o buffer do display.setTextAlignment (TEXT_ALIGN_LEFT); // Display.setFont (ArialMT_Plain_24) параметрлері; // Arial 24 display.drawString (0, 0, «Balança») үшін әріптер; // 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); }

Бастапқы код - Функцияның калькуляциясыMassa ()

// função para cálculo da massa obtida pela regressão // usando oPolySolve float calculaMassa (float medida) {қайтару -6.798357840659e + 01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida *10 * 08 * medida *10 * 08 * 388 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

Ұсынылған: