Подключение к микроконтроллеру многопозиционного переключателя - Микроконтроллеры - Микроконтроллеры - Каталог статей - RADIOAMATOR
Изобретатель радио Вторник, 06.12.2016, 10:12
RADIOAMATOR
Поиск позывных в российском Callbook'e:
ON-LINE поиск предоставлен сервером QRZ.RU

Приветствую Вас Гость | RSS
Выбрать язык / Select language:
Ukranian
English
French
German
Japanese
Italian
Portuguese
Spanish
Danish
Chinese
Korean
Arabic
Czech
Estonian
Belarusian
Latvian
Greek
Finnish
Serbian
Bulgarian
Turkish
Поиск по сайту
Меню сайта
Категории раздела
Микроконтроллеры [13]
Схемы на PIC [38]
Схемы на AVR [8]
Схемы на ATtiny [6]
Друзья сайта
Главная » Статьи » Микроконтроллеры » Микроконтроллеры

Подключение к микроконтроллеру многопозиционного переключателя
Подключение к микроконтроллеру многопозиционного переключателя
О.В. Малука. г. Житомир
При разработке устройств на микроконтроллерах нередко возникает необходимость подключения к ним многопозиционных переключателей с большим количеством (20 и более) фиксированных положений. При этом число свободных выводов микроконтроллера зачастую весьма ограничено. Вниманию читателей предлагается два несложных способа реализации такой задачи, успешно применяемых автором в своих конструкциях. Оба варианта подключения переключателя использовались с микроконтроллерами фирмы "ATMEL" AT90S2313, но вполне можно применить и другие типы микроконтроллеров.
Вариант 1. Данный способ подключения использует только один вывод микроконтроллера, требует малого количества деталей и наиболее компактен (рис.1).
 
 Алгоритм работы микроконтроллера рекомендован следующий:
1) Порт Р устанавливается как выход в состоянии логического нуля. При этом емкость С разряжается на корпус через порт, который в этом случае кок бы заземлен внутренним резистором около 20 Ом. Время разряда целесообразно выдержать не менее 100 мкс.
2) Порт Р устанавливается как вход с высокоимпедансным Z состоянием. Емкость С начинает заряжаться через сопротивления R1, R2,... Rn, где время заряда зависит от суммы подключенных через многопозиционный переключатель сопротивлений.
3) Микроконтроллер осуществляет подсчет времени до момента определения им на входе порта Р логической единицы, что произойдет при достижении на емкости С напряжения около 2,5 В (близко половины напряжения питания для микроконтроллеров ATMEL).
4) По полученному результату делается вывод о положении переключателя В.
5) Алгоритм повторяется по ходу программы с достаточной периодичностью.
При напряжении питания микроконтроллера 5 В, для С=0,0068 мкФ и шаге R =10 кОм время до появления логической единицы на входе порта микроконтроллера AT90S2313 изменяется приблизительно на 500 мкс. Под воздействием внешних факторов значения времени будут несколько отличаться при каждом последующем подсчете. Поэтому при создании программы необходимо устанавливать диапазон значений времени, которое будет соответствовать конкретному положению переключателя. Например, в положении 1 насчитанное время приблизительно ровно 500 мкс, в положении 2 приблизительно равно 1000 мкс, следовательно, программа должна определять, что переключатель находится в положении 1 при значениях насчитанного времени в диапазоне от 250 до 750 мкс, а в положении 2 - от 750 до 1250 мкс (рис.2).
 
Если в программе подсчет времени заряда емкости осуществляется условно и не привязан к реальному времени (например, кок приращение некоторой переменной), значения центра диапазона положения переключателя удобно определять следующим образом. В программе предусматривается временная функция записи в энергонезависимую память ЕЕПРОМ переменной, содержащей насчитанное число. Таким образом, при пробном пуске устройства в нее будет записано реально насчитанное число, которое в последствии можно прочесть программатором и соответственно скорректировать программу. Общую сумму сопротивлений R1, R2,... Rn не следует делать большей 500 кОм, так как при большом ее значении из-за влияния входного сопротивления порто и утечек емкости величина напряжения на емкости будет заниженной.
Вариант 2. Данный способ менее компактен в исполнении и требует использования трех выводов микроконтроллера. Но он не содержит времязадающих элементов, что положительно сказывается на надежности, а также менее сложен в программной реализации, так как не требует калибровки (рис.3).

 Для примера показано подключение переключателя на 27 позиций. Алгоритм работы микроконтроллера рекомендован следующий:
1) Порт РЗ устанавливается как вход в высокоимпедансном Z состоянии. Порты Р1, Р2 устанавливаются как выходы.
2) Но выходе порта Р1 формируется импульс длительностью не менее 10 мкс, что приводит к сбросу десятичных счетчиков DD1-DD3.
3) На выход порта Р2 выводится последовательность импульсов частотой не более 1 МГц, что приводит к переключению последовательно включенных счетчиков. Следование импульсов с порта Р2 прекращается при появлении на входе порта РЗ высокого уровня с выхода десятичного счетчика, подключенного в данный момент через переключатель В1. По количеству выданных до этого момента импульсов делается вывод о текущем положении переключателя.
4) Алгоритм повторяется по ходу программы с достаточной периодичностью.
При создании программы следует учитывать, что при последовательном включении десятичных счетчиков К561ИЕ8 импульс но последующий счетчик поступит при переполнении предыдущего счетчика. Например, высокий уровень на выводах 1,2,... 9-м микросхемы DD3 будет появляться при 1,2,... 9-м импульсе, на выводах 1,2,... 9-м микросхемы DD2 при 10,20, ...90-м импульсах, а на выводах 1,2, ...9-м микросхемы DD1 при 100, 200,... 900-м импульсах.
Факт изменения положения переключателя в данном варианте можно определять также по появлению низкого уровня на входе порто РЗ. Ведь после проведения предложенного алгоритма и определения положения переключателя высокий уровень на входе РЗ сохраняется до следующего переключения. А если портом РЗ выбрать вход внешнего прерывания микроконтроллера, сконфигурировав его для осуществления прерывания по низкому уровню, а пункты 1 -3 алгоритма включить в тело прерывания, то можно вообще обойтись без периодического сканирования.
Радиосхема №2, 2008
Категория: Микроконтроллеры | Добавил: admin (18.07.2010)
Просмотров: 2854 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Наша кнопка сайта

Радиолюбителям и электрикам схемы, программы и т.д.

Код кнопки

 

Locations of visitors to this page

 

Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0

Счётчик тиц Все для радиотехника! Информационная поддержка ремонта теле-видео-аудиоаппаратуры Сайт :: Паятель.at.ua - статьи и простые схемы, конструкции для начинающих и профессионалов. Сервер радиолюбителей России - схемы, документация,
 соревнования, дипломы, программы, форумы и многое другое! Всё для начинающих. Сборки сабвуферов для машин. Сборки сабвуферов для дома. Лаборатория. Электроника. Программы расчета. Выставка сабвуферов.

Copyright MyCorp © 2016Сайт создан в системе uCoz