Измерение напряжения 11 аккумуляторов

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Так уже может кому пригодится для быстрого поиска информации INA226 I2C адреса:

sadman41
Онлайн
Зарегистрирован: 19.10.2016

morfius пишет:

Имеете ввиду, что VBS нужно подать на плюс каждого аккумулятора?

Тут вам более опытные товарищи подскажут, тем более, что у вас эти акк.последовательно еще соединены вроде как. На моем 219-м нужно было землю контролируемого источника с землей контроллера соединить.

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

morfius пишет:

Имеете ввиду, что VBS нужно подать на плюс каждого аккумулятора?

А как же иначе.
И ещё земля у всех измерителей на минусе всей батареи.
Так что напряжение ячейки придётся вычислять вычитанием двух измерений.
Зато на резисторах делителей сильно уж  сэкономите.....  :)

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

trembo, это почему? Там тру-дифф вход,  IN- и IN+ можно включать к измеряемой батарее, общая земля вообще не нужна.

ЮриБас
Offline
Зарегистрирован: 13.01.2012

dimax пишет:
 trembo, это почему? Там тру-дифф вход,  IN- и IN+ можно включать к измеряемой батарее, общая земля вообще не нужна. 

То есть, получается, что земля питания модулей никак не связана с измерительными входами, так? Если так, то тогда INA219  INA3221 тоже можно к каждой батарее цеплять? ..  Если да, тогда дешевле и проще наверное взять четыре модуля INA3221 (три канала) они где-то по 1,7долл за модуль, экономия в три раза.. да и адресов меньше на шине будет висеть.

https://ru.aliexpress.com/item/10pcs-I2C-SMBUS-INA3221-Triple-Channel-Shunt-Current-Power-Supply-Voltage-Monitor-Sensor-Board-Module-Replace/32862919362.html?spm=a2g0v.search0204.3.63.3f137c7e3tKLXK&ws_ab_test=searchweb0_0,searchweb201602_2_5017015_10065_10068_10059_5016815_10696_100031_10084_10083_5017115_10103_451_10618_5723515_452_5016915_10307,searchweb201603_54,ppcSwitch_3_ppcChannel&algo_expid=8cfba276-7cd0-4d9b-aa01-5a8a52878b1c-9&algo_pvid=8cfba276-7cd0-4d9b-aa01-5a8a52878b1c&priceBeautifyAB=0

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Из того, что видел земля контролера обязательно должна быть подключена к минусу батареи, иначе показания он выводит неверно.

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Ina3221 до 26в. У меня минимум 27.5в а так и до 30в.

ЮриБас
Offline
Зарегистрирован: 13.01.2012

morfius пишет:
Ina3221 до 26в. У меня минимум 27.5в а так и до 30в.

Ага.. получается, если напряжение превышает, то может произойти пробой земли питания и плюс входа от батаеи, в этом все дело..  Ну да, INA226 тогда проще использовать, да и разрядность там повыше, правда цена нехилая для просто измерения напряжения.. это разве что зарядное/разрядное - БМС - многоканалку делать, так сказать на вырост".. 

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

В планах именно так и есть на вырост. Самая простая схема dc dc 1-5в повышалка и мосфет для открытия нагрузочного резистора оптопарой. Типа высаживать самые жирные банки по самой хилой. В идеале конечно забрать у жирных, отдать хилым - но тут все намного сложнее.

ЮриБас пишет:

morfius пишет:
Ina3221 до 26в. У меня минимум 27.5в а так и до 30в.

Ага.. получается, если напряжение превышает, то может произойти пробой земли питания и минус входа от батаеи, в этом все дело..  Ну да, INA226 тогда проще использовать, да и разрядность там повыше, правда цена нехилая для просто измерения напряжения.. это разве что зарядное/разрядное - БМС - многоканалку делать, так сказать на вырост".. 

ЮриБас
Offline
Зарегистрирован: 13.01.2012

morfius пишет:
В планах именно так и есть на вырост. Самая простая схема dc dc 1-5в повышалка и мосфет для открытия нагрузочного резистора оптопарой. Типа высаживать самые жирные банки по самой хилой. В идеале конечно забрать у жирных, отдать хилым - но тут все намного сложнее. 

В принципе, можно использовать возможности INA226 сполна..  к примеру, сделать измерение внутренего сопротивления.. причем как при пассивном (нагрузочный резистор) так и активном (перекачивание заряда) способе.    На счет забирание у жирных, там не так уж сложно, если измерительная и управляющая часть уже реализована.. есть проекты таких БМС https://electrotransport.ru/ussr/index.php?msg=1154974  (на Ардуине и скетч есть)   силовую часть можно множить на сколь угодно каналов, схема не такая уж сложная.

