Шум АЦП arduino и atmega8 ?
- Войдите на сайт для отправки комментариев
Вс, 17/02/2013 - 21:06
Здравствуйте! Решил собрать вольтметр. Схема простая - делитель напряжения на резисторах. Приснятии показаний с делителя наблюдается сдедущая картина: напряжение на входе постоянное(мультметр вроде не врет, показания не скачут), при преобразовании в цифру и вывод на экран, напряжение начинает "скакать" на младших разрядах. Т.е. на входе 9,65 В, а ардуино говорит что либо 9.65В ,либо 9,73В, или 9,54В. Как избавиться?
#include <LiquidCrystalRus.h> LiquidCrystalRus lcd(12, 11, 5, 4, 3, 2); int analogInputVolts = A5; float vout = 0.0; float vin = 0.0; float v_select = 0.0; float amps = 0.0; int v_reg = 0; float R1 = 10200.0; // resistance of R1 float R2 = 2040.0; // resistance of R2 float V5 = 5.00; // Arduino supply int readVoltsADC = 0; void setup(){ lcd.begin(16, 2); pinMode(analogInputVolts, INPUT); // 9600, 14,400, 19,200 or 38,400 available on the ByVac LCD. // Arduino recommend no higher than 9600. // Send 'CR' for the LCD to establish the speed. } float fmap(float x, float in_min, float in_max, float out_min, float out_max) { return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; } void loop() { readVoltsADC = analogRead(analogInputVolts); readVoltsADC = readVoltsADC + analogRead(analogInputVolts); readVoltsADC = readVoltsADC / 2; vout = (readVoltsADC * V5) / 1023.0; vin = vout / (R2/(R1+R2)); lcd.setCursor(0, 0); lcd.print("Voltage "); lcd.setCursor(9, 0); lcd.print(vin); delay(500); lcd.clear(); i=0; } }
Прочитал, что может быть виновато опорное напряжение. Или на вход АЦП ставить конденсаторы?
У меня такой же делитель работает нормально. Как то вы данные пребразуете не так.
5/1024*входящее значение* коэффициент деления внешнего делителя.
Мультиметр усредняет побольше, а у вас всего по двум значениям усредняется. Сделайте по 10 зачениям.
И естественно, VCC скачет + к тому же у вас наверняка и дисплей подключен к +5V. Поставьте резистор R2 меньшего номинала и включите внутренний источник опорного напряжения 1,1 вольта. Либо нужно подключать внешний ИОН.
Поставьте резистор R2 меньшего номинала и включите внутренний источник опорного напряжения 1,1 вольта.
Atmel гарантирует попадание внутреннего опорного напряжения в диапазон 1.0 - 1.2 В - и не более того (таблица 28-7 даташита, Internal Voltage Reference Min-Typ-Max). Т.е. в подобном варианте необходимо считаться с возможностью погрешности до 10%. В случае топикстартера это +/- 1 В.
Тогда, остается только внешний ИОН.
Столкнулся с проблеммой выбора внешнего ИОН.
Посоветуйте ИОН до 2-3 баксов за штуку, что то вроде MC1403 с Output Voltage: 2.5 V 25 mV или лучше.
Напряжение нужно от 2.5В до 5В
Под эти требования попадает и старый добрый TL431A с точностью 1%. Стоит он вообще копейки. Если хочется чего-то позабористей, то я бы посмотрел на LM4040. С буквой "А" у него точность 0.1%.
TL431A уже есть, хочется что то поточнее. Спасибо, попробую LM4040A.
Тем временем я провел небольшое исследование:
Mикросхемы опорного напряжения:
Наименование Напряжение Допуск
LT1021DCN 5 +-0.05%
LH0070 10.000 -+0.02%
ICL8069 1.2 +-0.01%
LM9140BYZ 2.5 +-0.5%
LM9140BYZ 5 +-0.5%
REF02CN8 5 +-0.3%
TL431C 2.5-36 +-1% 30ppm/C
LT1431CZ 5 +-1%
LM336 2.5 +-1%
LM336 5 +-1%
ZN404 2.45 +-3%
А какие будут рекоммендации по тестированию разных МС ИОН?
Я встречал в правильных устройствах на всех цифровых портах микроконтроллера висели между выводом и внешней нагрузкой резисторы 100-240 Ом - специально чтобы уменьшить токи при переключении состояния вывода и таким образом уменьшить ВЧ помехи, ну и естественно, тактовая частота была минимально возможная.
Я думаю на время теста вообще все входы (кроме одного аналогового) не использовать и посадить на землю, а МК запитать от литиевой батарейки 18650 4.2В, отсчеты записать в ОЗУ и уже после завершения теста подключать последовательный порт и передать их на компьютер
Immortal, помнится я тоже собирался прикупить какой-то дорогой ион, кажется max6225a , и использовать его для калибровки изготавливаемых девайсов, но потом купил такую штуку, и успокоился) С ней даже удобнее, несколько напряжений на выбор.