Перейти к содержанию
    

Резистивные кнопки

Всем привет!

 

Встала задача "нюхать" нажатия не разисторных кнопках. Ну это такие кнопочки, в которых та или иная кнопка определяется номиналом резистора. По сути надо измерять сопротивление.

Вариант измерения пока один: АЦП и построение делителя напряжения.

Но вот вопрос, а как бы так сделать, чтобы было максимально универсально? Ну машины разные и сопротивления резисторов в кнопках разное, да ладно разные сопротивления, разные порядки, есть кнопки с десятками ом, а есть и десятки КилоОм.

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

использовать проц из семейства AVR с АЦП на борту.

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

Что скажите? Или есть более простой или изящный способ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет!

 

Встала задача "нюхать" нажатия не разисторных кнопках. Ну это такие кнопочки, в которых та или иная кнопка определяется номиналом резистора. По сути надо измерять сопротивление.

Вариант измерения пока один: АЦП и построение делителя напряжения.

Но вот вопрос, а как бы так сделать, чтобы было максимально универсально? Ну машины разные и сопротивления резисторов в кнопках разное, да ладно разные сопротивления, разные порядки, есть кнопки с десятками ом, а есть и десятки КилоОм.

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

использовать проц из семейства AVR с АЦП на борту.

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

Что скажите? Или есть более простой или изящный способ?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что скажите? Или есть более простой или изящный способ?
Скажу, что для начала нужно определиться

а) с типами кнопок - что за кнопки с сопротивлением в десятки килоОм? :cranky: Десятки килоОм это типовое значение для утечки изоляции при расчетах, а вы собираетесь распознавать нажатия кнопок при таких условиях?

б) со схемой подключения кнопок - "весовые" резисторы, матрица R-2R, последовательное включение в цепочку и т.д;

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

г) с необходимостью распознавания одновременного нажатия нескольких кнопок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По моему мнению задача сформулирована не верно

В аппаратуре где на один вход подключается N-ное

количество кнопок с сопротами измеряется не сопротивление

подключенное через кнопку, а напряжение с делителя

созданное этой кнопкой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да какая разница сколько кОм резисторы, хоть 1к, 10к, 100к... они всегда создают делитель напряжения. Ваша задача обеспечить что бы все разнообразие сопротивлений кнопок делилось на фиксированном напряжении- например 5в. тогда на вход АЦП будут приходить просто разные значения в интервале от 0 до 256. Нужно будет указать какому значению какая кнопка соответствует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да все относительно просто :), у меня в таком девайсе просто стоит 2 источника тока (просто подтяжки :) ) на все варианты сопротивлений. При настройке юзер просто нажимает все кнопки без разбора, а софт уже сам определяет какой источник подходит для этих сопротивлений исходя их максимального динамического диаппазона (читай - отличающихся кодов с АЦП с учетом допуска на разброс).

http://www.hvi.od.ua/index.php?option=com_...ul&Itemid=7

 

p.s. еще не забудьте один момент, есть кнопки у которых по умолчанию в отжатом состоянии присутствует "фоновое" сопротивление. Его тоже надо "отсеять" при настройке :)

 

В общем прочитайте инструкцию на этот девайс и возможно некоторые вопросы прояснятся.

http://www.hvi.od.ua/instr/CIR-309U_full.pdf

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...