реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Устранение дребезга коммутирующего устройства, Подскажите метод, будьте добры
Гяук
сообщение Mar 24 2005, 13:39
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 213
Регистрация: 6-12-04
Из: г. Таганрог
Пользователь №: 1 346



Грубо говоря есть такая цепь:

+ питания
|
резистор
|
|
земля------кнопка-------о------нога ПЛИС

Кнопка что-то в духе МПК1-4В и дребезжит при нажатии со страшной силой.
В ПЛИС она заведена на асинхронный сброс всего что только можно.
Вопрос: насколько этот дребезг может повлиять на работу схемы и как с ним можно бороться?

Я на счет устранения изобразил конструкцию из нескольки последовательно включенных д-триггеров, вход каждого из которых объединен по "И" с пином на который приходит сигнал с кнопки.
Go to the top of the page
 
+Quote Post
Alexandr
сообщение Mar 24 2005, 15:05
Сообщение #2


Знающий
****

Группа: Модераторы
Сообщений: 804
Регистрация: 1-12-04
Пользователь №: 1 283



Если место в ПЛИСе есть, то советую сброс от кнопки завести на D-триггер с асинхронным сбросом. По первому же фронту от кнопки триггер защелкнется и запустит счетчик (настроеный на время 200-300мС, хотя нужно экспериментировать с конкретной кнопкой) который потом сбросит входной триггер и все что еще нужно сбросить. Правда окончательный сброс произойдет при отпускании кнопки. Можно поиграться и не отпускать сброс пока не отпустят кнопку - в общем решайте как лучше.


--------------------
Иван Сусанин - первый полупроводник
Go to the top of the page
 
+Quote Post
Victor®
сообщение Mar 24 2005, 16:04
Сообщение #3


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Гяук @ Mar 24 2005, 16:39)
Грубо говоря есть такая цепь:

                            + питания
                                  |
                            резистор
                                  |
                                  |
земля------кнопка-------о------нога ПЛИС

Кнопка что-то в духе МПК1-4В и дребезжит при нажатии со страшной силой.
В ПЛИС она заведена на асинхронный сброс всего что только можно.
Вопрос: насколько этот дребезг может повлиять на работу схемы и как с ним можно бороться?

Я на счет устранения изобразил конструкцию из нескольки последовательно включенных д-триггеров, вход каждого из которых объединен по "И" с пином на который приходит сигнал с кнопки.
*


1) У Altera в MAX+PLUS II был пример антидребезга. Посмотрите там.
2) У MAXIM есть микросхемы для этого - смотрите на их сайте.
3) Интересный вариант использовать watchdog, например Analog Devices ADM706 (у него Master Reset с антидребезгом) да и еще Power Fail Indicator
и еще как сам wathcdog :-)
4) Регистр сдвига, на вход кнопка+pullup, выходы регистра объединить по
ИЛИ, выход ИЛИ - нужный сигнал


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
M_A
сообщение Mar 25 2005, 01:01
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 27-12-04
Из: г. Иркутск
Пользователь №: 1 689



Про устранение дребезга есть кое-что здесь
Go to the top of the page
 
+Quote Post
Alhen
сообщение Mar 25 2005, 01:34
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516



Если есть переключающая группа контактов, то всегда стараюсь использовать RS триггер для антидребезга. Единственный недостаток перерасход входов на ПЛИС т.е. по две ноги на одну кнопку, зато работает железно.
Go to the top of the page
 
+Quote Post
Romanello
сообщение Mar 25 2005, 06:49
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 138
Регистрация: 10-03-05
Пользователь №: 3 204



Поставь конденсатор, одной ногой соединив с выводом кнопки, другой ногой соедини с землей. Емкость конденсатора выбирается исходя из номинала резистора.
Go to the top of the page
 
+Quote Post
Гяук
сообщение Mar 25 2005, 09:23
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 213
Регистрация: 6-12-04
Из: г. Таганрог
Пользователь №: 1 346



2 Alexandr.
Первым делом почти так и сделаю, только...
У меня схема должна работать по нажатию кнопки, т.е. когда она отжата - вес в сбросе, нажата - в работе. Но мысль со счетчиком отработаю.

