Water level QDY30B: Skirtumas tarp puslapio versijų
35 eilutė: | 35 eilutė: | ||
'''Sujungimas:''' | '''Sujungimas:''' | ||
− | * | + | * Prijungiame mėlyną sensoriaus laidą prie vienos 50R rezistoriaus kojos. |
− | * Kitą rezistoriaus koją | + | * Kitą rezistoriaus koją prijungiame prie žemės (GND). |
− | * | + | * Prilituojame keramikinį kondensatorių tiesiai per abi rezistoriaus kojas (lygiagrečiai). |
− | * Nuo mėlyno laido pusės (kur prijungtas prie rezistoriaus) | + | * Nuo mėlyno laido pusės (kur prijungtas prie rezistoriaus) išvedame trumpą laidą į ESP8266 ADC0 (A0) įėjimą. |
− | * | + | * Įsitikiname, kad maitinimo šaltinis (PSU) ir ESP8266 turi bendrą žemę (GND). |
=== Kaip atrodo sujungimas === | === Kaip atrodo sujungimas === |
22:58, 6 spalio 2025 versija
Vandens lygio matuoklis paremtas QDY30B sensoriumi. Pagrindinė sprendžiama problema: hidroforo išjungimas pasiekus kritinį vandens lygio tašką, t.y kai hidroforo įėimo vamzdis nepasiekia vandens išjungti jam maitinimą. Taip pat papildomai integracija į MQTT/Home Assistant vandens lygio matavimams centimetrais/metrais.
Reikalingos medžiagos
- Submersible Liquid Level Sensor Water Tank Pressure Transmitter 4-20mA 0-10V RS485 Water River Level Transmitter šiame aprašyme naudojamas 4-20mA output, 5M range 10m cable
- Hi-Link 30W 24 AC DC Single Output Power Supply Module HLK-30M24C
- ESP8266 WIFI Wireless Relay Module ESP-12F AC 220V DC 5V 12V Power Supply ESP 12F Development Board Remote Control Smart Home modulis su ESP-12F
- Metal Film Resistor 2W 47R tipas 2W 47R
- Ceramic Capacitor 104 0.1uF 100NF 50V tipas 104
- Bet kokia elektros paskirstymo hermetinė IP66 dėžutė iš Senukų arba Ermitažo (kad tilptų viskas sugrūsti).
Kaip atrodo medžiagos
Sujungimo schema
From Sensor (Blue wire, 4–20 mA −)
│
│
├───────> To ESP8266 ADC0 (A0) ← sense wire
│
│
[===] ← 47 Ω resistor (shunt)
[ ]
│
│
GND (shared with 24 V PSU and ESP8266)
Sujungimas:
- Prijungiame mėlyną sensoriaus laidą prie vienos 50R rezistoriaus kojos.
- Kitą rezistoriaus koją prijungiame prie žemės (GND).
- Prilituojame keramikinį kondensatorių tiesiai per abi rezistoriaus kojas (lygiagrečiai).
- Nuo mėlyno laido pusės (kur prijungtas prie rezistoriaus) išvedame trumpą laidą į ESP8266 ADC0 (A0) įėjimą.
- Įsitikiname, kad maitinimo šaltinis (PSU) ir ESP8266 turi bendrą žemę (GND).
Kaip atrodo sujungimas
ESPHome Firmware kodas
ccc
Flashinimas
Pirmiausia reiktų susidiegti esphome python3 modulį:
pip3 install esphome
Flashinti reikia per relės UART interfeisą, micro USB interfeisas tam reikalui neskirtas. Pajungiame USB Serial TTL adapterį, sujungiame RX/TX/GND/5V ir galime flashinti, pirmam kartui taip pat būtina užtrumpinti GND + 101 prieš įjungiant įrenginį (randasi tame pačiame UART layoute).
Kompiluojame ir flashiname:
python3 -m esphome compile water_level.yaml python3 -m esphome upload water_level.yaml
Vėliau galime flashinti over the air (per tinklą) metodu:
python3 -m esphome upload --device DEVICE_IP water_level.yaml
Rezultatas
Kaip matome galime nustatyti kiek CM yra kritinis taškas, žemiau jo relė išsijungia, taip pat galima šią automatiką išjungti arba įjungti. Įjungimo išjungimo būsenos tai pat saugomos po power loss ar atsitiktinių elektros atjungimų, kas yra būtina išlaikant testinumą. Taipogi galima rankiniu būdu valdyti rėlę prieš tai išjungus automatiką. Pagal nutylėjimą pirmam leidimui visos pozicijos yra išjungtos.