Коррелированный сигнал от двух датчиков в одной цепи
У меня есть датчик уровня воды/влажности и диод LDR, подключенный к Arduino вот так (резистор 10 кОм)
- На
A0
я могу считывать сигнал датчика воды (синий) - На
A1
я могу считывать сигнал от датчика освещенности (желтый)
Проблема в том, что оба сигнала коррелируют. Когда я опускаю датчик воды в воду и поддерживаю уровень освещенности одинаковым, сигнал от света также увеличивается (резко).
Я подозреваю, что это связано с законом Ома. Напряжение в цепи зависит от общего сопротивления цепи. Оба датчика действуют как своего рода резисторы, поэтому при изменении сопротивления одного из них меняется и напряжение в цепи.
Как подключить датчики так, чтобы изменение сопротивления любого датчика не влияло на второй? Или мне нужен отдельный источник питания для каждого датчика?
@Robin Nemeth, 👍1
Обсуждение1 ответ
Лучший ответ:
Если я нашел тот же датчик влажности, то у него довольно большое выходное сопротивление, а максимальное входное сопротивление для входа ADC
составляет 10 кОм
. Согласно паспорту рекомендуемая минимальная нагрузка на датчик составляет около 80 кОм
(?). Это означает, что на показания датчика влажности будет сильно влиять начальный заряд конденсатора выборки (= значение предыдущего показания).
По сути, считывание GND
между показаниями датчика помогает отделить результаты друг от друга, но датчик влажности не сможет зарядить конденсатор выборки до выходного напряжения без усиления тока (вы получить значения намного ниже, чем должно быть).
Или можно повторить показания по каналу датчика влажности несколько раз, пока значение не станет более «стабильным».
- Какова работа pulseIn?
- Сколько датчиков может поддерживать один модуль Arduino?
- Получение BPM из данного кода
- DS18B20 дает высокие показания. Как заставить его вернуть правильную температуру?
- Какой тип разъема использует система GROVE?
- Улавливают ли ультразвуковые датчики прозрачные материалы?
- Как подключить более 10 датчиков к Arduino uno r3
- В чем разница между акселерометром, гироскопом и датчиком магнитометра?
правильно ли подключен датчик освещенности? не должен ли резистор подключаться к земле?, @Juraj
Я получаю какой-то сигнал, так что, думаю, это (строка 37), @Robin Nemeth
Вы можете попробовать считать другой канал между ними, подключив его к земле, чтобы разрядить конденсатор выборки., @KIIV
@KIIV Я не уверен, что понимаю (все еще изучаю жаргон). Ты имеешь в виду подключение простого резистора к GND и
A3
(так же, как подключен LDR). и читатьA0
(вода) ->A3
(разряд) -->A1
(свет)?, @Robin NemethДа, почти. Но вы можете замкнуть A3 на землю напрямую. И последовательность будет такой: A3 (разряд), A0 (вода), A3 (разряд), A1 (свет). Теперь не должно быть перекрестных помех между A0 и A1, так как он начинает измерение на полностью разряженном конденсаторе. Теперь это будет зависеть только от выходного сопротивления датчиков., @KIIV
> закоротить A3 на землю напрямую Вы имеете в виду перемычку от ряда 45 GND к A3 напрямую? Просто чтобы убедиться, @Robin Nemeth
https://electronics.stackexchange.com/questions/213851/arduino-analogread-neighbor-pin-noise-on-adc-even-with-big-delay, @Juraj
Я все еще думаю, что проблема в подтягивающем резисторе., @Juraj
Я отключил все это и переделал с нуля. Это не работало изначально, поэтому я подключил A3 к GND напрямую и считывал значение с него. Затем я отключил
A3-GND
, и, кажется, все работает отлично даже без него. Спасибо вам обоим! @Juraj, если вы скомпилируете совет по A3-GND в ответ, я с радостью приму его, так как это, по-моему, помогло, @Robin Nemeth@KIIV знал, что делать, ответ его, @Juraj
конечно (извините @KIIV !) просто поменял местами два имени. Спасибо вам обоим в любом случае, @Robin Nemeth