Оглавление:

Цифровые весы с ESP32: 12 шагов
Цифровые весы с ESP32: 12 шагов

Видео: Цифровые весы с ESP32: 12 шагов

Видео: Цифровые весы с ESP32: 12 шагов
Видео: Доработка ESP32 ВАЖНО! 2024, Ноябрь
Anonim
Image
Image
Используемые ресурсы
Используемые ресурсы

Вы когда-нибудь задумывались о том, чтобы установить цифровые весы с помощью ESP32 и датчика (известного как тензодатчик)? Сегодня я покажу вам, как это сделать, с помощью процесса, который также позволяет проводить другие лабораторные испытания, такие как определение силы, которую двигатель оказывает на точку, среди других примеров.

Затем я продемонстрирую некоторые концепции, связанные с использованием тензодатчиков, захвата данных ячеек для построения примера весов и укажу на другие возможные применения тензодатчиков.

Шаг 1. Используемые ресурсы

• Heltec Lora 32 WiFi ESP

• Тензодатчик (от 0 до 50 ньютонов по шкале)

• 1 потенциометр на 100 кОм (лучше, если вы используете многовольтный подстроечный резистор для точной настройки)

• Операционная система 1 усилителя LM358

• 2 резистора 1М5

• 2 резистора по 10 кОм

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

• Провода

• Протоборд

• USB-кабель для ESP.

• Весы, емкость с градуированным объемом или любой другой метод калибровки.

Шаг 2: демонстрация

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

Шаг 3: датчики веса

Тензодатчики
Тензодатчики

• Они являются преобразователями силы.

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

• Их также можно классифицировать по форме измерения (растяжение или сжатие).

Шаг 4: Тензодатчики и тензодатчики

Тензодатчики и тензодатчики
Тензодатчики и тензодатчики
Тензодатчики и тензодатчики
Тензодатчики и тензодатчики

• Листовые экстензометры представляют собой пленки (обычно пластиковые) с напечатанной проволокой, сопротивление которой может изменяться при изменении их размера.

• Его конструкция в основном направлена на преобразование механической деформации в изменение электрической величины (сопротивления). Это происходит предпочтительно в одном направлении, чтобы можно было выполнить оценку компонентов. Для этого обычна комбинация нескольких экстензометров.

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

• Они также известны как тензодатчики.

• При растяжении под действием силы натяжения пряди удлиняются и сужаются, увеличивая сопротивление.

• При сжатии сжимающей силой провода укорачиваются и расширяются, уменьшая сопротивление.

Шаг 5: мост Уитстона

Мост Уитстона
Мост Уитстона

• Для более точного измерения и более эффективного обнаружения изменения сопротивления в весоизмерительной ячейке тензодатчик собран в мост Уитстона.

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

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

• Если Rx отличен от R1, мост будет несимметричным и напряжение Vbc будет отличным от нуля.

• Можно показать, как должно происходить это изменение, но здесь мы сделаем прямую калибровку, связывая значение, считываемое в АЦП, с массой, приложенной к датчику веса.

Шаг 6: усиление

Усиление
Усиление

• Даже при использовании моста Уитстона для повышения эффективности считывания микродеформации металла тензодатчика вызывают небольшие колебания напряжения между Vbc.

• Чтобы решить эту ситуацию, мы будем использовать два каскада усиления. Один для определения разницы, а другой для сопоставления значения, полученного с АЦП ESP.

Шаг 7: Усиление (схема)

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

• Коэффициент усиления шага вычитания определяется как R6 / R5 и такой же, как R7 / R8.

• Коэффициент усиления неинвертирующего последнего шага определяется Pot / R10.

Шаг 8: Сбор данных для калибровки

Сбор данных для калибровки
Сбор данных для калибровки
Сбор данных для калибровки
Сбор данных для калибровки

• После сборки мы устанавливаем окончательное усиление так, чтобы значение наибольшей измеренной массы было близко к максимальному значению АЦП. В этом случае для 2 кг, приложенных к ячейке, выходное напряжение составляло около 3 В3.

• Затем мы изменяем применяемую массу (известную по весам и для каждого значения) и связываем LEITUR АЦП, получая следующую таблицу.

Шаг 9: Получение функциональной связи между измеренной массой и значением полученного АЦП

Получение функциональной связи между измеренной массой и полученным значением АЦП
Получение функциональной связи между измеренной массой и полученным значением АЦП

Мы используем программное обеспечение PolySolve для получения полинома, который представляет соотношение между массой и значением АЦП.

Шаг 10: Исходный код

Исходный код - # Включает

Теперь, когда у нас есть, как получить измерения и узнать взаимосвязь между АЦП и приложенной массой, мы можем перейти к написанию программного обеспечения.

// Библиотеки для использования для отображения oLED # include // Необязательно для Arduino 1.6.5 и переднего #include "SSD1306.h" // или сообщения #include "SSD1306Wire.h"

Исходный код - #Defines

// Оснащение OLED совпадает с ESP32 и разделяет GPIO: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado программное обеспечение por

Источник - глобальные переменные и константы

Дисплей SSD1306 (0x3c, SDA, SCL, RST); // Установка и настройка изображения для объекта "display" const int amostras = 10000; // число колетадных амостов для средств массовой информации const int pin = 13; // pino de leitura

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

void setup () {pinMode (контакт, ВХОД); // аналоговая лейтмотив Serial.begin (115200); // начальный серийный номер // начальный дисплей display.init (); display.flipScreenVertical (); // Vira a tela verticalmente}

Исходный код - Loop ()

void loop () {float medidas = 0.0; // переменная для манипуляций как medidas float massa = 0.0; // varável para armazenar o valor da massa // inicia a coleta de amostras do ADC for (int i = 0; i (5000)) // se está ligado a mais que 5 segundos {// Envia um CSV context o instante, medida media do ADC e o valor em gramas // para a Serial. Serial.print (миллис () / 1000.0, 0); // создайте второй результат Serial.print (","); Serial.print (medidas, 3); // доблесть без ADC Serial.print (","); Serial.println ((масса), 1); // massa em gramas // Escreve no buffer do display display.clear (); // Ограничение буфера для отображения // Настройка или изменение значения для экрана display.setTextAlignment (TEXT_ALIGN_LEFT); // установить шрифт для Arial 16 display.setFont (ArialMT_Plain_16); // Escreve без буфера отображать массу 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); // Установить или изменить настройки display.setFont (ArialMT_Plain_24); // установить фон для Arial 24 display.drawString (0, 0, "Balança"); // без буфера display.setFont (ArialMT_Plain_16); // Установить фон для Arial 16 display.drawString (0, 26, «ESP-WiFi-Lora»); // удалить буфер без буфера} display.display (); // передать буфер para display delay (50); }

Исходный код - функция CalculaMassa ()

// функция для расчета массы тела без изменения // используется oPolySolve для расчета с плавающей запятой (float medida) {return -6.798357840659e + 01 + 3.885671618930e-01 * medida + 3.684944764970e-04 * medida * -3.72038 * -3.72038 * -3.72038 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

Рекомендуемые: