https://github.com/octaprog7/ina_ti
Модуль MicroPython для управления INA219, INA226 - Двунаправленный монитор тока/мощности с интерфейсом I2C. MicroPython module for controlling INA219, INA226 - Bidirectional Current/Power Monitor with I2C interface.
https://github.com/octaprog7/ina_ti
current i2c monitor voltage
Last synced: about 1 year ago
JSON representation
Модуль MicroPython для управления INA219, INA226 - Двунаправленный монитор тока/мощности с интерфейсом I2C. MicroPython module for controlling INA219, INA226 - Bidirectional Current/Power Monitor with I2C interface.
- Host: GitHub
- URL: https://github.com/octaprog7/ina_ti
- Owner: octaprog7
- License: mit
- Created: 2022-10-22T18:08:51.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-10-10T09:43:53.000Z (over 1 year ago)
- Last Synced: 2025-01-14T15:19:42.663Z (over 1 year ago)
- Topics: current, i2c, monitor, voltage
- Language: Python
- Homepage:
- Size: 4.86 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Модуль MicroPython для управления INA219 - Двунаправленный монитор тока/мощности с интерфейсом I2C.
# Внимание
Если вы не знаете закон Ома, то это чтиво не для Вас!
# Описание
INA219 — это монитор тока и мощности с интерфейсом I2C. Устройство измеряет как падение напряжения на шунте, так и
напряжение питания на шине с программируемым временем преобразования и фильтрацией. Программируемое значение калибровки
в сочетании с внутренним умножителем позволяет напрямую считывать ток в амперах. Дополнительный умножитель вычисляет мощность в ваттах.
# Применения
* Серверы
* Телекоммуникационное оборудование
* Ноутбуки
* Управление питанием
* Зарядные устройства
* Сварочное оборудование
* Источники питания
* Испытательное оборудование
# Питание
Напряжение питания 3.3, 5.0 В (от 2.7 В до 5.5 В)!
## Адрес датчика
Диапазон адресов датчика: 0x40..0x4F.
# Шина I2C
Просто подключите контакты (VCC, GND, SDA, SCL) платы с INA219 к соответствующим контактам Arduino,
ESP или любой другой платы с прошивкой MicroPython! Правильно подключите нагрузку, ток которой должен пройти через шунт,
установленный на плате. Обычно это чип-резистор, сопротивлением 0.1 Ом. Подайте ток в нагрузку, при этом напряжение на шунте
не должно превысить 0.32 Вольта и шунт не должен перегреваться!
Подайте питание на плату!
# Загрузка ПО в плату
Загрузите прошивку micropython на плату NANO(ESP и т. д.), а затем файлы: main.py, ina_ti.py и папку sensor_pack_2 полностью!
Затем откройте main.py в своей IDE и запустите/выполните его.
# Режимы работы монитора тока и напряжения
## Ручной
На каждое измерение нужен вызов метода start_measurement(continuous = False, .. .
## Автоматический
Вызовом метода start_measurement, датчик переводится в режим автоматического выполнения измерений. start_measurement(continuous = True, .. .
## Параметры в методах
### def start_measurement(continuous: bool, enable_calibration: bool, enable_shunt_adc: bool, enable_bus_adc: bool):
* continuous - если Истина, то новое измерение запускается автоматически после завершения предидущего
* enable_calibration - если Истина, то происходит калибровка под заданное сопротивление шунта и ток в нагрузке
* enable_shunt_adc - включить измерение напряжения на токовом шунте
* enable_bus_adc - включить измерение напряжения на шине
Остальные параметры должны быть установлены до вызова start_measurement!
### def current_shunt_voltage_range(self) -> int:
Возвращает число от 0 до 3.
| raw voltage range | voltage range, мВ |
|-------------------|-------------------|
| 0 | ±40 |
| 1 | ±80 |
| 2 | ±160 |
| 3 | ±320 |
### def bus_adc_resolution(self) -> int:
Возвращает разрешение АЦП на шине в сыром виде, 0..15. То же самое для метода shunt_adc_resolution(self).
| raw | разрешение/кол-во отсчетов | Время преобразования |
|-----|----------------------------|----------------------|
| 0 | 9 | 84 мкс |
| 1 | 10 | 148 мкс |
| 2 | 11 | 276 мкс |
| 3 | 12 | 532 мкс |
| 8 | 12 | 532 мкс |
| 9 | 2* | 1.06 мс |
| 10 | 4* | 2.13 мс |
| 11 | 8* | 4.26 мс |
| 12 | 16* | 8.51 мс |
| 13 | 32* | 17.02 мс |
| 14 | 64* | 34.05 мс |
| 15 | 128* | 68.10 мс |
'*' - количество усредняемых отсчетов.
# Предупреждение для INA219
Никогда не подавайте на вывод Vin(+), Vin(-) напряжение больше 26 Вольт!
# Ветка experimental
Файл ina_ty.py содержит два класса. Это INA219 и INA226.
# Плата с INA219

# Плата с INA226

# Среда разработки (IDE)
## IDE

