Měření výšky hladiny studny čidlem tlaku

Vytisknout
ELEKTRONIKA
Zobrazení: 3769

Pro OSPy jsem potřeboval nahradit měření hladiny studny (nyní ultrazvuk) za jiný princip (ultrazvuk je použitelný do cca 4m, další problém je široký vyzařovací úhel pro měření v jímce, nebo studni). Nalezl jsem čidlo TL136 (které Chiňan prodává pod různým označením https://www.aliexpress.com/w/wholesale-Level-Transmitter-Water-Level-.html?spm=a2g0o.detail.search.0 pro různé výšky hladiny (např: 0-10m, viděl jsem i do 200m vrtu) a různé výstupy 4-20mA, RS485, 0-10V...) Výhoda průmyslového rozvodu 4-20mA je v možnosti použít dlouhé vedení a malé rušení (stačí 2 vodiče).

Mám studnu hlubokou 7m, hladina vody ve studni se pohybuje 0-3m. Použiji snímač v rozsahu 0-4m s 5m kabelem. OSPy systém, který léta provozuji má možnost připojení I2C. Na webu jsem nenalezl přímo převodník 4-20mA na I2C. Proto použiji moduly, které budou zapojeny následovně:

Pro "šťoury" ano mohl bych použít jen A/D převodník a rezistor na kterém budu měřit úbytek napětí s ohledem na tekoucí proud, ale stejně bych potřeboval měnič 5V -> 24V (nechci kvůli čidlu dávat další zdroj 230V/24V, OSPy má 5V). Takhle to je zcela bez práce, pouze propojím pár modulků. Možná uvidím dle toho jak to bude fungovat udělám svoji PCB (rovnou pro 4 tlaková čidla se vstupem 4-20mA a výstupem na I2C).

Principy měření hladiny (anglicky) https://www.automation24.biz/level-measurement-principles

Čidlo pro měření hladiny na principu měření rozdílu tlaků TL136: https://allegro.cz/nabidka/tl136-snimac-hladiny-kapaliny-0-4m-5m-14778280836

Specifikace:

Měnič napájení z 5V DC na 24V DC pro napájení proudové smyčky: https://www.laskakit.cz/step-up-boost-menic-s-mt3608/

Specifikace:

Vyvarujte se stavu kdy je na vstupních svorkách vyšší napětí než nastavené na výstupních! Může dojít k poškození měniče!
Před prvním použitím je tedy nutné použít vstupní napětí 2V a nastavit požadované výstupní napětí. Potom lze na vstup připojit zamýšlené nižší vstupní napětí.

Převodník 4-20mA na 0-5V: https://dratek.cz/arduino/51644-prevodnik-napeti.html

Po připojení 4-20mA zařízení na vstup - convertor převede proudový vstup na 0-10V výstupní signál, vhodné využití při měření a regulaci v řídicích systémech, snímačích teploty, tlaku atd. Převodník lze kalibrovat.

Specifikace:

I2C A/D převodník 0-5V na číslo: https://www.laskakit.cz/4-kanalovy-i2c-adc-prevodnik--ads1115/

Specifikace:


Dnes 2.10.2024 dorazila čidla tlaku (objednal jsem dva kusy)

Krásně zabalené i s rudou hvězdou výstupní kontroly. Mechanické provedení čidla (na první pohled) vypadá pěkně.

Předně vysvětlím dotaz "proč jsem objednal čidlo pro rozsah 0-4m s kabelem 5m, když mám studnu hlubokou 7m". Vysvětlení jsem se pokusil vložit do obrázku níže (studna celkem 7m, voda min-max hladina je 3m, měřená hladina 0-4m tj. metr nad maximum, kabel 5m k montážní krabici kde je napojení do domu tj. 2 metry nad maximální hladinou. Nemá smysl měřit 7m, když je rozptyl hladiny 3m).

Nastavení převodníku 4-20mA na 0-5V (rozsah 0-5V)

1) na DC zdroji jsem nastavil 24V. Na desce převodníku jsou zapojeny oba propojovací kolíky (jumper) jako na obrázku níže

2) do desky jsem zapojil do proudové smyčky rezistor 6K OHM (2x12K paralelně) a trimrem "zero" nastavil na výstupu převodníku 0V (tj proud čidlem 4mA)

3) do desky jsem zapojil do proudové smyčky rezistor 1,2K OHM a trimrem "span" nastavil na výstupu převodníku 5V (tj proud čidlem 20mA)

Upozornění: při rozpojení proudové smyčky se na výstupu objevuje záporné napětí. Jelikož výstup z převodníku 4-20mA zapojíme do A/D převodníku, tak se nesmí při provozu proudová smyčka rozpojit (může dojít k poškození vstupu A/D převodníku)!

První test

Po zapnutí napájení převodníku se snímačem TL-136 jsem naměřil (když snímač ležel rozmotaný na zemi 20mV). Do kbelíku 10l jsem napustil vodu a ponořil snímač na dno (pod hladinou cca 25-30cm) -> na výstupu snímače bylo cca 200mV. Při pohybu k hladině se napětí plynule snižovalo až k 20mV. Půjde tedy krásně rozlišit i malý rozsah změny hladiny.


Na desku měniče jsem připojil 2,5V z DC zdroje, na výstup jsem připojil jako zátěž rezistor 1,2 KOhm. Nastavil jsem na výstupu napětí 24V, následně jsem zvedl napájení na 5V. Po otestování jsem propojil desku měniče do desky převodníku.

Vyvarujte se stavu kdy je na vstupních svorkách vyšší napětí než nastavené na výstupních! Může dojít k poškození měniče!
Před prvním použitím je tedy nutné použít vstupní napětí 2V a nastavit požadované výstupní napětí. Potom lze na vstup připojit zamýšlené nižší vstupní napětí.


Výstup z desky převodníku 4-20mA jsem připojil na vstup A/D převodníku (vstup A0). Propojil jsem z OSPy 4-pinový I2C konektor s A/D převodníkem SDA-SDA a SCL-SCL. +5V a 0V jsem spojil se vstupem do měniče 5V na 24V jako na obrázku. Konektor z OSPy je v pořadí: +5V, SDA, SCL, 0V.

A/D převodník umožňuje měřit pouze v rozsahu 0-4.096V (dáno zesílením = 1). Nemůžeme tedy využít celý rozsah 0-5V. V reálu bude ve studni například čidlo pro 0-5m, ale budeme měřit jen 0-4m. Chce to koupit si čidlo vždy s rezervou!

V OSPy jsem spustil balíček "systémové informace" kde se vypisují dostupná zařízení, nebo můžeme v konzoli otestovat přes "sudo i2cdetect -y 1". Když je A/D převodník nalezen uvidíme dostupnou adresu 0x48.

nebo přes například SSH putty...


Pro otestování funkce jsem napsal kód v pythonu (v příloze jako test.py). Po spuštění se vypisuje napětí ze všech 4 kanálů (AD0 - AD3) a přepočítaná hladina v zásobníku jako 0-100% (pokud je správně v programu vyplněno napětí pro 0% a pro 100%).

Teď již zbývá napsat nový plugin do OSPy a navrhnout desku pro 4 snímače (zdroj 5-24V, 4x převodník 4-20mA, I2C AD převodník)...

Aktualizace 12.11.2024

V systému OSPy je již nyní plugin dostupný, měří, zobrazuje, loguje a zasílá e-mail. Na integraci automatizace se pracuje (spuštění programu, stanice, zastavení programu...)


Deska je navržena v programu Atodesk Fusion (dříve Eagle). Deska je co nejjednodušší a obsahuje dva moduly (A/D převodník, měnič 5 na 24V) a děliče napětí.

Schéma zapojení

Deska spojů

Foto osazené desky

3D krabička

Do krabičky vložíme celkem 6ks čtvercových matic 6x6x1.8mm. Desku přišroubujeme pomocí 4ks šroubů M3x5. Víčko zašroubujeme pomocí 2ks šroubů M3x10.

Krabička je ke stažení na printables.com

Použité moduly na desce jsou z China produkce (vcelku jedno kde zakoupíte). Rezistory jsou v pouzdře SMT velikost 1206 a přesnost 1%.

AD převodník ADS115 https://pajenicko.cz/ad-prevodnik-ads1115-s-programovatelnym-zesilenim-16bit-4-kanaly-i2c-rozhrani

DC měnič SX1308 https://dratek.cz/arduino/1240-step-up-menic-2a-nastavitelny-sx1308.html

U měniče pozor na trimr, zakoupil jsem 4ks a všechny vadný trimr (nahrazen rezistorem napevno na 22,5V)! Než připojíte do desky 5V (přes I2C konektor z OSPy), tak nejprve nastavte měnič. Na vstup měniče připojíme 2,5V a trimrem nastavíme výstupní napěti 24V. Následně modul zaletujeme do desky. Když měnič zaletujete rovnou bez nastavení a na jeho vstup přivedete 5V, tak měnič odejde (vždy musí být nastaveno větší výstupní napětí než na vstupu).

Deska s nahrazeným trimrem

Nutné vyměnit SMT rezistor za 220 Ohm a místo trimru dát 8K2. Vstupní napětí je 5V, výstupní 22,5V.

Tlakové čidlo

Je napájené 24V přímo z této desky a nepotřebuje připojit žádný jiný zdroj! Při tvrdém propojení vstupní svorky na desce - například vstup 1 + a - nedojde k poškození obvodu (desky). Maximální proud je nastaven na 20mA. Pro kontrolu můžeme nechat u nevyužitého vstupu propojený + a - (v pluginu uvidíme maximální napětí asi 3.5V). Nebo mezi + a - připojíme LED libovolné barvy (LED If=20mA).

Poznatky z provozu

Po cca měsíci provozu jsem zjistil, že je čidlo parádně stabilní.

Test s odpouštěním vody z nádrže cca 50 litrů. V nádrži mám čidlo pro měření hladiny 5m, ale měřím pouze 0,5m. Vstup na AD převodníku se v tomto rozsahu hladiny 0-50cm mění cca 0,7V až 1V. Samozřejmě pokud budu měřit rozsah 0-5m bude měření přesnější. Lepší by bylo použít čidlo pro rozsah 4-20mA a 0-2m.


Bez připojení čidla (na vstupu 1 až 4) se musí v pluginu zobrazovat napětí 0V.

Při propojení + a - (na vstupu 1 až 4) se musí ukazovat cca 3,2V.

Připojíme čídlo (bez ponoření do vody tj. mimo nádrž) a podíváme se jaké napětí ukazuje plugin (příklad: uvidíme něco okolo 0,7 V).

Toto napětí vložíme do nastavení pluginu do části "minimální napětí".

Následně čidlo vložíme do plné nádrže "na dno" a podíváme se jaké napětí ukazuje plugin (příklad: uvidíme něco okolo 3,2 V).

Toto napětí vložíme do nastavení pluginu do části "maximální napětí".

Do části "maximální objem" vložíme náš vypočítaný/skutečný objem nádrže, když je plný vody ve stavu 100% (příklad: 50 litrů, nebo 2000 litrů...)

Do části "maximální výška" vložíme skutečnou změřenou vzdálenost mezi čidlem a maximální hladinou při 100% (příklad: 43 cm, nebo 300 cm...)

Tímto je hotová celá kalibrace. Plugin následně bude přepočítávat jaká je hladina a objem nádrže.

Nádrž číslo 1 je skutečná nádrž s objemem 50 litrů. Nádrž 2 a 3 není použita. Nádrž číslo 4 je propojený vstup + a - vodičem (ukazuje maximální napětí na AD, které můžeme docílit. Hodnoty objem a úroveň jsou imaginární...)

Attachments:
Download this file (ads1115.pdf)ADS1115[Katalogový list]1722 kB31 Downloads2024-10-03 14:47
Download this file (CAMOutputs.zip)Deska spojů[Gerber, excellon]112 kB14 Downloads2025-01-23 04:17
Download this file (MT3608.pdf)MT3608[Katalogový list]597 kB26 Downloads2024-10-03 14:47
Download this file (sx1308.pdf)SX1308 DC-DC[Katalogový list]623 kB7 Downloads2025-01-23 04:32
Download this file (test.zip)Testovací program pro načtení z ADS1115[Python3]1 kB33 Downloads2024-10-03 14:44
Python
OSPy