Помехи между образцами АЦП с XBee и фоторезистором

Я использую модуль XBee серии 2 для выборки значений трех датчиков, фоторезистора (LDR), датчика влажности и датчика температуры (LM35). При отсутствии яркости фоторезистор имеет максимальное значение (1023), но если вокруг очень-очень темно значение то же 1023, но другие датчики начинают нестабильно давать значения больше нормы. Может быть, проблема с выборкой XBee ADC? или может быть проблема в цепи?

Модуль XBee, который я использую для выборки, использует циклический спящий режим: он просыпается в течение 100 мс и остается в спящем режиме в течение 3 минут. Я пытался использовать большее время пробуждения, например 1 с, но проблема всегда есть.

Это схема:

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Это изображение: https://dl.dropboxusercontent.com/u/9029111/IMG_4712.JPG

Я думаю, что это проблема с питанием, потому что, если я поставлю сопротивление 1 кОм рядом с R2, датчик влажности в порядке, а температура очень мало изменится, чтобы изменить яркость.

Все три датчика используют общий АЦП через мультиплексор? Если это так, попробуйте сэмплировать разные входные данные с большим промежутком времени между ними.
Пожалуйста, будьте точнее, чемgiving values ​​greater than normal
jippie, я имею в виду, что когда есть яркость, у меня есть такие значения: яркость = 300, температура = 440, влажность = 150; и это правильно; но когда нет яркости, у меня есть такие значения, как: яркость = 1023, температура = 990 и влажность = 1005. яркость правильная, потому что в темноте значение максимальное, но температура и влажность должны оставаться на своих первоначальных значениях
Энди ака, я не знаю; я использую только модуль XBee для выборки; Я подключил датчики только к контактам D0, D1 и D2 модуля XBee.
Пожалуйста, добавьте изображение вашей установки и принципиальную схему (нажмите Ctrl-M при редактировании вопроса).
Попробуйте заменить потенциометром 10 000 на рельсы для каждого из датчиков по очереди и убедитесь, что вы можете отправлять хорошие значения. Если они шумные, попробуйте добавить конденсаторы 0,1 мкФ между входами и землей, так как вам не нужно измерять высокочастотные сигналы. Также вам, вероятно, следует использовать резистор ограничения тока с вашим светодиодом, иначе вы можете перегрузить выход модуля, что может даже повлиять на его аналоговые характеристики.
Какое опорное напряжение АЦП вы используете для Xbee?

Ответы (1)

Проверьте таблицу данных для ATmega, которая находится на вашем Arduino, для «Режима шумоподавления АЦП».

Чтобы войти в любой из шести спящих режимов, бит SE в SMCR должен быть записан в логическую единицу и должна быть выполнена инструкция SLEEP. Биты SM2, SM1 и SM0 в регистре SMCR определяют, какой спящий режим (холостой ход, шумоподавление АЦП, отключение питания, энергосбережение, режим ожидания или расширенный режим ожидания) будет активирован командой SLEEP.

К сожалению, насколько я понимаю, вам придется написать свою собственную альтернативу, analogRead();поскольку стандартная библиотека, похоже, не поддерживает эту команду sleep.

Прочтите эту статью на arduino.cc, чтобы узнать подробности о сне.

Спасибо, Джиппи, но для выборки я использую не Arduino, а только модуль XBee. Этот модуль отправляет значения в Arduino с помощью XBee Shield; как вы думаете, проблема должна быть в Arduino?
Извините, я тогда неправильно понял.