ESP32 multisnímač pro OpenSprinkler systém

Vytisknout
ELEKTRONIKA
Zobrazení: 11020

ESP32 multifunkční deska slouží pro další využití v projektu OSPy. Více o mém projektu zde a zde. Stránky projektu: https://opensprinkler.cz/ a zdrojové kódy na Githubu: https://github.com/martinpihrt/OSPy/tree/master/hardware_pcb/sensors_pcb_fw/ESP32.

Srdcem desky je čip Espressif ESP32, ke kterému jsou připojeny veškeré sondy (teplota, pohyb, kontakt, průtok, vlhkost). Ty se připojují pomocí šroubovacích svorek, nebo konektorů RJ11. Deska s řídícím systémem OSPy komunikuje přes Wi-Fi síť.

FREE (v příloze veškerá dokumentace: program pro ESP32, deska spojů...) - > pojato jako "open hardware"

 

Parametry desky - co lze připojit (pomocí svorek, nebo RJ11)

Schéma zapojení

Deska spojů

Rozměry desky

Seznam součástek

 

označení hodnota odkaz tme.eu za ks ks celkem bez dph
IN jack 2.1mm x 5.5mm THM DC jack 

https://www.tme.eu/cz/details/neb21r/konektory-dc/lumberg/neb-21-r/

19,4 Kč 1 19,4 Kč
IC1 LM2576S-3.3/NOPB TEXAS INSTRUMENTS https://www.tme.eu/cz/details/lm2576s-3.3_nopb/stabilizator-napeti-obvody-dc-dc/texas-instruments/ 56,0 Kč 1 56,0 Kč
U1 ESP32-WROOM-32U (4MB) ESPRESSIF https://www.tme.eu/cz/details/esp32-wroom-32u/moduly-iot-wifi-bluetooth/espressif/esp32-wroom-32u-4mb/ 97,0 Kč 1 97,0 Kč
U1 ant Anténa; Bluetooth,WiFi,ZigBee; 4dBi; lineární; 34,9x9x0,1mm; U.F https://www.tme.eu/cz/details/1461530100/anteny-wifi-bluetooth/molex/ 51,0 Kč 1 51,0 Kč
R6, R7, R8, R12 10k 1206 https://www.tme.eu/cz/details/ar1206-10k-0.1%25/presne-rezistory-smd-1206/viking/ar06btcv1002/ 0,5 Kč 4 2,0 Kč
R1, R2, R3, R4, R9, R10 4k7 1206

https://www.tme.eu/cz/details/cq1206-4k7-5%25/rezistory-smd-1206/royal-ohm/cq06s4j0472t5e/

0,3 Kč 6 1,8 Kč
R5 330 Ohm 1206

https://www.tme.eu/cz/details/crcw1206330rjntabc/rezistory-smd-1206/vishay/

0,6 Kč 1 0,6 Kč
DRY, DS1, DS2, DS3, DS4, I2C, LEAK, MOT WEBP6-1 RJ11

https://www.tme.eu/cz/details/rj11gk/konektory-rj/ninigi/

13,7 Kč 8 109,6 Kč
IN, *K1, *K2 nebo místo RJ11 Svorkovnice - rozteč 3,5mm - dvojitá

https://www.tme.eu/cz/details/dg381-3.5-2p12/svorkovnice-do-plosnych-spoju/degson-electronics/dg381-3-5-02p-12-00a-h/

8,1 Kč 1 8,1 Kč
* nebo místo RJ11 DRYS, DS1S, DS2S, DS3S, DS4S, LEAKS, MOTS Svorkovnice - rozteč 3,5mm - trojitá

https://www.tme.eu/cz/details/dg381-3.5-3p12/svorkovnice-do-plosnych-spoju/degson-electronics/dg381-3-5-03p-12-00a-h/

13,1 Kč 0 0,0 Kč
C1, C3 100nF 1206 https://www.tme.eu/cz/details/12061c104k4t2a/kondenzatory-mlcc-smd-1206/avx/ 3,0 Kč 2 6,0 Kč
T1 2N7002E SOT23 https://www.tme.eu/cz/details/2n7002e-7-f/tranzistory-s-kanalem-n-smd/diodes-incorporated/ 1,8 Kč 1 1,8 Kč
K3 Svorkovnice - rozteč 5mm - dvojitá

