| В начало | Зарегистрироваться |
 
 
 
 

ATMega8. Устранение дребезга кнопок. Доработка блока управления гаражной дискотеки

Небольшая предыстория - меня попросили сделать простенький коммутатор мощной нагрузки на 8 выходов, каждый из которых управлялся бы свой кнопкой. Эдакий светорежиссёрский пульт управления стробоскопом, диско шаром, гирляндами и прочей атрибутикой.

Что, может быть проще, подумал я и сходу заказал 10 кнопок и 10 реле из Китая.
С реле всё нормально, а вот с кнопками случилась оказия - пришли кнопки без фиксации... Немного самобичевания, матов на невнимательного китайца, и я приступил к написанию программы на ATMega8.


Суть проста: 8 портов ввода и 8 портов вывода, по нажатию кнопки происходит выдача логической единицы на выход присвоенного порта МК, при повторном нажатии его обнуление. Моего скудного опыта хватило на написание нехитрой программы.

Симуляция Proteus не показала каких-либо проблем. А вот на реальной железке выяснилась проблема дребезга кнопки, хотя простой «антидребезг» я написал. Играл с временем задержки срабатывания, но всё тщетно - срабатывание нечёткое.
Проверил осциллографом - дребезг в рамках 3-5 миллисекунд.
Вроде бы задержка, описанная в программе должна исключить этот дефект, но нет.
Пробовал поставить конденсатор - получилась кривая спада в 0, но опять же кнопка продолжает дребезжать.

Я думал внедрить счётчик, по заполнению которого принималось срабатывание кнопки и включение порта, но это для моего уровня уже сложновато.

Помогите в решении этой проблемы.
 
 
 
6Н23П 6П9 6С2С 6С4С 6н1п 6п36с 6с19п 6с33с 6ф3п DMX512 LM317 LUKEY-702 Quad-405 TDA1524 TDA1557Q TDA1558Q TDA1562Q TDA2030 TDA7293 TDA7294 TDA7313 tda7386 tda7560 TDA8563 TL494 Акустика ЛУТ Трансформатор Цветомузыка блок питания гу-29 кроссовер лампы усилитель
Показать все теги
| В начало | Зарегистрироваться |