Обсуждаем контроллеры компании Atmel.
Ответить

Как увеличить кратность АЦП

Чт ноя 23, 2006 01:32:07

Увеличится ли точность\кратность при уменьшении опорного напряжения в 10 битных АЦП (таких как в mega'х и др.)?
Насколько я понял он измеряет примерно по 5mV при Aref=5V, а мне нужно хотя бы по 2mV, в диапазоне 20...60 mV.

Re: Как увеличить кратность АЦП

Чт ноя 23, 2006 06:25:28

Tohey писал(а):Увеличится ли точность\кратность при уменьшении опорного напряжения в 10 битных АЦП (таких как в mega'х и др.)?
Насколько я понял он измеряет примерно по 5mV при Aref=5V, а мне нужно хотя бы по 2mV, в диапазоне 20...60 mV.


Поробую объяснить все подробно (может кому еще пригодится).

Итак. Точность не увеличится.
Увеличится дискретизаця напряжения (то есть на один вольт будет приходится больше разрядов), НО уменьшится диапазон.

Диапазон измерения АЦП - это разница между максимальным и минимальным входными напряжениями, измеряемыми АЦП Umax-Umin.

Точность - определяется ТОЛЬКО количеством разрядов. tochnocst(%)=100%/2^N, где N - количество разрядов АЦП.

Таким образом, если тебе надо 2mV, то делаешь Aref=2B и все. Но следует учесть, что при этом максимальное напряжение, которое ты можешь измерить - всего 2Вольта, а не 5 Вольт. Для твоей конкретной задачи вполне подходит.

Если же тебе необходимо повысить точность и сохранить диапазон, то нужно прибегать к усреднениям. Точность возрастает пропорционально корню из числа усреднений. То есть, если надо повысить точность на 1 двоичный разряд, то есть в ДВА раза - надо усреднять выборки по 4штуки, если на два разряда (в 4 раза) - то усредняем по 16 выборок, 3 разряда (8 раз) - 64 выборки и так далее.

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

Чт ноя 23, 2006 13:39:10

Спасибо, начинаю догонять. 8)
А возможно ещё приподнять землю АЦП? То есть снимать напряжение не с нуля а начиная с 20mV (20mV=0x00 и т.д...)?
И ещё вопросик, в каких случаях необходимо усиливать входящий сигнал c помощью 3х битов MUX?

Чт ноя 23, 2006 13:43:14

Tohey писал(а):А возможно ещё приподнять землю АЦП? То есть снимать напряжение не с нуля а начиная с 20mV (20mV=0x00 и т.д...)?
Сколько угодно. В микроконтроллерах специально даже землю делят - аналоговая, цифровая.

Чт ноя 23, 2006 13:50:46

То есть для этого существует нога AGND?

Чт ноя 23, 2006 13:55:56

нннефакт, что можно приподнять землю, просто подав смещение на аналоговую землю. Земли в контроллерах делятся вовсе не для разнопотенциальных соединений, а просто потому, что на кристалле топологией обе земли не соединить без ухудшения характеристик. То есть обе земли соединяются снаружи корпуса АЦП или ЦАП с соблюдением правил разводки земли.

Чт ноя 23, 2006 14:04:43

Земля у нас имеется сигнальная - т.е. нулевой потенциал для сигналов и защитная. Отсюда "0" - это довольно условное значение.
Относительно чего его измерять.
Если дальше идти в лес, то ещё надо вспомнить про выравнивание потенциалов, т.к. разные земли (особенно для разнесённых в пространстве устройств) могут оказаться под различными потенциалами, да так, что их (потенциалов) разность десятков кВ достичь может :shock: Хотя, конечно, Ржавый прав - в первую очередь аналоговую и цифровую землю в МК делят именно в целях помехоустойчивости. (Также как сильноточную и слаботочную и т.д. и т.п.)

Вт ноя 28, 2006 01:32:14

:o УРА! Я решил эту проблему и попробую ответить на свой вопрос (пол дня потерял мля, раз 20 документацию прочитал).
Когда вызывается ADC CC прерывание, то все др. прерывания аппаратно запрещаются, пока не прочитается регистр ADCH. В моём случае приходится после чтения младшего регистра читать старший, что бы разрешились прерывания.

adcc:
in r16, ADCL
in r17, ADCH ; без этой строчки у меня всё зависало
; и я не мог обработать r16
...
...
reti
[/quote]
8)

Чт ноя 30, 2006 16:31:17

Кстати точность можно повысить, используя 2 АЦП, один для грубого измерения, другой для точного, и ЦАП для смещения.
Ответить