Прерывание из - за использования термопар с ОУ и аналоговых входов ардуино мега

Roman2344
Offline
Зарегистрирован: 09.09.2015

Собственно есть три термопары ТК-100-3М(продаются с 3м провода, я оставил по 0,5м. сам спай защищён металлической колбой), далее стоит 3 ОУ для термопар AD8495(для термопар типа К) выход 5мВ/С, далее имеется три аналоговых входа ардуино Мега(на Атмеге 2560), программно включён ИОН на 1,1В, измерять нужно температуру до 160градусов, проблема в том что ардуина перезагружается(происходит фактически внешнее прерывание) при разряде от зажигалки с пьезой или если кто снимет шерстяной свитр, или кто вилку в розетку включит, и оно так не всегда происходит но довольно часто, оно по идее понятно так как у термопары К-типа на выходе 4мкВ/С, а далее ОУ с Ку на 122, но ОУ то заточен для термопары , и на входе и выходе ОУ стоят фильтра из RC-цепочек, Ку не регулируется у данного ОУ(он внтури уже сделан для темопары типа К то есть 122), проблема в том что осциллографом всплеск я словить не могу на выходе ОУ(соответственно на аналоговом входе ардуины).

Думаю может быть поставить на аналоговых входах ардуины защитные диодные сборки, типа как в мобилах и планшетах ставят от статического электричества, или просто по два диода последовательно а потом встречно - паралельно. Ну и как я понимаю саму ардуину нужно экранировать ?

Или быть может лучше применить датчик с налоговым входом LM35? У него уже якобы ОУ внутри и на выходе 10мВ на градус? 

Roman2344
Offline
Зарегистрирован: 09.09.2015

Модуляцию - демодуляцию я делать не собираюсь, цифровой датчик тоже не выход так как температура на одной термопаре доходит до 151 градуса, даже LM35 вдруг что через пластину придётся лепить(это самая главная термопара) что бы снизить температуру, вторая термопара отслеживает температуру около 400градусов. Происходят прерывания по аналоговым входам Ардуины. 

Duino A.R.
Offline
Зарегистрирован: 25.05.2015

Насколько я понимаю, дело не в виде термодатчика, а в пролезании импульсных помех общего вида от внешних источников (пьезо, свитер). В таких случаях помогает комплекс мероприятий. Дело обычно муторное, вплоть до подключения к настоящему заземлению.

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Roman2344 пишет:

Собственно есть три термопары

Схему можете показать?

 

Roman2344
Offline
Зарегистрирован: 09.09.2015

Вообщем ситуация с термопарами и ОУ почти решилась, но выяснил я что у меня же ещё разрешены два дополнительные внешние  прерывания PCINT, так вот когда эти ноги на общем проводе то всё нормально, а как на них стандартно резисторы 10кОм на общем(то есть теоретически лог.0) или высокий уровень 5В то тут проблемы, происходят прерывания . При этом аналоговые входа я посадил на общий провод. Как так, экранировать ардуину? У кого - то были такие проблемы?

Roman2344
Offline
Зарегистрирован: 09.09.2015

Нашёл в чём проблема. Есть вторая ардуина на которой написан такой вод код.

int razrab; //светодиод 1
 int i=0;  
const int r=0; 
  int Lamp=5;

void buttoncontrol()

{

i=i+1; //увеличивает счетчик кнопки на 1, можно так ledState++ , но мне не удобно.
    if (i==2){i=0;}//если счетчик достиг предела положений то его надо обнулить.
}
//функция все светодиоды выключены
void OFF()
{delay(40);
 razrab=0;
}

//функция все светодиоды включены
void ON()
{delay(40);
 razrab=1;
}
void setup() {
  
   pinMode(Lamp, OUTPUT);
   attachInterrupt(0, buttoncontrol, RISING); 
}
void loop() {
  switch (i)
{
 case 0:
 OFF();//выключено
 break;
 case 1:
 ON();//включено
 break;
case 2:
 OFF();//включено
 break;
}

  if(razrab==0){
    delay(40);
    digitalWrite(Lamp,0);
    }
     if(razrab==1){
      delay(40);
    digitalWrite(Lamp,1);
    }
  }

 

Так вот проблема в том что этот счётчик срабатывает при разряде пьезо зажигалки, либо когда снимаешь свитр на выходе появляется лог.1, и это при том что вход прерывания(2 нога Ардуины Уно притянута к земле через 10кОм).  Нужно код что ли другой применить?

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

2 нога Ардуины Уно притянута к земле через 10кОм

А первая притянута через 10Ком?