www.diagram.com.ua
www.diagram.com.ua
Русский: Русская версия English: English version
Translate it!
Поиск по сайту

+ Поиск по журналам
+ Поиск по статьям сайта
+ Поиск по схемам СССР
+ Поиск по Библиотеке

Бесплатная техническая библиотека:
Все статьи А-Я
Энциклопедия радиоэлектроники и электротехники
Новости науки и техники
Архив статей и поиск
Ваши истории из жизни
На досуге
Случайные статьи
Отзывы о сайте

Справочник:
Большая энциклопедия для детей и взрослых
Биографии великих ученых
Важнейшие научные открытия
Детская научная лаборатория
Должностные инструкции
Домашняя мастерская
Жизнь замечательных физиков
Заводские технологии на дому
Загадки, ребусы, вопросы с подвохом
Инструменты и механизмы для сельского хозяйства
Искусство аудио
Искусство видео
История техники, технологии, предметов вокруг нас
И тут появился изобретатель (ТРИЗ)
Конспекты лекций, шпаргалки
Крылатые слова, фразеологизмы
Личный транспорт: наземный, водный, воздушный
Любителям путешествовать - советы туристу
Моделирование
Нормативная документация по охране труда
Опыты по физике
Опыты по химии
Основы безопасной жизнедеятельности (ОБЖД)
Основы первой медицинской помощи (ОПМП)
Охрана труда
Радиоэлектроника и электротехника
Строителю, домашнему мастеру
Типовые инструкции по охране труда (ТОИ)
Чудеса природы
Шпионские штучки
Электрик в доме
Эффектные фокусы и их разгадки

Техническая документация:
Схемы и сервис-мануалы
Книги, журналы, сборники
Справочники
Параметры радиодеталей
Прошивки
Инструкции по эксплуатации
Энциклопедия радиоэлектроники и электротехники

Бесплатный архив статей
(500000 статей в Архиве)

Алфавитный указатель статей в книгах и журналах

Бонусы:
Ваши истории
Викторина онлайн
Загадки для взрослых и детей
Знаете ли Вы, что...
Зрительные иллюзии
Веселые задачки
Каталог Вивасан
Палиндромы
Сборка кубика Рубика
Форумы
Голосования
Карта сайта

ДИАГРАММА
© 2000-2022

Дизайн и поддержка:
Александр Кузнецов

Техническое обеспечение:
Михаил Булах

Программирование:
Данил Мончукин

Маркетинг:
Татьяна Анастасьева

Перевод:
Наталья Кузнецова

Контакты

При использовании материалов сайта обязательна ссылка на https://www.diagram.com.ua

сделано в Украине
сделано в Украине

Диаграмма. Бесплатная техническая библиотека

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека для любителей и профессионалов

Подключение большого числа кнопок к одному входу микроконтроллера

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Радиолюбителю-конструктору

Комментарии к статье Комментарии к статье

Идея предлагаемого решения была изложена в [1]. Суть его - в подключении максимального числа контактных датчиков (герконов, кнопок) к микроконтроллеру с использованием минимального числа его выводов. Реализована эта идея с помощью универсального таймера КР1441ВИ1. Время-задающая RC-цепь таймера составлена из конденсатора и набора резисторов, соединенных последовательно с каждой кнопкой. Определенной замкнутой кнопке соответствует своя частота следования генерируемых таймером импульсов, которую и измеряет микроконтроллер [2].

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

Подключение большого числа кнопок к одному входу микроконтроллера
Рис. 1. Схема конструкции

Предлагаемое техническое решение, схема которого показана на рис. 1, свободно от этих недостатков. Таймер КР1441ВИ1 структуры КМОП (аналог LMC555) работает в автоколебательном режиме со скважностью импульсов 2 [3]. В этом режиме период повторения импульсов равен

T = 2·ln2·C·R,

где C и R - соответственно емкость и сопротивление элементов времязадающей цепи. При C = C1 и R = R1·N, состоящем из N (по числу кнопок) одинаковых резисторов сопротивлением R1, соединенных последовательно, период T равен:

T≈1,39·C1·R1·N

Он получается пропорциональным числу резисторов между конденсатором C1 и первой замкнутой кнопкой SB1 - SB32 и легко может быть измерен микроконтроллером. Как и в первоисточнике, при одновременном замыкании нескольких кнопок та, что имеет меньший номер, обладает приоритетом.

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

Демонстрационная программа микроконтроллера по прерыванию IRQ0 измеряет длительность периода T, переводит его в номер кнопки и выводит на ЖКИ MT-16S2S [4]. Связь микроконтроллера с ЖКИ организована по трехпроводному последовательному интерфейсу. Вводом и выводом информации заняты всего четыре вывода микроконтроллера, остальные могут быть применены для других целей.

