АЦП и DEFAULT и INTERNAL
- Войдите на сайт для отправки комментариев
Чт, 08/10/2015 - 09:02
/*НЕОБХОДИМО В loop переключать опорное напряжение АЦП но не получается, опорное 5вольт не переключается на 1.1 вольта пока не забаниш строку 15, изменения delay ни как не влияет на результат. */ float analogPin2=2;// ввод LM335 N2 float analogPin3=3;// ввод LM335 N2 int r1=0, r=0; void setup() { Serial.begin(9600);//монитор IDE } void loop() { analogReference(DEFAULT);// опорное АЦП 5 вольт delay(200); r1=((analogRead (analogPin3)*(5.0/1023*100))-270.5)*100;// СЧИТЫВАЕМ С LM335 Serial.println(analogRead (analogPin3)); Serial. print(" 335 TEMPER. BAKA MGNOBENNO A3 5v : "); Serial.println(r1); analogReference(INTERNAL);// опорное АЦП 1.1 вольт delay(200); r=(analogRead (analogPin2)*(1.1/1023*100)+29.7)*100;// СЧИТЫВАЕМ С LM335 Serial.println(analogRead (analogPin2)); Serial. print(" 335 TEMPER. BAKA MGNOBENNO A2 1.1v : "); Serial.println(r); }
12
Я бы начал с того что для описания номера пина не использовал тип float.
#define analogPin2 2
#define analogPin3 3
А на 3 порт всегда идет напряжение порядка 5 вольт? Если так могут быть плохие последствия...
А в 8 строке как раз float нужно :)
НАПРЯЖЕНИЯ НА АНАЛОГОВЫЕ ВХОДЫ ПАДАЮТСЯ ЧЕРЕЗ РЕЗИСТОРЫ ПОРЯДКА 50кОм. так что повреждения портов маловероятны.
float analogPin2=2 можно записить и так float x=2 и соответственно
r=(analogRead (x)* ну и т.д. в стоке 8 int просто убирает лишние цифры, так как
этот скетч всего лиш маленький кусочек из большой программы.
Уважаемый dimax использую Вашу прогу shumodav но не могу добиться
корректной работы - при значительном измененни входного сигнала первый
отсчет всегда неверен. но это было небольшое отступление от темы.
Я так думаю что дело здесь не типах переменных, а в чём-то другом, повторюсь
если баниш строчку 15 АЦП переходит на внутреннее опорное 1.1 вольта и нормально
работает с входными сигналами, а если строку 15 открываеш включается опорный источник 5 вольт и всё
АЦП тоже работает нормально но уже с разрешением то точности 4,9 мВ.
Не знаю, что вам подсказать. У меня этот алгоритм использован всего в одном изделии в качестве вольтметра. Никаких скачков на нём не наблюдал.