Ethernet Shield W5100 искажает данные с датчиков

Blitzed
Offline
Зарегистрирован: 18.03.2021

Всем привет!

Собрал простую схему из датчика температуры TMP36GZ и фоторезистора на макетной плате. Втыкаю в Ардуину, запускаю порт-плоттер (красный цвет – температура, синий – фоторезистор). На голой Ардуине работает как надо (в плоттере отсчёты от 0 до 140). Выдёргиваю из работающей Ардуины макетку (плоттер 140-270) и втыкаю через шилд W5100 (плоттер от 270 до конца) – в итоге слегка завышает значения фоторезистора и в разы повышает температуру. Скетч всё это время крутится один и тот же.

Отчего могут быть такие изменения в сигнале и что с этим делать?

01int photocellPin = 1;
02int TMP36GZPin = 0;
03int photocell;
04float temp;
05 
06void setup()
07{
08  Serial.begin(115200);
09}
10 
11void loop()
12{
13  photocell = analogRead(photocellPin);
14  temp = (analogRead(TMP36GZPin)*5.0/1024-0.5)*100;
15  Serial.print(photocell);
16  Serial.print(' ');
17  Serial.print(temp);
18  Serial.println(' '); 
19  delay (100);
20}

 

sadman41
Offline
Зарегистрирован: 19.10.2016

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

Blitzed
Offline
Зарегистрирован: 18.03.2021

Ок. Благодарю за совет!

 

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

sadman41 пишет:
срут по питанию в АЦП

Фильтры по цепям питания могут помочь? Или это все обречено? Интересуюсь для себя. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

BOOM пишет:

Фильтры по цепям питания могут помочь? 

Может и могут, если их (фильтры) готовить уметь. У меня не получилось :-(

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

BOOM пишет:

sadman41 пишет:
срут по питанию в АЦП

Фильтры по цепям питания могут помочь? Или это все обречено? Интересуюсь для себя. 

А эти фильтры - куда? Свой дополнительный шилд между Ардуиной и используемым шидлом? Просто интересуюсь.

sadman41
Offline
Зарегистрирован: 19.10.2016

На плате VCC чипа соединена с AVCC by design. Так что без уничтожения Ардуины, как конструктива, не обойтись.
А ежели разведете свою плату, то можно уже и фильтров насовать.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

sadman41 пишет:
На плате VCC чипа соединена с AVCC by design.
Вот всегда интересно было почему? В даташите же там индуктивность между ними и конденсатор на землю. Чё ж они на даташит-то плюнули?

sadman41
Offline
Зарегистрирован: 19.10.2016

Я уже даже и подзабыл, насколько там всё запущено

 

ЕвгенийП пишет:

sadman41 пишет:
На плате VCC чипа соединена с AVCC by design.
Вот всегда интересно было почему? .... Чё ж они на даташит-то плюнули?

 

У меня только одно объяснение - на момент утверждения рефренсной схемы создатели не предполагали, что на ардуинах начнут космолёты строить. Светодиодом поморгать, попищать там, потенциометр померять - это да. А чтобы веб-сервера строить... Поэтому схемотехника была упрощена настолько, насколько это возможно.

UPD.

Вот, кстати, на продвинутых "ардуинах" в области 18-го вывода (ввода) МК наблюдается и конденсатор керамический и ещё какая-то черная деталюка. Диод-не диод... может и дроссель.