Съдържание:
- Стъпка 1: Демонстрация
- Стъпка 2: Използвани ресурси
- Стъпка 3: Защо да измервате налягането?
- Стъпка 4: Семейство сензори за налягане MPX
- Стъпка 5: MPX5700DP
- Стъпка 6: За демонстрацията
- Стъпка 7: Калибриране на ESP ADC
- Стъпка 8: Изчисляване на налягането
- Стъпка 9: Монтаж
- Стъпка 10: Изходен код
- Стъпка 11: Файлове
Видео: Научете тук за изключително важен сензор!: 11 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Как можете да разберете за нивото на водата в резервоара за вода? За да наблюдавате този тип неща, можете да използвате сензор за налягане. Това е много полезно оборудване за индустриална автоматизация като цяло. Днес ще говорим за това точно семейство сензори за налягане MPX, специално за измерване на налягането. Ще ви запозная със сензора за налягане MPX5700 и ще извърша пробен монтаж, използвайки ESP WiFi LoRa 32.
Няма да използвам LoRa комуникация във веригата днес, нито WiFi, нито Bluetooth. Избрах обаче този ESP32, защото вече съм учил в други видеоклипове как да използвам всички функции, които обсъждам днес.
Стъпка 1: Демонстрация
Стъпка 2: Използвани ресурси
• MPX5700DP Сензор за диференциално налягане
• 10k потенциометър (или тримпот)
• Protoboard
• Свързващи проводници
• USB кабел
• ESP WiFi LoRa 32
• Въздушен компресор (по избор)
Стъпка 3: Защо да измервате налягането?
• Има много приложения, където налягането е важна контролна променлива.
• Можем да включим пневматични или хидравлични системи за управление.
• Медицински инструменти.
• Роботика.
• Контрол на промишлени или екологични процеси.
• Измерване на нивото в резервоари за течност или газ.
Стъпка 4: Семейство сензори за налягане MPX
• Те са преобразуватели на налягане в електрическо напрежение.
• Те се основават на пиезо резистивен сензор, при който компресията се преобразува във вариация на електрическото съпротивление.
• Има версии, способни да измерват малки разлики в налягането (от 0 до 0,04 атм) или големи вариации (от 0 до 10 атм).
• Те се появяват в множество пакети.
• Те могат да измерват абсолютно налягане (спрямо вакуума), диференциално налягане (разликата между две налягания, р1 и р2) или манометър (спрямо атмосферното налягане).
Стъпка 5: MPX5700DP
• Серията 5700 разполага с абсолютни, диференциални и манометрични сензори.
• MPX5700DP може да измерва диференциално налягане от 0 до 700kPa (приблизително 7atm).
• Изходното напрежение варира от 0.2V до 4.7V.
• Мощността му е от 4.75V до 5.25V
Стъпка 6: За демонстрацията
• Този път няма да правим практическо приложение с този сензор; ние само ще го монтираме и ще извършим някои измервания като демонстрация.
• За това ще използваме директен въздушен компресор, за да приложим налягане на входа на високо налягане (p1) и да получим разликата спрямо местното атмосферно налягане (p2).
• MPX5700DP е еднопосочен сензор, което означава, че измерва положителните разлики, когато p1 винаги трябва да бъде по -голямо или равно на p2.
• p1> p2 и разликата ще бъде p1 - p2
• Има двупосочни диференциални сензори, които могат да оценят отрицателните и положителните разлики.
• Въпреки че това е само демонстрация, можем лесно да използваме принципите тук, за да контролираме например налягането във въздушен резервоар, захранван от този компресор.
Стъпка 7: Калибриране на ESP ADC
• Тъй като знаем, че аналогово-цифровото преобразуване на ESP не е напълно линейно и може да варира от един до друг SoC, нека започнем с просто определяне на поведението му.
• С помощта на потенциометър и мултицет ще измерим напрежението, приложено към AD, и ще го свържем с посочената стойност.
• С проста програма за четене на AD и събиране на информацията в таблица, успяхме да определим кривата на нейното поведение.
Стъпка 8: Изчисляване на налягането
• Въпреки че производителят ни предоставя функцията с поведението на компонента, винаги е препоръчително да се извърши калибриране, когато говорим за извършване на измервания.
• Въпреки това, тъй като това е само демонстрация, ние директно ще използваме функцията, намираща се в листа с данни. За целта ще го манипулираме по начин, който ни дава натиск като функция от стойността на ADC.
* Не забравяйте, че частта от напрежението, приложено към ADC от референтното напрежение, трябва да има същата стойност като ADC, отчетена от общия ADC. (Без да се взема предвид корекцията)
Стъпка 9: Монтаж
• За да свържете сензора, потърсете прореза в един от неговите изводи, който показва щифт 1.
• Отброяване от там:
Пин 1 осигурява изходен сигнал (от 0V до 4.7V)
Пин 2 е препратката. (GND)
Пин 3 за захранване. (Срещу)
• Тъй като изходният сигнал е 4.7V, ще използваме делител на напрежение, така че максималната стойност да е еквивалентна на 3V3. За целта направихме настройката с потенциометъра.
Стъпка 10: Изходен код
Изходен код: #Включва и #определя
// Bibliotecas para utilização do display oLED #include // Necessário apenas para o Arduino 1.6.5 e posterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // Os pinos do OLED estão conectados ao ESP32 pelos определя GPIO's: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser ajustado por software
Източник: Глобални променливи и константи
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 const float fator_atm = 0.0098692327; // fator de converão para atmosferas const float fator_bar = 0.01; // fator de converão para bar const float fator_kgf_cm2 = 0.0101971621; // фактор за разговори kgf/cm2
Изходен код: Настройка ()
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 pressao = 0.0; // variável para armazenar o valor da pressão // inicia a coleta de amostras do ADC for (int i = 0; i
Изходен код: Функция, която изчислява налягането в kPa
float calculaPressao (float medida) {// Calcula a pressão com o // valor do AD corrigido pela função corrigeMedida () // Esta função foi escrita de acordo com dados do fabricante // e NÃO LEVA EM CONSIDERAÇÃO OS POSSÍVEIS DOS грешка) return ((corrigeMedida (medida) / 3.3) - 0.04) / 0.0012858; }
- ИЗОБРАЖЕНИЯ
Изходен код: Функция, която коригира стойността на AD
float corrigeMedida (float x) { / * Esta função foi obtida através da relação entre a tensão aplicada no AD e valor lido * / return 4.821224180510e-02 + 1.180826610901e-03 * x + -6.640183463236e-07 * x * 5.235532597676e-10 * x * x * x + -2.020362975028e-13 * x * x * x * x + 3.809807883001e-17 * x * x * x * x * x + -2.896158699016e-21 * x * x * x * x * x * x; }
Стъпка 11: Файлове
Изтеглете файловете:
АЗ НЕ
Препоръчано:
Изключително ниска мощност WiFi система за домашна автоматизация: 6 стъпки (със снимки)
Система за домашна автоматизация с ултра ниска мощност: В този проект ние показваме как можете да изградите основна локална система за домашна автоматизация в няколко стъпки. Ще използваме Raspberry Pi, който ще действа като централно WiFi устройство. Като има предвид, че за крайните възли ще използваме IOT Cricket, за да направим батерията мощна
Изключително силен будилник, вдъхновен от Time Bomb, с САМО 5 компонента: 3 стъпки
Вдъхновен от Time Bomb екстра силен будилник с ПРОСТО 5 компонента: Създадох този лесен за направа будилник, вдъхновен от Time Bomb, който гарантирано ще ви събуди сутрин. Използвах прости материали, лежащи в къщата ми. Всички използвани артикули са лесно достъпни и евтини. Тази аларма, вдъхновена от бомба със закъснител
Робот SCARA: Научете за обратната и обратната кинематика !!! (Сюжет Twist Научете как да направите интерфейс в реално време в ARDUINO Използване на ПРОЦЕСИРАНЕ !!!!): 5 стъпки (със снимки)
Робот SCARA: Научете за обратната и обратната кинематика !!! (Plot Twist Научете как да направите интерфейс в реално време в ARDUINO, използвайки ПРОЦЕСИРАНЕ !!!!): робот SCARA е много популярна машина в света на индустрията. Името означава както селективна съвместима сглобяема роботизирана ръка, така и селективна съвместима съчленена роботизирана ръка. По същество това е робот с три степени на свобода, като първите два displ
Как да инсталирате Linux (начинаещи започнете от тук!): 6 стъпки
Как да инсталирате Linux (начинаещи започват от тук!): Какво точно е Linux? Е, скъпи читателю, Linux е портал към свят на изцяло нови възможности. Отминаха дните на OSX, които се забавляваха от притежаването на компютър. Изчезнаха глупавите нотации за сигурност през Windows 10. Сега е ваш ред да
Интеграция на Arduino и Apple HomeKit - Управлявайте дома си от Siri! IoT е тук: 6 стъпки
Интеграция на Arduino и Apple HomeKit - Управлявайте дома си от Siri! IoT е тук: Тази инструкция ще ви даде бърз и лесен начин да добавите arduino платка към HomeKit на Apple на iOS устройство. Той отваря всякакви възможности, включително скриптове, изпълнявани на сървъра, комбинирани с Apples HomeKit "Сцени", прави