Easyelectronics.ru

Электроника для всех
Текущее время: 23 авг 2019, 01:52

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 11:15 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2135
INA219 + STM32F072. Заряд-разряд Li-Ion АКБ 1 банка. Считать кол-во влитых и "потраченных" мАч. SoC (уровень заряда) мало интересен, нужно просто грубо говоря ёмкость считать либо частично влитую, либо по полному циклу разряд-заряд.
Пока мысль такая - ставим INA219 в режим постоянного преобразования с АЦП в режиме максимального кол-ва сэмплов (128 сэмплов усредняются за 68.1 мс). Раз в ~69-70 мс читаем новоё значение. Делаем интегрирование по методу трапеций. Что-то вроде:
Tcurrent = time();
Treal = Tlast - Tcurrent;
Ilast = read_ina219_current().
C += ((Ilast + Iprev)*Treal) / 2;
Iprev = Ilast;
Tlast = Tcurrent;

Потом можно будет оптимизировать и читать в кольцевой буфер через DMA, только интервалы времени придется еще куда-то записывать. В любом случае возникает погрешность числового интегрирования. Как с ней бороться, какие идеи? Вообще по задаче про подсчет заряда/ёмкости АКБ кто-нибудь может делал что-то?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 11:27 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6024
Battery Fuel Gauge ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 11:40 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2135
Не нашел в нормальном корпусе и недорого у китайцев, заказывать отдельно с США сейчас не хочется. Да и полноценный SoC мне не нужен, а только лишь мАч прошедшие., просто с более-менее адекватной точностью, а не погоду на марсе. Ну хотя бы +-5%, лучше в районе 2-3%.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 12:35 
Старожил

Зарегистрирован: 16 авг 2012, 23:27
Сообщения: 1904
Откуда: Москва
У китайцев полно дешёвых модулей на LTC4150, хотя купить микросхему отдельно сложнее. Измеряет как раз именно прошедшие мАч (мкАч, Ач, в зависимости от шунта), работает примитивно, направление тока показывает, погрешность обещают меньше процента. Сам ещё не пробовал, жду посылку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 12:45 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2135
Да видел я их. Понятие "дешёвых" - относительно.
$3.88 против $1.57 за INA219. К тому же модуль не хочу.
Основная фишка этих микрух, типа gas/fuel gauge - отслеживание оставшегося % заряда - State of Charge. Чтобы в батарейном ус-ве понимать точно, сколько % батареи еще осталось. Там алгоритмы куда сложнее. А мне это не нужно.
Тут вопрос про алгоритм именно считать мАч через токовый датчик. Просто дискретное интегрирование. Полагаю, еще некий фильтр нужен и всё будет работать норм.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 13:05 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6024
А я попробовал, кончилось диспутом. Нифига не видит ток.
Или брак или пожгли при монтаже.

