Свежие обсуждения
Микроконтроллеры

"Выкрутасы" из-за нехватки ног

1 2

picmaniac, после вашего дополнения к своему сообщению мысль понял! Про обработку дребезга я и не думал. Как тут дребезг может вредить, если включение и выключение делается разными кнопками? Уж скорее защита от случайных помех. Вот привожу скорректированную схемку. Одно тут плохо, добавляется еще один провод между объектом и пультом. Теперь в разъеме контакта не хватает!!! А-а-а!!! На пульте надо иметь контроль текущего состояния вывода.

 

Zandy: мысль понял! Вот и отлично.
Если на пульте только светодиод для визуального контроля - ничего плохого не будет, если резистор этого ключа к резисторам кнопок подключить. И лишний провод тогда не потребуется. Глаз человеческий достаточно хорошо интегрирует сам по себе, ему конденсатор не потребуется. Ёлка поющая тому доказательство.

Zandy: Уж скорее защита от случайных помех.
Можно сказать и так.

100 кОм в базовых цепях - не многовато ли? И постоянные времени RC-цепочек с длительностью интервала опроса всё же соотнесите правильно, чтоб напряжение на конденсаторе за время опроса (пока нога является входом) не успевало ощутимо измениться при нажатой кнопке.
Заметьте, я не говорю, что они выбраны неправильно! Просто рекомендую проверить соотношение, убедиться на всякий случай. Мне самому считать лень

 

picmaniac: Если на пульте только светодиод для визуального контроля - ничего плохого не будет, если резистор этого ключа к резисторам кнопок подключить. И лишний провод тогда не потребуется. Глаз человеческий достаточно хорошо интегрирует сам по себе, ему конденсатор не потребуется. Ёлка поющая тому доказательство.
Согласен.

picmaniac: 100 кОм в базовых цепях - не многовато ли?
Я бы сделал так, смотрите рисунок.

picmaniac: И постоянные времени RC-цепочек с длительностью интервала опроса всё же соотнесите правильно, чтоб напряжение на конденсаторе за время опроса (пока нога является входом) не успевало ощутимо измениться при нажатой кнопке.
Емкость можно подобрать вручную, при наладке.
А еще, я бы, вместо левого нижнего транзистора поставил бы какой ни будь элемент с пороговым напряжением переключения. Например логический элемент, у которого порог переключения равняется половине напряжения питания. Или, для упрощения, включить в эмиттер резистор, и завести на него через другой резистор (от плюса питания) опорное напряжение, 1...2В. Дело в том, что RC цепочка может полностью не отфильтовать просечку (или выброс) напряжения.
--
И у меня такой вопрос, уже по микроконтроллеру. Как будет производится опрос кнопок? На сколько я понимаю, опрос кнопок надо производить в два этапа.
1. Нога переводится в состояние "вход", включается подтягивающий резистор - программно, если нижнюю кнопку (на корпус) нажать, то программа зафиксирует нажатие кнопки (заловит изменение входа с 1 на 0). Нажатие же верхней кнопки прога не зафиксирует, в этот момент времени.
2. Для фиксации нажатия верхней кнопки (изменение входа с 0 на 1), надо бы отключить подтягивающий резистор от питания, и подключить его к корпусу. Но возможно ли такое сделать программно внутри микроконтроллера?

 

Дошло, функцию нижнего подтягивающего резистора будут выполнять внешние резисторы, подключенные к ноге микроконтроллера.
Тогда остается вопрос, а подтягивающий резистор (что к плюсу внутри МК) программно отключается? И не подсадят ли внешние резисторы напряжение на выводе МК, когда вывод - вход, и внутренний подтягивающий резистор подключен?
Сильно не бейте, но я в микроконтроллерах чайник.

 

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

 

Хм, рылся тут в архивах форума, наткнулся на тему, которая меня примерно в это же время волновала и решение которой я для себя нашёл в Tips'n'Tricks, но так и не понял, как Zandy собирался(делал) определение нажатия кнопок?
Если обе отпущены - вход определяется состоянием конденсатора транзистора, если нажата верхняя по схеме - "1", если нажата нижняя - "0", но как отличить нажатие одной из кнопок от заряда конденсатора?
Я решение этой проблемы для себя нашёл (хотя у меня и не было задачи управлять по этому входу ещё другой нагрузкой, но она там теоретически осталась, и, вроде бы даже, я потом светодиодом управлял по этим цепям).
Кто что может прокоментировать.
ЗЫ. сорри, что откопал такую старую тему, но интересно же.

 
1 2