Układ pomiarowy
Tym razem bez odpalenia naszego Dexter's Labolatory nie da rady... w celu dokonania pomiarów potrzebować będziemy:
- układu z INA219 (u mnie jest to moduł GY-219)
- zasilacza laboratoryjnego (albo dowolnego innego przystosowanego do naszego odbiornika
- Cubie z wyprowadzoną magistralą I2C (lub innego hardware, np. opisywanego w innym tutorialu konwerterze USB<->I2C).
- odbiornika prądu ( w naszym przykładzie będzie to COB LED ~1.5W)
- miernika uniwersalnego do pomiaru prądu - w celu potwierdzenia poprawności pomiaru INA219
- kabelki, breadboard.
Uruchomienie
W celu zaprezentowania działania modułu INA219 wykorzystamy przygotowany przez developerów Pythona moduł pi-ina219:
Code: Select all
root@ctdev:~/ina219# pip install pi-ina219
Downloading/unpacking pi-ina219
Downloading pi_ina219-1.1.0-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): Adafruit-GPIO in /usr/local/lib/python2.7/dist-packages (from pi-ina219)
Requirement already satisfied (use --upgrade to upgrade): mock in /usr/local/lib/python2.7/dist-packages (from pi-ina219)
Installing collected packages: pi-ina219
Successfully installed pi-ina219
Cleaning up...
root@ctdev:~/ina219#
Code: Select all
#!/usr/bin/env python
from ina219 import INA219
from ina219 import DeviceRangeError
SHUNT_OHMS = 0.1
MAX_EXPECTED_AMPS = 0.2
def read():
ina = INA219(SHUNT_OHMS, MAX_EXPECTED_AMPS)
ina.configure(ina.RANGE_16V, ina.GAIN_1_40MV)
print "Bus Voltage: %.3f V" % ina.voltage()
try:
print "Bus Current: %.3f mA" % ina.current()
print "Power: %.3f mW" % ina.power()
print "Shunt voltage: %.3f mV" % ina.shunt_voltage()
except DeviceRangeError as e:
print "Current overflow"
Code: Select all
root@ctdev:~/ina219# python manual_gain_high_resolution.py
Bus Voltage: 0.944 V
Bus Current: 127.798 mA
Power: 32.126 mW
Shunt voltage: 12.770 mV
root@ctdev:~/ina219#
I to by było na tyle... więcej informacji jak używać modułu pi-ina219 uzyskamy na stronie:
https://pypi.python.org/pypi/pi-ina219/1.1.0