По subj - интегратор, который аппаратный, по любому надо делать - иначе дикие ошибки по броскам потребления гарантированы (если квантование не 1us).
Второй момент, втекающий в первый - резкий сброс тока (не суть) и малый и (малый) реверсный ток.
Если датчик тока строго однополярный, то при почти 0 токе будет чушь. Здесь надо ставить или тракт с поддержкой биполярного режима, или немного смещать "0" и это учитывать. Второе довольно просто и предсказуемо - делал в измерителе мощности 220В, дабы не считать импульсы по 10 секунд.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 13:19 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2135
Ну в ДШ есть рекомендация по аппаратному фильтру RC.
INA219 - двунаправленный датчик, отрицательные значения тоже считает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 13:32 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6024
Если выбрать частоту оцифровки выше частоты среза фильтра (раз этак в 5), то особо сильных ошибок по подсчету тока быть не должно. IMHO


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 13:46 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2135
Насколько я почитал просто у такого программного дискретного интегрирования есть проблема - дрифт из-за накопительной ошибки при дискретизации.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 15:02 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6024
Ошибка может быть из-за SAR. В INA219 какой тип ADC?
А вообще, поменьше бы читали. )) Сейчас поясню. Я делал RLC на обычном STM32. У него разрешение - обычное. При этом, программым усреднением удается измерить величину порядка 1 мОм при шунте 100 Ом и тестовом напряжении 1 В. Или, полезный сигнал 10 uV. При этом дискретность ADC 3/4к=~ 1 mV. Иначе говоря, измеряется величина в 100 раз меньше дискретности измерительного инструмента.
У ST на эту тему есть "апликуха" по oversampling. Это работает при двух условиях - возможность избыточной оцифровки (есть) и линейность системы измерения (увы, нет). Для обхода второго (на SAR) добавляется размазывающий пилот-сигнал, достаточно большой амплитуды. В вашем случа ничего не надо делать, потребление системы и так не стабильно. Если же надо ооооочень долго смотреть на постоянный сверхнизкий ток, то стоит завести пилот-сигнал. На вскидку - в ваш входной RC фильтр добавить меандр с таймера с таким R, чтобы получился треугольник в 2-4 единицы. При этом оцифровку усреднять-накапливать строго за период(кратный) пилот-сигналу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 15:28 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2135
Цитата:
В INA219 какой тип ADC?

Дельта-сигма. 500 кГц +- 30% частота заявлена.
Вот что пишут:
Вложение:
Screenshot_20190702_133026.png
Screenshot_20190702_133026.png [ 82.39 Кб | Просмотров: 610 ]

Но это по фильтрации шумов. Я же не за шумы писал, тут ДШ дает рекомендацию. А за дрифт подобного приблизительного числового интегрирования переживаю. Хоть и значения дискретные и усредненные, вопрос насколько это дрифт будет уводить со временем цифру от реальных значений. Если там копейки, то и пофиг конечно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 17:34 
Старожил
Аватара пользователя

Зарегистрирован: 14 июн 2015, 17:41
Сообщения: 2538
Откуда: Русь, Новороссийск
NStorm, если, как я понял, вам заморочки ни к чему, а точность вам нужна только "для понимания" (примитивно), то почему бы и не решать эту задачу так же просто (примитивно): раз в сек (у вас же аккум? что там за это время меняется? Накой там 10 отсчётов в сек?) любым простейшим способом измеряете ток и кучкуете значения.

От времени заряда/разряда получаете "влитую"/"потраченную" энергию.

Я вангую, что разброс параметров разных аккумуляторов всё равно даст вам точность не лучше 5%, так зачем же напрягаться?

Или такой точности вам всё же не хватит?

Имхо, попробовать надо. Вероятно, результат вам может понравиться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 02 июл 2019, 17:55 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2135
А в чем смысл собирать значения тока отдельно с меньшей частотой, чем сразу делать интегрирование и считать сумму? Дрифт конечно меньше будет влиять, только подобное усреднение еще бОльшую погрешность внесет тогда.


