SOC (состояние заряда аккумуляторов) для LiFePO4

Я пытаюсь определить уровень заряда (SOC) некоторых аккумуляторов.

  • У меня есть 3 батареи LiFePO4, вот те, которые я купил:

    https://www.ampsplus.co.uk/ampsplus-14500-3-2v-500mah-батарея-кнопка

  • У меня они подключены параллельно . Для каждой батареи я могу измерить их индивидуальное напряжение и индивидуально разрядить каждую через резистор.

  • Два метода, которые я нашел в Интернете, чтобы найти SOC (состояние заряда) каждой батареи, называются подсчетом кулонов, а второй - таблицей поиска напряжения.

Колонна подсчета

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

  1. Это измеряет только разницу в состоянии заряда. Поскольку вы не знаете, сколько заряда уже находится в каждой батарее, вы не можете определить уровень заряда, как вы решаете эту проблему?

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

Таблица поиска напряжения

Это, кажется, более легкий метод. Если у вас есть график напряжения VS SOC, вы можете определить, сколько заряда находится в каждой батарее, просто измерив напряжение на каждой батарее, а затем сравнив значения напряжения из графика / справочной таблицы. Проблема в следующем.

  1. Я посмотрел на лист данных, как показано в ссылке, и я не могу найти ничего подобного. Поэтому мне нужно было бы найти это самому. Это оставляет вопрос о том, как я мог это сделать?

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

Я благодарен за любую помощь и ценю ваше время на чтение этого.

Чтобы добавить: я не хотел бы использовать какие-либо готовые системы BMS онлайн, поскольку я пытаюсь узнать об этом. сейчас я использую

  • Ардуино нано каждый
  • SMPS для преобразования DC-DC это может быть доллар или повышение
  • Я разработал схему для батарей, которая может измерять их напряжение и разряжать их по отдельности.

Отвечая на некоторые вопросы (я отредактирую это позже с ответами и всем остальным, если я смогу их получить)

Просто примечание, Рассел, когда вы говорите 1%, что именно вы имеете в виду?

Чтобы дать представление, в этом проекте используются SMPS, Arduino и печатная плата.

Q1 - Ток измеряется с помощью датчика тока ina219. Эти значения берутся каждые 1 с и сохраняются с помощью Arduino на SD-карту.

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

введите описание изображения здесь

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

Q3 - Что касается интеграции, то, что я делаю на Arduino, собирает ток, измеряемый каждую секунду. так что это currentx1 секунда, и я просто добавляю все текущие в основном, так как это находит область, интеграцию AKA. (да, он предполагает, что ток постоянен в течение этой одной секунды, но ток регулируется ПИД-регулятором, поэтому он имеет очень маленькую ошибку).

Что касается SOH (состояние здоровья), температуры и т. Д., Я остановлюсь на них позже, я пытаюсь реализовать SOC, сначала балансируя и заряжая.

