Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Собрать 64 сигнала в кучу
Форум разработчиков электроники ELECTRONIX.ru > Аналоговая и цифровая техника, прикладная электроника > Вопросы аналоговой техники
eav1978
Нужно отслеживать нажатие 64-х кнопок. Кнопки нажимаются не чаще 1 раза в 2 секунды. Ничего кроме этой схемы в голову не приходит. У кого-нибудь есть соображения на эту тему?Нажмите для просмотра прикрепленного файла
anton
а чем не нравится матричная клавиатура 8Х8.
zltigo
Цитата(anton @ Jun 24 2007, 09:37) *
а чем не нравится матричная клавиатура 8Х8.

Тем, что там не клавиатура smile.gif а, например, 64 герконовых датчика расхода воды.
eav1978
zltigo прав, матрицей соединить нельзя. А кто-нибудь работал с такой схемой? Как здесь насчет дребезга контактов?
zltigo
Цитата(eav1978 @ Jun 24 2007, 12:07) *
Как здесь насчет дребезга контактов?

А что меняется для контакта от схемы его включения? Сканирование и подавление софтом, как обычно.
Adlex
Цитата(eav1978 @ Jun 24 2007, 01:22) *
Нужно отслеживать нажатие 64-х кнопок. Кнопки нажимаются не чаще 1 раза в 2 секунды. Ничего кроме этой схемы в голову не приходит. У кого-нибудь есть соображения на эту тему?Нажмите для просмотра прикрепленного файла


Таки там кнопки. Простейший проц или СПЛД и матрица 8х8. Все зависит что дальше делать с информацией о нажатой кнопке.
eav1978
Цитата(Adlex @ Jun 24 2007, 18:04) *
Таки там кнопки. Простейший проц или СПЛД и матрица 8х8. Все зависит что дальше делать с информацией о нажатой кнопке.

Есть некая панель, на ней в разных местах расположены кнопки. Нажатие кнопок отслеживается и при нажатии какой либо кнопки включается или отключается соответствующее устройство. Над кнопками расположены светодиоды, которые сигнализируют о включенном устройстве. Соединить кнопки матрицей не представляется возможным.
Kaligooola
Может я не сильно разобрался с принципом действия этой микросхемы, но на выход ее может передаваться последовательный сигнал сопоставимый с присутствием на прарллельных входах, или на последовательном.
Таким образом последовательное соединение последовательных выходов на последовательный вход следующей микросхемы буде давать последовательный код, одинаковый для всех восьмерок контактов, и на выходе не возможно будет разобрать откуда ноги растут.
Ответ на вскидку, но это мое мнение.
Существуют шестнадцатиричные преобразователи параллельные 16 сигналов преобразуют в 4-х битный паралельный двоичный код (8 в 3) (74*148, 74*150 по-моему, я у Philips'a находил) и этот код нужно с четырех микросхем преобразовывать в последовательный.
MaslovVG
Цитата(zltigo @ Jun 24 2007, 11:16) *
Тем, что там не клавиатура smile.gif а, например, 64 герконовых датчика расхода воды.

Поставь последовательно с каждым контактом диод и можешь отслеживать любое количество одновременно сработавших датчиков. Или если все датчики имеют общий провод, елемент 2и-не с открытм коллетором и выбирай столбцы единицами.
Adlex
Цитата(eav1978 @ Jun 24 2007, 18:04) *
Есть некая панель, на ней в разных местах расположены кнопки. Нажатие кнопок отслеживается и при нажатии какой либо кнопки включается или отключается соответствующее устройство. Над кнопками расположены светодиоды, которые сигнализируют о включенном устройстве. Соединить кнопки матрицей не представляется возможным.


Почему не представляется возможным? Просветите меня темного
SunnyDevil
Поставьте ПЛИС. Там же внутри и обработку и все остальное сделайте. 1000 ножек хватит?
sensor_ua
Если матрица годится, то часто это оптимальный вариант. Пушпульные выходы нужно отделять диодами - давно пришёл к выводу, что проще поставить вместо горсти диодов 4052 - "выход" которого сажу обычно на общий - получается 8 OpenDrain. Что касается диодов в матрице - это другой вопрос
EvgenyNik
Для таких целей, действительно, часто используют кодеры 16 в 4 или 8 в 3, т.к. тратить ПЛМ/ПЛИСовские ножки только на эти цели дорого. А потом уже ПЛИСку с меньшим числом ножек.
Встречал однажды "безумный" :-) , но интересный вариант с трёх-(или четырёх - точно не помню) проводной линией опроса большого числа удалённых контактов. У каждого контакта стоял маленький PIC-контроллер. В целом всё работало практически по I2C.
Igvolt
Цитата(eav1978 @ Jun 24 2007, 19:04) *
Есть некая панель, на ней в разных местах расположены кнопки. Нажатие кнопок отслеживается и при нажатии какой либо кнопки включается или отключается соответствующее устройство. Над кнопками расположены светодиоды, которые сигнализируют о включенном устройстве. Соединить кнопки матрицей не представляется возможным.