Последний раз редактировалось NStorm 03 июл 2019, 09:13, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 03 июл 2019, 00:03 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6024
На самом деле, ваши опасения не беспочвенны. Делал мониторинг комп. БП и в элементарной функции усреднения (old=old/N+new) неожиданно получил бесконечный рост величины "5В", при этом входные данные были вполне нормальными. Но, это скорее исключение ... которое подтверждает правило - при вычислении "накопления" нельзя выполнять итерационные функции понижения порядка (деление, сдвиг, округление).
Что до самой микросхемы, то - или верить ее смещению 0, или менять на другую. Для сигма-дельта (часто) встраивают функции автокалибровки 0 и, иногда, (авто)калибровки full. Для сигма-дельта есть такой недостаток - величина full (коэффициент) могут зависеть от внешних факторов (величина децимации и частота захвата), а посему без калибровки худо. До того худо, что автокалибровку встраивают в сам основной цикл измерения. Посему получаются такие странные коэф-ты пересчета частоты тактирования в время измерения. IMHO
Мне кажется, проблема все-же надуманная. "Гребите" данные почаще и, важно, усредняйте кратно 20 мс.
С этим у меня был еще тот казус - поставил 24-битник, начал смотреть уровень (довольно спокойной схемы). Понижаю частоту оцифровки децимации (мля, ну и терминология у них), уровень помех снижается ... но только до некоторого значения, а если сделать еще ниже, то шум возрастает(!). Посмотрел таблицы и, всё верно - на этой частоте самое эффективное подавление сетевой помехи и гармоник. При дальнейшем снижении подавление хуже - отсюда и рост шума. Так что, на 50 Гц++ обращаю первое внимание. В-принципе, для вашей задачи это не главное, если помеха даст всплеск, то "потом" когда-нибудь будет провал и в-среднем, оно почти уничтожится ... но только почти. Если 50 Гц на 1-2 порядка больше полезного сигнала (а в микротоках такое бывает), полной компенсации не будет, оно все-же вылезет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 03 июл 2019, 01:17 
Заглядывает иногда

Зарегистрирован: 26 фев 2018, 03:06
Сообщения: 105
NStorm писал(а):
Пока мысль такая - ставим INA219 в режим постоянного преобразования с АЦП в режиме максимального кол-ва сэмплов (128 сэмплов усредняются за 68.1 мс). Раз в ~69-70 мс читаем новоё значение. Делаем интегрирование по методу трапеций. Что-то вроде:
мысли в слух не более : взять INA139 , включить внутренний АЦП СТМки на 5 или 10kSPS и вместо вычисления среднего значения, вычислять RMS за период 0,5 или 1 сек , полученные данные складывать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 03 июл 2019, 10:29 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2135
DmitriyVDN, так и INA219 можно не среднее заставить считать, а выдавать единичные сэмплы 12-битного разрешения каждые 532 мкс. Но RMS мне тут думается не нужен.

u37, да вроде тут в самой микрухе есть фильтрация её значений с АЦП, наверное с учетом этих особенностей. Конечно подробности не сообщаются, так, мельком упоминается. С самой-то микрой я ничего не сделаю

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 03 июл 2019, 13:18 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6024
Что пролетело мимо оцифровки, программно отфильтровать уже не получицца. ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 03 июл 2019, 16:34 
Заглядывает иногда

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 172
Делал стенд для аттестации аккумуляторов и их отбору по параметрам для сборки в батареи.

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

Если есть желание получить более-менее достоверный результат, то нужно или получать отсчёты тока с очень большой частотой, или поставить интегратор с большой постоянной времени. И да, применительно к электрохимическим процессам нужно вычислять СРЕДНЕЕ значение тока, а не RMS, посему отсчёты тока должны содержать знак величины тока, указывающий направление тока.

Я бы провёл два разряда: первый с малым током, например, 10% от максимального тока нагрузки, второй с максимальным, чтобы получить две кривые разряда. Тогда при любом токе разряда можно было бы более точно оценивать остаточную ёмкость аккума. Но это справедливо при использовании только одного типа аккумуляторов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подсчет мАч
СообщениеДобавлено: 03 июл 2019, 23:07 
Заглядывает иногда

Зарегистрирован: 11 дек 2012, 19:43
Сообщения: 67
я собирал mAh с небольших солнечных панелей (0.1-1w), собрал мостик из шунта и двух красных
светодиодах сместить отрицательный баяс в нормальный (0.01-5v) и можно мерять хоть сотые доли mA (в PSOC1 14bit ADC), каждые 2 раза в секунду два замера, один с шунта другой для вычета offset. До мостика пробовал разные current sense amplifier но на малых токах или смене полярности шел мусор.
первый рабочий приборчик, собственное потребление 3-4mA,
https://www.youtube.com/watch?v=wDazJv23pJM


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB