Easyelectronics.ru

Электроника для всех
Текущее время: 18 окт 2019, 19:42

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



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

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

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2284
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
Сообщения: 6218
Battery Fuel Gauge ?


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

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


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

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


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

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


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

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

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


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

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


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

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


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

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


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

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6218
Ошибка может быть из-за 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
Сообщения: 2284
Цитата:
В INA219 какой тип ADC?

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

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


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

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

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

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

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

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


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

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


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

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

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6218
На самом деле, ваши опасения не беспочвенны. Делал мониторинг комп. БП и в элементарной функции усреднения (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
Сообщения: 111
NStorm писал(а):
Пока мысль такая - ставим INA219 в режим постоянного преобразования с АЦП в режиме максимального кол-ва сэмплов (128 сэмплов усредняются за 68.1 мс). Раз в ~69-70 мс читаем новоё значение. Делаем интегрирование по методу трапеций. Что-то вроде:
мысли в слух не более : взять INA139 , включить внутренний АЦП СТМки на 5 или 10kSPS и вместо вычисления среднего значения, вычислять RMS за период 0,5 или 1 сек , полученные данные складывать.


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

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

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

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


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

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


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

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

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

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

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


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

Зарегистрирован: 11 дек 2012, 19:43
Сообщения: 85
я собирал 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 часов


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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