Cyfrowy czujnik prądu/mocy INA219
Posted: 24 May 2017, 18:02 - Wed
INA219 jest miniaturowym, dwukierunkowym czujnikiem prądu i mocy. W postaci modułu GY-219 dostępnego na eBay może być doskonałym uzupełnieniem naszego zestawu pomiarowego. Układ ten można znaleźć między innymi w systemach komputerowych, zasilaczach czy inteligentnych ładowarkach. Jego działanie polega na pomiarze spadku napięcia na rezystorze bocznikującym oraz napięcia zasilającego bocznik. Te dwie wartości służą do wyznaczenia prądu oraz mocy pobieranej przez obciążenie. Jak większość naszych sensorów, INA219 współpracuje z interfejsem I2C (adres 0x40) i może być zasilany napięciem od 3 do 5V co pozwala użyć go bez dodatkowych konwerterów napięć z naszym Cubie. Koszt ok 2$. Maksymalne napięcie, które możemy przyłożyć do naszego bocznika to 26V. Oczywiście zakres pomiaru możemy regulować przez dobór wartości rezystora bocznikującego. W załączniku znajdziesz stosowną notę aplikacyjną.
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:
Ze strony pobieramy przykładowy kod i zapisujemy np jako: manual_gain_high_resolution.py:
Uruchamiamy kod:
Wynik porównujemy z naszym wskazaniem multimetru...
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
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