На мой вгляд, активная БМС (перекачивание заряда) наиболее лучше подходит для титаната, потому что эти аккумы склонны к сравнительно большому саморазряду (особенно БУшные) и разбегу при большом токе заряда, поэтому ток балансировки должен быть приличным.  https://electrotransport.ru/ussr/index.php?topic=51681.msg1228982#msg1228982 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

trembo, ЮриБас, посмотрел ещё раз в даташит -да, без резисторного делителя на входе INA226 придёться мерить всё относительно общей земли. Просто мультиплексор в режиме Vbus жёстко перещёлкивает V- ацп на землю. А в режиме измерения тока  там чуйло 80мВ всего. Зато с резисторами можно полноценно использовать 16-битную разрядность, ведь в режиме Vbus 16 бит растянуты на шкалу 40 вольт, и LSB составляет всего 1,25 мВ А если сделать шкалу к примеру 4 вольта на токовом входе, то LSB будет всего 125µV !

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Там схема для 6S мама не горюй, а для 11S будет вообще атас. :) Там я так понял одна зарядка, которая льет в разные банки. Можно модульно недорогих DC DC CC CV к каждому подключить и лить в каждую банку от своей мини зарядки, так меньше будет гемороя имхо. Незнаю, нужно думать.

ЮриБас пишет:

morfius пишет:
В планах именно так и есть на вырост. Самая простая схема dc dc 1-5в повышалка и мосфет для открытия нагрузочного резистора оптопарой. Типа высаживать самые жирные банки по самой хилой. В идеале конечно забрать у жирных, отдать хилым - но тут все намного сложнее. 

В принципе, можно использовать возможности INA226 сполна..  к примеру, сделать измерение внутренего сопротивления.. причем как при пассивном (нагрузочный резистор) так и активном (перекачивание заряда) способе.    На счет забирание у жирных, там не так уж сложно, если измерительная и управляющая часть уже реализована.. есть проекты таких БМС https://electrotransport.ru/ussr/index.php?msg=1154974  (на Ардуине и скетч есть)   силовую часть можно множить на сколь угодно каналов, схема не такая уж сложная.

На мой вгляд, активная БМС (перекачивание заряда) наиболее лучше подходит для титаната, потому что эти аккумы склонны к сравнительно большому саморазряду (особенно БУшные) и разбегу при большом токе заряда, поэтому ток балансировки должен быть приличным.  https://electrotransport.ru/ussr/index.php?topic=51681.msg1228982#msg1228982 

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Пока так как то:

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Еще вопрос по поводу перемычек, можно ли их прямо на микросхеме напаять? Я смотрю например на самой плате SDA SCL как бы через резисторы подключены. Если китайцы перемычки не сделали на плате, стало быть паяться к микросхеме самой, или как?

sadman41
Онлайн
Зарегистрирован: 19.10.2016

Ну емаё... посмотрите как в I2C резисторы на SDA/SCL подключаются. Схема типовая.

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Тут же дело не в i2c, а в том, как выставить адрес для INA226... ? Читал на форуме их - алгоритм они не раскрывают.

sadman41 пишет:

Ну емаё... посмотрите как в I2C резисторы на SDA/SCL подключаются. Схема типовая.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

morfius пишет:

Еще вопрос по поводу перемычек, можно ли их прямо на микросхеме напаять?

Вы видели эту плату живьём?  Напаять что-то на выводах msop10 это как блоху подковать :)

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Не видел, потому и спрашиваю. :) Блоху подковать звучит страшно, не справлюсь чувствую. :) Получается вешать сопли на обратной стороне платы непосредственно к контактам на плате?

dimax пишет:

morfius пишет:

Еще вопрос по поводу перемычек, можно ли их прямо на микросхеме напаять?

Вы видели эту плату живьём?  Напаять что-то на выводах msop10 это как блоху подковать :)

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Что-то типа того?

sadman41
Онлайн
Зарегистрирован: 19.10.2016

morfius пишет:

Тут же дело не в i2c, а в том, как выставить адрес для INA226... ? Читал на форуме их - алгоритм они не раскрывают.

Загоняетесь уже, по-моему. Все там нормально (относительно) с пинхидера можно закинуть на A1/A0.

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Ну я подхожу к принципу лучше перебдеть, чем недобдеть. Практической информации по этому поводу нет, потому и спрашиваю у более опытных товарищей. :)

MaksVV
Offline
Зарегистрирован: 06.08.2015