https://www.tme.eu/cz/details/dg300-5.0-2p12/svorkovnice-do-plosnych-spoju/degson-electronics/dg300-5-0-02p-12-00a-h/

3,3 Kč 1 3,3 Kč
BOOT, EN, AP switch spst SMD 6mm https://www.tme.eu/cz/details/1301.9320/mikrospinace-tact/schurter/ 6,2 Kč 3 18,6 Kč
F5 200mA PTCFUSE-1206

https://www.tme.eu/cz/details/0zcj0020ff2e/polymerove-pojistky-smd/bel-fuse/

2,5 Kč 1 2,5 Kč
F1, F2, F3, F4, F6, F7, F8 20mA (50mA) PTCFUSE-1206

https://www.tme.eu/cz/details/0zcj0005ff2e/polymerove-pojistky-smd/bel-fuse/

2,5 Kč 7 17,5 Kč
K4 rele RM84-2012-35-1003

https://www.tme.eu/cz/details/rm84-2012-35-1003/elektromagneticka-rele-miniaturni/relpol/

35,0 Kč 2 70,0 Kč
DZ1 BZV55-C3V6.115

https://www.tme.eu/cz/details/bzv55-c3v6.115/zenerovy-diody-smd/nexperia/

0,7 Kč 4 2,8 Kč
D1, D2, D4 SK210 Schottky; SMD; 100V; 2A; SMB https://www.tme.eu/cz/details/sk210/diody-schottky-smd/dc-components/ 1,7 Kč 3 5,1 Kč
D3 red 1206 https://www.tme.eu/cz/details/osr51206c1e/diody-led-smd-barevne/optosupply/ 1,2 Kč 1 1,2 Kč
C2 1000uF/10V  https://www.tme.eu/cz/details/gt1000_10/elektrol-kondenzatory-tht-s-niz-imped/samxon/gt-1000u-10v/ 2,4 Kč 1 2,4 Kč
UART PSH02-04W https://www.tme.eu/cz/details/zl263-4sg/konektory-hrebinky/connfly/ds1024-1-4rf1/ 3,3 Kč 1 3,3 Kč
L1 HPI1260-101 FERROCORE https://www.tme.eu/cz/details/hpi1260-101/vykonne-tlumivky-smd/ferrocore/ 21,2 Kč 1 21,2 Kč
        bez dph 501,2 Kč
        s dph 606,5 Kč
        s pošt 726,5 Kč

Foto z osazování desky

5.3.2021 jsem objednal desky spojů u www.allpcb.com na článku se pracuje :-) Desky budou stát (10 ks) 52.68 dolarů a mají přijít do 15-30 dnů.

19.4.2021 desky z Číny jsou tady :-)

Animace

Napájení snímače (vstupy a výstupy)

Připojení čidel k desce (konektor RJ, nebo svorkovnice)

Teplota DS1-DS4

Kontakt

 

Průtok

Pohyb

Různé způsoby připojení pohybového čidla nalezneme zde: https://pihrt.com/elektronika/439-ospy-jak-pridat-a-pripojit-snimace?start=4

Vlhkost, I2C, vzdálenost (sonic)

Ultrazvukové čidlo JSNSR04T (V3) -> https://www.aliexpress.com/item/32863960886.html

Z webu Aliexpressu (prodejce)

The new version of SR04T-V3.0 recently released solves the problem of blind data jumps and improves the stability of the product. JSN-SR0T4-V3.0 ultrasonic ranging module can provide 21cm-600cm non-contact distance sensing Function, ranging accuracy can be as high as 3mm; the module consists of an ultrasonic sensor and control circuit integrated with transceiver. The usage of mode one is compatible with our HC-SR04 module
 
Features:
1. Small size and easy to use:
2. Low voltage and low power consumption:
3. High measurement accuracy;
4. Strong anti-interference;
5. Integrated closed waterproof probe with wire, suitable for wet and harsh measurement occasions
 
