Schaltpläne und Layouts

­für Knoten Basis, Taster, Zentrale und Verbindung zum RASPI

Zur Software

Alle Schaltungen wurden nach bestem Wissen und Gewissen erstellt und funktionieren bei mir in der Praxis. Ich übernehme jedoch keinerlei Gewährleistung für Richtigkeit oder Funktion (Funktion ist ja zusätzlich weitgehend von der jeweiligen Software abhängig. Ich schließe weiterhin auch jegliche Haftung für Schäden aus. Die Lötarbeiten insbesondere bei den SMDs erfordern einen gewiße Erfahrung, wie auch das ganze Projekt ausdrücklich nicht für Anfänger gedacht ist. Teile des Projekts befassen sich mit Starkstrom, d.h. 240V Leitungen. ! An denen darf nur ein Fachmann arbeiten !.

Die Platinen habe ich bei JLCPCB fertigen lassen, günstig, schnell und gut.

Basis Knoten

Die Basis Knoten Platine ist rund und passt in eine 55er Unterputzdose, kann aber auch als Basis für einen beliebigen CAN Knoten verwendet werden.

Sie enthält den Bus Anschluss, den 12V > 5V DC-DC Wandler, Block Kondensatoren, den CAN-Bus Treiber MCP2551, den CAN-Bus Controller MCP2515 mit Takterzeugung etc. und natürlich den Sockel für den Arduino NANO. Der Sockel für den Arduino besteht aus "Stackable Long Legs Buchsenleisten"  Somit kann dieser Basisknoten leicht erweitert werden. Hier durch die Taster Platine. Aber auch andere Funktionen sind denkbar/geplant wie Bewegungsmelder (PIR), Dimmsteuerung für Lampen, LEDs, etc.

Material neben der Platine (von JLCPCB):

Arduino NANO V3 z.B. von Banggood
Busanschluss Stecker von Reichelt PSS 254/10G
CAN Controller z.B. Reichelt MCP 2515-I/SO SO-10
CAN Bus Controller z.B. Reichelt MCP 2551-I/SN SO-8
Quarz 8MHz, 2x 22pF eBay
DC-DC Wandler Banggood DC-DC 5V 3A Power Supply Module Buck Step Down Regulator Module 5V fix
Blockkondensatoren 1x100nF, 1x10µF von z.B. Reichelt
2x10kOhm SMD
1x120Ohm SMD (Busabschluss optional) 

Download der Knoten Basis Rev. 1.0 kicad Archiv

Anmerkungen zur Schaltung

Belegung Busanschluss: 

Pin  1 CAN L
Pin  2 CAN H
Pin  3 CAN L return
Pin  4 CAN H return
Pin  5 +12V
Pin  6 GND
Pin  7 alternative Stromversorgung Plus
Pin  8 alternative Stromversorgung Minus (GND)
Pin  9 frei
Pin 10 Schirm optional

Über Pin 3 und Pin 4 wird der Bus weitergeführt. Im Falle einer Sternstruktur (wie bei mir) kann über eine Rückleitung der Bus zur Zentrale zurück geführt werden und von dort weiter zum nächsten Knoten.
Neben der normalen 12V (bis 24V kann der DC-DC ab) Versorgungsleitung PIn 5 12V und Pin 6 GND steht zur Querschnitterweiterung für größere Stromstärken ein zweites Paar über Pin 7 12V A und Pin 8 GND A zur Verfügung welche JP 1 und JP4 zugeschaltet werden können.
JP3 Schaltet den optionalen 120Ohm Busabschluss zu.
Mit JP5 kann alternativ der DC-DC Wandler umgangen werden und die Versorgungsspannung an den VIN Pin der Arduino NANO gelegt werden, der Längsregler am Arduino versorgt dann auch den Rest der Schaltung. Hierbei ist zu beachten, dass a) ein Längsregler energietechnisch nicht sehr effektiv ist und b) der Längsregler auf dem Arduino Nano nur eine beschränkte Leistung hat, ca. 500 mA und c) da der Regler auch relativ warm wird, was insbesondere in den Unterputzdose zu Problemen führen kann.
JP2 dient zur Beschaltung des Rs Pins des CAN Bustreibers. Dies beeinflusst zusammen mit R1 die Flankensteilheit des CAN Signals (laut Datenblatt "Pin 8 (Rs) allows three different modes of operation to be selected: High-speed, Slope control and Standby.
For high-speed operation, the transmitter output transistors are simply switched on and off as fast as possible. In this mode, no measures are taken to limit the rise and fall slopes. A shielded cable is recommended to avoid RFI problems. High-speed mode is selected by connecting pin 8 to ground.
Slope control mode allows the use of an unshielded twisted pair or a parallel pair of wires as bus lines. To reduce RFI, the rise and fall slopes should be limited. The rise and fall slopes can be programmed with a resistor connected from pin 8 to ground. The slope is proportional to the current output at pin 8.

If a HIGH level is applied to pin 8, the circuit enters a low-current Standby mode. In this mode, the transmitter is switched off and the receiver is switched to a low current. If dominant bits are detected (differential bus voltage >0.9 V), RXD will be switched to a LOW level. The microcontroller should react to this condition by switching the transceiver back to normal operation (via pin 8). Because the receiver is slower in Standby mode, the first message will be lost at higher bit rates."

Ich habe die high-speed Version im Einsatz und daher statt R1 eine Lötbrücke und JP2 auf GND geschlossen.

Taster Platine

Die Tasterknoten Platine wird Huckepack auf die Basisplatine gesteckt. Diese Steckverbindung enthält alle Arduino NANO Pins.
Auf Ihr können Wahlweise 4 Taster im Rechteck oder 1 Taster in der Mitte angebracht werden Weiter sind Anschlüsse für 4 zweifarbige LEDs (3 Pin) (wahlweise 1 farbige LEDs) vorhanden. Diese sind an den PWM bzw. Analog Ports des Arduino und somit dimmbar. Die nötigen Widerstände sind 220Ω SMDs. Die 4 Taster schalten typisch nach Masse und verwenden die internen Pullups der Arduino, per Lötjumper konfigurierbar sind aber auch nach Plus schaltende Taster möglich. Auch die dann nötigen Pulldowns sind als SMDs vorgesehen. Wenn die Taster nach Masse schalten sollen müssen J2,J4,J6 und J8 geschlossen werden.
Zusätzlich gibt es eine I2C Schnittstelle für ein Display etc. Ebenso ist noch ein Anschluss für einen DHT 22 Temperatur- und Luftfeuchtigkeitssensor und ein Anschluss für einen Alternativen DS18B20 bzw. ander 1-Wire Bausteinen vorhanden. Der DHT 22  Anschluss kann alternativ für einen Bewegungsmelder PIR dienen.

Die Versorgungsspannung erhält die Platine von der Basisplatine.

Von der Größe her ist sie minimal größer als eine Unterputzdose außen und hat 4 Löcher zur Befestigung an der Unterputzdose.

Material neben der Platine von JLCPCB:
Taster standard 12mm + passende Kappen eBay etc. Anzahl je nach Bedarf
LEDs 3mm 1 oder 2 farbig (gemeinsame Kathode) Reichelt Anzahl je nach Bedarf 2 farbig
Widerstand 220 Ohm SMD bzw. passend zu LED Reichelt Anzahl je nach Bedarf
Widerstand 10 kOhm SMD falls Taster mit aktiv HIGH optional Anzahl je nach Bedarf
Buchsenleiste 2 x 15 Pin, (notfalls zusammensetzen, Achtung wenn man sie zusammensetzen muss muss jeweils eine etwas abgeschliffen werden, leider habe ich bis jetzt keine 15er Leisten gefunden)
Stecker für Display etc. optional
DHT 11/22 optional, alternativ DS18B20 bzw. anderes 1-Wire Teil optional, alternativ PIR optional

Download von Knoten Taster Rev. 1.0 kicad Archiv

Druckvorlage für Taster Abdeckung

Die Druckvorlage für die Abeckung der 4er Tasterplatine mit LEDs wurde mit FreeCAD version 0.18 erstellt und mit Cura in eine .stl Datei exportiert. Ich stelle hier die FreeCAD Datei zur Verfügung somit können Anpassungen gemacht werden. Ebenso kann dann jeder die Umsetzung zum Druck  an sein Bedürfnisse anpassen. Eine Version mit Taster in der Mitte folgt bei Gelegenheit.

Download der FreeCAD Datei für Abdeckung mit 4 Tastern
Download der FreeCAD Datei für Abdeckung mit einem Taster in der Mitte und einer LED

 

Anmerkungen zur Schaltung

Die Lötjumper J2, J4, J6, J8 werden geschlossen wenn mit aktiv LOW geschaltet wird, der Normalfall. Dann werden die Arduino internen PullUps genutzt.
Dei Lötjumper J1, J3, J5, J7 sind für aktiv HIGH, dann werden zusätzlich die SMD Widerstände R1, R2, R3, R4 benötigt.
R5, R6, R7, R8 sind der Vorwiderstand für die gemeinsame Kathode der LEDs.
U1 ist der optionale DHT11 / DHT22 alternativ zu U1 einen DS18B20 U2 oder anderem 1 Wire Teil.
SW5 ist der alternative Taster falls nur 1 Taster in der Mitte bestückt wird und liegt parallel zu SW2
J1 bildet den I2C Anschluss für Display etc.

Zentrale

Zentrale Rev. 1.0 kicad Archiv

Anmerkungen. Um den RASPI mit 5V mit zu versorgen muss noch eine Leitung von +5V auf Pin 8 des RASPI Steckers gelegt werden. Auch die GND Leitung sollte verstärkt werden. Ebenfalls ist ein 120 Ohm Widerstand am Anfang des CAN-Busses auf der linken Seite nötig (fehlt im Layout). Die Pegelwandler Anschlüsse für den RASPI sind in falscher Reihenfolge, das ist jedoch kein Problem, wenn man die Pins der Pegelwandler an der Oberseite montiert und diese somit auf dem Kopf stehend einbaut.

Alle Bauteile (ausser SMDs sind bei mir gesockelt, was ich generell empfehle. Auslöten ist im Fehlerfall schwierig und führt oft zur Zerstörung der Platine. Außerdem kann es bei Protoypen, project in progress, und Bastlerprojekten auch schnell mal zu einem Fehler kommen, der ein Bauteil zerstört, dann ist ein Sockel ideal.

Ein neue verbesserte Version mit den entsprechenden Änderungen stelle ich bei Gelegenheit ein. Auch überlege ich auf der Zentrale die CAN Bausteine statt in SMD in DIL Ausführung zu machen. Platz wäre genug.

RASPI Verbindung

Teilschaltplan mit der Verbindung zum RASPi

Raspi Anschluss Rev. 1.0 kicad Archiv

Aktuelle Installation

Hier noch Bilder der aktuellen Installation. Ein Unterverteiler hat die Zentrale mit RASPI, Display und Netzteil ein weitere Unterverteiler die Relaismodule.

Wenn alles dran ist müssen die Kabel in der Zentrale noch sauber verlegt werden :-)