Як я вимірюю рівень резервуара для води за допомогою мікроконтролера?
Як я вимірюю рівень резервуара для води за допомогою мікроконтролера?
Відповіді:
Ну, якщо припустити, що ви працюєте тут на землі (на відміну від орбіти), ви можете використовувати поплавковий датчик, який вимірюєте за допомогою мікрофона. Питання: чи потрібно знати точний рівень, чи вам просто потрібна якась поїздка, коли вона досягне високої / низької?
На тему "поїздка на певному рівні" ви можете отримати такі перемикачі - як правило, поплавок містить якийсь перемикач визначення датчика ставлення. Коли рівень води нижчий, поплавок закінчується на його боці, і вимикач вимикається, піднімаючи рівень, примушує поплавок вертикально, а отже, і «включити». Вони часто використовуються для насосних насосів. Вони досить надійні і з ними дуже легко впоратися, хоча ви повинні бути обережними, щоб правильно закріпити їх, і ви повинні бути впевнені, що нічого не заважає поплавцю.
Якщо вам потрібно знати фактичний рівень, то у вас є багато варіантів, але це менш просто. Ви можете використовувати щось на зразок ультразвукового датчика (ультразвуковий промінь, що стріляє вниз з верхньої частини бака, щоб відбити рівень води).
Ці хлопці, здається, виготовляють індикатори рівня для ГОЛОВНИХ цистерн, які складаються з поплавця та зовнішньої ваги, з'єднаних разом. Коли поплавок їде вгору і вниз по рідині, зовнішній індикатор рухається належним чином. Ви можете побудувати щось подібне, не маючи нічого складнішого, ніж фотоелементи для зчитування рівня (якщо це великий резервуар, або ви хочете багато деталізації, вам знадобиться багато фотоелементів).
По черзі, беручи за основу ідею кабельного поплавця, ви можете поставити колесо холостого ходу, яке рухається, коли кабель рухається, а потім приєднати до нього кодер. Це дозволить вам відстежувати рівень з досить високою точністю.
Я знаю, що незабаром вийде книга « Практичний ардуїно» включає в себе проект датчика глибини резервуара для води , який використовує диференціальний перетворювач тиску для вимірювання тиску води на дні резервуара, і з цього підрахувати, наскільки наповнений бак.
Схеми наведені на вищезазначеному посиланні разом із посиланням на вихідний код на github.
(Повне розкриття: я не асоціююсь із книгою, але кілька разів зустрічався з одним із авторів на наших місцевих хакерських просторах.)
Спосіб, який мені подобається, але не пробував, - це помістити в рідину дві ізольовані пластини. Без умовності, електролозу, контамінації ....... Вони утворюють пластини ковпачка. і використовуються в якомусь генераторі (вибір залежить від вас) Оскільки вода є хорошим діалектиком, частота сильно залежить від кількості води між пластинами. Виміряйте частоту, щоб отримати глибину.
Можливо, ви зможете отримати подібний результат, застосувавши сигнал змінного струму та вимірявши струм через кришку.
Докладніше допоможе, але я думаю, що ультразвуковий метод, мабуть, найпростіший, концептуально, у будь-якому випадку (звідси необхідність отримати більше деталей: -]). Я зібрав датчик рівня для резервуара мазуту у своєму підвалі за допомогою ультразвукового перетворювача MaxSonar. Я переходжу на датчик Parallax Ping, як тільки я можу взяти на себе руку. Підрозділ MaxSonar виявив дещо біль; виявляється, він отримав лише дозвіл в один дюйм (2,54 см), що дорівнює майже 7 галонів у моєму баку. Я поклав блок MaxSonar у кришку ПВХ у верхній частині резервуара, спрямовану вниз (поза досяжності рідини).
Один із способів зробити це - розмістити світлодіод на дні резервуара, спрямований на верхню частину, і фотодіод у верхній частині цистерни, звернений до світлодіода. Світлодіод буде ослаблений водою в баку, вам потрібно буде експериментувати, щоб визначити, скільки. Також найкраще взяти ряд швидких вимірювань та провести середню оцінку при використанні цього методу.
Існує дивовижна кількість способів перевірити рівень. Є датчики, які використовують РЧ, посилаючи імпульс вниз по хвилеводу і виявляючи відбиття від поверхні рідини в баку. Існує ультразвукове дослідження, поплавці, бульбашкові трубки, крани під тиском ... Використовуваний метод залежить від розміру ємності, вмісту, навколишнього середовища та інших факторів.
Я здивований усіма тут складними електронними рішеннями, я б застосував простий потенціометр. Більшість мікроконтролерів мають базовий аналоговий i / p.
+V
-----
|
|
/
\
/<----------> to analog i/p
\
|
|
-----
GND
Використовуйте стандартний поплавок клапанного резервуара для води (він може вже бути). Залишилася проблема полягає в з’єднанні поплавця до горщика, щоб отримати максимальний розмах (ви також можете використовувати повзунчик).
|-|
| |
|o| <--------Slider pot.
|||
|||
|
| <--------Coupling.
|
____ |
(float)----------o-----o <--Anchor point of float.
----
Найпростіший підхід
Помістіть маленьку трубку в кут резервуара, який має трохи більший діаметр, ніж куля для пінг-понгу.
Покладіть інфрачервоний світлодіод на одну сторону пробірки та фоторезистор, протилежний світлодіоду (просвердлюючи отвір у трубці, він непрозорий, або розміщуючи зовні, якщо він прозорий). Гарячим склеюйте електричні деталі, щоб їх водонепроникно, і киньте кулю пінг-понгу в трубку.
Коли рівень води підвищиться або знизиться до того, що куля для пінг-понгу розбиває інфрачервоний промінь, ви дізнаєтесь, що він досяг потрібного рівня. Це працює, якщо вам просто потрібен дискретний індикатор рівня (увімкнення / вимкнення).
Ця система використовується також у гарматах для пейнтболу, призначених для запобігання рубанню кульок, гарантуючи, що вся куля знаходиться у вогневій камері, перш ніж дозволити електронному спусковому механізму озброїти соленоїд стрільби.
Це просто, ефективно і не вимагає калібрування або зовсім мало.
Ще один розумний підхід: скористайтеся більшою теплопровідністю води (рідини). Ідея полягає у наявності датчика температури та вимірювання різниці його самонагрівання при зануренні та у вільному повітрі.
Інше рішення (каламбур не призначений);
Використовуйте потенціометр, як було запропоновано вище. Нормальний діапазон обертання - 270 градусів. Прикріпіть поплавок до потенціометра за допомогою кронштейна стріли. (довжина = 1 одиниця)
Між повною та порожньою рукою стріла рухатиметься на 90 градусів.
АЦП на PIC - це або 256, або 1024 кроки (так, нуль - це крок).
Я буду використовувати 256 кроків для наочності.
270 градусів = 256 кроків АЦП. 270/90 = 3 (третина діапазону потенціометра)
255/3 = 85 кроків АЦП
Програмуйте код, щоб позначити 0 градусну точку (бачок порожній) при натисканні кнопки.
Це зберігає точку зсуву в PIC eeprom. Тепер потенціометр не повинен бути точно на нулі, оскільки цю точку калібрування можна встановити.
За допомогою тригометрії обчисліть таблицю пошуку (підказка: скрипт php), щоб відповідати кожному кроку АЦП.
Підказка: кожен крок АЦП відповідає 90/85 = 1,0888 градусів.
Так, вам слід було б приділяти більше уваги на уроці математики. тупа марнотрата часу, невід’ємна зараз. залучати мозок. вивчити тригонометрію. навчати інших.
Скорочення: Старий араб переніс важкий мішок сіна.
Гіпонтеза - довжина руки стріли. Зробіть його в довжину 1 одиницю. Таблиця пошуку потім містить відсоток глибини бака. (помножте на 100 звичайно)
Перевірте наступне посилання:
http://www.edgefxkits.com/contactless-liquid-level-controller
Я думаю, що може бути корисним для вас.