Product parameters:
Working voltage: DC: 3.0V-5.5V
Working current: less than 8mA
Probe frequency: 40kHz
The longest range: 600cm
Recent range: 20cm
Long range accuracy: ±1cm
Resolution: 1mm
Mileage angle: 75 degrees
Input trigger signal: 1. TTL pulse above 10uS; 2. Serial port sending command 0X55
Output echo signal Output pulse width level signal, or TTL
Wiring:
3-5. 5V (power +)
Trig (Control) RX
Echo (output) TX
GND (power-)
Working temperature: -20-+70 degree


Programování se provádí následovně (sekvence) -> na programátoru není jumper spojen ani s 5V, ani s 3V3! Používá se napájení snímače.

K vložení programu do procesoru ESP32 jsem použil zakoupený programátor https://www.tme.eu/cz/details/wsh-11325/konvertory/waveshare/11325/

U tme.eu stojí cca 90,-. Programátor stačí připojit k USB počítače a druhou stranu zasunout do desky snímače (využívají se pouze piny: Rx,Tx,Gnd). Ale až po kontrole, že na desce snímače pracuje zdroj 3,3V! Ověříme multimetrem.

  • máme připojený programátor do USB a desky snímače
  • v Arduinu připravený program pro nahrání do snímače (použito při prototypu: Arduino IDE 1.8.13 + Board 1.0.6 + HW DOIT ESP32 DEVKIT V1 https://github.com/espressif/arduino-esp32
  • na desce snímače podržíme současně tlačítko "KEY" a "EN", zapneme napájecí zdroj 5-24V pro snímač a uvolníme tlačítko "EN". Tím přepneme ESP do režimu uploadu
  • v Arduinu klepneme na tlačíko "nahrát"
  • po úspěšném nahrání stiskneme tlačítko "EN" pro provedení restartu cpu ESP32
  • pokud necháme připojený programátor a v Arduino IDE si zapneme sériový monitor (115200bd), tak uvidíme debug výpis co se děje
  • nastavíme snímač pomocí mobilního telefonu. Stiskneme na dobu delší než 2 vteřiny tlačítko "AP". LED začne blikat rychle
  • přiřadíme snímač do OSPy
  • příští aktualizace FW snímače můžeme provádět přímo z prostředí OSPy

Pro zalévání 18 truhlíků jahod chci použít čerpadlo na 12V/4A - 4l/min, které bude připojené k multisnímači. Vodu budu odebírat z barelu IBC 1m3

Čerpadlo má tyto výhody: je samonasávací až do hloubky 1,2 metru a může běžet i bez vody. Pokud se výstup uzavře, tak má ochranu (tlakový snímač vypne motor)

Filtr proti nečistotám sání z barelu (listí atd...) - aby čerpadlo nesálo "bordel"

Provizorní propojení pro test (čerpadlo, deska multisnímače, sonda DHT22 a DS18B20, zdroj 12V/5A)

Připojení k OSPy systému

Video  - nastavení snímače přes telefon

V OSPy systému jsem dal "vyhledávání snímačů" a v seznamu nalezl můj multisnímač. Protože mám router a za ním připojenou Wi-Fi, tak vidím rozdílné IP adresy (multisnímač není na stejné síti, jako OSPy systém). 10.10.10.144 je adresa multisnímače (tu kterou dostal od Wi-Fi routeru). 192.168.88.237 je adresa přívodu do Wi-Fi routeru (statická adresa routeru).

Tlačítkem "vytvořit z tohoto" jsem bez práce (bez nutnosti nastavování v OSPy) vytvořil nový "senzor 1" pro měření teploty čidlem DS1 a následně stejným způsobem nový "sensor 2" pro měření vlhkosti pomocí DHT22.

Na obrázku je vidět naměřená teplota 15,5 °C a vlhkost 37,2 %. Dále je vidět síla signálu RSSI Wi-FI 38% a napětí zdroje 12,6V -> vše pracuje jak má :-)

Dalším krokem je nastavení ovládání relé ze systému OSPy. Protože jdu z OSPy do Wi-Fi routeru (z jedné sítě do jiné sítě, tak jsem v routerech nastavil směrování takto: co přijde na IP 192.168.88.237 port 90 - to je adresa Wi-Fi routeru ze sítě OSPy, tak se bude směrovat na IP 10.10.10.144 port 80 - adresu snímače. Snímač běží na portu 80, ale Wi-Fi má na portu 80 svůj web server, proto směruji z 90 na 80 a né z 80 na 80).

