Inmiddels ben ik ook weer een aardig stuk verder gekomen en e.a. lijkt redelijk te gaan werken.
Mijn doel is om een ESPHome in elkaar te draaien die zelfstandig de fans regelt op basis van temperatuur van de verwarming en PWM aansturing van de fans.
Hardware
- ESP32
- 220v naar 12v converter (
link)
- 12v naar 3.3v converter (
link)
- Temperatuur sensor (
link)
- Snoertje voor 220v (
link)
- Kabel om fans aan te sturen (
link)
- Wat dupont kabeltjes
- Tot nu toe een Intel CPU fan met PWM. Waarschijnlijk ga ik Artic fans van PWN kopen
Connecting stuff
- Eerst 220v naar 12v omzetten om de fans van stroom te voorzien
- Omdat de ESP32 op 3.3v loopt tak ik de 12v af naar de converter naar 3.3v
- ESP32 aansluiten op de fans voor PWM signaal en RPM signaal. RPM signaal is optioneel, maar slechts 1 kabeltje extra. Leuk om zo de daadwerkerlijk snelheid van je fan te kunnen ziien.
ESPhome config
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
| esphome:
name: NAAM
platform: ESP32
board: esp32dev
wifi:
ssid: "SID_NAME"
password: "****"
domain: ".bladiebla.nl"
fast_connect: on
# Enable logging
logger:
ota:
dallas:
- pin: 23
sensor:
- platform: dallas
address: 0x74030297944C1128
name: "NAAM_TEMP_SENSOR"
id: temp
accuracy_decimals: 1
unit_of_measurement: "°C"
on_value:
then:
- if:
condition:
lambda: 'return id(temp).state < 30;'
then:
- output.set_level:
id: gpio_19
level: 0%
- logger.log: "Below 30"
- if:
condition:
lambda: 'return id(temp).state > 30;'
then:
- output.set_level:
id: gpio_19
level: 100%
- logger.log: "Above 30"
- platform: pulse_counter
pin: 22
name: "Fan Speed"
unit_of_measurement: 'RPM'
accuracy_decimals: 1
filters:
- multiply: 0.5
output:
- platform: ledc
pin: 21
id: gpio_19
frequency: 25000
mqtt:
port: 1883
broker: IP-ADRESS
username: "****"
password: "******"
client_id: NAME |
E.a. werkt nu in deze simpele opzet. Uiteraard wil ik straks meer stappen toevoegen voor de snelheid van de fan, maar het principe staat er.
De fan vertraagd, wat ik kan zien aan het aantal RPM
Om de spullenboel werkend te krijgen met de ESPhome plugin van HA moest ik wel naar de beta-versie van de plugin. Anders complieerd de code niet zo snel ik MQTT toevoeg.
Issues
1. De ESP is niet stabiel is stopt na verloop van tijd (crash?). Geen idee waarom
2. De fan stopt niet geheel maar blijft op +/- 900 RPM draaien. Misschien een keuze van de fan zelf.. Even kijken wat er gebeurt als ik een Artic fan aansluit
3. Ik moet een goede plek vinden voor de temperatuur sensor. Moet wel lukken, maar ik ben ook afhankelijk van de omgevingstemperatuur. Misschien toch toevoegen dat er een check wordt gedaan of de ketel actief is (ik heb een OTWG)