Ofensteuerung v1.0: Wemos-Platine 100x100 mit Pumpenrelais 230 V, Thermostat parallel, Strommessung ZMCT103C/ADS1115, MAX6675 Abgas, 3x DS18B20, Servo MG996R, PWM-Pumpe; 2-stufiges Freerouting, ESPHome-Konfig

This commit is contained in:
OpenClaw committed 2026-11-07 04:01:44 +01:00
commit 1301212f13
32 files changed
+33133

No files matched your search

+88
View File
@@ -0,0 +1,88 @@
# Ofensteuerung (Wemos D1 mini)
Trägerplatine 100 × 100 mm für den Ofen, gleicher Aufbau wie die Umwälzpumpen-Platine:
Wemos D1 mini auf Buchsenleisten, alle Außenanschlüsse als **Steckklemmen 5,08 mm** (Stiftleiste + abziehbarer Schraubstecker).
![Bestückung](pcb/docs_3d.png)
## Funktionen
| Klemme | Pins | Funktion | ESP |
|---|---|---|---|
| J2 NETZ 230V | PE / N / L | Netzzuleitung (vorher LS-Schalter) | – |
| J3 PUMPE | L / N / PE | Pumpe 230 V über Relais K1 (Schließer), abgesichert mit F1 T2A | D0 |
| J4 THERMOSTAT | L / Ls | **Externer Thermostat parallel zum Relaiskontakt**: potentialfreier Schließer, schaltet die Pumpe auch ohne ESP | – |
| T1 | Drahtbrücke | Stromwandler ZMCT103C misst den Pumpenstrom, egal ob Relais oder Thermostat schaltet → ADS1115 A0-A1 | I²C |
| A3 (Modul) | Typ K | Abgastemperatur: MAX6675-Modul, Thermoelement direkt in die Klemme des Moduls am Plattenrand | D5/D6/D8 |
| J5, J6, J7 | GND / DQ / 3V3 | 3× DS18B20 am selben 1-Wire-Bus (4k7) | D4 |
| J8 KLAPPE | GND / 5V / SIG | Luftklappe: Servo **MG996R** (braun/rot/orange), 470 µF direkt an der Klemme | D3 |
| J9 PWM-PUMPE | GND / FB / PWM | Vorbereitung PWM-Pumpe, gleiche Stufe wie Umwälzpumpe (BC546B, 470 Ω, JP1 Pull-up) + Rückmeldung | D7, RX |
| J1 5V 3A | + / − | Versorgung 5 V, **mindestens 3 A** (MG996R zieht beim Anlaufen/Blockieren bis 2,5 A) | – |
| J10 | 5V 3V3 GND SDA SCL A0 TX AD2 AD3 | Erweiterung (Stiftleiste 2,54) | – |
Pinbelegung jeder Klemme steht auf dem Bestückungsdruck, Pin 1 ist mit ▽ markiert.
## 230-V-Teil
- Der Netzspannungsbereich (oben links) ist auf dem Bestückungsdruck umrandet, dort gibt es keine GND-Fläche.
- Abstand 230 V ↔ Kleinspannung auf der Platine **≥ 4 mm** (eigene DRC-Regel). Ausnahme ist das Relais selbst: Spule ↔ Kontakt ≈ 3,3 mm (SRD-Bauform, Basisisolierung).
Die Kleinspannungsseite ist damit **nicht berührsicher getrennt** → Platine nur in geschlossenem Gehäuse betreiben, vor dem Öffnen Netz trennen.
Über die Fühler (Thermoelement am Abgasrohr, DS18B20 an Rohren) liegt GND in der Praxis ohnehin auf Schutzleiterpotential.
- **Stromwandler T1:** Die Pumpen-Phase läuft als isolierte Drahtbrücke (H07V-K 1,5 mm², ca. 4 cm, vorgebogen) vom Pad links durch das Loch des ZMCT103C zum Pad rechts.
Ohne diese Brücke läuft die Pumpe nicht.
- Leiterbahnen 230 V: 2 mm breit, für die Pumpe (< 1 A) reichlich. F1 = Feinsicherung 5×20 träge (T2A, je nach Pumpe auch T1A).
- **Ausfallverhalten:** ESP aus/bootet → Relais aus (10k am Basiswiderstand). Die Pumpe läuft dann nur über den Thermostat an J4.
Deshalb den Thermostat (z.B. Anlegethermostat am Ofenvorlauf, ca. 60–70 °C, Schließer) unbedingt anschließen.
## Strommessung
ZMCT103C (1000:1) mit 100 Ω Bürde: 1 A Pumpenstrom = 100 mV eff. Die Bürde liegt auf 1,65 V (Teiler 2×10k), der ADS1115 misst differenziell A0-A1 (±256 mV → bis ca. 1,8 A).
ESPHome (`ct_clamp`) rechnet daraus den Strom und meldet zusätzlich:
- **Pumpe läuft** (Strom > 30 mA)
- **Pumpe läuft über Thermostat** (Strom, aber Relais aus)
- **Pumpe Störung** (Relais an, 20 s kein Strom → Sicherung, Pumpe oder Kabel)
Nach dem Aufbau einmal mit Zangenamperemeter oder Shelly vergleichen und ggf. den Faktor `multiply: 10.0` anpassen.
## Teile
`pcb/fab/ofensteuerung_bom.csv` enthält die Stückliste mit Fach aus deinem Inventar (`Parts_Inventory.xlsx`).
**Aus dem Inventar:** Widerstände 100/220/330/470/1k/2k2/4k7/10k (Schrank E), 100n (C-07-1), 10 µ (C-10-2), 470 µ (C-04-3), 1000 µ (C-05-3),
BC546B (B-01-4), 1N4007 (B-02-1), LEDs (B-07-5, B-08-5), Stift-/Buchsenleisten (A-07-2, A-06-5), Jumper (A-11-3), Sicherungshalter/-sicherung (B-12-2, B-11-2).
Relais: im Fach A-07-1 nachsehen, ob ein SRD-05VDC-SL-C (oder pinkompatibel: Songle SRD, HKE HRS4H, Ningbo …) dabei ist.
**Zukaufen:**
- Steckklemmen 5,08 mm, jeweils Stiftleiste abgewinkelt + Schraubstecker: **7× 3-polig, 2× 2-polig** (J2, J3, J4 sind 230 V: Phoenix MSTB 2,5 oder 2EDG mit 300 V Nennspannung)
- ZMCT103C Stromwandler (Einzelbauteil, nicht das Modul mit OPV)
- MAX6675-Modul + Thermoelement Typ K als Abgasfühler (Edelstahl-Hülse, bis ca. 600 °C)
- ADS1115-Modul (HW-ADS1115, Pinfolge VDD GND SCL SDA ADDR ALRT A0 A1 A2 A3 prüfen)
- Servo MG996R, 3× DS18B20 (wasserdicht), Wemos D1 mini
- 5-V-Netzteil ≥ 3 A (Hutschiene z.B. Mean Well HDR-30-5)
- Anlegethermostat mit Schließer
- ggf. Relais SRD-05VDC-SL-C, 2 Sicherungsclips 5×20 + T2A
Hinweise:
- MAX6675-Modul: Pinfolge GND VCC SCK CS SO ist die übliche (rote/blaue Platine). Vor dem Einlöten der Buchsenleiste am Modul prüfen.
- Wemos, ADS1115 und MAX6675 auf Buchsenleisten stecken. Der USB-Stecker des Wemos ist auf der Platine zugebaut: erstes Flashen vor dem Einstecken, danach OTA.
- D3/GPIO0 (Servo) und D8/GPIO15 (MAX CS, 10k nach GND) sind Boot-Pins und passend beschaltet.
## Firmware
`esphome/ofensteuerung.yaml` (geprüft mit `esphome config`): Relais, Strom, Abgas, 3× DS18B20, Luftklappe als Zahl 0–100 %, PWM-Pumpe.
MQTT unter `gunter/ofensteuerung/…`, Secrets wie bei der Umwälzpumpe. Die Servo-Endlagen (`min_level`/`max_level`) an die Klappe anpassen.
## Dateien neu erzeugen
Alles kommt aus `pcb/design.py` (Netzliste, Footprints, Positionen) und `pcb/sch_layout.py` (Schaltplan-Anordnung).
```
cd pcb
python3 gen_sch.py # Schaltplan + Projekt-Libs (kicad-cli sch erc ofensteuerung.kicad_sch)
python3 gen_pcb.py # platzierte Platine
python3 route.py 30 # Freerouting in 2 Stufen: erst 230 V, dann Kleinspannung (230-V-Bereich gesperrt)
kicad-cli pcb drc --schematic-parity ofensteuerung.kicad_pcb
python3 fab.py && ./docs.sh # Gerber-zip, Stückliste, PDFs, Bilder
```
Bestellen: `pcb/fab/ofensteuerung_gerber.zip` (2 Lagen, 1,6 mm, HASL, 100 × 100 mm).