In diesem kleinen Projekt wollen wir einen INA219 Sensor verwenden, um primär die Spannung einer Stromquelle zu messen. Das INA219 Modul ist zudem auch in der Lage über einen Messshunt die Stromstärke eines Verbrauchers zu messen. Der INA219 ist dann in Reihe vor die Last zu platzieren (also Vin+ Spannungseingang der Stromversorgung und Vin- geht auf den Plus-Anschluss der Last (Lampe, Motor etc). Vom Minus Pol der Last geht es dann auf den Minus Pol der Spannungsquelle und gleichzeitig auf GND vom Raspberry Pi Pico. Es ist jedoch auf die maximal zulässige Stromstärke zu achten, die man im Datenblatt seines INA219 Moduls erfahren kann. Wird die zulässige Stromstärke durch eine Last überschritten, wird entsprechend der Shuntwiderstand vom INA219 Modul zerstört.
ACHTUNG VIN+ und VIN- am INA219 bedeutet NICHT, dass hier + und – einer Spannungsquelle angeschlossen werden. Dies würde einem Kurzschluss gleich kommen und kann sehr gefährlich werden! Am VIN+ kommt die Plus-Leitung der Spannungsversorgung z.B. externe Batterie oder andere Spannungsversorgung. Am VIN- (Ausgang) geht eine Leitung weiter an den Plus-Anschluss eines Verbrauchers z.B. Lampe, Motor und von dort von der Minus-Leitung auf den Minus-Pol der Stromquelle wie bereits im oberen Absatz beschrieben.
Möchte man nur die Spannung messen und keine Stromstärke (in A) wird einfach nur der Plus-Pol der Spannungsversorung z.B. Batterie angeschlossen. GND der Spannungsquelle kommt an GND vom Raspberry Pi Pico bzw. GND am INA219 Modul (gemeinsamer Massepunkt für alle!).
Ziel meines kleinen Projektes ist es, die Spannung einer selber gebauten 100Ah LiPoFe4 PowerBox zu überwachen. Anhand der Spannung der LiPoFe4 Batterie kann man Rückschlüsse ziehen, wie viel % Ladung noch vorhanden ist. Bei unter 30 % möchte ich eine Alarmierung z.B. in Form einer E-Mail erhalten, dass der Akku geladen werden muss. Es sind so auch spielend andere Szenarien möglich, wie unter 30 % soll mittels einer Shelly Steckdose über das Netzwerk ein Ladegerät aktiviert werden und der Akku aufgeladen werden oder wenn die PV-Anlage genügend Leistung erzeugt soll auch der Shelly aktiviert werden und das Netzteil den Akku laden. Die Möglichkeiten sind phänomenal.
Brechen wir das Projekt nun einmal runter auf nur ein INA219 Modul mit einem Raspberry Pi Pico und konzentrieren wir uns rein auf die Spannungsmessung.
Mein gesamtes GitHub Projekt mit Code-Beispiel findest du unter https://github.com/marcokister/ina219/
#https://github.com/marcokister/ina219/
from machine import I2C, Pin
from ina219 import INA219
from time import sleep
import utime
# I2C Initialization (SDA: GP0, SCL: GP1)
i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=400000)
# I2C-Scan - searching for connected Devices on the I2C Bus
devices = i2c.scan()
if devices:
print("I2C devices found:", [hex(device) for device in devices])
else:
print("No I2C devices found. Check connections!")
while True:
pass
# INA219-Sensor Initialization
ina = INA219(i2c)
ina.set_calibration_32V_1A()
# main loop
while True:
try:
current = ina.current
voltage = ina.bus_voltage
if current <= 0.05:
current = 0
if voltage <= 0.05:
voltage = 0
print("{:.2f} mA {:.2f} V".format(current, voltage))
utime.sleep_ms(250)
except Exception as e:
print("Error reading INA219:", e)
sleep(1)
Achtung: Die Arbeit mit Elektronik birgt inhärente Risiken. Du musst sicherstellen, dass du über das nötige Wissen, die erforderlichen Fähigkeiten und Vorsichtsmaßnahmen verfügst, bevor du Änderungen vornimmst oder Experimente durchführst. Der Projektinhaber und die Mitwirkenden übernehmen keine Verantwortung für Schäden, Verletzungen oder Verluste, die durch die Nutzung oder den Missbrauch dieses Projekts entstehen. Übe stets Vorsicht und folge den Sicherheitsrichtlinien beim Arbeiten mit elektronischen Komponenten.
Warning: Working with electronics involves inherent risks. You must ensure that you have the proper knowledge, skills, and precautions before attempting any modifications or experiments. The project owner and contributors assume no responsibility for any damage, injury, or loss resulting from the use or misuse of this project. Always exercise caution and follow safety guidelines when working with electronic components.