Съдържание:

Цифрова везна с 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 нютона, използвайки скала)

• 1 потенциометър от 100k (по -добре, ако използвате многоволтов тримпот за фина настройка)

• 1 усилвател Op LM358

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

• 2 10k резистора

• 1 4k7 резистор

• Проводници

• Protoboard

• USB кабел за ESP

• Везна, контейнер с градуиран обем или друг метод за калибриране.

Стъпка 2: Демонстрация

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

Стъпка 3: Заредете клетки

Зареждане на клетки
Зареждане на клетки

• Те са преобразуватели на сила.

• Те могат да използват различни методи, за да преведат приложената сила в пропорционална величина, която може да се използва като мярка. Сред най -често срещаните са тези, които използват листови екстензометри, пиезоелектрическият ефект, хидравлика, вибриращи струни и др.

• Те също могат да бъдат класифицирани по формата на измерване (напрежение или компресия)

Стъпка 4: Натоварващи клетки и тензометри

Натоварващи клетки и тензометри
Натоварващи клетки и тензометри
Натоварващи клетки и тензометри
Натоварващи клетки и тензометри

• Листовите екстензометри са филми (обикновено пластмасови) с отпечатана тел, които имат съпротивление, което може да варира в зависимост от промяната на техния размер.

• Конструкцията му има за цел основно да преобразува механична деформация във вариация на електрическа величина (съпротивление). Това се случва за предпочитане в една посока, така че може да се извърши оценка на компонента. За това комбинацията от няколко екстензометра е често срещана

• Когато е правилно прикрепена към тяло, деформацията му е равна на тази на тялото. Така неговото съпротивление варира в зависимост от деформацията на тялото, което от своя страна е свързано с деформиращата сила.

• Известни са още като тензорезистори.

• При разтягане чрез сила на опън нишките се удължават и стесняват, увеличавайки съпротивлението.

• При компресиране чрез натискаща сила проводниците се скъсяват и разширяват, намалявайки съпротивлението.

Стъпка 5: Мост от Уитстоун

Мост Уитстоун
Мост Уитстоун

• За по -точно измерване и за по -ефективно откриване на промяната на съпротивлението в натоварващата клетка, тензорезисторът е сглобен в мост на Уитстоун.

• В тази конфигурация можем да определим вариацията на съпротивлението чрез дисбаланса на моста.

• Ако R1 = Rx и R2 = R3, делителите на напрежението ще бъдат равни, а напреженията Vc и Vb също ще бъдат равни, като мостът е в равновесие. Тоест, Vbc = 0V;

• Ако Rx е различен от R1, мостът ще бъде небалансиран и напрежението Vbc ще бъде ненулево.

• Възможно е да се покаже как трябва да се случи това изменение, но тук ще направим директно калибриране, свързващо стойността, прочетена в ADC, с маса, приложена към тензодатчика.

Стъпка 6: Усилване

Усилване
Усилване

• Дори като използвате моста на Уитстоун, за да направите отчитането по -ефективно, микро деформациите в метала на натоварващата клетка предизвикват малки вариации на напрежението между Vbc.

• За да разрешим тази ситуация, ще използваме два етапа на усилване. Един за определяне на разликата и друг за съответствие на получената стойност с ADC на ESP.

Стъпка 7: Усилване (схема)

Усилване (схема)
Усилване (схема)

• Печалбата на стъпката на изваждане се определя от R6 / R5 и е същата като R7 / R8.

• Печалбата на неинвертиращата крайна стъпка се дава от Pot / R10

Стъпка 8: Събиране на данни за калибриране

Събиране на данни за калибриране
Събиране на данни за калибриране
Събиране на данни за калибриране
Събиране на данни за калибриране

• Веднъж сглобени, ние настройваме крайното усилване, така че стойността на най -голямата измерена маса да е близка до максималната стойност на ADC. В този случай, за 2 кг, приложени в клетката, изходното напрежение беше около 3V3.

• След това променяме приложената маса (известна чрез баланс и за всяка стойност) и свързваме LEITUR на ADC, получавайки следващата таблица.

Стъпка 9: Получаване на функционална връзка между измерената маса и стойността на получения ADC

Получаване на функционална връзка между измерената маса и стойността на получения ADC
Получаване на функционална връзка между измерената маса и стойността на получения ADC

Използваме софтуера PolySolve, за да получим полином, който представлява връзката между масата и стойността на ADC.

Стъпка 10: Изходен код

Изходен код - #Включва

Сега, когато имаме как да получим измерванията и да знаем връзката между ADC и приложената маса, можем да преминем към действително писане на софтуера.

// Библиотека за използване на дисплея oLED #включва // Необходими апени за Arduino 1.6.5 e отпред #включва "SSD1306.h" // за съобщение #включва "SSD1306Wire.h"

Изходен код - #Определя

// Os pinos do OLED estão conectados ao ESP32 pelos seguintes GPIO's: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado по софтуер

Източник - Глобални променливи и константи

SSD1306 дисплей (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display" const int amostras = 10000; // número de amostras coletadas para a média const int pin = 13; // pino de leitura

Изходен код - Настройка ()

void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // iniciando сериен // Inicia o display display.init (); display.flipScreenVertical (); // Vira a tela verticalmente}

Изходен код - Loop ()

void loop () {float medidas = 0.0; // variável para manipular като medidas float massa = 0.0; // variável para armazenar o valor da massa // inicia a coleta de amostras do ADC for (int i = 0; i (5000)) // се извежда до 5 секунди {// Envia um CSV contendo o instante, a medida média do ADC e o valor em gramas // para a Serial. Serial.print (millis () / 1000.0, 0); // instante em segundos Serial.print (","); Serial.print (медии, 3); Serial.println ((massa), 1); // massa em gramas // Изкривяване без буфер на дисплея display.clear (); // Limpa o buffer do display // ajusta o alinhamento para a esquerda display.setTextAlignment (TEXT_ALIGN_LEFT); // добавяне на фон за Arial 16 display.setFont (ArialMT_Plain_16); // Escreve no buffer do display a massa display.drawString (0, 0, "Massa:" + String (int (massa)) + "g"); // не извиквам буфер за доблест до ADC display.drawString (0, 30, "ADC:" + String (int (medidas))); } else // вижте листинг за 5 секунди {display.clear (); // ограничаване на буфера за показване display.setTextAlignment (TEXT_ALIGN_LEFT); // Ajusta o alinhamento за esquerda display.setFont (ArialMT_Plain_24); // добавяне на фон за Arial 24 display.drawString (0, 0, "Balança"); // не извиквам буфер display.setFont (ArialMT_Plain_16); // Ajusta a fonte para Arial 16 display.drawString (0, 26, "ESP-WiFi-Lora"); // escreve no buffer} display.display (); // прехвърляне на буфер за o забавяне на дисплея (50); }

Изходен код - Функция изчисляване Massa ()

// 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 * medida + -3.74810 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 * медида; }

Стъпка 11: Стартиране и измерване

Стартиране и измерване
Стартиране и измерване

Стъпка 12: Файлове

Изтеглете файловете

АЗ НЕ

PDF

Препоръчано: