Moje Raspberry Pi - plugin průtokoměr s PCF8583

Pro zalévací automat OSPI jsem potřeboval vytvořit plugin pro měření průtoku vody. Zapojení používá obvod reálného času zapojený jako čítač pulzů. RTC Obvod je připojený ke sběrnici I2C a má nastavenu adresu propojkou (letováním) na 0x50 (pokud je vývod připojen na GND) a nebo 0x51 (pokud je vývod připojen na VCC).

Tento plugin je primárně určen pro tento automat, ale lze ho samozřejmě přizpůsobit vlastní konstrukci (například pro Arduino). Program (plugin je napsán v Pythonu) a naleznete ho na uložišti GITHUB (soubor OSPy/plugins/water_meter.py a šablona: OSPy/templates/plugins/water_meter.html).

Počítadlo pulsů (průtokoměr) je postaven ve dvou variantách:

a) deska počítadla (vstupní úroveň TTL) - verze SMD

Toto zapojení můžeme použít i pro plugin měření rychlosti větru (OSPY Wind Monitor). Na vstup IN připojíme dva vodiče od snímače pulsů v anemometru. Já jsem použil tento anemometr k meteo stanici WH1090 od tohoto dovozce za cenu cca 130,- Kč.

http://www.hadex.cz/t114-anemometr-k-meteostanicim-wh1080-a-wh1090/

WH1080-WH1090

V růžici je osazen jazýčkový kontakt. Na jedno otočení růžice se vygenerují dva pulsy (sepnutí kontaktu). 3 misky, 7 cm do středu misky, 4 cm miska, přesné polokoule.

(z manuálu ke stanici: The cup-type anemometer measures wind speed by closing a contact as a magnet moves past a switch. A wind speed of 1.492 MPH (2.4 km/h) causes the switch to close once per second.
The anemometer switch is connected to the inner two conductors of the RJ11 cable shared by the anemometer and wind vane (pins 2 and 3.)

anemo

 

watermeter

pcb

a) deska počítadla (vstupní úroveň TTL) - verze THT

watermeter THT

pcb THT

IMG 20150129 140552

IMG 20150129 140605

FOTO rozebraného měřiče větru

IMG 20150422 125929

IMG 20150422 125938

IMG 20150422 125944

IMG 20150422 130029

IMG 20150422 130055

IMG 20150422 130135

IMG 20150422 130200

IMG 20150422 130208

 

Na desce zalévače OSPy HW2 je již obvod PCF8583P osazen.

Funkce obvodu - v pluginu OSPy zalévače

Čidlo větru viz obrázky výše má v sobě na rotoru 2x magnet, který spíná jazýčkový kontakt (tedy jedna otáčka rotoru sepne 2x kontakt. Čidlo větru je připojeno na svorku WIND a VCC. Při aktivaci kontaktu magnetem se přivede přes omezovací rezistor R36 (220 Ohm) +5V na diodu LED14 a diodu v OK6 optočlenu (diody jsou zapojeny s rezistorem v sérii) – obě LED tedy svítí. Když není tranzistor v OK6 optočlenu osvětlen je rozepnut a na pinu číslo 1 obvodu PCF8583P je přes rezistor R35 (10KOhm) nastavena logická „jednička“ tedy 5V. Když je tranzistor v OK6 optočlenu osvětlen je sepnut a na pinu číslo 1 obvodu PCF8583P je logická „nula“ tedy 0V. Obvod PCF8583P je připojen ke sběrnici I2C přes piny SCL a SDA (piny číslo 5 a 9), adresa obvodu je nastavena na 0x50 pomocí pinu číslo 3 (A0 je na zem, pokud je A0 na VCC je adresa 0x51). Obvod PCF8583P je zapojen jako čítač pulsů. Pomocí I2C se obvod nastaví jako čítač, následně se vynuluje a po určité době se přes I2C načte počet pulsů v obvodu (tento děj se neustále opakuje). Ve vyšším systému (zalévač OSPy v Pythonu) periodicky maže a čte obvod PCF8583P přes I2C a dále zpracovává. Pokud známe počet pulsů ze snímače otáček (větru) na 1m/s za 1 vteřinu můžeme vypočítat rychlost větru.

Část obvodu (výřez) desky HW2 OSPy zalévače

1

b) deska počítadla se vstupním zesilovačem a komparátorem (pro použití Hall sondy) u vodoměru

watermeter komparator

Navržená deska plošného spoje (verze b - zesilovač, komparátor, čítač)

pcfwatermeter komprarator pcbtop

Vyrobená deska plošného spoje (verze b - zesilovač, komparátor, čítač)

pcbmeter

Osazená deska plošného spoje (verze b - zesilovač, komparátor, čítač)

IMG 20150122 133003

IMG 20150122 133024

 

Hallova sonda se připojí na vstup desky počítadla a deska se propojí pomocí vodičů +5V, Gnd, SCL, SDA k Raspberry Pi (zalévači)

hall Jedná se o tento senzor (A1302KUA-T - z GME.cz) - katalogový list v příloze