АЦП и DEFAULT и INTERNAL

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

   /*НЕОБХОДИМО В 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);
}

 

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

12

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Я бы начал с того что для описания номера пина не использовал тип float.

#define analogPin2  2
#define analogPin3  3

nevkon
Offline
Зарегистрирован: 20.01.2015

А на 3 порт всегда идет напряжение порядка 5 вольт? Если так могут быть плохие последствия...

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

А в 8 строке как раз float нужно :)

oleg_kazakof
Offline
Зарегистрирован: 24.04.2015

НАПРЯЖЕНИЯ НА АНАЛОГОВЫЕ ВХОДЫ ПАДАЮТСЯ ЧЕРЕЗ РЕЗИСТОРЫ ПОРЯДКА 50кОм. так что повреждения портов маловероятны.

float analogPin2=2  можно записить и так float x=2 и соответственно

r=(analogRead (x)* ну и т.д. в стоке 8 int просто убирает лишние цифры, так как

этот скетч всего лиш маленький кусочек из большой программы.

Уважаемый dimax использую Вашу прогу shumodav но не могу добиться

корректной работы - при значительном измененни входного сигнала первый

отсчет всегда неверен. но это было небольшое  отступление от темы.

Я так думаю что дело здесь не типах переменных, а в чём-то другом,     повторюсь

если баниш строчку 15 АЦП переходит на внутреннее опорное 1.1 вольта и нормально

работает с входными сигналами, а если строку 15 открываеш включается опорный источник 5 вольт и всё

АЦП тоже работает нормально  но уже с разрешением то точности 4,9 мВ.

 

 

 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

oleg_kazakof пишет:
использую Вашу прогу shumodav но не могу добиться корректной работы - при значительном измененни входного сигнала первый отсчет всегда неверен.

Не знаю, что вам подсказать. У меня этот алгоритм использован всего в одном изделии в качестве вольтметра. Никаких скачков на нём не наблюдал.