Практическое использование микросхемы INA219

Автор: davids58. Опубліковано в Пристрої живлення

WAV 4.0

Блок питания с применением INA219
- три StepDown DC-DC преобразователя;
- управляющий микроконтроллер ATMEGA328 (Arduino);
- индикация на дисплее от телефона Nokia 3510 или 5110.

 
 

В радиолюбительской практике часто используемые напряжения имеют номиналы в 5 и 12 В  реже 3.3 и 15 В с небольшими токами потребления, что натолкнуло на идею создания  данного устройства. Фактически это три StepDown DC-DC преобразователя, один из которых имеет вынесенные на переднюю панель потенциометры для плавной регулировки напряжения и ограничения тока. Один из преобразователей настроен на 5В, другой на 12В а третий – регулируемый. Каждый преобразователь имеет на дисплее от Нокии 3310 свое место для отображения параметров (напряжение, ток, мощность). На вход DC-DC подается напряжение от любого (15…26В, например от ноутбука) стандартного блока питания или, как у меня от 4-х последовательно соединенных батарей 18650 (можно использовать любое количество совместно со StepUp DC-DC преобразователем). Идея такова, что данное устройство, имея небольшие размеры, располагается непосредственно возле настраиваемого проекта и имеет минимальное количество и длину проводов через весь стол. И практика это подтвердила. Бесспорным удобством есть то, что нет необходимости "крутить головой" для контроля параметров при настройке проекта.

Конечные параметры устройства будут завесить от применяемых DC-DC преобразователей, главное не выходить за пределы возможностей микросхемы: напряжение не более 26В  и ток при шунте 0.1 Ом - не более 3А. Хотя, меняя шунт и настройки микросхемы или меняя программное обеспечение, ток может быть большим или меньшим.

В моем варианте использованы китайские 3-х амперные StepDown DC-DC преобразователи с ограничением тока (5-ти и 12-ти вольтовые имеют стандартные настройки "под шлиц",  а у третьего потенциометры на передней панели)

INA219B – микросхема для измерения потребляемого тока, напряжения и мощности с высокой точностью. Выходной интерфейс - шина I2C.

Измерительный шунт устанавливается  в разрыв «+» питания, а не «-», и в таком случае не возникает нежелательный сдвиг потенциалов между «землей» нескольких устройств, объединенных в общую схему.

I2C адрес микросхемы INA219 можно изменить запайкой перемычек А0 и А1. Возможно четыре различных комбинации установки адресных перемычек. Для увеличения точности измерений предусмотрен регистр калибровки. Напряжение в микросхеме измеряет аналого-цифровой преобразователь (АЦП) и может работать в 9-ти, 10-ти, 11-ти, 12-ти битных режимах. Настраивается режим работы микросхемы изменением регистра конфигурации.

Характеристики INA219

  • Напряжение питания: от 3.0 до 5.5 В;
  • Разрядность АЦП: 12 бит;
  • Выходной интерфейс: I2C;
  • Скорость интерфейса: 3.4 МГц;
  • Диапазон измеряемых напряжений: от 0 до 26 В;
  • Максимальный измеряемый ток: от -3.2 A до 3.2 A;
  • Дискретность при измерении тока: 0.8 мА;
  • Точность измерений по току и напряжению: 1 %;
  • Диапазон рабочих температур: от -40 до +125 °C;
  • Дрейф в рабочем температурном диапазоне: 100 мкВ;
  • Калибровка: калибровочный регистр;
  • Внутренние данные: измеренный ток и мощность;
  • Фильтрация: х128 отсчетов.

Система установки I2C адреса на INA219

Если используется более одной микросхемы INA219, то каждой должен быть присвоен уникальный адрес. Это делается с помощью адресных перемычек. Базовый адрес I2C равен 0x40. Бинарный адрес, который вы программируете с помощью перемычек адресов, добавляется к базовому адресу I2C.

