Если хочется совсем избавиться от контроллера, есть целый класс микросхем: преобразователи «напряжение-частота» (ПНЧ) (Voltage-to-Frequency Converters, VFC). Например, AD654.
С интегральными VTF-преобразователями все не так однозначно — в моем случае падение напряжение на шунте находится в диапазоне 0-50 милливольт, а выходная частота — 0-50 Гц. Интегральные же преобразователи обычно работают с более широким диапазоном как входного напряжения, так и выходной частоты — это потребует операционного усилителя на входе и делителя частоты на выходе — считайте, плюс еще два корпуса. Кроме того, ноль операционников плывет — нужна калибровка. В моей же реализации калибровка нуля делается автоматически программно при подаче питания — attiny позволяет внутри замкнуть входы дифференциального усилителя, чтобы затем считать код смещения нуля и далее вычитать его из измеренных значений. Все это в программе есть.
А почему Вы не попробовали воспользоваться знаниями школьного курса физики, где явно указано, что электрический ток создаёт магнитное поле? Его ведь можно померить датчиком Холла, к примеру. А дальше уже АЦП и всё что Вам заблагорассудится.
Этот способ гораздо более устойчив к разного рода «опасностям» вроде импульсов тока в основной цепи.
Например, в сенсоре тока ASC758 (нагуглил для примера) использован именно этот принцип.
Магнитное поле — штука капризная. Нужно защититься от внешних полей раз, гарантированно точно собрать поле нужного проводника — два, компенсировать нелинейность датчика — три. Кроме того, нужна сама микросхема датчика. Если пользовались токовыми клещами *постоянного* тока, то наверняка видели, как их показания пляшут в зависимости от ориентации относительно земли и самого провода. Чтобы все это работало стабильно — нужен хороший магнитно-экранированный конструктив, где провод закреплен относительно кольцевого магнитопровода, а в зазоре — датчик Холла. В итоге стоимость такого датчика превысит стоимость всей остальрой части системы. Провод- шунт на порядок проще. И импульсы тока в основной цепи ему не страшны — при сопротивлении шутна в 1 миллиом чтобы создать импульс величиной в 1 вольт на входе АЦП, через него должен пройти ток в 1000 Ампер. Но диодная защита входов у меня все равно есть ;)
Электросчетчик работает только на переменном токе. Даже новые, электронные счетчики обычно не учитывают постоянный ток.
Бывает еще вот такая штука:
Это электрохимический кулонометр. Капилляр почти целиком заполнен ртутью, кроме небольшого промежутка (1-2 мм), где находится электролит. Правая и левая части ртутного столба служат электродами. При пропускании через них тока ртуть переходит в раствор с одного электрода и осаждается на другом. Таким образом капелька электролита сдвигается на расстояние, пропорциональное прошедшему по цепи заряду.
Такие приборы стояли в советской аппаратуре в качестве счетчиков времени наработки (ток стабилизирован, шкала градуирована в часах), но никто не запрещает использовать как измеритель ампер-часов.
Штука клевая, достойна музея электронных раритетов 155ла3. Судя по масштабу шкалы, однако, она одноразовая (либо трубка просто переворачивается) и рассчитана на весь срок службы прибора. Исходя из предела в 2500 часов подозреваю, что индикатор применялся в ламповой технике для оценки необходимости профилактической замены ламп.
Однако, чтобы привести ее масштаб в соответствие с масштабом разряда обычных аккумуляторов, рабочий ток через такой кулонометр придется увеличить на три порядка — т.к. тот объем переноса ртути, который при номинальном токе достигался, скажем, за 2000 часов, должен произойти всего за несколько — иначе шкала прибора будет неинформативной. Подозреваю, что при такой интенсивности электрохимической реакции трубка просто взорвется.
По физике процеса - это ампер-часы (перенос ртути пропорционален прошедшему через устройство заряду), но ток стабилизирован внутри самого прибора - что для пользователя дает просто часы )
Идея и реализация простого средства контроля расхода энергии аккумуляторов