Jump to content
admin

Вольт-Амперметр на INA233 и Arduino как монитор для лабораторного БП

Recommended Posts

Схема для измерение параметров тока/напряжения/мощности/энергии однополярных источников питания. Реализация обмена данными по протоколу PMBus и вывод на OLED дисплей SSD1309 128x64 точки.

Ссылка на статью: //cxem.net/izmer/izmer195.php

Автор статьи: //cxem.net/profile/16592/

Share this post


Link to post
Share on other sites
Guest Karl-Ieronim

Вопросы автору:

1. Можете ли корректировать код так, чтобы можно было использовать вот этот INA226 II I2C модуль измерения тока?

2. Дисплей вот такой: OLED 128X64 I2C. 

Или подсказать(для особо одаренных) как это сделать. 

Спасибо. 

 

Share this post


Link to post
Share on other sites

У вас ссылки не вставились, посмотреть не могу.

Я, в свое время, брал такую INA226

Резистор шунта выбирается под требуемый ток. У меня 3,2А мах и резистор для этого 25мОм.

Чтобы много не переделывать экран лучше с SPI интерфейсом OLED 0,96"

По коду напишу чуть позже.

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Новинки и уникальные решения Molex. На что обратить внимание и почему»

7 апреля приглашаем на вебинар, который будет интересен разработчикам и инженерам-схемотехникам, интересующимся тенденциями рынка, новыми перспективными решениями для соединений «провод-провод», «провод-плата», «плата-плата». Для инженеров КИПиА и IT будут освещены уникальные решения Molex для «удлинения» интерфейсов HDMI, DisplayPort и USB даже в условиях сильного зашумления, а также семейство бесконтактных датчиков Contrinex. Помимо этого, будет уделено внимание дальнейшему развитию направления антенн, где Molex имеет ряд интересных и уникальных решений

Подробнее

Вот, даже лучше нашел на 1,3" 128X64 OLED IIC I2C SPI Color: 1.3 7Pin White

7-ми пиновое подключение как у меня, контроллер SSD1306.

Изменение кода для инициализации дисплея на контроллере SSD1306:

//U8G2_SSD1309_128X64_NONAME0_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Инициализация библиотеки для SSD1309
U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); // Инициализация библиотеки для SSD1306

Ранее работала первая строчка кода теперь ее надо закомментировать, поставив два слеша, и дописать следующую строчку уже для SSD1306.

Вот здесь есть перечень контроллеров, которые поддерживает библиотека u8g2

Share this post


Link to post
Share on other sites
Guest Karl-Ieronim

Ооо! Спасибо. 

А про датчик 226 - на Али все ссылки одинаковые, так что Ваша вполне годная. 

Share this post


Link to post
Share on other sites
                     

Измеряем мощность в режиме реального времени с помощью ИС регистратора потребляемой мощности

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

Подробнее

2 часа назад, Гость Karl-Ieronim сказал:

все ссылки одинаковые

Модули 226 отличаются установленным сопротивлением шунта. Оно выбирается исходя из требуемого тока.

RSHUNT = 81,92 (мВ) / IMAX (мА)

От сопротивления шунта зависит значение для регистра калибровки АЦП.

MFR_CALIBRATION = 0,00512/(Current_LSB⋅RSHUNT),

где Current_LSB = LSB Shunt voltage / RSHUNT = 2,5мкВ/25мОм = 0,1мА,

тогда MFR_CALIBRATION = 0,00512/(0,1мА⋅25мОм) = 2048 (0x0800).

Так же у всех китайских модулей отсутсвует фильтр, см. схему.

 image.png.6d92492f3b108e504898833111febee1.png

Share this post


Link to post
Share on other sites
Guest Karl-Ieronim

Про шунт понял. Думаю диапазон измеряемого тока от 10мА до 3А вполне себе удобный. 

Про фильтр - я всё равно буду делать плату под свои размеры, так что место найду. 

Share this post


Link to post
Share on other sites
Posted (edited)

Написал я некоторый унифицированный код, по умолчанию для INA226 с возможностью подключения INA233 (прикрепил).

Столкнулся с довольно нехорошей особенностью китайских модулей INA226.

До калибровки они давали огромную ошибку измерения как тока так и напряжения. Что-то около 5,5%, чего не должно быть.

У меня две версии на этот счет:

1. Мне попался брак причем брак именно в самих микросхемах причем в двух сразу (у меня два таких модуля)

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

После подстановки "диких" коэффициентов калибровки, результат стал удовлетворительным. Причем с линейностью все в порядке по всему диапазону, похоже просто ИОН-ы в них гуано.

В то же время INA233, купленные у техасовцев, давали результат укладывающийся в допуски по АЦП и надо было только чуть-чуть калибронуть по шунту.

#define ShuntRes 9620             // Сопротивление шунта в микроОмах (1000мкОм минимум)
#define VoltCoef 118595/100000    // 125/100 - размерный множитель (1 бит 1.25мВ VBUS)  

IMG_20200321_220040.thumb.jpg.875c52cc7ecff8c6b41a4b39fe88c6a2.jpg

IMG_20200321_214531.thumb.jpg.3c4258fb85f59e9838317243c0608e84.jpg

VOLTAMERMETER_INA233_INA226_SSD130X.ino

Edited by TDA

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...