morfius пишет:

Ну тут как-бы не сказано, что они должны быть соединены постоянно. К примеру - покупает кто-то этот модуль, сразу подключает его и он работает. Почему? Потому, что вне зависимости от того, что перемычки А1 А0 никуда не подключены, устройство имеет предустановленный адрес. Я так понимаю. Нужно будет попробовать проверить какие адреса имеют новые модули, попробовать подпаяться, включиться и отпаяться. Хотя не думаю что там есть что-то типа флеш памяти на этот счет. Скорее всего предустановленный адрес, а уже новые адреса выдаются согласно как раз таки перемычек, которые должны будут стоять на постоянной основе.

Нужно будет проверить эту теорию практикой, может у кого-то есть INA226, или INA219 чтобы проверить это? Мои модули будут не скоро. :/

перемычки должны быть соединены постоянно. Это и есть выбор адреса. Ваше предположение, что они служат только для временного подключения при программировании адреса (после чего он сохраняется где то там в микросхеме)  - неверно. 

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Спасибо. Понял, по логике вещей только так.

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Приехали таки INA226-е. Проверил сегодня один дефолтный подключил к аккумулятору 12В. Эталонный мультиметр: 12.121В, INA226: 12.155В. Разница 0.034В. Нужно будет калибровать.

После калибровки:

Мультиметр/INA226: 1.549/1.548В, 3.832/3.831В, 12.124/12.124В.  Судя по всему, если делать балансировку на этих модулях, точности можно смело в одну сотую добиться, так как погрешность в тысячных. Пока очень доволен, нужно теперь с адресами порешать, но жду правильных гребенок пока, еще не приехали.

ЮриБас
Offline
Зарегистрирован: 13.01.2012

И что получилось сделать измерение 11 аккумов на Ина226 ? 

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Да. Уже 3 месяца устройство работает бесперебойно. Снимается информация с точностью до тысячных. Прикручен к этому всему балансир и передача на андроид данных по bluetooth. Точность балансировки программно настроена на 0.01.

ЮриБас
Offline
Зарегистрирован: 13.01.2012

morfius пишет:
Да. Уже 3 месяца устройство работает бесперебойно. Снимается информация с точностью до тысячных. Прикручен к этому всему балансир и передача на андроид данных по bluetooth. Точность балансировки программно настроена на 0.01.

До тысячных - то что надо!  Вот тоже припекло.. INA219 не подошла по точности, заказал на пробу INA226 и ADS1115  - есть задача сделать  зарядку с балансирами на 16каналов, + логгер, мечусь и пытаюсь выловить инфу как раз по этому вопросу.  Сделал даже заказ на голые" MCP3421  20шт на всяк случай.   

Можете поделится скетчем и схемой? Может видео есть? Интересно, на сколько тысячные пляшут? Там по идее 1,25мВ разрешение..  оверсемплинг?

nik182
Offline
Зарегистрирован: 04.05.2015

Классные АЦП MCP3421. Пользуюсь. Вот только на шину можно только одну повесить из партии. Адрес кодируется в названии и что бы несколько повесить на шину нужно покупать сразу с разными адресами. А цена с адресами отличным от стандартного совсем не гуманная. Когда надо было две ацпухи повесить на нану пришлось писать софтовый i2c на разные ноги. 

ЮриБас
Offline
Зарегистрирован: 13.01.2012

nik182 пишет:

Классные АЦП MCP3421. Пользуюсь. Вот только на шину можно только одну повесить из партии. Адрес кодируется в названии и что бы несколько повесить на шину нужно покупать сразу с разными адресами. А цена с адресами отличным от стандартного совсем не гуманная. Когда надо было две ацпухи повесить на нану пришлось писать софтовый i2c на разные ноги. 

А если их через мультиплексор опрашивать?.. Мне интересно, сколько времени займет вся процедура опроса и получения данных через мульт-р..  скажем 10 шт. MCP3421.?   А сколько времени затрачивается на опрос (программным методом)  в Вашем случае, сколько штук АЦП MCP3421?  Если можно, скетч хотелось бы посмотреть.. все равно буду пробовать по разному.

b707
Онлайн
Зарегистрирован: 26.05.2017

Советую глянуть в сторону INA3221, это продвинутый аналог INA226, только на три канала. Умеет кучу всего - аппаратное усреднение, настраиваемые уровни автоматического предупреждения и тп

На одну шину I2C можно посадить до 4х INA3221. так что в сумме получается 12 независмых каналов измерения

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

У вас 16 каналов. Какое общее напряжение? INA226 позволяет максимум 36В.

