|
Клавиатура на аналоговом выходе, Схема не пробегала? |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Nov 20 2011, 19:08
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(ReRayne @ Nov 20 2011, 22:16)  К АЦП подключена клавиатура из 5-ти кнопок. Вот вопрос в следующем, никто не встречал схемы клавиатуры, которая могла бы ловить от 1 до 5-ти нажатий без фантомов и т.д. Понятное дело, матричная в данном случае не подходит. На каждую кнопку по резистору, с соотношением 1:2:4:8:16:32. С пятипроцентным ADC не очень это хорошо. На практике мне не доводилось встречать хорошо работающие решения, и обычно не практикуют одновременное нажатие. Видел 4 кнопки с нажатием по одной - даже там бывали сбои (правда, там "резинка" - с "резинкой про это забудьте, иначе икаться будет от пожеланий пользователей). Еще пример - Motorola CP50, тоже сделали клавиатуру на резисторах - работало хорошо только первое время, потом ошибочные срабатывания, а там опять же разрядность матрицы меньше 5 битов. Плохая идея, короче.
|
|
|
|
|
Nov 20 2011, 20:12
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(ReRayne @ Nov 20 2011, 23:29)  [Собственно изначально задание требует подключение клавиатуры из 5-12 кнопок при минимуме задействованных ножек. Дополнительные микросхемы разрешаются ? Если да,то с одним цифровым выходом уже вполне можно загружать сдвиговый регистр бегущим "0" или "1" (тактировка непосредственно, данные через интегрирующую цепочку-дискриминатор, т.е. в зависимости от длительности импульса загружаем "0" или "1"), ну а дальше - традиционно, кнопки и развязывающие диоды, а состояние можно прочитать хоть через цифровой вход, хоть через ADC. А перевод цифрового кода (кнопки) в аналоговый и оцифровка - это сильно на любителя. При четырех кнопках - я бы еще подумал (но только не с резинками, боже упаси !), но 5, а то и 12 - не, зачем искать проблемы... Вариант - отдельный микроконтроллер на клавиатуру. Основная проблема - лишняя операция программирования при производстве.
|
|
|
|
|
Nov 22 2011, 08:25
|
Гуру
     
Группа: Участник
Сообщений: 6 776
Регистрация: 5-03-09
Из: Москва
Пользователь №: 45 710

|
6 кОм, очевидно, ограничение входным сопротивлением АЦП.
Вовсе не обязательно корячиться с двоичным делителем, проще поставить R-2R, где 2R могут быть последовательно два R, т.е. достаточно вообще одного номинала. Только вряд ли 18 резисторов по площади и цене будут меньше, чем какое-либо нормальное цифровое решение. Для 12 кнопок нужно никак не меньше, чем два входа 10-разрядного АЦП и два делителя на 6 входов на резисторах 0,1%.
Разрядность АЦП нигде не указана, но она никак не может быть меньше 8 бит, а под 5%, очевидно, имеется ввиду допуск опорника, и ничто другое — ну так он на эту задачу абсолютно не влияет.
|
|
|
|
|
Nov 22 2011, 09:17
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Tanya @ Nov 22 2011, 12:40)  Все резисторы одинаковые (4 штуки), включены последовательно. 1-я позиция - 0, вторая 25 % питания... последняя -100%. У ТС было пожелание Цитата ... могла бы ловить от 1 до 5-ти нажатий без фантомов и т.д. Я понял его как необходимость распознавания одновременно нажатых кнопок. Если ТС сможет найти АЦП с погрешностью ниже 1% (как ему повезло найти АЦП с 5%?), то задача с запасом решаема на 5-тиразрядной R-2R 1% лестнице - проще взять готовую 8-разрядную.
|
|
|
|
|
Nov 22 2011, 12:24
|
Профессионал
    
Группа: Свой
Сообщений: 1 172
Регистрация: 14-11-11
Из: Москва
Пользователь №: 68 299

|
Цитата(ReRayne @ Nov 20 2011, 21:16)  ловить от 1 до 5-ти нажатий без фантомов и т.д. Как я понимаю, автор хочет различать комбинации вплоть до 5-ти нажатых кнопок одновременно, да ещё и через (один?) аналоговый вход. Это, как я понимаю, 32 варианта напряжений. Тогда матрица R-2R подходит, но точность 12 шт. резисторов должна быть не хуже 1%. (2 на делитель питания (учтите, что это лишнее потребление. Или отключать - но тогда нужен ещё выход проца). Проще всего было подключить кнопки к 5 входам процессора, если есть свободные входы. Цитата(ReRayne @ Nov 20 2011, 21:16)  Понятное дело, матричная в данном случае не подходит. наверное, имелось в виду, что своб. входов нет?
|
|
|
|
|
Nov 24 2011, 15:36
|

Участник

Группа: Участник
Сообщений: 25
Регистрация: 12-10-11
Из: Москва
Пользователь №: 67 699

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