Spannungsmessung mit AD-Wandler am Raspberry Pi – verbessert mit I2C

Bisher hatte ich für meinen Roboter die Akku-Überwachung mittels MCP3008 realisiert. Aber irgendwie funktionierte dieser auf einmal nicht mehr – und lässt sich wegen SPI nicht groß auf dem Raspberry Pi debuggen. Also habe ich mir eine schöne neue Lösung mit I2C gesucht. Außerdem wurde das OLED komplett neu angesteuert und die Spannung überwacht.

Ich entschied mich für den ADS1115 auf einem Breakout-Board von Adafruit – inklusive fertiger Python-Bibliothek.

Meinen Sourcecode für eine einfache Spannungsmessung an einem 3S-Lipo-Akku findet ihr hier bei github.

Da die Z-Diode im vorigen Beitrag nicht so richtig das machte, was ich wollte (längere Geschichte), entschied ich mich nun für einen simplen Spannungsteiler. Hier der Entwurf:

Akkuüberwachung AD-Wandler ADS1015 Skizze
Akkuüberwachung AD-Wandler ADS1015 Skizze

Und hier noch mal „in ordentlich“:

Akkuüberwachung AD-Wandler ADS1015 Schaltplan
Akkuüberwachung AD-Wandler ADS1015 Schaltplan

In meinem Podcast Robotiklabor berichtet ich bereits, dass die Messungen anscheinend eine recht hohe Ungenauigkeit hatten. Details dazu könnt ihr also auch dort nachhören.

Fertig aufgebaut auf dem Roboter – mit dem OLED-Display – sieht man das ganze hier:

Akkuüberwachung AD-Wandler 1
Akkuüberwachung AD-Wandler 1
Akkuüberwachung AD-Wandler 2
Akkuüberwachung AD-Wandler 2

Ein erstes Test-Video zeigt das pixelgenaue „Befüllen“ eines eigenen Batterie-Symbols:

Und hier ist es dann so richtig in Betrieb – mit weiteren Anzeigen wie der IP-Adresse, der CPU-Temperatur, des Hostnamen etc.:

Hier findet ihr übrigens den vollständigen Sourcecode dazu.

 

[274 Aufrufe]

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.