Будет ли резистор сопротивлением 100 кОм, подключенный к земле, понизить сопротивление открытой аналоговой линии до 0?

analogread resistor voltage-divider

У меня есть проект, в котором фоторезистор подключен к делителю напряжения и подключен через «стерео мини-разъем» 3,5 мм. Когда в мини-разъеме ничего нет, аналоговая линия представляет собой разомкнутую цепь и плавает, создавая неустойчивые ложные показания.

Я хотел бы подключить понижающий резистор к коробке проекта, чтобы связать его с землей, чтобы я получал нулевое показание, когда датчик освещенности не подключен, но хочу изменить показания напряжения с делителя напряжения моего фотодатчика. контур как можно меньше.

Если я подключу резистор сопротивлением 100 кОм между моим аналоговым входом и землей, это даст мне нулевые показания на аналоговом выводе, когда фотодатчик не подключен, не так ли? Я не понимаю, как < 20 см провода калибра 26 уловят достаточно помех, чтобы поднять мой аналоговый вывод от 0 через резистор сопротивлением 100 кОм.

Каков эффективный диапазон аналогового контакта на Arduino? (Мега 2560, если это имеет значение). Какое минимальное напряжение будет выше 0?

(Коробка проекта становится переполненной, поэтому экспериментировать становится сложнее. Я бы хотел внести одно изменение, а не пробовать разные значения резисторов.)

, 👍0

Обсуждение

Для тех, кто голосовал за то, чтобы закрыть вопрос, не касаясь Arduino, почему это не касается Arduino? Мой вопрос касается поведения аналоговых контактов на Arduino Mega., @Duncan C

Мне кажется, это нормально. Я бы, наверное, даже выбрал более высокое значение. Вам придется провести расчеты относительно того, как это повлияет на показания фоторезистора. ПС. Во многих розетках 3,5 мм есть переключатели, позволяющие определить, подключено ли что-то. Вы можете использовать один из этих переключателей для подключения аналогового контакта напрямую к земле, если ничего не подключено. Или вы можете подключить его к цифровому выводу, и программное обеспечение будет игнорировать аналоговый вход., @Gerben


2 ответа


Лучший ответ:

1

Я ожидал, что понижение на 100 000 успокоит A/D, но мне действительно придется это попробовать. Я думаю, что тестирование его на голой плате, за пределами вашего проекта, все равно даст вам полезную информацию. Но я бы набросал схему предлагаемого делителя напряжения с параллельным понижением напряжения и провел расчеты, чтобы убедиться в том, какое влияние это окажет на ваши измерения. Вы можете игнорировать это или исправить это.

Каков эффективный диапазон аналогового контакта на Arduino?

0 - (1023/1024)*Vref, независимо от того, какое опорное напряжение, 1,1 В, 2,56 В или Vcc, подается на вывод Vref, вы выбрали.

(Mega 2560, если это имеет значение) Какое минимальное напряжение будет зарегистрироваться выше 0?

Appx (Vref * 2^-11), т. е. 1/2 младшего разряда 10-битного АЦП.

Обновление:

Это выбор перемычки?

Нет, это программируемо; внешний Vref сбрасывается по умолчанию. См. гл. 25 из таблицы данных 2560 для подробностей низкого уровня; Ссылка на функцию Arduino.cc для analogReference() функция для быстрого & грязные инструкции. Не забывайте выполнять и отбрасывать измерения каждый раз, когда вы меняете эталонное значение.

,

Это выбор перемычки? (Я ничего не менял в заводских настройках моего Arduino.) Судя по тестам, которые я проводил при сборке делителя напряжения, оказалось, что он считает 5 В максимальным, чего я и ожидал., @Duncan C

Спасибо за подробный ответ. (проголосовали). У меня внутри коробки есть 4-канальное реле 5 В (оптически изолированное), которое переключает розетки 120 В переменного тока с током до 10 А, а также будет управлять импульсным электромагнитом 9 В (который будет находиться снаружи корпуса) с током около 200 мА, но Arduino и его маломощные компоненты, реле и электромагнит имеют отдельные источники питания. Поэтому внутри коробки может быть изрядное количество электромагнитных помех., @Duncan C


1

При подключении к GND резистора сопротивлением 100 кОм не гарантируется, что значение будет равно нулю. Если подключен (серво)двигатель, он может издавать некоторый шум.

Понижающий резистор может иметь любое значение, поскольку можно рассчитать значение фоторезистора.

Есть альтернативное решение. Я думаю, что все аналоговые контакты Arduino Mega 2560 также являются цифровыми. Вы можете использовать pinMode(A0,INPUT_PULLUP);, чтобы поднять входной сигнал на высокий уровень. Когда подключен фоторезистор, вы можете отключить внутренний подтягивающий резистор с помощью pinMode(A0,INPUT);.

,

Повторю свой комментарий к ответу Дж.Роберта: у меня внутри коробки есть 4-канальное реле 5 В (оптически изолированное), которое переключает розетки 120 В переменного тока при токе до 10 А, а также будет управлять импульсным электромагнитом 9 В (который будет находиться снаружи корпуса) с ток около 200 мА, но Arduino и его маломощные компоненты, реле и электромагнит имеют отдельные источники питания. Поэтому внутри коробки может быть изрядное количество электромагнитных помех., @Duncan C

Я попробовал это с резистором 100 кОм, и, конечно же, когда реле активны и управляют нагрузками переменного тока, аналоговый вход все равно создает шум. На самом деле это очень похоже на шум частотой 60 Гц. Я думаю, мне нужен резистор меньшего номинала и просто отрегулировать более низкое напряжение на моем аналоговом входе., @Duncan C

@DuncanC вы используете среднее значение нескольких образцов? Часто это делается для снижения шума. Однако шум около нуля вольт не будет в среднем равняться нулю, а будет усредняться до положительной части шума выше нуля., @Jot

Я не занимаюсь усреднением **пока**. Мне эта идея (изменение программного обеспечения) нравится больше, чем открывать коробку и заменять резистор., @Duncan C

Усреднение было хорошей идеей. Это работает хорошо. Спасибо за предложение. Я должен был подумать об этом., @Duncan C