V OSPy jsem si vytvořil virtuální stanici číslo 17 (mám použito 16 fyzických výstupů - relé, tak budu pokračovat dále virtuálně), stanici jsem si pojmenoval "barel jahody" a přiřadil si k ní obrázek. Následně jsem spustil v OSPy rozšíření pro ovládání CLI a v něm nastavil příkaz pro zapnutí a pro vypnutí relé (pro stanici 17, tedy pro multisnímač a jeho relé).

Příkazy pro ovládání relé v multisnímači z OSPy je v tomto formátu

Po nastavení ovládání stanice 17 a označení "Použít CLI" jsem provedl restart OSPy (aby se rozšíření CLI aktivovalo).

Tadá :-) při ručním ovládání stanic v OSPy relé (a tím i čerpadlo 12V) spíná jak má. Následně stačí vytvořit nějaký program, který bude spínat stanici 17.

Při běžném provozu se data ze snímače do OSPy odesílají po 30 vteřinách (teploty, vlhkost). V případě detekce pohybu nebo kontaktu se data odesílají okamžitě (změna na vstupu). V případě detekce průtoku (počet pulsů na vstupu LEAK není 0) se data odesílají po 5 vteřinách. V případě, že se snímači nepodaří data odeslat, tak se pokus opakuje za 5 vteřin namísto za 30 vteřin. V běžném provozu LED bliká pomalu (vše pracuje jak má).


Snímač jsem namontoval do laminátového RZ sloupku. Vodu čerpám z 1000 litrového barelu čerpadlem 12V.

První zjištění z provozu

Signál Wi-Fi mám jen cca 24%. Mám daleko Wi-Fi router. Zkusím nahradit externí antenkou, kterou přidělám na rozvaděč.


Protože mám rozvaděč umístěn za rohem domu a pod terénem, tak je síla signálu snímače jen 26% (to je pro dlouhodobou spolehlivost málo - hrozí restarty snímače).

Z tohoto důvodu osadím externí anténu, kterou osadím na rozvaděč. Použiji tuto anténu a kabel ESP32-anténa.

Kabel (pigtail) U.FL->RSMA

https://www.i4wifi.cz/cs/210404-kabel-waverf-u-fl-na-rsma-25cm-kabel-pigtail-u-fl-rsma-reverzni-pro-minipci-25cm stojí cca 73,-

Anténa všesměrová (2,4GHz, 10dBi, RSMA)

https://www.i4wifi.cz/cs/211045-antena-waverf-01-vs-mdb10 stojí cca 218,-
Výrobce: WAVERF
Upřesnění typu: Wi-Fi anténa
Technické detaily
Impedance (ohm): 50
Maximální výkon (W): 5
Polarizace: vertikální
Provozní teplota max (°C): 40
Provozní teplota min (°C): +0
PSV: <2
Zisk (dBi): 10
Vyzař. úhel - V. (°): 10
Vyzař. úhel - H. (°): 360
Síťová rozhraní
Frekvence Wi-Fi: 2400 MHz
Fyzické vlastnosti
Hmotnost (kg): 0.1

Je mi jasné, že anténa je určena do vnitřního prostředí (teplota, vlhkost). Prostě to risknu! Rozvaděč je relativně schovaný před větrem a deštěm zcela jistě.

Umístění na rozvaděči

Sláva :-) povedlo se. Po montáži antény se síla Wi-Fi signálu zvedla z 26% na 51%. Snímač se po zapnutí napájení připojí okamžitě (před tím to trvalo delší dobu). Tímto potvrzuji to co jsem si myslel a již na pár konstrukcích ověřil a to, že když je Wi-Fi pod 30% je spojení nestabilní a pomalé.


Pro hlídání stavu dveří (proti dětem - co kdyby se někdo chtěl kouknout co je uvnitř? tak ať to vím!) jsem použil spínací kontakt mikrospínače "Omron D3V-163-3C5".

https://www.tme.eu/cz/details/d3v-163-3c5/mikrospinace-snap-action/omron-ocb/

 


