Безкоштовна технічна бібліотека ЕНЦИКЛОПЕДІЯ РАДІОЕЛЕКТРОНІКИ ТА ЕЛЕКТРОТЕХНІКИ Підключення великої кількості кнопок до одного входу мікроконтролера. Енциклопедія радіоелектроніки та електротехніки Енциклопедія радіоелектроніки та електротехніки / Радіоаматор-конструктор Ідея запропонованого рішення було викладено у [1]. Суть його – у підключенні максимальної кількості контактних датчиків (герконів, кнопок) до мікроконтролера з використанням мінімального числа його висновків. Реалізовано цю ідею за допомогою універсального таймера КР1441ВІ1. Час-задающая RC-ланцюг таймера складена з конденсатора та набору резисторів, з'єднаних послідовно з кожною кнопкою. Певній замкнутій кнопці відповідає своя частота проходження імпульсів, що генеруються таймером, яку і вимірює мікроконтролер [2]. Оригінальний варіант має дві істотні недоліки. Один із них - використання двох входів мікроконтролера. На один з них подано імпульси, що генеруються. Другий служить визначення факту замикання кнопки, це легко може бути зроблено програмно, з допомогою чого цей вхід мікроконтролера можна використовуватиме інших цілей. Інший недолік - вимірювання частоти, а чи не періоду повторення імпульсів. Внаслідок цього для отримання лінійної залежності частоти від номера кнопки використано велику кількість резисторів різних номіналів.
Пропонований технічний розв'язок, схема якого показана на рис. 1, вільно від цих недоліків. Таймер КР1441ВІ1 структури КМОП (аналог LMC555) працює в автоколивальному режимі зі шпаруватістю імпульсів 2 [3]. У цьому режимі період повторення імпульсів дорівнює T = 2·ln2·C·R, де C і R - відповідно ємність і опір елементів часу, що задає ланцюга. При C = C1 і R = R1N, що складається з 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. Байти конфігурації мікроконтролера були запрограмовані в такий спосіб: молодший - 0xBF, старший - 0xD4, додатковий - 0xFF. Оскільки потрібної кількості кнопок для макета не знайшлося, довелося замість них використовувати перемикач ПП7-4ЛВ. Резистори для поверхневого монтажу напаяні безпосередньо на плати перемикача. При підібраних резистори в кімнатних умовах номери замкнутих контактів перемикача визначалися правильно, хоча мікроконтролер працював від внутрішнього RC-генератора. Програму мікроконтролера можна завантажити з ftp://ftp.radio.ru/pub/2016/11/key-tx.zip. література
Автор: С. Іванов Дивіться інші статті розділу Радіоаматор-конструктор. Читайте та пишіть корисні коментарі до цієї статті. Останні новини науки та техніки, новинки електроніки: Машина для проріджування квітів у садах
02.05.2024 Удосконалений мікроскоп інфрачервоного діапазону
02.05.2024 Пастка для комах
01.05.2024
Інші цікаві новини: ▪ Універсальний драйвер для GP-LC7028-Q5D ▪ Пластик перетворюється на їстівні гриби ▪ Слони бояться не мишей, а бджіл ▪ Маршрутизатор ASUS RT-AC3200 3200 Мбіт/с Стрічка новин науки та техніки, новинок електроніки
Цікаві матеріали Безкоштовної технічної бібліотеки: ▪ Розділ сайту Особистий транспорт: наземний, водний, повітряний. Добірка статей ▪ стаття Вільгельм Буш. Знамениті афоризми ▪ стаття Яким євреям дозволялося служити в армії нацистської Німеччини? Детальна відповідь ▪ стаття Будинок мандрівника. Поради туристу ▪ стаття Як зробити з монітора телевізор. Енциклопедія радіоелектроніки та електротехніки ▪ стаття Прості широкосмугові антени. Енциклопедія радіоелектроніки та електротехніки
Залишіть свій коментар до цієї статті: All languages of this page Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт www.diagram.com.ua |