Měření výšky hladiny II – “Do it like a Pro…”

Tento článek navazuje na starší příspěvek pojednávající o měření výšky hladiny vody ve studni, který byl řešený formou zadrátování jednotlivých komponent a proto také byl označený “Ghetto style”. Mailem jsem obdržel spoustu žádostí o stavbu stejného zařízení a i po odfiltrování české klasiky – “Já si to koupím, když mi dáte 20% slevu z nákupních cen součástek…”, nebo “Dejte mi cenu na 5000 kusů a já si pak jeden za tuhle cenu koupím…” zbylo stále dost opravdu vážných zájemců. Jeden z nich byl natolik zajímavý, že jsme se nakonec dohodli – vyvinu novou elektroniku, která bude uveřejněna pod licencí Open source hardware a napíšu úplně nový firmware, který bude možné rozšiřovat ve smyslu pozdějšího připojení měření do internetu a komunikace s jinými automatizačními systémy. Elektronika bude mít možnost zobrazit hladiny až ze tří zdrojů na OLED displeji. Tohle byly základní dohodnuté parametry.

Protože jsem však chtěl s novou elektronikou pokrýt i “staré” úkoly – tím myslím například řízení relé, které původní zařízení obsahovalo, navrhl jsem jen jedno zařízení, které se dá alternativním osazením změnit na

  • Měřící jednotku – jednotka používá původní HX711 převodník a vážící trámec pro měření hloubky. Je určena do nádrží a kopaných studní. Alternativně je možné osadit převodník z proudové smyčky, takže se dají připojit i tlaková čidla, která jsou vhodná pro měření hladiny ve vrtaných studních.
  • Zobrazovací jednotku – plní funkce původní řídící jednotky. Zobrazuje naměřené hodnoty a umožňuje celkovou konfiguraci systému.
  • Výkonnou jednotku – tato varianta má osazené až dva reléové výstupy, které slouží pro ovládání nízkonapěťových periferií.

Kvůli snaze o co nejlevnější řešení jsem pro všechny varianty osazení zvolil jako řídící mikrokontrolér modul ESP-12. Znamená to tedy, že je možné vytvořit program, který umožní komunikaci mezi jednotkami přes WiFi, nebo alespoň zobrazovací jednotce umožní přenos naměřených hodnot do nadřazeného systému.

Standardní komunikace probíhá pomocí sběrnice RS485, protože nepředpokládám, že by měřící modul, umístěný ve studni měl dobré pokrytí WiFi signálem.

Abych usnadnil instalaci i méně zkušeným uživatelům, navrhl jsem zakončení rozhraní RS485 se semiautomatickým terminátorem. Toto zapojení jsem kdysi viděl v nějakém doporučení pro zapojování RS485, ale nedokázal jsem původní pramen najít. Spočívá v tom, že jsou použity terminátory s vyšším odporem, polarizační odpory sběrnice mají také vyšší hodnoty a v sérii s terminátorem jsou zapojeny antiparalelně diody, které zabezpečí potřebné minimální polarizační napětí. Znamená to tedy, že je sběrnice do jistého počtu připojených zařízení a určitých přenosových rychlostí samozakončující a nemusíme řešit zapojování terminátorů na koncích linky.

Když už je usnadněná instalace hardware, tak by bylo vhodné co nejvíce zjednodušit i konfiguraci softwareovou. To jsem vyřešil tak, že jsem napsal vlastní síťový komunikační modul, zabezpečující automatickou adresaci bez nutnosti ručního přidělování adres, zabezpečující automatickou detekci nových zařízení v síti a detekci odpojení zařízení. Původně jsem pro toto všechno chtěl použít protokol PJON, ale byl jsem zklamán jeho nespolehlivostí a (alespoň mi to tak připadá) neforemností.

Celkové zapojení desky prakticky není nutné komentovat snad až na zapojení 4-tlačítkové klávesnice. Protože má modul ESP-12 málo pinů pro obsluhu, tak jsem navrhnul zapojení klávesnice jako odporový dělič, který je připojený do analogového vstupu. Hodnoty odporů jsou takové, jaké jsou protože A/D převodník v ESP8266 měří v rozsahu 0-1V. Na desce je také připojovací místo pro mikrovlnné čidlo RCWL-0516, které je použité pro detekci osoby, stojící před displejem. Podstatným způsobem se tím prodlouží životnost OLED displeje. Místo programovacího konektoru s pogo piny jsem v tomto případě použil konektoru, tvořeného jen částí PCB a jako protikus používám koncovku z Wii ovladače – kabely jsou dostupné velmi levně třeba zde a jejich úprava na programovací přípravek je rovněž velmi snadná. Toto řešení jsem použil už na dvou projektech a zatím se velmi osvědčilo. Jako zobrazovací jednotku je možné použít LED displej, postavený na čipu TM1637, ale pro pohodlí obsluhy byl nakonec zvolený OLED 2.42 palce s rozlišením 128×64 bodů. Jako vizualizační doplněk je možné připojit řadu LED WS2812, například tuto.

Pro pohodlí obsluhy je zobrazení na displeji animované – původně animace měly zabránit vypalování bodů na OLED displeji, ale to jsem vyřešil připojením RCWL čidla. Animace však už zůstaly…

Ovládání je tvořeno dvěma menu – hlavní menu slouží pro přidávání senzorů nádrží a pro nastavení timeoutu pro zhasínání OLED, lokální menu nádrže pak slouží k odebírání nádrží, jejich kalibraci (nastavení nulové hladiny a měřené hladiny) a k monitorování kvality spojení se senzorem.

Chybové stavy jednotlivých čidel jsou pak indikovány blikajícím varovným trojúhelníkem namísto výšky hladiny. Přítomnost nového, dosud nepřidaného čidla je indikována blikající ikonou klíče ve spodní části obrazovky.

Pro snadnou aktualizaci firmware má každý prvek stavebnice integrovaný WiFi AP, který se spustí dvojím stiskem tlačítka Reset. Pak je možné přes webové rozhraní aktualizovat firmware. Senzory nemají možnost indikace tohoto stavu, ale zobrazovací jednotka ho indikuje blikající ikonou WiFi signálu.

Hardware je publikovaný pod licencí Open source hardware – chtěl jsem získat i certifikát, o který jsem požádal zde https://application.oshwa.org/apply , ale vůbec jsem nedostal žádnou reakci, takže jsem se na celý certifikační proces vykašlal (chtěl jsem certifikační číslo umístit na PCB, ale nechtěl jsem zdržovat výrobu).

A na závěr tedy archiv s designem hardware v Kicadu:

 

Hladina HW RevA
Hladina HW RevA
Hladina_HW_RevA.zip
399.9 KiB
244 Downloads
Detaily

8 komentářů u „Měření výšky hladiny II – “Do it like a Pro…”“

  1. Ahoj Pavle,
    děkuji za další článek (myslel jsem že jsi již KO). Vždy si rád pročítám nové články na tvém webu – je to uklidňující pocit 😀
    Děkuji a ať se daří – nezanevři na svoji práci (blog)
    Martin

    1. Dobrý den,
      ještě mám nějaké kusy, které dodávám jako téměř hotovou stavebnici (osazená a oživená elektronika, kterou je nutné mechanicky zabudovat do krabic). Pro více informací mi napište na mail, který je v sekci “Kontakt”.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *