Может ли это работать как настройка входа АЦП и является ли это распространенным явлением?


8

Будет ли это работать? Я уверен, что теоретически это должно быть, но я не вижу это часто или вообще. Теоретически, делитель напряжения от 2: 1 до 1: 2 должен давать 3,3 В на одном конце и 1,6 В на другом конце, что дает АЦП широкий диапазон для работы. И если кнопка нажата, R1 + RV будет действовать как макс. 20 тыс. Подтягиваний, поэтому линия будет уменьшена до 0 В, что может быть закодировано АЦП для распознавания как уникального события, позволяющего существовать и кнопке, и банку. на том же входном выводе, позволяя АЦП служить обеим целям.

Входной пин-код сохраняется без каких-либо существенных изменений кода, так как АЦП уже опрашивается для банка.

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

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

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


3
Это будет работать нормально. Возможно, добавьте небольшой конденсатор через коммутатор, чтобы обойти всплески колебаний в горшке и обеспечить некоторую защиту при использовании коммутатора.
Аниндо Гош

Не совсем то же самое, но посмотрите на эту принципиальную схему и попробуйте найти что-то, что выглядит знакомо: sainsmart.com/zen/documents/20-011-901/schematic.pdf
jippie

@jippie нет, я знаю о резистивных лестницах как о нескольких кнопках, это довольно часто (радиоуправление на рулевом колесе автомобиля, встроенное управление ipod / iphone). В частности, я использую горшок и кнопки на том же АЦП, о котором я спрашивал, я никогда его не видел.
Прохожий

2
Таким образом, вы жертвуете некоторым разрешением при чтении позиции банка. Это может быть вполне приемлемым, в зависимости от вашего приложения и характера элемента управления, который, по мнению пользователя, он поворачивает.
RBerteig

1
Вы могли бы идентифицировать второй переключатель, тянущий вход на VCC, если нет шансов, что оба переключателя нажаты одновременно. Таким образом, декодирование одной аналоговой настройки и двух взаимоисключающих замыканий переключателей с одним входом АЦП не является плохим, и может быть полезным трюком в микро с низким количеством выводов. Подумайте о позиции с жесткими концевыми выключателями на каждом конце. Тогда они механически эксклюзивны и даже соответствуют аналоговому сигналу.
RBerteig

Ответы:


6

Да, это должно работать, хотя есть некоторые проблемы, на которые следует обратить внимание.

Сложность в том, что вы должны быть осторожны, чтобы обнаруживать и игнорировать переходы между уровнем переключателя 0 В и уровнем банка. Некоторые из них будут выглядеть как действительные уровни банка, поэтому вам нужно принять во внимание несколько выборок, чтобы решить, является ли реальный уровень банка или просто промежуточным напряжением при повороте между переключателем и банком. Имейте в виду, что реальные переключатели отскакивают, так что это сложнее, чем вы, возможно, представляете. Одна вещь, которую вы знаете о действующем напряжении, это то, что оно не может измениться так быстро. Это должно помочь отсеять промежуточные показания.

Другая проблема заключается в том, что вы не можете прочитать банк, когда переключатель нажат. С этой настройкой вы ничего не можете сделать. То, имеет ли это значение, зависит от системы, а также от значения положения кастрюли и нажатого переключателя.

Я не могу сказать, делается ли это «часто» или нет. Вклады банка сами по себе необычны, но, конечно, они существуют. Чтобы эта схема имела смысл, у вас должна быть система, которая нуждается как в кнопке, так и в непрерывной настройке от пользователя, и где вы действительно не хотите тратить лишнюю булавку. Если это разница между подключением к 28-контактному микро или к использованию 44-контактного микро, я бы, наверное, сделал это. Если бы у меня остались другие штифты, я бы не стал этого делать, потому что лучше сохранять сложность на низком уровне. Отдельные контакты для банка и кнопки будут проще и, следовательно, менее вероятны ошибки в прошивке.


2

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

У меня не было банка, но у меня был двухрезисторный делитель для уменьшения входного напряжения (это было на ATxmega, у которого максимальный вход АЦП 2/3 Vcc), и переключатель, чтобы тянуть вход на земля.