A1 A0 Адрес (bin) Адрес (hex)
GND GND 1000000 0x40
GND VS+ 1000001 0x41
GND SDA 1000010 0x42
GND SCL 1000011 0x43
VS+ GND 1000100 0x44
VS+ VS+ 1000101 0x45
VS+ SDA 1000110 0x46
VS+ SCL 1000111 0x47
SDA GND 1001000 0x48
SDA VS+ 1001001 0x49
SDA SDA 1001010 0x4A
SDA SCL 1001011 0x4B
SCL GND 1001100 0x4C
SCL VS+ 1001101 0x4D
SCL SDA 1001110 0x4E
SCL SCL 1001111 0x4F

Описание регистров INA219

INA219 использует 5 регистров для хранения настроек конфигураций, результатов измерений, максимальных/минимальных пределов и информации о состоянии. В таблице ниже представлены регистры INA219.

Содержимое регистра обновляется 4 мкс после завершения команды записи. Следовательно, требуется задержка в 4 мкс между завершением записи в заданный регистр и последующим считыванием этого регистра (без изменения указателя) при использовании частот SCL, превышающих 1 МГц.

Адрес Имя регистра Функция Сброс Тип
Hex Hex
0x00 Конфигурации Сброс всех регистров, настройка диапазона напряжения шины, усиление PGA, разрешение / усреднение АЦП. 0x399F R/W
0x01 Напряжение шунта Данные измерения напряжения шунта. R
0x02 Напряжение шины Данные измерения напряжения шины. R
0x03 Мощность Данные измерения мощности. 0x0000 R
0x04 Ток Содержит значение тока, протекающего через шунтирующий резистор. 0x0000 R
0x05 Калибровка Калибровочный регистр. Полная калибровка системы. 0x0000 R/W

Схема устройства довольно простая и особых пояснений не требует.

INA219 328f11

Измерительная часть построена на базе платы Atmega 328 Pro mini и дисплея от Нокии 3310(5510).

Отдельного внимания требует программная часть проекта, поскольку я не программист и использовал стандартные библиотеки и процедуры, так, что тут прошу не "пинать" сильно. Данный скетч может быть модернизирован под конкретные нужды. Возможно добавление измерения входного напряжения и тока, различного рода защит, отсечек, меню…

В моем варианте экран выглядят так.

dispiay

Если обратиться к нашему уважаемому Soir, и его заинтересует данный проект, то вместо Atmega 328 все программное обеспечение можно поместить в Atmega 8.

Конструктивно устройство выполнено в стиле а-ля China DIY корпусе из оргстекла на стойках и распаяно на макетной плате проводами МГТФ. На одной боковой панели расположены разъёмы:

- две клеммы для регулируемого источника,

- стандартный разъем 5мм для 12В;

- два разъёма  USB для 5В

На противоположной  боковой панели разъем 5мм для входного напряжения.

Во вложении два скетча под разные дисплеи. Плата "Промини" 5В, 16МГц. Особенность в том, что в библиотеке изменены шрифты, поэтому стандартные библиотеки нужно временно убирать с их родного места, а вместо них - те, что в  архиве. Сборка IDE 1.8.9. Если прошивать голый камень (а я именно так и делал, хотя отладку делал не промини), то можно использовать USB ASP программатор, и при прошивке из под IDE, ставить опцию "загрузить с помощью программатора".

Во втором скетче для Нокии 3510 (PCF8812) с разрешением 96х65 (кстати работает и на дисплее от Нокии1100)  добавлен вольтметр для измерения напряжения на входе устройства до 30 Вольт с помощью аналогового пина.

Больше особенностей нет, - все стандартно.

В заключении необходимо сказать, что INA219 не единственная в своем роде их есть целое семейство, в том числе напряжение 36В, и есть варианты многоканальные. 

Нужно быть внимательным при использовании микросхем из Китая, - мне пришли микросхемы с зеркальной  распиновкой, по сравнению с датшитом, но они, к счастью,  выдержали неправильную распайку.

Скетч для Nokia 5110.

Скетч для Nokia 3510.

Схема в формате spl.