Рівень резервуара для води з мікроконтролером


24

Як я вимірюю рівень резервуара для води за допомогою мікроконтролера?


1
Це не варте відповіді, але мій друг зробив це для художнього проекту пару років тому. Кожен, хто зацікавився, радий би вас познайомити, і я впевнений, що він би радив пояснити, як це зробив. Його проект закінчений тут: unixarts.com/sealevel.html Це поєднало і насоси, і датчики, і потрібна достатня точність, щоб
перемотати

7
Коли мікроконтролер перестає працювати - він під водою.
Джон У

Відповіді:


23

Ну, якщо припустити, що ви працюєте тут на землі (на відміну від орбіти), ви можете використовувати поплавковий датчик, який вимірюєте за допомогою мікрофона. Питання: чи потрібно знати точний рівень, чи вам просто потрібна якась поїздка, коли вона досягне високої / низької?

На тему "поїздка на певному рівні" ви можете отримати такі перемикачі - як правило, поплавок містить якийсь перемикач визначення датчика ставлення. Коли рівень води нижчий, поплавок закінчується на його боці, і вимикач вимикається, піднімаючи рівень, примушує поплавок вертикально, а отже, і «включити». Вони часто використовуються для насосних насосів. Вони досить надійні і з ними дуже легко впоратися, хоча ви повинні бути обережними, щоб правильно закріпити їх, і ви повинні бути впевнені, що нічого не заважає поплавцю.

Якщо вам потрібно знати фактичний рівень, то у вас є багато варіантів, але це менш просто. Ви можете використовувати щось на зразок ультразвукового датчика (ультразвуковий промінь, що стріляє вниз з верхньої частини бака, щоб відбити рівень води).

Ці хлопці, здається, виготовляють індикатори рівня для ГОЛОВНИХ цистерн, які складаються з поплавця та зовнішньої ваги, з'єднаних разом. Коли поплавок їде вгору і вниз по рідині, зовнішній індикатор рухається належним чином. Ви можете побудувати щось подібне, не маючи нічого складнішого, ніж фотоелементи для зчитування рівня (якщо це великий резервуар, або ви хочете багато деталізації, вам знадобиться багато фотоелементів).

По черзі, беручи за основу ідею кабельного поплавця, ви можете поставити колесо холостого ходу, яке рухається, коли кабель рухається, а потім приєднати до нього кодер. Це дозволить вам відстежувати рівень з досить високою точністю.


15

Я знаю, що незабаром вийде книга « Практичний ардуїно» включає в себе проект датчика глибини резервуара для води , який використовує диференціальний перетворювач тиску для вимірювання тиску води на дні резервуара, і з цього підрахувати, наскільки наповнений бак.

Схеми наведені на вищезазначеному посиланні разом із посиланням на вихідний код на github.

(Повне розкриття: я не асоціююсь із книгою, але кілька разів зустрічався з одним із авторів на наших місцевих хакерських просторах.)


11

Спосіб, який мені подобається, але не пробував, - це помістити в рідину дві ізольовані пластини. Без умовності, електролозу, контамінації ....... Вони утворюють пластини ковпачка. і використовуються в якомусь генераторі (вибір залежить від вас) Оскільки вода є хорошим діалектиком, частота сильно залежить від кількості води між пластинами. Виміряйте частоту, щоб отримати глибину.

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


Розум, це багато що залежить від діалектичної постійної рідини. Якщо я не помиляюся, ємнісне зондування використовується більше для виявлення присутності / відсутності, ніж рівня. Здається, майже кожен метод, на який я зіткнувся, залежить від питомої ваги. Ємності, що містять рідини змінного складу, важко регулювати.
wackyvorlon

Датчики рівня рідини на основі ємності найкраще працюють при виявленні присутності або відсутності рідини. Для того, щоб прочитати рівень води / зарядити пластини за допомогою фіксованого резистора та виміряти час. Як було сказано вище, додавання забруднень до води (як солі) може призвести до різкої зміни ємності, а отже, читання для фіксованого рівня рідини. Якщо рідина, яку ви вимірюєте, є однорідною, це набагато менше проблем.
mjh2007

Я зробив генератор динатрона з простою котушкою SMD на полиці, яка резонувала з ізольованими пластинками, як Russ postulated.
Аутист

10

Докладніше допоможе, але я думаю, що ультразвуковий метод, мабуть, найпростіший, концептуально, у будь-якому випадку (звідси необхідність отримати більше деталей: -]). Я зібрав датчик рівня для резервуара мазуту у своєму підвалі за допомогою ультразвукового перетворювача MaxSonar. Я переходжу на датчик Parallax Ping, як тільки я можу взяти на себе руку. Підрозділ MaxSonar виявив дещо біль; виявляється, він отримав лише дозвіл в один дюйм (2,54 см), що дорівнює майже 7 галонів у моєму баку. Я поклав блок MaxSonar у кришку ПВХ у верхній частині резервуара, спрямовану вниз (поза досяжності рідини).


