Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Клавиатура на аналоговом выходе
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
ReRayne
Имеется следующая задача:
АЦП ловит сопротивление от 0 до 6кОм.
Возможная погрешность на АЦП 5%.
К АЦП подключена клавиатура из 5-ти кнопок.
Вот вопрос в следующем, никто не встречал схемы клавиатуры, которая могла бы ловить от 1 до 5-ти нажатий без фантомов и т.д.
Понятное дело, матричная в данном случае не подходит.
stells
Цитата(ReRayne @ Nov 20 2011, 22:16) *
АЦП ловит сопротивление от 0 до 6кОм.

АЦП не для этого предназначено
ReRayne
Прошу прощения за неточность.
Имел в виду в данном случае можно повесить резисторы с результирующим сопротивлением до 6кОм.
Заело уже в башке, до 6кОм, до 6кОм ^_^"
rx3apf
Цитата(ReRayne @ Nov 20 2011, 22:16) *
К АЦП подключена клавиатура из 5-ти кнопок.
Вот вопрос в следующем, никто не встречал схемы клавиатуры, которая могла бы ловить от 1 до 5-ти нажатий без фантомов и т.д.
Понятное дело, матричная в данном случае не подходит.

На каждую кнопку по резистору, с соотношением 1:2:4:8:16:32. С пятипроцентным ADC не очень это хорошо. На практике мне не доводилось встречать хорошо работающие решения, и обычно не практикуют одновременное нажатие. Видел 4 кнопки с нажатием по одной - даже там бывали сбои (правда, там "резинка" - с "резинкой про это забудьте, иначе икаться будет от пожеланий пользователей). Еще пример - Motorola CP50, тоже сделали клавиатуру на резисторах - работало хорошо только первое время, потом ошибочные срабатывания, а там опять же разрядность матрицы меньше 5 битов. Плохая идея, короче.
ReRayne
rx3apf, благодарю за ответ. Я сейчас размышляю над схемой из 1 цифрового входа, 1 цифрового выхода и дешифратора с инверсией выхода. Т.е. урезанная матричная клавиатура, только с одним рядом кнопок. Но не знаю опять же, на сколько это правильно.
Собственно изначально задание требует подключение клавиатуры из 5-12 кнопок при минимуме задействованных ножек.
rx3apf
Цитата(ReRayne @ Nov 20 2011, 23:29) *
[Собственно изначально задание требует подключение клавиатуры из 5-12 кнопок при минимуме задействованных ножек.

Дополнительные микросхемы разрешаются ? Если да,то с одним цифровым выходом уже вполне можно загружать сдвиговый регистр бегущим "0" или "1" (тактировка непосредственно, данные через интегрирующую цепочку-дискриминатор, т.е. в зависимости от длительности импульса загружаем "0" или "1"), ну а дальше - традиционно, кнопки и развязывающие диоды, а состояние можно прочитать хоть через цифровой вход, хоть через ADC. А перевод цифрового кода (кнопки) в аналоговый и оцифровка - это сильно на любителя. При четырех кнопках - я бы еще подумал (но только не с резинками, боже упаси !), но 5, а то и 12 - не, зачем искать проблемы...

Вариант - отдельный микроконтроллер на клавиатуру. Основная проблема - лишняя операция программирования при производстве.
hd44780
До 6 кнопок матрица неэффективна. Выше - эффективна. Это в плане используемых ножек.
Про алгоритмы опроса этой матрицы я не говорю.
Plain
6 кОм, очевидно, ограничение входным сопротивлением АЦП.

Вовсе не обязательно корячиться с двоичным делителем, проще поставить R-2R, где 2R могут быть последовательно два R, т.е. достаточно вообще одного номинала. Только вряд ли 18 резисторов по площади и цене будут меньше, чем какое-либо нормальное цифровое решение. Для 12 кнопок нужно никак не меньше, чем два входа 10-разрядного АЦП и два делителя на 6 входов на резисторах 0,1%.

Разрядность АЦП нигде не указана, но она никак не может быть меньше 8 бит, а под 5%, очевидно, имеется ввиду допуск опорника, и ничто другое — ну так он на эту задачу абсолютно не влияет.
Tanya
Цитата(rx3apf @ Nov 20 2011, 23:08) *
На каждую кнопку по резистору, с соотношением 1:2:4:8:16:32.
... Плохая идея, короче.

А потенциометр - хорошая идея?
Все резисторы одинаковые (4 штуки), включены последовательно. 1-я позиция - 0, вторая 25 % питания... последняя -100%.
xemul
Цитата(Tanya @ Nov 22 2011, 12:40) *
Все резисторы одинаковые (4 штуки), включены последовательно. 1-я позиция - 0, вторая 25 % питания... последняя -100%.

У ТС было пожелание
Цитата
... могла бы ловить от 1 до 5-ти нажатий без фантомов и т.д.

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

Если ТС сможет найти АЦП с погрешностью ниже 1% (как ему повезло найти АЦП с 5%?), то задача с запасом решаема на 5-тиразрядной R-2R 1% лестнице - проще взять готовую 8-разрядную.
DAV
В автомобильных магнитолах встречал на передней панели и в полупрофессиональных SVHC магнитафонах Панасоник так были сделаны дистанционные проводные пульты управления. Соединялись с магнитафоном через разъём как у наушников. А вообще в Сети статьи наши встречались с описанием всего этого. Пошукайте немного - найдёте.

Насколько помню одновременное нажатие обрабатывалось ограниченно. Там аналоговый коммутатор процессора использовался.
alexvu
Цитата(ReRayne @ Nov 20 2011, 21:16) *
ловить от 1 до 5-ти нажатий без фантомов и т.д.

Как я понимаю, автор хочет различать комбинации вплоть до 5-ти нажатых кнопок одновременно, да ещё и через (один?) аналоговый вход.
Это, как я понимаю, 32 варианта напряжений. Тогда матрица R-2R подходит, но точность 12 шт. резисторов должна быть не хуже 1%.
(2 на делитель питания (учтите, что это лишнее потребление. Или отключать - но тогда нужен ещё выход проца).

Проще всего было подключить кнопки к 5 входам процессора, если есть свободные входы.
Цитата(ReRayne @ Nov 20 2011, 21:16) *
Понятное дело, матричная в данном случае не подходит.

наверное, имелось в виду, что своб. входов нет?
alexvu
Viko, там кнопки можно нажимать только по одной, а не "до 5-ти нажатий" как хотел "заказчик".
ReRayne
rx3apf, благодарю вас, вы очень помогли =)
hd44780, от матрицы, в результате отказались, спасибо)
Plain, спасибо!) Да, под 5% имеется ввиду именно падение опорного напряжения, ибо стабилизатора нет. АЦП 12-ти битный, собственно собирается все это на Cortex M3.
Tanya, спасибо большое, очень занятная идея, но на мультинажатие не подходит(
xemul, увы, просто, нет стабилизатора напряжения, и не будет, ибо больно дорого на каждый вход вешать стаб.
DAV, спасибо =)
alexvu, к сожалению с 5-ю входами не вариант вообще. Надо именно аналог с резисторами, чтобы отличать кто в цепи замкнулся -> что сделать. Но, увы, с такой погрешностью я в 32 комбинации при всем желанию не влезу, а точность поднять никак не удастся.
ViKo, спасибо =)
xemul
Цитата(ReRayne @ Nov 24 2011, 19:36) *
под 5% имеется ввиду именно падение опорного напряжения, ибо стабилизатора нет. АЦП 12-ти битный, собственно собирается все это на Cortex M3.

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

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

Погрешность будет определяться погрешностями резисторов в делителе и погрешностями АЦП, но не опоры.
Возьмите бамажку, порисуйте формУлы - глядишь, да и получится.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.