Для LFP поиск напряжения не так уж полезен: это очень плоская кривая около 3,2 В. Если 3,6 В — это 100 %, а 2,5 В — 0 %, вы обнаружите, что 3,3 В — это около 90 %, а 3,1 В — около 10 %. Между тем... удачи. Кулоновский счет работает.
@user_1818839 user_1818839 Я могу измерить напряжение до мВ. Я думаю, этого должно быть по крайней мере достаточно, чтобы различать 95%, 85%, 80% и т. д., то есть с шагом 5%. Я собрал некоторые данные о напряжении батарей, например, 3.301 и т. д. Кроме того, вы правы, говоря, что я рассматриваю 3,6 В как максимальное напряжение, а 2,5 В — как минимальное напряжение.
Я открыт для любых предложений по какому-то алгоритму или методу определения SOC. Я не пытаюсь найти самый сложный метод, просто что-то, что, по крайней мере, дает мне что-то более точное.
Привет, Фред! Если ваши батареи подключены параллельно, вы не можете разрядить их по отдельности. Может быть, я упускаю что-то очевидное?
Литиевые батареи не являются обычными. Они могут очень сильно гореть при неправильном обращении при зарядке или разрядке. Вот почему литиям нужна грамотная BMS перед ними. Если вы хотите самостоятельно управлять батареей, вы можете выбрать литиевую батарею со встроенной системой BMS (она находится под положительной клеммой, что делает батарею немного выше; она невидима для вас во всех практических целях, поэтому вы можете получать удовольствие от BMS). дизайн без риска), или, если вы хотите «работать на голом металле», вы можете выбрать более послушную химию, такую ​​​​как NiMH.
@bitsmack У меня есть схема, которая может это сделать, я могу отправить схему, если вы хотите, чтобы она была действительно простой.
@reinstate monica, я пытаюсь разработать что-то, что может выполнять балансировку батареи, SOC, SOH и т. д., так что я думаю, что это сама по себе BMS.
@Harper-ReinstateMonica Это не обычные литиевые элементы. Они значительно безопаснее, но я не знаю ни одного LFP со встроенной BMS.
чтобы добавить к тому, что сказал @user_1818839, эти батареи просто умирают/перестают заряжаться/разряжаться, когда доходят до точки, где они могут сгореть или расплавиться и т. д., это одна из причин, почему я выбрал их.
@ Фред, конечно, эти цели совместимы. У вас может быть встроенная BMS, защищающая саму ячейку, а также ваша внешняя цепь, выполняющая балансировку. В этот момент вашей внешней цепи нужно только сбалансировать.
@user_1818839 user_1818839 Я легко нашел один с помощью поиска в Google, встроенной BMS и всего остального. И «значительно безопаснее, чем обычный литий» — не такая уж и рекомендация, лол. Старая аккумуляторная технология просто безопасна, буква «r» не нужна. Вся эта идея «загорания батарей» действительно довольно нова и существует только из-за безумной погони за плотностью энергии.
@fred 1%, вероятно, настолько хорош, насколько вы можете достичь без очень тщательного контроля измерений. | Q1 что вы используете для измерения тока? (используемый измеритель или система, точность, разрешение, торговая марка) ...Q2, как вы подключаетесь к ячейкам (получение данных, подключение счетчиков и т. д.)? Q3, как вы интегрируете результаты, чтобы получить алгоритм выборки мАч-времени...? || Также контроль температуры, нагрев нагрузки, работа других устройств...
Можно ожидать, что таблица поиска напряжения будет менее точной, чем подсчет кулонов, и будет зависеть от состояния батареи, температуры, тока нагрузки и многого другого. Правильно реализованный подсчет кулонов говорит вам, что ФАКТИЧЕСКИЙ кулон входит и выходит.
Я вижу, что часть того, что я спросил, дано в комментариях к ответу Брюса. Это очень помогает, если ВСЯ соответствующая информация будет помещена в вопрос (и в идеале должна присутствовать изначально, если она известна).
Предложение: измерить напряжение на клеммах ячейки при зарядке. Заряжайте, скажем, на 0,1 В выше этого значения, пока ток не упадет до очень небольшой доли - скажем, в диапазоне от C/20 до C/100. Ячейка теперь полностью заряжена.
@RussellMcMahon Пожалуйста, найдите ответы на свои вопросы, добавленные в конец сообщения.
У меня есть некоторые опасения, и я был бы признателен за ваш вклад. У меня проблема с зарядкой аккумулятора до 3,6В. Мой процесс характеристики таков. Если аккумулятор менее 3,6 В, он заряжается. Как только оно достигает 3,6В, он перестает заряжаться и отдыхает 10-20 секунд. Затем он начинает разряжаться, пока не достигнет 2,5 В, и повторяется. Я использую зарядку постоянным током, и я заряжаю его при 800 мА.
Проблема в том, что при зарядке постоянным током заряжает до 3,6В, а как перестает заряжаться сразу падает до 3,4В. Я читал в Интернете, что это связано с ESR и емкостью в батареях. Я также видел упоминание о том, что использование комбинации зарядки постоянным током и постоянным напряжением может позволить вам достичь 3,6 В, используя постоянное напряжение для зарядки от 3,6 В и выше. Есть ли у вас опыт или знаете, как я мог бы справиться с этим/если это правильно?
prnt.sc/13owkjr Вот график зависимости мВ от времени в секундах, который я использовал для характеристики батареи с использованием упомянутого цикла зарядки. Вы могли ясно увидеть упомянутое выше падение с 3,6 до 3,4VI. Вторая проблема связана с подсчетом кулонов, я устанавливаю 3,6 В в качестве 100% SOC и 2,5 В в качестве точки 0% SOC. Проблема в том, что я предполагаю, что ток, идущий на параллельную батарею, равномерно распределяется между ними, что неверно. Например, я измерил, что одна батарея имеет емкость 550 мАч, а другая — 550 мАч, а номинально они должны быть 500 мАч.
Поскольку я не могу измерить ток, протекающий через каждую батарею отдельно, но через всю параллельную комбинацию, это может привести к неточностям. Я также заметил, что общее количество разряженных кулонов немного больше, чем количество кулонов, используемых для зарядки аккумулятора, поэтому в измерениях также есть некоторая ошибка.
Вот как я пытаюсь реализовать балансировку и SOC. Я постоянно измеряю напряжение каждой батареи, чтобы убедиться, что они не превышают 3,6 В во время зарядки и не ниже 2,5 В во время разрядки, и я разряжаю/заряжаю их по мере необходимости, я делаю их верхнюю балансировку, поэтому при подключении они должны быть изначально где-то около 100% полностью заряжен, поэтому около 3,6 В. Это касается балансировки. Для SOC я нахожу начальный SOC, а затем, в зависимости от того, заряжаются они или разряжаются, я подсчитываю количество столбцов, интегрируя (больше похоже на сложение) ток и минус или добавляя к начальному SOC по мере необходимости.
Для зарядки постоянным напряжением вы просто искусственно устанавливаете определенное напряжение на батарею? если да, то как определить, каким должно быть это напряжение? Извините за спам, просто хотел объяснить, что я делаю.
Как вы измеряете ток от показанного устройства? Это следует из V_bat_OC/R_losd или ???
@RussellMcMahon Датчик тока измеряет ток, затем он подключается к аналоговому выводу на Arduino. Аналоговый вывод считывается каждую секунду, и ток записывается.
@fred Ваша текущая схема измерения, кажется, не показана (на вашей диаграмме). Предположительно, у вас есть постоянно подключенный последовательный чувствительный резистор от истока FET к земле с чувствительным проводом к входу измерительного АЦП Arduno, подключенному к стоку.
Для максимально точного измерения АЦП НЕОБХОДИМО, чтобы сторона заземления чувствительного резистора и аналоговая земля процессора были соединены дорожкой на печатной плате без ответвлений других проводников с током. Какой чувствительный резистор вы используете? Что такое ADC Vref и сколько разрядов АЦП. Я видел значительные ошибки АЦП из-за практики возврата на землю.