Я думаю, что это будет работать нормально.

Одна вещь, которую вы, вероятно, должны иметь в виду, это то, что кнопка не может полностью вас остановить . В зависимости от сопротивления переключателя у вас все еще может быть несколько милливольт на входе, поэтому не следует полагать, что нажатие кнопки приводит к значению АЦП 0, а скорее к значению АЦП <~ 10 отсчетов или около этого ( проверить это!)


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

2

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

Нашел подробное примечание к приложению на эту самую вещь. Не просто переключатели, а переключатели плюс банк на одном входе АЦП. PDF версия с графикой

введите описание изображения здесь

Статья содержит формулы (и электронную таблицу Excel 2007 для автоматизации) о том, как выбирать резисторы смещения и резистор, хотя пример кода для микроконтроллера больше не доступен.

Ограничение этой техники заключается в том, что вы не можете одновременно нажимать более одной кнопки. Кроме того, микроконтроллер может считывать положение потенциометра только тогда, когда вы не нажимаете какие-либо другие кнопки. В этом примере показано, как использовать две кнопки, но количество кнопок может варьироваться. Входные диапазоны доступны для 10 кнопок и одного потенциометра, каждый из которых имеет один и тот же входной контакт (Рисунок 2). Хотя расчетные диапазоны не перекрываются и являются уникальными, сомнительно, что ваше оборудование АЦП может надежно различать эти полосы при любых обстоятельствах. Выбор меньших значений резистора удерживает эти полосы дальше, создавая больший защитный диапазон.

Использование этой техники с четырьмя кнопками и одним потенциометром вполне оправдано. Экспериментирование с электронной таблицей помогает быстро определить правильные значения последовательного резистора для каждого переключателя и его выходного диапазона.

Hackaday комментарий Тема на это приложение к сведению .

Более одной кнопки в одном и том же выводе - это тоже хороший ресурсный вопрос.


Разработанная нами встроенная система использует кодированные напряжения для идентификации большинства своих кнопок, следуя примеру, установленному в эталонном проекте для SOC в своей основе. Много ключей, один контакт GPIO. Работает довольно хорошо, поскольку все кнопки физически отделены друг от друга, и у пользователя нет причин пытаться нажимать более одной кнопки одновременно.
RBerteig

1

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

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

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


1
И это, скорее всего , причина , это не что объединяет. Но если у вас есть ручка и переключатель (нажмите на вал, чтобы войти?), Это позволит считывать оба с одного контакта.
RBerteig

@RBerteig Я совершенно забыл об этих типах комбинированных банков / переключателей, когда спрашивал об этом. Это очень подходящее приложение.
Прохожий

@PeterBennett, когда вы говорите, что аналоговые входы датчиков могут быть заземлены, или аналоговые источники не могут быть заземлены, вы можете объяснить / объяснить это? В моем конкретном случае это обычный ввод АЦП MCU, который не должен иметь никаких проблем с получением прямого входа VCC или Gnd.
Прохожий

@Passerby: Если выход датчика, который совместно использует вход АЦП с кнопкой, переходит на землю (или близко к ней), ваша программа не сможет различить показания датчика низкого уровня и нажатие кнопки, и не сможет обнаружить нажатие кнопки, когда выход аналогового датчика низкий. Если аналоговый датчик имеет выход «полюс тотема» или другой выходной каскад с низким импедансом, он может выпустить волшебный дым, когда кнопка нажимает низкую линию.
Питер Беннетт

@PeterBennett, так что это только проблема, если я разделяю этот вход АЦП между кнопкой / другим датчиком? Если я только делаю вышеупомянутую комбинацию порта / кнопки, это не должно быть проблемой, верно?
Прохожий

1

Это должно работать. Но вы могли бы сделать это лучше, поэтому я сомневаюсь, что это распространено.

  1. Предполагая, что у вас есть АЦП полного диапазона (от 0 до 5 В), уменьшение R1 и R2 увеличит ваш динамический диапазон и, следовательно, разрешение положения потенциометра. Конечно, вы не можете уменьшить R2 до нуля, или вы потеряете отчетливость активации коммутатора.

  2. Это не так мало энергии, как могло бы быть. Если вы можете позволить себе керамический конденсатор, скажем, 10 нФ, для подключения через коммутатор, вы можете легко увеличить свои резисторы в 10 или даже 100 раз, соответственно уменьшив энергопотребление. Конденсатор также поможет повысить точность и воспроизводимость за счет фильтрации нижних частот напряжения, видимого АЦП, и обеспечения источника напряжения с низким импедансом. И, наконец, он отключит переключатель (вы, вероятно, знаете, что почти все механические переключатели демонстрируют отскок контактов, быстро замыкая и разрывая контакт несколько раз при работе один раз, что требует отключения программного или аппаратного обеспечения). Как указывалось ранее, такой конденсатор также важен для получения четко определенного поведения при повороте потенциометра, поскольку это может привести к переходным процессам, по крайней мере, в виде периодически высокого импеданса.

    Конечно, с таким конденсатором, C * R будет вашей постоянной времени (поэтому, если вы хотите (1-e) ^ 3 точности в течение 0,1 с после отпускания переключателя, вам лучше остаться ниже комбинации 10 нФ и 3 Мега- ом ...)

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

  4. Вы можете включать ненужные компоненты: для чего нужен R1 (при условии, что ваш входной диапазон АЦП идет до положительной шины)?Если R1 предполагается ограничить максимальное выходное напряжение , чтобы вписаться в ваш диапазон АЦП, то почему не потенциометр питается от опорного напряжения на уровне или близко ниже положительного АЦП рельсу? Для этого потребуется резистор для ограничения тока на выходе потенциометра, но это будет лучше. Поскольку такое аналоговое напряжение питания можно легко сделать намного более стабильным, чем напряжение питания ИС (которое, как я предполагаю, символизирует ваша батарея 5 В), вы можете получить меньше технических помех в преобразованиях АЦП.

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


1
Пункт 4 неверен. R1 служит необходимой цели, которая заключается в ограничении тока источника питания, когда переключатель нажат, а регулятор находится на своем верхнем значении. Без R1, переключатель замкнул бы источник питания, когда горшок находится на вершине.
Олин Латроп

Вы правы! Я стою исправлено. Я еще не уверен, как спасти остальную часть пункта 4, но да, не все это правильно, как сейчас.
пирамиды

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

Я отменил отрицательный голос, потому что вы исправили вопиющую ошибку. Тем не менее, я все еще не согласен. Это лучше , чтобы оставить в верхней части R1 подключено к тому же источнику , питающему A / D , потому что делает логометрическое измерение с предложением. Когда аналого-цифровой и резисторный делитель цепи используют одни и те же опорные напряжения, изменения этого напряжения компенсируются.
Олин Латроп

Спасибо. При пропорциональной конфигурации +5 В является подходящим опорным напряжением, и удаление R1 не меняет этого. Но это помогает, используя преимущества большего диапазона все еще относительной настройки. Единственный возможный недостаток состоит в том, что R2 и Rv имеют совершенно разные температурные коэффициенты. Тогда исходная схема отменяет эффект, если и только если потенциометр установлен точно на 50%. Но эффект очень маленький, и, как уже говорилось, это, ну, в любом случае, компенсация работает только для одной настройки потенциометра.
пирамиды

1

Я бы не рекомендовал делитель напряжения по одной причине:

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

Например, если вы настроите резисторы и емкость 50-50%, при подключении устройства оно будет составлять 49-51%. Он не изменится слишком сильно из-за высокого импеданса АЦП, но вы потеряете точность. Я имею в виду, вы можете увидеть АЦП в качестве другого резистора, который изменит эквивалентное сопротивление.

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

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


Не означает ли это, что любое использование горшка с АЦП будет иметь такую ​​неточность?
Прохожий

Не только из-за емкости, потому что сам АЦП имеет импеданс, и если вы подключите его к делителю Вольтажа, отношение изменится, потому что это будет похоже на параллельный резистор с R2.
Chirry
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.