Temperatur/Feuchte, Öltankpegel, Heizkessel, Wasseruhr und Steuerung Hauptventil Gartenbewäaserung

Idee

Auf der Basis zunächst eines Arduino Ethernet, später der IOT-Basisstation, dann einem Pololu A*Star, und schliesslich (wieder) einem eigenen PCB auf Atmega1284-Basis werden minütlich Daten aus unserem Viessmann Heizkessel, von verschiedenen Wasserzählern, Temperatur- und Feuchtesensoren sowie der Öltankpegel erfasst und in eine Datenbank übertragen. Zudem wird das Hauptventil der Gartenbewässerung angesteuert.

Hauptventil

Hunter PGV-100/101 24V-AC-Ventil

Steuerung

Siehe t5_haus

Neuaufbau can_heiztemp1284_v01_mod

DHT22, HC-SR04

Teil des T5 Hausbussystems. Daten, Kommandos und Firmware (t5_haus02) werden über CAN-Bus übertragen. Schaltplan und PCB-Layout (letzteres mit manuellen Korrekturen um HGND von VNEG am DRV8833 zu trennen):

// External connections:
//    C1:   VA  VA  VB  VB    Main valve
//    C2:   TXD RXD GND +5V   Optolink, was: J2
//    C3:   WQ  GND GND HL    Warm water resp. garden water gauge, was: J13
//    C4:   EHO TRG GND +5V   Oiltank, was: J6
//    C5:   B3  A0  GND +5V   S1 - , was: J8, cable "Heizraum"
//    C6:   A2  A1  GND +5V   -  S4, was: J4, cable "Hobbyraum"
//    C7:   A3  A5  GND +5V   -  A5, DS18B20 one wire bus, requires 10k to +5V.
//    C8:   A4  C7  GND +5V   S7 S6, was: J10, cable "Dachboden" part A
//    C9:   C6  C5  GND +5V   S8 S9, was: J11, cable "Dachboden" part B
//    C10:      C4  GND +5V   -  -
//    C11:  CL1 CH1 CL2 CH2   CAN
//    C12:  CL1 CH1 CL2 CH2   CAN
//
// Cable from t5_valves (6x2), to t5_garage (4x2):
//    CL1:  RED/1a
//    CH1:  BLU/1b
//    CL2:  WHT/2a
//    CH2:  YLW/2b
//    G15V: WHT/3a, GRN/3b
//    +15V: WHT/4a, BRN/4b
//    G9V:  WHT/5a, BLK/5b (only from t5_valves)
//    +9V:  WHT/6a, BLU/6b (only from t5_valves)

Design und Implementierung

Verkabelungsskizze FIXME TODO

Status

Pin # Eagle Jumper Id ATmega1284P QFN Pin Id Func Arduino Id Arduino Analog Id Use
P0 JP3.8 9 PD0 RXD0 D8 Optolink
P1 JP3.7 10 PD1 TXD0 D9 Optolink
P2 JP3.6 11 PD2 RXD1 D10 Garage
P3 JP3.5 12 PD3 TXD1 D11 Garage
P4 JP3.4 13 PD4 D12 S3
P5 JP3.3 14 PD5 D13 S4
P6 JP3.2 15 PD6 ICP D14 ECHO
P7 JP3.1 16 PD7 D15 TRIGGER
P8 JP4.8 34 PA3 D27 A3 S1
P9 JP4.7 33 PA4 D28 A4 S6
P10 JP4.6 32 PA5 D29 A5 S7
P11 JP4.5 31 PA6 D30 A6 S8
P12 JP4.4 30 PA7 D31 A7 S9
P13 JP4.3 29 AREF
P14 JP4.2 20 PC1 SDA D17 LCD
P15 JP4.1 19 PC0 SCL D16 LCD
GRN 37 PA0 D24 A0 HL
Jumper Pin 0 Pin 1 Pin 2 Pin 3
JV Versorgung 3V3 (orange) 5V (rot) GND (braun) RST (schwarz)
J0 Programmierung P0 P1 GND 100nF → RST
J1 Optolink P1 P0 GND 3V3
J2 Garage P2 (gelb!) P3 (weiss!) GND 5V
J4 DHT Flur P4 (N/C, gelb) P5 (S4, weiss) GND 3V3
J6 Öltank P6 (ECHO) P7 (TRIGGER) GND 5V
J8 Heizraum P8 (S1) N/A GND 3V3
J10 Dachboden1 P10 (S7) P9 (S6) GND 3V3
J11 Dachboden2 P11 (S8) P12 (S9) GND 3V3
J14 LCD P14 (SDA) P15 (SCL) GND 5V

Neuaufbau mit Pololu A* (Atmega328PB, 5V, 16MHz), MCP2515/TJA1050 an SPI1, CD4067 an ICP1 zur Abfrage von HC-SR04 und DHT22, und DRV8833 zur Ansteuerung des Garten-Hauptventils

Alter Jumper

Jumper Pin 0 Pin 1 Pin 2 Pin 3
J0 Programmierung D0 (RXD0) D1 (TXD0) GND 100nF → RST
J1 Seriell D1 (TXD0) D0 (RXD0) GND 5VB
J2 Optolink D11 (TXD1) D12 (RXD1) GND 5V
J4 DHT Hobbyraum/Flur N/A S4 (weiss) GND 5VB
J6 Öltank ECHO TRIGGER GND 5V
J8 Heizraum S1 N/A GND 5VB
J10 Dachboden1 S7 S6 GND 5VB
J11 Dachboden2 S8 S9 GND 5VB
J13 Wasseruhr GRN BLU GND
J14 LCD D22 (SDA1) D23 (SCL1) GND 5V