Pro měření hladiny nádrže 1000 litrů (barel) je použito čidlo JSN-SR04 verze 3, která umožňuje napájení od 3V.

Specifikace:

Do víka jsem vyvrtal díru 22 mm a do ní vsadil čidlo. Čidlo je vodotěsné (dle pohledu jistě z přední strany, ale ze zadní mi něpřijde vodotěsné - kolem kablíku je díra. Možná je vnitřek v něčem zalitý...), ale zadní stranu jsem raději schoval do víčka. Od Víka vede kabel do vodotěsné krabičky, kde je umístěna deska elektroniky. Z krabice vede 4 žilový nestíněný kabel cca 7 metrů do rozvaděče s multisnímačem.

Ve snímači se využívá výchozí režim "MODE 0" -> není tedy potřeba na desce nic měnit.

Na straně barelu je vše připraveno :-) nyní jen připojit do rozvaděče na konektor I2C, HUMI, SONIC...

Verze FW 1.10 s uvedeným snímačem nepracuje. Vydám verzi FW 1.11, která je opravena (čidlo JSN potřebuje při měření více času. Výchozí čas čekání 10 us bylo málo -> zvýšeno na 50 us. A zároveň i opraveno pár chyb...) O víkendu namontuji a otestuji.

Aktualizace 13.6.2021

Po namontování snímače do víka barelu jsem po aktualizaci FW na 1.11 zjistil, že snímač ukazuje stále 22cm. Když jsem zapojil jiný kus (na drátech ve vzduchu) do desky multisnímače, tak byla hodnota z ultrazvuku v pořádku. Tak jsem snímač vyměnil za jiný a čekal, že bude vše v pořádku. A ejhle nebylo! Zjistil jsem, že snímač umístěný ve víku detekuje okamžitě překážku (jako kdyby byla před snímačem překážka).

Řešením bylo snímač posunout o cca 8cm směrem dovnitř -> a je po problému :-) Snímač v barelu ukazuje jak má. Jediný problém, který má použití tohoto snímače JSN je vzdálenost před snímačem. Ta je minimálně 22cm. Tedy nebudu moci přesně změřit 100% hladinu vody v nádrži, protože při max hladině je snímač cca 12cm nad hladinou. Bude tedy v rozmezí 12cm až 22cm ukazovat stále hodnotu 22cm (tj. 100% hladiny). Jelikož mám detekci hlavně z důvodu nedostatku vody (blokování čerpadla při 5cm hladině), tak mi tento problém nevadí.

Attachments:
Download this file (3D.zip)Data pro 3D tiskárnu[krabička]1840 kB110 Downloads2021-04-22 06:53
Download this file (a-pulldwn33V.png)Motion Pull-Down[3V3]268 kB153 Downloads2021-04-20 21:44
Download this file (a-pullup33V.png)Motion Pull-UP[3V3]228 kB116 Downloads2021-04-20 21:43
Download this file (b-pulldwn12V.png)Motion Pull-Down[12V]93 kB116 Downloads2021-04-20 21:44
Download this file (b-pullup12V.png)Motion Pull-UP[12V]90 kB103 Downloads2021-04-20 21:44
Download this file (D3V.PDF)D3V-163-3C5 OMRON[Katalogový list]882 kB83 Downloads2021-05-16 18:53
Download this file (eagle.zip)Data pro výrobu desky[Eagle, gerber]972 kB108 Downloads2021-03-05 12:42
Download this file (esp32-wroom-32_datasheet_en.pdf)ESP32[Katalogový list]512 kB112 Downloads2021-03-05 12:41
Download this file (pulldwn12Vmore.png)Motion Pull-Down[12V more probe]150 kB104 Downloads2021-04-20 21:46
Download this file (pullup12Vmore.png)Motion Pull-UP[12V more probe]146 kB103 Downloads2021-04-20 21:46
Download this file (pullup33V_more.png)Motion Pull-UP[3V3 more probe]232 kB116 Downloads2021-04-20 21:45
Download this file (rele_RM84.pdf)RM84-rele[Katalogový list]3283 kB124 Downloads2021-03-05 12:41
Download this file (RJ11GK.pdf)RJ11[Katalogový list]377 kB107 Downloads2021-03-05 12:41
Arduino
OSPy
ESP32