Moin Leute,
so, nach dem letzten Posting mit dem erweiterten Schaltplan / Layout kommt hier nun die Umsetzung. Zunächst müssen, wie schon geschrieben, die I2C-Adressen der einzelnen Chips festgelegt werden.
Die Uhr (DS3231) liegt fest bei 0x68 und der Temperatursensor (LM75) bei 0x48.
Die zwei Spannungs-, Stromsensoren (INA219) habe ich auf 0x40 und 0x41 adressiert. Der Auslieferzustand ist immer die Adresse 0x40. Um einem der Sensoren eine alternative Adresse zu verpassen, müssen die beiden Jumperpads bei A0 (bitte kleines Bild betrachten) mit einer Lötperle verbunden werden. Das ergibt dann 0x41. Möglich wäre auch noch 0x44 (Lötperle auf A1) oder 0x45 (Lötperlen auf A0 und A1).

- INA219_01.jpg (122.25 KiB) 18080-mal betrachtet
Der AD-Wandler bietet eine komfortablere Lösung durch ein herausgeführten Adresspin. Diesen mit GND verbunden ergibt 0x48 - da liegt schon der Temperatursensor; verbunden mit VDD (5 V) ergibt die Adresse 0x49, und die ist noch frei.
Echtzeituhr RTC DS3231 0x68
TemperaturfühlerLM75 0x48
UI-Sensor Nr.1 INA219 0x40
UI-Sensor Nr.2 INA219 0x41
AD-Wandler ADS105 0x49
Es macht in jedem Fall Sinn sich über die Datenblätter zunächst einen Überblick über die möglichen alternativen Adressen aller einzusetzender Chips zu verschaffen, bevor man aufwändig irgendwelche Lötstellen wieder aufkratzen muss.
An den beiden UI-Senoren habe ich noch eine weitere Variation vorgenommen. zum einen habe ich die Steckerleisten auf 90° gebogen, um die Sensoren stehend montieren zu können. Da die Sensoren nun aufrecht nebeneinander stehen, war es nötig bei einem die Anschlußklemme von hinten anzulöten.
Wie nun alles zusammen mit der Leistungselektronik auf der Lochrasterplatine aussieht zeigt das große Bild:
Ganz links liegt der Raspberry Pi. Oben ist der kleine schwarze USB-Stecker der Spannungsversorgung sowie der goldene HMDI-Stecker für den Bildschirm zu erkennen. Am unteren USB-Hub stecken Maus und Tastatur. Die fünf einzelnen leitungen zwischen Raspberry und Platine sind schwarz (GND), rot (3,3 V), gelb (5 V), lila (I2C-SDA) und grün (I2C-SCL).
Direkt daneben eine gelbe Kontroll-LED für die 5 V und eine rote Kontroll-LED für die 3,3 V entsprechend der Kabelfarben.
Der Temperatursensor hängt mit seinen zunächst 4 Leitungen. Die fünfte für die Ansteuerung der zweiten roten LED fehlt noch. Dann kommen die beiden stehenden UI-Sensoren und daneben der AD-Wandler mit der Brücke zwischen ADDR und VDD. Ganz rechts die I-Sensoren (ACS714 für +/- 5A. Diese werden direkt an einen der Eingänge des AD-Wandler angeschlossen.

- Leiterplatte-komplett_01.jpg (434.54 KiB) 18080-mal betrachtet
Mit der Leistungselektronik im oberen Teil der Platine gibt es noch keine Verbindung, denn erstmal muss die Sensorik funktionieren und programmiert werden.
Soweit funktioniert alles schon. Am Screenshot kann man die Adressen erkennen. Alle Sensoren werden somit erkannt und die Schaltung funktioniert soweit. Jetzt muss ein Pyhtonprogramm her welches die Sensordaten ausliest, so das wir auch an die Strom- und Spannungswerte herankommen...

- screenshot_01.png (9.06 KiB) 18080-mal betrachtet
Windige Grüße
Siegfried