Съдържание:

Контролер за ниво на течност UltraSonic: 6 стъпки (със снимки)
Контролер за ниво на течност UltraSonic: 6 стъпки (със снимки)

Видео: Контролер за ниво на течност UltraSonic: 6 стъпки (със снимки)

Видео: Контролер за ниво на течност UltraSonic: 6 стъпки (със снимки)
Видео: ⚡️ Возможно микроволновое излучение и есть секрет Стенли Мейера / водородный генератор / электролиз 2024, Ноември
Anonim
Контролер за ниво на течност UltraSonic
Контролер за ниво на течност UltraSonic

Въведение Както вероятно знаете, Иран има сухо време и в страната ми липсва вода. Понякога, особено през лятото, може да се види, че правителството прекъсва водата. Така че повечето от апартаментите имат резервоар за вода. В нашия апартамент има резервоар от 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 на супервизора

IC на надзорника
IC на надзорника

Според бележката на приложението TI: Контролерът на напрежението (известен също като интегрална схема за нулиране [IC]) е вид монитор за напрежение, който следи захранването на системата. Контролерите за напрежение често се използват с процесори, регулатори на напрежение и секвенсори - като цяло, където се изисква определяне на напрежение или ток. Надзорниците наблюдават релсите за напрежение, за да осигурят включване, да откриват неизправности и да комуникират с вградени процесори, за да гарантират здравето на системата. можете да намерите тази бележка за приложението тук. Въпреки че микроконтролерите STM32 имат вградени супервизори като монитор за захранване, използвах чип за външен надзор, за да се уверя, че всичко ще работи добре. В моя случай използвах TL7705 от TI. Можете да видите описанието от уебсайта на Texas Instruments за тази интегрална схема по-долу: Семейството TL77xxA на контролери за захранващо напрежение с интегрална схема е проектирано специално за използване като контролери за нулиране в микрокомпютърни и микропроцесорни системи. Контролерът на захранващото напрежение следи захранването за условия на под напрежение на входа SENSE. По време на захранването изходът RESET става активен (нисък), когато VCC достигне стойност, приближаваща се до 3,6 V. В този момент (ако приемем, че SENSE е над VIT+), функцията таймер за забавяне активира закъснение, след което извежда RESET и RESET (НЕ) остават неактивни (съответно високи и ниски). Когато по време на нормална работа възникне състояние на под напрежение, RESET и RESET (НЕ) стават активни.

Стъпка 4: Печатната платка (PCB)

Печатната платка (PCB)
Печатната платка (PCB)
Печатната платка (PCB)
Печатната платка (PCB)
Печатната платка (PCB)
Печатната платка (PCB)
Печатната платка (PCB)
Печатната платка (PCB)

Проектирах платката в две части. Първият е LCD платката, която е свързана към дънната платка с лента/плосък кабел, Втората част е платката на контролера. На тази печатна платка поставих захранване, микроконтролер, ултразвуков сензор и свързани компоненти. А също и силовата част, която е релейната, варисторната и гасителната верига. Както вероятно знаете, механичните релета като реле, които използвах в моята верига, могат да се разпаднат, ако винаги работят. За да преодолея този проблем, използвах нормално близък контакт (NC) на релето. Така че в нормална ситуация релето не е активно и нормално близък контакт може да проведе захранване към помпата. Когато водата падне под долната граница, релето ще се включи и това ще намали захранването. Като казах това, това е причината да използвам веригата за заглушаване на NC и COM контактите. По отношение на факта, че помпата имаше висока мощност, използвах второто реле 220 за него и го карам с релето на печатна платка.

Можете да изтеглите PCB файлове като Altium PCB файлове и Gerber файлове от моя GitHub тук.

Стъпка 5: Код

Image
Image
Инсталиране на резервоар
Инсталиране на резервоар

Използвах STM32Cube IDE, което е решение "всичко в едно" за разработка на код от STMicroelectronics. Той е базиран на Eclipse IDE с GCC ARM компилатор. Също така, той има STM32CubeMX в него. Можете да намерите повече информация тук. Първоначално написах код, който включваше спецификацията на резервоара ни (височина и диаметър). Реших обаче да го променя на GUI за задаване на параметри въз основа на различни спецификации.

Стъпка 6: Инсталиране на резервоара

Инсталиране на резервоар
Инсталиране на резервоар
Инсталиране на резервоар
Инсталиране на резервоар

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

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