2 Victor®
1) Гм... А как хоть по аглицки этот "антидребезг" должен звучать? Я так понял смотреть нужно в хелп?
2) 3) Микросхему влепить уже не смогу - места на плате маловато, но буду иметь в виду. Особенно watchdog.

4) Тоже интересно, спасибо

2 Alhen
А можно поподробнее насчет двух ног? Торможу видимо...

2 Romanello
Вот это по-нашему!!

Всем спасибо, пошел пробовать smile.gif
Go to the top of the page
 
+Quote Post
Victor®
сообщение Mar 25 2005, 09:56
Сообщение #8


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Гяук @ Mar 25 2005, 12:23)
2 Victor®
1) Гм... А как хоть по аглицки этот "антидребезг" должен звучать? Я так понял смотреть нужно в хелп?

*


антидребезг - debounce
Микросхемы смотреть здесь:
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1896


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
Alhen
сообщение Mar 25 2005, 16:18
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516



to Гяук
Вот пример на AHDL

TITLE "EPR";
Subdesign EPR
(
CLK32x :input; -- PIN 54
Button_S :input; -- PIN 49
Button_R :input; -- PIN 47
.......
)
Variable
C[1..0] :TFF;
PScaler[18..0] :TFF;
DEBOUNCER :SRFF;

BEGIN
PScaler[].clk = CLK32x;
PScaler[0].t = VCC; -- 16 MHz
.......
PScaler[15].t = PScaler[0] & PScaler[1]......

DEBOUNCER.clk = PScaler[15];
DEBOUNCER.s = !Button_S;
DEBOUNCER.r = !Button_R;
.......
END;
Ну и на рисунке схема

Кстати есть опыт использования MAX6816. Микросхема не плохая, даже очень, но заметили что немного тормозная т.е. если где в приложении надо будет сделать дабл клик как на мышке то наврядтли получится, она не успеет очухаться от первого клика. Но это не испортило впечатления. цену не знаю досталась по случаю, вдруг это испортит картину.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Victor®
сообщение Mar 26 2005, 11:04
Сообщение #10


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Здесь есть на VHDL (debouncer) + еще несколько IP
http://www.alse-fr.com/English/ips.html


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
Гяук
сообщение Mar 28 2005, 08:55
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 213
Регистрация: 6-12-04
Из: г. Таганрог
Пользователь №: 1 346



2 Victor®
По поводу дебоунсера корка какая-то маловнятная (пользуясь всеми подсказками данными на форуме мне проще что-то свое сваять), но за ссылку спасибо smile.gif

2 Alhen Идею понял, спасибо. И, это, можно вопрос... А Вы правда из КАРАГАНДЫ???
Go to the top of the page
 
+Quote Post
Димыч
сообщение Mar 28 2005, 12:09
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331



Да, со счетчиком все работает весьма сладко:

// debouncer
reg [3:0] debouncer;
parameter hold_time = 10;

always @(posedge clk)
if(in_to_debouncing) debouncer <= hold_hime;
else if(debouncer > 0)
debouncer <= debouncer - 1;

wire in_debounced = (debouncer != 0);
Go to the top of the page
 
+Quote Post
Alhen
сообщение Mar 29 2005, 04:25
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 17-08-04
Из: Караганда
Пользователь №: 516



2Гяук, я однозначно из Караганды "мы ррузские дрругх друха не обманываем", а что?
Go to the top of the page
 
+Quote Post
DLR
сообщение Mar 29 2005, 07:23
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 384
Регистрация: 15-03-05
Из: г. Москва
Пользователь №: 3 371



Поставь кондер!
Go to the top of the page
 
+Quote Post
Гяук
сообщение Mar 31 2005, 09:14
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 213
Регистрация: 6-12-04
Из: г. Таганрог
Пользователь №: 1 346



Цитата(Alhen @ Mar 29 2005, 08:25)
2Гяук, я однозначно из Караганды "мы ррузские дрругх друха не обманываем", а что?
*


Гм, да нет, ничего, просто соратник на работе глазастый попался - пригляделся: "Вот, говорит, народ стебается" - а я решил спросить smile.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:35
Рейтинг@Mail.ru


Страница сгенерированна за 0.01456 секунд с 7
ELECTRONIX ©2004-2016