http://www.ti.com/lit/ds/symlink/ina226.pdf

Расхождение по сотым видно тут:

https://ibb.co/khR64zs

ЮриБас
Offline
Зарегистрирован: 13.01.2012

b707 пишет:
 Советую глянуть в сторону INA3221, это продвинутый аналог INA226, только на три канала. Умеет кучу всего - аппаратное усреднение, настраиваемые уровни автоматического предупреждения и тп   На одну шину I2C можно посадить до 4х INA3221. так что в сумме получается 12 независмых каналов измерения 

Это скорее "три"  INA219 за счет вн. мультиплелксора, чем INA226..  диапазон до 26В и 1 отсчет = 8мВ, а у INA226 1,25мВ.  Усреднение  есть у всех Инн..  предупреждения и прочее - это уже вторично. 

 

nik182
Offline
Зарегистрирован: 04.05.2015

ЮриБас пишет:

А если их через мультиплексор опрашивать?.. Мне интересно, сколько времени займет вся процедура опроса и получения данных через мульт-р..  скажем 10 шт. MCP3421.?   А сколько времени затрачивается на опрос (программным методом)  в Вашем случае, сколько штук АЦП MCP3421?  Если можно, скетч хотелось бы посмотреть.. все равно буду пробовать по разному.

Время опроса сильно зависит от разрядности. При максимальной 18 бит 3 отсчёта в секунду даёт АЦП. При таких таймингах разница в программных и аппаратных методах не имеет значения. У меня было три ацп. Одна висела на аппаратном и две на программных i2c.    

ЮриБас
Offline
Зарегистрирован: 13.01.2012

morfius пишет:
 У вас 16 каналов. Какое общее напряжение? INA226 позволяет максимум 36В.  http://www.ti.com/lit/ds/symlink/ina226.pdf Расхождение по сотым видно тут:  https://ibb.co/khR64zs  

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

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

 

Kolev
Offline
Зарегистрирован: 11.12.2019

Коллеги, а никто не сталкивался с проблемой перевода INA226 в экономичный (спящий) режим ?
В даташите написано, что он должен потреблять доли миллиампера, а у меня в рабочем режиме жрет около 100мА по 5-ти вольтам. И заметно греется сама микросхема. Этак он мне всю барею разрядит за пару дней ;)  Попытка включить в нем режим Power-Down не приводит к изменению питающего тока. Но измеряемые величины напряжения становятся нулевыми. Т.е. все-таки он как-то реагирует на попытку включения этого режима..  Может, у меня экземпляр INA226 битый? Но в других режимах (непрерывное измерение) никаких проблем нету - все работает четко.
У кого-нибудь есть положительный опыт перевода этого модуля в режим Power-Down ?  Кто-нибудь замерял потребляемый ток в рабочем режиме?

nik182
Offline
Зарегистрирован: 04.05.2015

Смотрите обвязку. Она ест меньше миллиампера в рабочем состоянии. 

Kolev
Offline
Зарегистрирован: 11.12.2019

nik182 пишет:

Смотрите обвязку. Она ест меньше миллиампера в рабочем состоянии. 

Так нет никакой моей обвязки. У меня INA уже с обвязкой на платке , как в сообщении №114.

ua6em
ua6em аватар
Онлайн
Зарегистрирован: 17.08.2016

100 ма это точно перебор, видимо замык на плате, надо отмыть получше

nik182
Offline
Зарегистрирован: 04.05.2015

Отключите всё от платы подайте 3 вольта и замерьте ток. 

Kolev
Offline
Зарегистрирован: 11.12.2019

nik182 пишет:

Отключите всё от платы подайте 3 вольта и замерьте ток. 

Хммм...  Совет хороший!

Сначала получил те же 100мА. Потом вспомнил, что три рядом стоящих контактика на плате я закоротил каплей олова, чтобы сформировать адрес в I2С. Там прямо на плате они выведены на край платы - A0 VCC A1. Адрес работал. Убрал каплю олова - потребление ушло ниже чувствительности моего измерителя в блоке питания . Коротнул пинцетом на плате выводы разъема питания - сработала защита блока - значит питание подается. 

Большое спасибо за помощь, буду рыть в этом напрравлении. Не понимаю, почему нельзя коротить A0 VCC A1 вроде это предусмотрено даташитом. Адрес 8А получается. И работает!

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

Это какой-то косяк, у меня 11 модулей с обвязкой и блутусом потребляют 17ма, это еще учитывая, что там светодиодов на всем этом есть. Адресов соответственно 11 штук.