Ответы (1)

Поскольку вы не знаете, сколько заряда уже находится в каждой батарее, вы не можете определить уровень заряда, как вы решаете эту проблему?

Полностью зарядите аккумулятор, затем «считайте кулоны», пока напряжение не покажет, что он почти разряжен. Это можно использовать в качестве эталона для будущей частичной зарядки и разрядки, но, возможно, придется время от времени повторять, если батарея обычно не полностью заряжена.

Нам вообще нужно найти ток, идущий в каждый из них, если они параллельны, разве они не будут просто распределять это равномерно между собой?

Если все элементы одинаковы (номер детали, возраст, измеренная емкость и т. д.), то они должны распределять ток примерно поровну, пока не достигнут полного заряда . Если мощности не близки к равным, они должны разделить ток в соответствии со своими индивидуальными мощностями.

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

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

Таблица поиска напряжения ... Я просмотрел таблицу данных, как показано в ссылке, и не могу найти ничего подобного.

Это может быть связано с тем, что таблица поиска напряжения бесполезна для LiFePO4, потому что кривая разряда очень плоская на протяжении большей части цикла.

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

Как только вы найдете этот график, вы, вероятно, поймете, почему он не работает. Различия между брендами могут быть «незначительными», но изменение напряжения тоже. Вот несколько примеров кривых разряда при различных токах:

введите описание изображения здесь

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

Я просто хочу уточнить, как найти точку отсчета для подсчета кулонов. Вы упомянули полную зарядку аккумулятора. В настоящее время я заряжаю батареи с помощью синхронного понижающего преобразователя, который подключен к входу 5 В. Причина, по которой я это делаю, заключается в том, что я могу контролировать ток индуктора, который в основном представляет собой ток, поступающий в батарею, и составляет 250 мА. Я полагаю, чтобы найти контрольную точку, вам нужно будет выполнять зарядку постоянным напряжением? чтобы увидеть, когда ток падает действительно низко, указывая на то, что он достиг 100% SOC?
это зарядка и разрядка элемента: prnt.sc/13nhilr (ось y - мВ, а ось x - время, когда оно достигает 3,6 В, а затем снижается примерно до 3,4 В из-за ESR и емкости элемента. Производитель заявляет вы не должны заряжать его выше 3,6 В. Я предполагаю, что для достижения 100% SOC вы можете превысить это?
Глядя на разряд (бывает после 3,4В до 2,5В) он на самом деле не такой плоский как можно подумать?
Извиняюсь за лишнее, я просто запутался, как «полностью зарядить» аккумулятор, чтобы получить точку отсчета для 100% SOC. Предполагая, что я полностью зарядил его, теперь я начинаю его разряжать, как мне узнать, когда он достигнет 0 SOC, и как мне это сделать, прежде чем убить батарею (ниже 2,5 В). Эти аккумуляторы очень чувствительны к повышенному и пониженному напряжению.
Разрядить аккумулятор до 0% — это верный способ убить его. На вашем графике разряда отсутствует важная информация. Какова шкала времени? Какой был разрядный ток? 3,6В на самом деле выше, чем нужно. 3,5 В достаточно, а 3,4 В достаточно, если вы не против подождать lygte-info.dk/info/BatteryLiFePO4Charging%20UK.html
Шкала времени указана в секундах, так что цикл занял около 2,7 часов. Ток разряда также установлен на 250 мА, он контролируется ПИД-регулятором, поэтому он колеблется вокруг него, а не постоянно около 250 мА. Дело в том, что хотя оно достигает 3,6 В, на самом деле это не 3,6 В. Около 0,2 В теряется из-за ESR и емкостей в аккумуляторе, поэтому на самом деле он заряжается только до 3,4 В. Я считаю, что для того, чтобы на самом деле зарядить его до 3,6 В, вы должны использовать зарядку постоянным током до 3,4 В, а затем использовать зарядку постоянным напряжением до 3,6 В, но я не знаю, как это реализовать.
следуя графику, который я вам отправил, я записал ток, потребляемый каждую секунду при разрядке. поэтому в форме его интеграции я просто сделал current * 1 и добавил все токи, чтобы получить площадь, которая в основном такая же, как и при интегрировании. это оказалось 1763 As(C), кажется ли это разумным? это количество разряда при переходе от 3,4 В к 2,5 В
Это составляет 490 мАч, что очень близко к номинальной емкости. Однако падение напряжения во второй половине разряда намного хуже, чем я ожидал. Либо это ячейки низкого качества, либо что-то не так с вашей тестовой установкой. Обычно зарядное устройство подает постоянный ток до 3,6 В, что приводит к скачку напряжения непосредственно перед концом. Зарядка до 3,4 В по-прежнему дает полную мощность, но занимает намного больше времени.
@BruceAbbott Если BMS (или ее отсутствие) приводит к тому, что батарея разряжается до 0 В на регулярной основе, все, что им нужно сделать, это использовать батарею, которая подходит для этого ... НЕ литиевая, НЕ свинцово-кислотная. NiFe и NiCd счастливы, как моллюски, которые каждый день работают до 0 В ... так работают дешевые солнечные «дорожные фонари». У меня есть большая никель-кадмиевая солнечная установка с жидкостными элементами, которой широко злоупотребляют — как бы они ни старались, они не могут повредить ей, лол.
@Harper-ReinstateMonica Nicads запрещены на потребительском рынке ЕС, а NiFe-аккумуляторы доступны только в «промышленных» размерах. Для всех остальных типов аккумуляторов (используемых в подавляющем большинстве бытовой техники) разрядка до 0В не годится .