Понятно, что использование простого дифференциального усилителя для измерения тока от 0 до 20А будет неточным, если быть объективным, то погрешность будет максимальной при меньших токах. Для уменьшения погрешности необходимо разделить диапазон измерения на несколько диапазонов, как правило в измерительной технике используют пределы измерения кратные 3 и 10. На лицевой панели советских измерительных приборов можно видеть эти значения:

При использовании нескольких приделов измерения возникает проблема: Как сообщать контроллеру, что придел поменялся? Ответ на это вопрос можно найти от вариантов реализации системы автоматического выбора приделов измерения (САВПИ). Первый вариант полностью аналоговый. Такой вариант реализации состоит из параллельного АЦП, состоящего из пары компараторов и источника опорного напряжения, обеспечивающего пороговые напряжения. Выходы компараторов соединены с управляющими выводами ключевых элементов. Но для того, чтобы сообщить МК необходимо израсходовать целых 2 вывода МК. Однако, если МК будет контролировать программно переключение пределов измерения, то можно добиться упрощения конструкции, но израскодуются те же 2 вывода МК. Очевидно, что второй вариант более предпочтительней.
Теперь надо выбрать коэффициенты усиления для масштабирующего усилителя. Из соображения выше приделы измерения выберем как 3-10-30. Для расчета коэффициента нам необходимы еще несколько данных.
- Сопротивление шунта - 0.075 Ом
- Ширина шкалы, в данном случае он равен - 5В, но примем равным 4,5В
Первым делом надо рассчитать падение напряжения на шунте на максимальное значение предела измерения, оно составит 0,225В(3А), 0,75В(10А) и 2,25(30А) при 20А 1,25В соответственно. Теперь определяем коэффициенты усиления делением шкалы на полученные значения:
К(3А)=20, К(10А)=6, К(20А)=3,6.
В итоге получили следующую схему:

Осталось рассчитать сопротивления резисторов. Выход идет на АЦП микроконтроллера.