Предлагаю такой жульнический, но выгодный с точки зрения количества элементов вариант. Всем делом управляет контроллер. Делается матрица 8х8. Кнопки включаются последовательно со светодиодами через токоограничительные резисторы. Столбцы подключаются через 8 МОП транзисторов, чтобы дать нужный ток для светодиодов. Строки – через диоды. В состоянии между опросами транзисторы открыты. Теперь, если сделать период опросов малым, но много больше времени опроса, то мигание светодиодов никто не заметит. Если будут использованы светодиоды с рабочим напряжением более 2В, то рекомендую каждую цепь светодиод - резистор ещё дополнительно шунтировать резистором, ну там, 5.1К для обеспечения нужных логических уровней.
rezident
Не любую "кнопочную" схему можно объединить в матрицу. Особенно когда нужно определять независимо нажатие каждой кнопки.
Могу предложить некоторое подобие "резисторного ЦАП". Контакты через резисторы по схеме R2R и аналоговый мультиплексор подключаются к аналоговому входу (АЦП) МК. В зависимости от протяженности линии, уровня наводок и точности измерения АЦП на одну линию можно до 8 контактов посадить. У нас есть рабочее решение когда с использованием 0,5% резисторов на вход измерительного канала 0-20мА подключалось по 4 контакта от удаленного контролируемого объекта.
Если учесть что есть МК со встроенным мультиплексором на 8 каналов, то теоретически можно все 64 контакта подключить к одному МК. Вопрос только в том, что это за контакты, как далеко они удалены от устройства сбора данных и не нуждаются ли они в гальванической изоляции друг от друга?
Igvolt
Цитата(rezident @ Jun 27 2007, 22:02) *
Не любую "кнопочную" схему можно объединить в матрицу. Особенно когда нужно определять независимо нажатие каждой кнопки.


Здесь я с Вами не соглашусь: если включить кнопки через диоды, то можно определять состояние каждой кнопки матрицы независимо от остальных.
Описание
Цитата
Всем делом управляет контроллер. Делается матрица 8х8. Кнопки включаются последовательно со светодиодами через токоограничительные резисторы. Столбцы подключаются через 8 МОП транзисторов, чтобы дать нужный ток для светодиодов. Строки – через диоды.

проиллюстрирую на примере матрицы 2x2 со светодиодами, подтверждающими включение.
Ну и конечно,
Цитата
В состоянии между опросами транзисторы открыты. Теперь, если сделать период опросов малым, но много больше времени опроса, то мигание светодиодов никто не заметит.
rezident
Ага. Понятно что вы предлагаете. Дешифратор с ОК (ОС) на линиях сканирования и монтажное ИЛИ на линиях считывания. Да, так наверное прокатит.
P.S. кстати, пример с четырьмя кнопками не совсем удачный. Проще каждую кнопку на свою линию посадить и сэкономить 4 диода, 4 резистора и самое главное 4 полевика! smile.gif
Igvolt
Цитата(rezident @ Jun 28 2007, 00:43) *
P.S. кстати, пример с четырьмя кнопками не совсем удачный. Проще каждую кнопку на свою линию посадить и сэкономить 4 диода, 4 резистора и самое главное 4 полевика! smile.gif


Согласен, но 2х2 это только для примера, 8х8 рисовать лень было. Принцип и так понятен. Для 8х8 целесообразность очевидна – 64 ноги не напасёшься.

P.S. В схеме с прямым подключением 4 кнопок экономятся 2 транзистора и 2 резистора. wink.gif
IceS
Цитата(eav1978 @ Jun 24 2007, 02:22) *
Нужно отслеживать нажатие 64-х кнопок. Кнопки нажимаются не чаще 1 раза в 2 секунды. Ничего кроме этой схемы в голову не приходит. У кого-нибудь есть соображения на эту тему?

Именно на 74HC165 и делал, только не кнопки опрашивал, а 32 датчика (сухой контакт / напряжение 24В).
CLK_INH можно бросить на землю. Микрухи соединяются каскадно и подключаются на аппаратный SPI.
Для кнопок надо будет подтяжку сделать. Если считывать кнопки не чаще 20мс, то про дребезг можно забыть (можно время опроса увеличить что бы уж наверняка). Удобно на них гальвано развязку делать контроллера от кнопок, всего 3/4 линии надо развязать smile.gif .
На счет ПЛИС - получается дороже, причем на порядок wink.gif, а ПЛИСину еще програмировать надо, но тут надо по системе смотреть.
MaslovVG
Цитата(rezident @ Jun 28 2007, 00:43) *
Ага. Понятно что вы предлагаете. Дешифратор с ОК (ОС) на линиях сканирования и монтажное ИЛИ на линиях считывания. Да, так наверное прокатит.
P.S. кстати, пример с четырьмя кнопками не совсем удачный. Проще каждую кнопку на свою линию посадить и сэкономить 4 диода, 4 резистора и самое главное 4 полевика! smile.gif

Более компактный вариант
Последовательно с каждым светодиодом или кнопкой пульта включи оптрон.
Выходные транзисторы оптронов с последовательным диодом включи в матрицу.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.