Для измерения тока очень удобно использовать датчик тока ACS712, которых полно в интернетмагазинах типа ебей, алиэкспресс и т.д. и стоят совсем не дорого.
Мне в схеме понадобилось мерить ток от 0 до +20 Ампер. Неудобство было в том, что при изменении измеряемого тока
0-
+20А напряжение на выходе датчика меняется в пределах
+2,5В-+
4,5В. Так как в моей схеме имеется питание
-5В и
+12В для сдвига уровня и удвоения напряжения была применена микросхема ОУ LM358 и 3 одинаковых резистора, можно использовать любую ОУ и резисторы 10-30кОм (другие просто не пробовал). Напряжение питания операционника -5В желательно не менять на 0 вольт, так как будет нелинейность при измерении малых токов. А так схема сдвига уровня не критична к питанию ОУ.
Вот такую схему в программе Proteus получил (подстроечники на входе для проверки симуляции):
![](http://s57.radikal.ru/i157/1510/8b/4debd5ecee3d.jpg)
Теперь при изменении измеряемого тока в пределах
0-
+20А напряжение на выходе ОУ меняется в пределах
0-
+4В, то что мне и нужно было. Может и ещё кому-нибудь пригодиться.
Данная схема так-же преобразует входной ток
±20А в напряжение
±4В. Только возможно потребуется увеличить отрицательное напряжение питания в зависимости от типа ОУ.
В архиве вложен моделируемый файл для программы Proteus: