Делители напряжения и АЦП

13

Я хочу прочитать напряжение от 0-30 В с MCU ADC, который имеет максимальный вход 3 В.

Первоначально я думал об использовании делителя 100 кОм (то есть 33 В переводится в 3 В), но в соответствии с ответами на входной импеданс АЦП на микроконтроллерах это добавит 3% -ную ошибку из-за тока утечки на входе; Я ищу максимум 0,5% ошибки. Однако при более низких значениях делителя я рискую повредить входы MCU из-за перенапряжения (резисторы действуют в тандеме с зажимными диодами на входе.) Я также увеличиваю рассеяние мощности в моих резисторах, которые представляют собой крошечные устройства 0603, рассчитанные на 0,063 Вт максимум. Как я могу избежать этого? nb входное сопротивление не критично.

Меня не беспокоит скорость выборки, она будет следить за напряжением батареи со скоростью не более 100 выборок в секунду.

Томас О
источник
ты построил предыдущий? 3% был наихудшим случаем, основанным на наихудшем случае утечки, если вы не нажмете много, вы можете откалибровать их.
Кортук
Кортук, как вы думаете, я мог бы отрегулировать один из резисторов на 3% или обработать его программно (масштаб на 1,03x?)
Томас О
Вы говорите, что хотите высокую точность, низкое энергопотребление при очень небольших дополнительных затратах. Не уверен, что это возможно. Вы можете выполнить калибровку в программном обеспечении, как упомянул Кортук, но в потрясающем процессе, который требует времени, что равняется деньгам.
Kellenjb
В любом случае, управление входом АЦП MCU с большим сопротивлением - это плохо. Это увеличивает время установления и вызывает искажения и т. Д. "АЦП оптимизирован для аналоговых сигналов с выходным сопротивлением приблизительно 10 кОм или менее. Если используется такой источник, время выборки будет незначительным. Если источник с более высоким импедансом время выборки будет зависеть от того, как долго источник должен заряжать конденсатор S / H, и может широко варьироваться. Пользователю рекомендуется использовать только источники с низким импедансом и медленно меняющимися сигналами, поскольку это минимизирует требуемую передачу заряда к шапке S / H "
эндолит

Ответы:

10

Используйте делитель напряжения с резисторами, а затем усилитель-усилитель. В качестве альтернативы используйте схему операционного усилителя для снижения напряжения, и вы можете выполнить фильтрацию псевдонимов за один этап!

smashtastic
источник
+1 используйте операционный усилитель с коэффициентом усиления 0,1 и
удвойте
Я не могу позволить себе операционный усилитель. К сожалению, мне не хватает места. Я могу позволить себе буферную интегральную схему, если она достаточно мала и доступна с 8 каналами.
Томас О
Обычно вы просто покупаете крошечный операционный усилитель и подключаете его в качестве буфера. national.com/mpf/LM/LMC7111.html SOT23 слишком большой?
эндолит
О, вы хотите 8 каналов.
эндолит
1
Использование резисторов высокой точности уменьшит ошибку делителя напряжения, вторая проблема заключается в передаче этого сигнала в АЦП. Вот где будут возникать неточности, отсюда и предложение использовать буфер.
smashtastic
14

Хорошо, из вашего ответа на мой комментарий, я думаю, что могу помочь с полным ответом.

Построить это!

Создайте свой простой резистивный делитель. Это имеет много преимуществ, для одного размера, другой является стоимость.

Охарактеризуйте это!

Теперь вы также собираетесь использовать микроконтроллер, здесь вам нужно охарактеризовать вашу ошибку. используйте очень точный генератор напряжения, теперь проверьте напряжение и посмотрите, какую ошибку на самом деле измеряет ОК.

Проанализируйте это!

Теперь, когда это становится забавным. Есть ряд вещей, которые вы можете измерить.

Тщательность и точность

Самая важная вещь для измерения здесь, если ошибка в точках повторяется. Если каждый раз, когда вы сканируете, вы получаете другую ошибку, или если ваша проверка по другому пути выдает другую ошибку в той же точке, это не вариант. Это часто происходит с токами утечки. Важной частью здесь является то, что вам не нужна высокая точность, просто высокая степень точности. Если вы можете охарактеризовать свою ошибку, ваш ОК может исправить ее. Если у вас большая разница, вам нужно изменить решение.

Что такое калибровка точки X?

Теперь, если у вас есть высокая точность, как обсуждалось ранее, вы можете перейти к коррекции точности. Теперь, если вы будете строить график зависимости вашего входного напряжения от выходного напряжения, вам нужно будет решить, какое количество «контрольных точек» вам нужно. Хорошие устройства допускают 1 точку (или нулевую точку, нет необходимости в калибровке). Много температурных зондов.

Калибровка по одной точке

Обе линии имеют одинаковый наклон, но смещение, поэтому вам просто нужно найти значение, которое вы должны добавить к точке данных, чтобы исправить ее. Это идеальная ситуация, поскольку для любой новой калибровки требуется только одна точка данных для повторной калибровки.

Двухточечная калибровка

Обе линейные кривые, возможно смещение и разница наклона, вам нужно только две опорные точки и линейная интерполяция, чтобы извлечь ваше смещение. Это все еще относительно просто, вы просто берете любую точку, умножаете ее на скаляр и добавляете смещение.

Как видите, чем больше очков вам нужно, тем сложнее. В какой-то момент легче просто взять каждую точку данных и соотнести ее с фактическим значением. Например, обнаружение, что 0000 равно 1 В, 0001 равно 2 В, 0002 равно 1,5 В. Это грязно, и это все еще работает, только если смещения повторяются. Это может случиться, хотя.

Подводя итог

Я надеюсь, что это поможет, скажите мне, если вам нужно больше ясности. Если в результате вы получите переменный ток утечки, который не является надежным, пришло время просто решить проблему с буфером или чем-то подобным.

Я вижу возможность высокой ошибки из-за утечки, но я бы поспорил, что ошибка относительно мала на большей части диапазона, и когда она там есть, ее можно легко исправить.

Kortuk
источник
1
Как примечание: это похоже на тонну работы, но на самом деле это относительно небольшой объем работы, чтобы снизить стоимость компонентов.
Кортук
хороший комментарий! блестящий способ сделать это в программном обеспечении. Ваш последний метод поиска таблицы, вероятно, лучший метод. Единственным недостатком является ПЗУ, которое он потребляет, но для 8-10-битного АЦП на MCU это должно быть выполнимо.
smashtastic
Это зависит от данных, у меня много разных случаев, 1-точечной калибровки было достаточно. Просто смещение. А затем встроенное оборудование для автоматической калибровки окупается.
Кортук