b707
Онлайн
Зарегистрирован: 26.05.2017

Kolev пишет:

Большое спасибо за помощь, буду рыть в этом напрравлении. Не понимаю, почему нельзя коротить A0 VCC A1 вроде это предусмотрено даташитом. Адрес 8А получается. И работает!

даташит не предлагает "коротить" , он предлагает "подтягивать" A0 A1 к питанию или GND. Вместо прямого замыкания контактов соедините нужные из них резистором 10-20К - работать будет так же, а потребление упадет в разы

Kolev
Offline
Зарегистрирован: 11.12.2019

morfius пишет:

Это какой-то косяк, у меня 11 модулей с обвязкой и блутусом потребляют 17ма, это еще учитывая, что там светодиодов на всем этом есть. Адресов соответственно 11 штук.

А зачем так много? Почему не хотите аналоговый мультиплексор?

17ма - это много.ИМХО.

Kolev
Offline
Зарегистрирован: 11.12.2019

b707 пишет:
даташит не предлагает "коротить" , он предлагает "подтягивать" A0 A1 к питанию или GND. Вместо прямого замыкания контактов соедините нужные из них резистором 10-20К - работать будет так же, а потребление упадет в разы

В даташите есть требования к входным сигналам, и корочение А0 А1 на питание ничему не противоречит.  Но попробую на подтяжках.
Уменьшить ток "в разы" меня не устроит. Мне нужно два порядка. Как минимум. У меня вся плата должна потреблять не более 1мА в режиме покоя, а там еще пяток мелкосхем, контроллер, WiFi и прочая мелочь пузатая ;)

b707
Онлайн
Зарегистрирован: 26.05.2017

Kolev пишет:

Уменьшить ток "в разы" меня не устроит. Мне нужно два порядка. Как минимум. У меня вся плата должна потреблять не более 1мА в режиме покоя, а там еще пяток мелкосхем, контроллер, WiFi и прочая мелочь пузатая ;)

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

Kolev
Offline
Зарегистрирован: 11.12.2019

b707 пишет:

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

В схеме есть неотключаемые микросхемы, кроме того полевые ключи при хорошем прогреве могут дать сотню микроампер утечки, кроме того у меня батарейка на 12 вольт, так что DС-DС на 5 вольт свои 500uA возьмет при любой погоде.
В целом, если уложусь в 1 мА - буду счастлив! ;)

morfius
morfius аватар
Offline
Зарегистрирован: 06.01.2017

У меня емкость батареи сейчас 2кВт/час, будет больше, потому потребление в 17 ма для меня это ни о чем. Нет смысла никакого гнаться за слезами.

Kolev
Offline
Зарегистрирован: 11.12.2019

Как показало "следствие", в моем экземпляре оказалось, что A0 имеет небольшое сопротивление с землей (около 68 ом). Поэтому его подтяжка к питанию сразу вызывает заметный ток потребления. С A1 все нормально - высокое сопротивление и с землей и с питанием. Поэтому каплю олова пришлось уменьшить так, чтобы на VCC коротилась только линия A1, а проводник А0 просто остался никуда не подключен (считаю, что он подключен к земле). Получившийся адрес вполне оказался рабочий, все пашет, потребление очень маленькое. Конечно, осталось непонятным поведение А0, почему-то мне кажется, что это дефект именно моего экземпляра. Что-то типа пробоя А0 на землю. Попадет в руки другой  экземпляр, попробую протестировать его. Но сейчас все работает, так что проблема разрешилась.

 

nik182
Offline
Зарегистрирован: 04.05.2015

Так бывает, когда пробит входной защитный диод. Скорее всего это проблема именно Вашего экземпляра.

Kolev
Offline
Зарегистрирован: 11.12.2019

Да, очень может быть. Было бы странно даже для китайцев, если они вывели бы на край платы рядом A1 VCC A0 не ради удобного их закорачивания , а просто ради прикола ;) Понятно, что именно для удобного аппаратного формирования адреса это сделано. И если это не работает, значит явные проблемы с железом. У меня скоро будет второй экземпляр платки, попробую и отпишу сюда. Или если кому не лень из участников форума попробовать на своем модуле - было бы здОрово узнать результаты.

Сейчас у меня проблемы уже не с железом, а с софтом. После получения GET запроса от браузера, отсылаются из МК через wifi модуль данные о состоянии всех батареек, и все прекрасно отображается на моем айфоне. Но вот в обратную сторону передать данные, например, о желаемом уровне порога срабатывания балансира - пока не получается. Новая для меня область, все идет "медленно и печально". ;)