Cyfrowy czujnik prądu/mocy INA219

Moderator: bbiernat

pancio
Administrator
Posts: 39
Joined: 18 September 2013, 23:02 - Wed

Cyfrowy czujnik prądu/mocy INA219

Postby pancio » 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ą.
gy-219.jpg
GY-219 (INA 219)
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.
INA219_uklad_pomiarowy.jpg
Układ pomiarowy
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# 
Ze strony pobieramy przykładowy kod i zapisujemy np jako: manual_gain_high_resolution.py:

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"
Uruchamiamy kod:

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# 
Wynik porównujemy z naszym wskazaniem multimetru...
ICA219_wyniki.jpg
Wyniki pomiaru
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
Attachments
ina219.pdf
Nota aplikacyjna INA219
(1.14 MiB) Downloaded 273 times

Who is online

Users browsing this forum: No registered users and 1 guest