Считанное значение не меняется при вращении потенциометра в Arduino?
Я пытаюсь считать напряжение с помощью AnalogRead в Arduino Uno из схемы делителя напряжения, состоящей из резистора 1k и потенциометра 10k. Используемый банк - bourns 3296. Полученные значения находятся в диапазоне от 1011 до 1023? Почему счет больше не уменьшается, если я поворачиваю банк?
(это то, как я подключил схему, но потенциометр тот, который я упомянул выше, я не смог найти такой в программе, но я сделал подключение только таким образом)
int analogPin = A0;
// переменная для хранения прочитанного значения
float val = 0;
void setup() {
Serial.begin(9600); // установить серийный номер
}
void loop() {
Serial.println(val); // читаем входной пин
val = analogRead(analogPin); // значение отладки
}
Поскольку потенциометр сам по себе является делителем напряжения, я попытался подключить в соответствии с ответом концы потенциометра 10 кОм к 5 В и земле, а контакт ползунка к аналоговому контакту A0. Новая схема показана ниже, но я все еще не могу получить значение в диапазоне от 0 до 1023. Возвращаемые значения варьируются только в диапазоне от 1010 до 1023. Что происходит не так? Как получить полный ассортимент?
@Megh, 👍0
Обсуждение2 ответа
Потенциометр сам по себе является делителем напряжения. Внешние контакты подключены к концам полоски резисторов. Средний штифт соединен со скребком, который может скользить по полосе, разделяя полосу на 2 части. Итак, вы подключаете его, как описано в начале вашего скетча (до последнего редактирования): внешние контакты к 5V и земле соответственно, а средний контакт к аналоговому входу. (При использовании этого в разных схемах имейте в виду, что вы не должны получать слишком большой ток от среднего вывода. Не подключайте нагрузку напрямую от него. Аналоговый вход потребляет очень небольшое количество, так что это абсолютно не проблема.)
Добавляя постоянный резистор последовательно с потенциометром, вы добавляете только зону нечувствительности, которую нельзя установить с помощью схемы.
для чего нужны эти делители напряжения с потенциометрами?
Только потенциометр: потенциометры в основном используются для задания уставки, напряжения, контролируемого пользователем, которое может считываться микроконтроллером или использоваться непосредственно для управления другой электроникой.
С дополнительным резистором: вы можете установить дополнительный резистор на стороне высокого напряжения, чтобы еще больше снизить напряжение. Например, если вам по какой-либо причине приходится использовать более высокое напряжение для делителя напряжения, чем может выдержать микроконтроллер. Вы можете рассчитать значение резистора, чтобы напряжение на аналоговом выводе никогда не превышало допустимые пределы. Но этот сценарий должен быть очень редким. Я никогда не сталкивался с такой ситуацией.
Я выполнил соединения, как вы сказали, но возвращаемое значение варьируется только от 1010 до 1023. Что не так?, @Megh
Покажите, пожалуйста, электрическую схему новой ситуации. Вы можете добавить его в свой вопрос, отредактировав его. Пусть исходный вопрос останется прежним, чтобы другие могли следовать ему и учиться на нем позже. Просто добавьте новую информацию внизу вопросов., @chrisl
Ответ не решил проблему, поэтому вы можете снять флажок, пока он не решит проблему., @chrisl
Хорошо, я не могу оставить комментарий (< 50), поэтому...
Используйте эту ссылку, чтобы узнать о контакте AREF на Arduino, возможно, это не ваша проблема, но в любом случае полезно знать об этом: что такое ссылка на arduino adc?
Ваш горшок МОЖЕТ быть разбит. Измерьте сопротивление горшка с помощью омметра от центрального контакта до любого из боковых контактов. Убедитесь, что когда вы поворачиваете его, сопротивление изменяется от 10K до 0.
Вы также можете измерить напряжение, которое он подает на Arduino, измерив напряжение, которое он подает на контакт A0. Убедитесь, что напряжение постепенно изменяется от +5 до 0, когда вы поворачиваете его вперед и назад.
Вы указали электродвигатель как "bourns 3296", который в технических характеристиках указан как "многооборотный / металлокерамический / промышленный / герметичный".
Просто чтобы вы знали, когда вы настраиваете его, вам придется повернуть его на 25 оборотов, чтобы полностью отрегулировать его во всем диапазоне. В техническом паспорте указано «Эффективный ход.........25 оборотов ном.»
- Не получая никакого выхода от датчика ЭКГ AD8232
- Почему чтение на ESP32 читает max, когда чтение на UNO читается точно?
- Нестабильные показания аналогового датчика
- Шум на пьезо-аналоговом чтении из-за источника питания Arduino
- игнорирование изменений значения потенциометра
- Потенциометр отображает только аналоговое значение напряжения 1023 в proteus
- Замените несколько потенциометров кнопками и одиночными потенциометрами.
- Помогите совместить цифровой и аналоговый код в программировании ардуино
И код, который вы используете, пока работаете над ним. Проблема, вероятно, в цепи делителя, но все же полезно взглянуть на все это., @Chad G
Потенциометр сам по себе является делителем напряжения. Вам не нужен дополнительный резистор 1 кОм., @chrisl
@chrisl Я пытаюсь смоделировать датчик, который работает при напряжении 5 В в качестве делителя напряжения. Так могу ли я просто использовать горшок? В большинстве моделей, которые я видел, вместе с горшком используется резистор. Пожалуйста подтвердите., @Megh
Да, вам нужен только горшок. Подключите его, как описано в начале вашего эскиза. Горшок представляет собой полосу резисторов, разделенную средним дворником., @chrisl
ок, еще один вопрос, тогда для чего служат эти делители напряжения с потенциометрами?, @Megh
@chrisl Это для случаев, когда нам действительно нужно снизить напряжение, например, при использовании микроконтроллеров, работающих, скажем, на 3,3 В?, @Megh