7

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


1
здається дуже схильним до помилок, навколишнього світла, збивання тощо
Jason S

7

Я використовую дешевий датчик шпильки з місцевого магазину обладнання з фото транзистором, щоб відчути світлодіодний світлодіод. Завдяки цьому, приклеєному до сторони бака, він відчуває, коли рівень піднімається над датчиком і попереджає нас про високий стан води.


6

Існує дивовижна кількість способів перевірити рівень. Є датчики, які використовують РЧ, посилаючи імпульс вниз по хвилеводу і виявляючи відбиття від поверхні рідини в баку. Існує ультразвукове дослідження, поплавці, бульбашкові трубки, крани під тиском ... Використовуваний метод залежить від розміру ємності, вмісту, навколишнього середовища та інших факторів.


4

Я здивований усіма тут складними електронними рішеннями, я б застосував простий потенціометр. Більшість мікроконтролерів мають базовий аналоговий i / p.

 +V
-----
  |
  |
  /
  \
  /<----------> to analog i/p
  \
  |
  |
-----
 GND

Використовуйте стандартний поплавок клапанного резервуара для води (він може вже бути). Залишилася проблема полягає в з’єднанні поплавця до горщика, щоб отримати максимальний розмах (ви також можете використовувати повзунчик).

                  |-|
                  | |
                  |o| <--------Slider pot.
                  |||
                  |||
                   |
                   |  <--------Coupling.
                   |
   ____            |
  (float)----------o-----o  <--Anchor point of float.
   ----

Як ви переконаєтесь, що горщик повернувся у вихідне положення?

Вага поплавця потягне його вниз, коли рівень води знизиться ...
ttt

Не дуже впевнений у цьому. Знайти правильну вагу поплавця таким, щоб він плавав у присутності води і опускав горщик у відсутність води, не так просто. Більшість горщиків мають досить високе статичне тертя. Я думаю, що це можливо, враховуючи правильну механічну настройку.

Більшість довгих горщиків для повзунків мають дуже низьке тертя (застосовується в змішувачах, що керуються пальцями і DJ-колодах). Я використав 4-дюймовий повзунок зі своєї бітової коробки і перевірив його на нормальному поплавці з резервуаром для води. Він навіть працював на меншому поплавці цистерни для туалету! До речі, я використовував би фіксований резистр послідовно з горщиком, так що навіть якщо це шортики у вологому середовищі не будуть перевищувати вихід порту контролера (або виводити занадто багато струму від фіксованого Vref). У моїй тестовій установці я використовував 10k резистор з 10-казовим горщиком.
ttt,

Для тестування я просто використав шматочок зігнутого дроту, щоб застебнутись на поплавкову руку. У туалетній бачці рука має пластикову площу квадратного перетину, тому було б дуже просто просвердлити невеликий отвір, щоб зробити кріплення.
ttt

4

Найпростіший підхід

Помістіть маленьку трубку в кут резервуара, який має трохи більший діаметр, ніж куля для пінг-понгу.

Покладіть інфрачервоний світлодіод на одну сторону пробірки та фоторезистор, протилежний світлодіоду (просвердлюючи отвір у трубці, він непрозорий, або розміщуючи зовні, якщо він прозорий). Гарячим склеюйте електричні деталі, щоб їх водонепроникно, і киньте кулю пінг-понгу в трубку.

Коли рівень води підвищиться або знизиться до того, що куля для пінг-понгу розбиває інфрачервоний промінь, ви дізнаєтесь, що він досяг потрібного рівня. Це працює, якщо вам просто потрібен дискретний індикатор рівня (увімкнення / вимкнення).

Ця система використовується також у гарматах для пейнтболу, призначених для запобігання рубанню кульок, гарантуючи, що вся куля знаходиться у вогневій камері, перш ніж дозволити електронному спусковому механізму озброїти соленоїд стрільби.

Це просто, ефективно і не вимагає калібрування або зовсім мало.



1

Ще один розумний підхід: скористайтеся більшою теплопровідністю води (рідини). Ідея полягає у наявності датчика температури та вимірювання різниці його самонагрівання при зануренні та у вільному повітрі.


Це фактично було зроблено в CHCH NewZealand, де я перебуваю, але я цього не зробив, я думаю, що йому близько 20 років. На зовнішній стороні резервуару був ряд багатьох термістерів. Так це працює добре, тому ви отримаєте мій голос.
Аутист

1

Інше рішення (каламбур не призначений);

Використовуйте потенціометр, як було запропоновано вище. Нормальний діапазон обертання - 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 звичайно)


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.