Цитата(Alexandr @ Nov 11 2005, 23:22)

Можно попробовать вот что: если известен максимум выходного(после операционника) отрицательного сигнала, тогда можно подобрать источник опорного напряжения той же величины, но положителной полярности. Затем просуммировать эти два напряжения с использованием еще одного операционника. Тогда - Ваш максимально возможный отрицательный сигнал для АЦП будет равен 0, а все другие значения напряжений СТРОГО положительными. А введенный нами сдвиг на величину опорного напряжения легко компенсируется программно.
Мысль правильная. Однако еще один операционник не нужен, достаточно пары резисторов на входе одного единственного ОУ. И не надо знать максимум входного, достаточно при 0 входного загнать напр. на выходе операционника более-менее ровно посередине диапазона АЦП. Например, если полный диапазон АЦП от 0 до 5В, то при нулевом токе напряжение д.б. +2.5В.
В качестве источника смещения желательно использовать тот же источник, от которого питается АЦП, при этом R2=R3, R4=R5 и в целом погрешностей меньше. Заодно R2 защищает вход ОУ от перегрузок, для более ядреной защиты можно добавить диоды. Надеюсь, всем очевидно, что сопротивление резисторов R2 и R3 д.б. много больше чем R1. Чтобы защитить вход АЦП от перегрузок, желательно ОУ выбрать типа rail-to-rail с питанием от источника питания АЦП, как условно показано на схеме