The goal of this project is to automatise some parts of my pool, mainly the flter pump based on the water temperature. There is also an option to use a ph pump.
The base hardware is an esp32 devkitC. Other hardware:
- Box: arduitouch
- LCD: Ili9341 240x320 RGB touch screen
- Power: Integrated 5V voltage regulator (input voltage 9 - 35V DC)
- Built-in piezo buzzer
- Controler: ESP32 board
- Temperatures (water and ambiant): 2 DS18B20
- Water pressure: GS07381-06 (200PSI) amazon
- RTC: DS3231 amazon
- ADC: ADS1115 az-delivery
- LevelShifter: TXS0108E az-delivery
- Relay: 4-relay module 5V with optocoupler low-level trigger az-delivery
- Read/write configuration from preferences (nvs storage)
- Mesure water temperature, ambiant temperature and water pressure
- Auto-detect DS18B20 (temperature sensors)
- Avaluate filtering time based on day hour and water temperature
- Get/Set values through grpc request
- Set time with ntp
- Send data with mqtt
- alarms on temperatures and pressure
- frost protection
- low/high pressure protection
To ease configuration update 2 front-end are under developement:
- CLI: https://github.com/golgoth31/domopool-cli
- UI: https://github.com/golgoth31/domopool-cli/tree/master/web
The local table is defined like this:
Temp | Hour | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
t<1 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | |
1<t<3 | X | X | |||||||||||||||||||||||
3<t<6 | X | X | |||||||||||||||||||||||
6<t<9 | X | X | X | ||||||||||||||||||||||
t=6 | X | X | X | ||||||||||||||||||||||
t=7 | X | X | X | ||||||||||||||||||||||
t=8 | X | X | X | ||||||||||||||||||||||
t=9 | X | X | X | X | |||||||||||||||||||||
9<t<12 | X | X | X | X | |||||||||||||||||||||
12<t<15 | X | X | X | X | X | ||||||||||||||||||||
15<t<18 | X | X | X | X | X | X | |||||||||||||||||||
18<t<21 | X | X | X | X | X | X | X | ||||||||||||||||||
21<t<23 | X | X | X | X | X | X | X | X | |||||||||||||||||
23<t<26 | X | X | X | X | X | X | X | X | X | X | X | ||||||||||||||
26<t<28 | X | X | X | X | X | X | X | X | X | X | X | X | X | ||||||||||||
28<t<30 | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | ||||||||||
30<t | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
Other table exemples:
-
from 1
-
from https://www.piscine-center.net/gestion-de-la-filtration-et-de-l-electrolyseur.html
- set hour if ntp and rtc are not ok
- add Hbridge driver for peristaltic pump (ph)
- add ability to redefine filter pump steps