Для измерения периода использован восьмиразрядный таймер-счетчик 0 микроконтроллера. По нарастающему перепаду уровня на входе запроса прерывания IRQ0 программа считывает длительность измеренного периода и обнуляет счетный регистр. Для повышения точности измерения обнуляется и предделитель счетчика. Поскольку предделитель всех таймеров-счетчиков в микроконтроллерах серии ATtiny общий, это может влиять на длительность временных интервалов, формируемых таймером-счетчиком 1 в случае его использования с предделителем, отличным от единицы. При разомкнутых контактах всех кнопок происходит переполнение счетчика, измеряющего период. По соответствующему прерыванию и определяется разомкнутое состояние.

Максимальное число распознаваемых кнопок зависит от нестабильности интервалов времени, формируемых таймером и микроконтроллером. При тактировании микроконтроллера от внутреннего RC-генератора и применении во времязадающей RC-цепи таймера пленочного конденсатора с малым ТКЕ, резисторов с малым ТКС и отклонением от номинала не более 1 % число кнопок может достигать 12-16. При более точной подборке резисторов удалось распознавать 32 кнопки. Еще больше увеличить их число может позволить стабилизация частоты тактового генератора микроконтроллера кварцевым резонатором.

В макете устройства применены импортный пленочный конденсатор C1 (аналог К73-17) и резисторы R1 - R32 для поверхностного монтажа CR1206-FX-5621ELF сопротивлением 5,62 кОм ±1 %. Из 50 резисторов с одной ленты отобраны 32 штуки с разницей максимального и минимального сопротивления не более 20 Ом. Для уменьшения влияния на период колебаний зависимости выходного напряжения таймера DA1 от числа подключенных резисторов R1-R32 резисторы с меньшим сопротивлением имеют меньшие позиционные номера, а выходы таймера 3 и 7 соединены вместе.

Подстроечный резистор R35 должен быть многооборотным, например, СП5-3 или подобным. Подстройку выполняют следующим образом. Замыкают кнопку с позиционным номером на единицу меньше максимального (в данном случае SB31) и находят два положения движка подстроечного резистора R35, соответствующих изменению показаний ЖКИ с 31 на 32 и с 31 на 30. Устанавливают движок в среднее между найденными положение.

Подключение большого числа кнопок к одному входу микроконтроллера
Рис. 2. Проверка устройства и отладка программы микроконтроллера

Проверка устройства и отладка программы микроконтроллера выполнена на макете, изображенном на рис. 2. Байты конфигурации микроконтроллера были запрограммированы следующим образом: младший - 0xBF, старший - 0xD4, дополнительный - 0xFF. Поскольку нужного числа кнопок для макета не нашлось, пришлось вместо них использовать переключатель ПП7-4ЛВ. Резисторы для поверхностного монтажа напаяны непосредственно на платы переключателя. При подобранных резисторах в комнатных условиях номера замкнутых контактов переключателя определялись правильно, хотя микроконтроллер работал от внутреннего RC-генератора.

Программу микроконтроллера можно скачать с ftp://ftp.radio.ru/pub/2016/11/key-tx.zip.

Литература
  1. 2-Wire Keypad Interface Using a 555 Timer. - URL: radiolocman.com/shem/schematics.html?di=88598.
  2. Евстифеев А. В. Микроконтроллеры AVR семейства Tiny - М.: "ДОДЭКА-XXl", 2007.
  3. LMC555 CMOS Timer. - URL: pdf1.alldatasheet.com/datasheet-pdf/ view/9100/NSC/LMC555CN.html.
  4. MT-16S2S. Жидкокристаллический индикатор буквенно-цифровой 2 строки по 16 символов. - URL: melt.com.ru/ docs/MT-16S2S.pdf.
Автор: С. Иванов

Смотрите другие статьи раздела Радиолюбителю-конструктору.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Рекомендуем скачать в нашей Бесплатной технической библиотеке:

раздел сайта Бытовая электроника

сборники Радиоежегодник

книга Цифровые регистраторы аварийных событий энергосистем. Пуляев В.И., Усачев Ю.В., 1999

книга Радиоизмерительная техника. Меерсон А.М., 1978

статья Почему у людей на теле растут волосы?

статья Электронный переключатель антенны

справочник Сервисные режимы телевизоров зарубежных телевизоров. Книга №8

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:

[lol][cry][!][?]




Бесплатная техническая библиотека Бесплатная техническая документация для любителей и профессионалов