Съдържание:
- Стъпка 1: Принцип
- Стъпка 2: Сензор, захранване и контролер
- Стъпка 3: IC на супервизора
- Стъпка 4: Печатната платка (PCB)
- Стъпка 5: Код
- Стъпка 6: Инсталиране на резервоара
Видео: Контролер за ниво на течност UltraSonic: 6 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Въведение Както вероятно знаете, Иран има сухо време и в страната ми липсва вода. Понякога, особено през лятото, може да се види, че правителството прекъсва водата. Така че повечето от апартаментите имат резервоар за вода. В нашия апартамент има резервоар от 1500 литра, който осигурява вода. Също така, в нашия апартамент има 12 жилищни единици. В резултат на това може да се очаква резервоарът да се изпразни много скоро. Към резервоара е прикрепена водна помпа, която изпраща вода в сградата. Когато резервоарът е празен, помпата работи без вода. Тази ситуация причинява увеличение на температурата на двигателя и през времето може да причини повреда на помпата. Преди време тази повреда на помпата се случи за втори път за нас и след отваряне на двигателя видяхме, че проводниците на бобината са изгорели. След като сменихме помпата, за да предотвратя отново този проблем, реших да направя контролер за нивото на водата. Планирах да направя верига за прекъсване на захранването на помпата, когато водата падне под долната граница в резервоара. Помпата няма да работи, докато водата не се повиши до висока граница. След преминаване на горната граница, веригата ще свърже отново захранването. В началото търсих в интернет, за да видя дали мога да намеря подходяща схема. Аз обаче не намерих нищо подходящо. Имаше някои индикатори за вода, базирани на Arduino, но не можах да реша проблема си. В резултат на това реших да проектирам моя регулатор на нивото на водата. Пакет „всичко в едно“с ясен графичен потребителски интерфейс за задаване на параметри. Също така се опитах да разгледам стандартите за ЕМС, за да съм сигурен, че устройството работи валидно в различни ситуации.
Стъпка 1: Принцип
Вероятно вече знаете принципа. Когато ултразвуковият импулсен сигнал се излъчва към обект, той се отразява от обекта и ехото се връща към подателя. Ако изчислите времето, изминато от ултразвуковия импулс, можете да намерите разстоянието до обекта. В нашия случай артикулът е водата.
Имайте предвид, че когато откриете разстоянието до водата, изчислявате обема на празното пространство в резервоара. За да получите обема на водата, трябва да извадите изчисления обем от общия обем на резервоара.
Стъпка 2: Сензор, захранване и контролер
Хардуер
За сензора използвах водоустойчив ултразвуков сензор JSN-SR04T. Работната рутина е като HC-SR04 (ехо и триг).
Спецификации:
- Разстояние: 25 см до 450 см
- Работно напрежение: DC 3.0-5.5V
- Работен ток: < 8mA
- Точност: ± 1см
- Честота: 40kHz
- Работна температура: -20 ~ 70 ℃
Имайте предвид, че този контролер има някои ограничения. например: 1- JSN-SR04T не може да измери разстоянието под 25 см, така че трябва да инсталирате сензора най-малко 25 см над повърхността на водата. Освен това максималното измерване на разстоянието е 4.5M. Така че този сензор не е подходящ за огромни резервоари. 2- точността е 1 см за този сензор. В резултат на това, въз основа на диаметъра на резервоара, разделителната способност на обема, която устройството ще покаже, може да варира. 3- скоростта на звука може да варира в зависимост от температурата. В резултат на това точността може да бъде повлияна от различни региони. Тези ограничения обаче не бяха от решаващо значение за мен и точността беше подходяща.
Контролерът
Използвах STM32F030K6T6 ARM Cortex M0 от STMicroelectronics. Можете да намерите спецификациите на този микроконтролер тук.
Захранването
Първата част е да се преобразува 220V/50Hz (Иранска електроенергия) в 12VDC. За тази цел използвах захранващ модул за понижаване на стойността на HLK-PM12. Този AC/DC преобразувател може да преобразува 90 ~ 264 VAC в 12VDC с 0.25A изходен ток.
Както вероятно знаете, индуктивното натоварване на релето може да причини няколко проблема по веригата и захранването, а трудностите в захранването могат да доведат до нестабилност, особено в микроконтролера. Решението е да се изолират захранванията. Също така трябва да използвате верига за заглушаване на релейните контакти. Има няколко метода за изолиране на захранването. Например, можете да използвате трансформатор с два изхода. Освен това има изолирани DC/DC преобразуватели в малък размер, които могат да изолират изхода от входа. Използвах MINMAX MA03-12S09 за тази цел. Това е 3W DC/DC преобразувател с изолация.
Стъпка 3: IC на супервизора
Според бележката на приложението TI: Контролерът на напрежението (известен също като интегрална схема за нулиране [IC]) е вид монитор за напрежение, който следи захранването на системата. Контролерите за напрежение често се използват с процесори, регулатори на напрежение и секвенсори - като цяло, където се изисква определяне на напрежение или ток. Надзорниците наблюдават релсите за напрежение, за да осигурят включване, да откриват неизправности и да комуникират с вградени процесори, за да гарантират здравето на системата. можете да намерите тази бележка за приложението тук. Въпреки че микроконтролерите STM32 имат вградени супервизори като монитор за захранване, използвах чип за външен надзор, за да се уверя, че всичко ще работи добре. В моя случай използвах TL7705 от TI. Можете да видите описанието от уебсайта на Texas Instruments за тази интегрална схема по-долу: Семейството TL77xxA на контролери за захранващо напрежение с интегрална схема е проектирано специално за използване като контролери за нулиране в микрокомпютърни и микропроцесорни системи. Контролерът на захранващото напрежение следи захранването за условия на под напрежение на входа SENSE. По време на захранването изходът RESET става активен (нисък), когато VCC достигне стойност, приближаваща се до 3,6 V. В този момент (ако приемем, че SENSE е над VIT+), функцията таймер за забавяне активира закъснение, след което извежда RESET и RESET (НЕ) остават неактивни (съответно високи и ниски). Когато по време на нормална работа възникне състояние на под напрежение, RESET и RESET (НЕ) стават активни.
Стъпка 4: Печатната платка (PCB)
Проектирах платката в две части. Първият е LCD платката, която е свързана към дънната платка с лента/плосък кабел, Втората част е платката на контролера. На тази печатна платка поставих захранване, микроконтролер, ултразвуков сензор и свързани компоненти. А също и силовата част, която е релейната, варисторната и гасителната верига. Както вероятно знаете, механичните релета като реле, които използвах в моята верига, могат да се разпаднат, ако винаги работят. За да преодолея този проблем, използвах нормално близък контакт (NC) на релето. Така че в нормална ситуация релето не е активно и нормално близък контакт може да проведе захранване към помпата. Когато водата падне под долната граница, релето ще се включи и това ще намали захранването. Като казах това, това е причината да използвам веригата за заглушаване на NC и COM контактите. По отношение на факта, че помпата имаше висока мощност, използвах второто реле 220 за него и го карам с релето на печатна платка.
Можете да изтеглите PCB файлове като Altium PCB файлове и Gerber файлове от моя GitHub тук.
Стъпка 5: Код
Използвах STM32Cube IDE, което е решение "всичко в едно" за разработка на код от STMicroelectronics. Той е базиран на Eclipse IDE с GCC ARM компилатор. Също така, той има STM32CubeMX в него. Можете да намерите повече информация тук. Първоначално написах код, който включваше спецификацията на резервоара ни (височина и диаметър). Реших обаче да го променя на GUI за задаване на параметри въз основа на различни спецификации.
Стъпка 6: Инсталиране на резервоара
В крайна сметка направих обикновена кутия за нея, за да предпазя печатната платка от вода. Също така направих дупка в горната част на резервоара, за да поставя сензора върху него.
Препоръчано:
Сензор за ниво на колектор за захранване с батерии: 7 стъпки (със снимки)
Сензор за ниво на водосъбирател, захранван от батерии: Нашата къща има резервоар за вода, захранван от дъжд, падащ върху покрива, и се използва за тоалетна, пералня и поливане на растения в градината. През последните три години лятото беше много сухо, затова следихме нивото на водата в резервоара. С
Цифрово ниво с кръстосан лазер: 15 стъпки (със снимки)
Цифрово ниво с кръстосан лазер: Здравейте на всички, днес ще ви покажа как да направите цифрово ниво с интегриран лазер за напречна линия. Преди около година създадох цифров многофункционален инструмент. Въпреки че този инструмент включва много различни режими, за мен най -често срещаните и полезни
Контролер за ниво на водата, базиран на IOT, използващ NodeMCU ESP8266: 6 стъпки
Контролер за нивото на водата, базиран на IOT, използващ NodeMCU ESP8266: Това е инструкция как да създадете регулатор на нивото на водата, базиран на IOT. Характеристики на този проект са:- Актуализации на нивото на водата в реално време в приложението за Android. Автоматично включете водната помпа, когато водата достигне под минималното ниво. Ау
Разбъркване на NES контролер (Nintendo контролер MP3, V3.0): 5 стъпки (със снимки)
Разбъркване на контролера на NES (Nintendo Controller MP3, V3.0): Напълно изтръгнах ryan97128 от неговия дизайн за Nintendo Controller MP3, версия 2.0 и чувам, че той е получил идеята от всички мъдри Morte_Moya, така че не мога да взема кредит за целия им гений. Просто исках да добавя удобство и презареждане
Изграждане на капацитивен сензор за течност: 8 стъпки (със снимки)
Изграждане на капацитивен сензор за течност: Капацитивният течен спонсор разчита на факта, че капацитетът или зарядът между 2 метални пластини ще се промени (в този случай ще се увеличи) в зависимост от материала, който е между тях. Това ни позволява да