Very Hot Topic (More than 50 Replies) Микросхема переключателя полярности (Прочитано 1033 раз)
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Микросхема переключателя полярности
Ответ #120 - 12.01.2011 :: 12:48:32
Post Tools
Маленький трюк, для подавления дребезга одним махом с нескольких входов можно использовать мажоритирование
// Timer 1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
     OCR1A += 78;      // 5mS
     FrontSwitchMajority[1] = FrontSwitchMajority[2];
     FrontSwitchMajority[2] = FrontSwitchMajority[3];
     FrontSwitchMajority[3] = (PINB & 0x38) ^ 0x38;
     FrontSwitchMajority[0] = ((FrontSwitchMajority[2] | FrontSwitchMajority[3]) & FrontSwitchMajority[1])
           | (FrontSwitchMajority[2] & FrontSwitchMajority[3]);
}
  

(Вложенный файл удалён)
Наверх
IP записан
 
Aseth
Новичок канифольный
*
Вне Форума


Ремонт ноутбуков

Сообщений: 78
Местоположение: Киев
Зарегистрирован: 10.12.2008
Re: Микросхема переключателя полярности
Ответ #121 - 12.01.2011 :: 14:14:15
Post Tools
KMG писал(а) 12.01.2011 :: 12:48:32:
Маленький трюк, для подавления дребезга одним махом с нескольких входов можно использовать мажоритирование
// Timer 1 output compare A interrupt service routine
interrupt [TIM1_COMPA] void timer1_compa_isr(void)
{
     OCR1A += 78;      // 5mS
     FrontSwitchMajority[1] = FrontSwitchMajority[2];
     FrontSwitchMajority[2] = FrontSwitchMajority[3];
     FrontSwitchMajority[3] = (PINB & 0x38) ^ 0x38;
     FrontSwitchMajority[0] = ((FrontSwitchMajority[2] | FrontSwitchMajority[3]) & FrontSwitchMajority[1])
           | (FrontSwitchMajority[2] & FrontSwitchMajority[3]);
}

Красивый кусочек. Не большой ли интервал в 15 миллисекунд? Сколько надо времени, чтоб отфильтровать дребезг?
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Микросхема переключателя полярности
Ответ #122 - 12.01.2011 :: 14:30:34
Post Tools
Цитата:
Сколько надо времени, чтоб отфильтровать дребезг?

У разных кнопок по разному в зависимости от качества.
Цитата:
Не большой ли интервал в 15 миллисекунд?

Не думаю что в реале можно нажать и отпустить кнопку быстрее.
  

(Вложенный файл удалён)
Наверх
IP записан
 
Aseth
Новичок канифольный
*
Вне Форума


Ремонт ноутбуков

Сообщений: 78
Местоположение: Киев
Зарегистрирован: 10.12.2008
Re: Микросхема переключателя полярности
Ответ #123 - 12.01.2011 :: 15:03:02
Post Tools
Я про скорость реакции аппарата, ведь на слух задержка в 15мс уже ощутима.
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
OlegFX
Гуру
*****
Вне Форума



Сообщений: 5097
Местоположение: Киев
Зарегистрирован: 12.08.2008
Re: Микросхема переключателя полярности
Ответ #124 - 12.01.2011 :: 15:13:28
Post Tools
TRASH уже, наверное, паяет (программирует, компилирует или как там это называется)!

Наши николаевские мужики суровей ваших челябинских - вот, на что они готовы идти, чтобы исключить два транзистора и два резистора!
« Последняя редакция: 12.01.2011 :: 15:15:07 от OlegFX »  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Beermonza
Участник


Re: Микросхема переключателя полярности
Ответ #125 - 12.01.2011 :: 15:49:01
Post Tools
@ OlegFX

Лучше день потерять, потом за 5 минут долететь, ...опаздываем страус, все вкусное съедят.  Смех
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
THRASH
Гуру
*****
Вне Форума


GTLab - forever!

Сообщений: 5719
Местоположение: Николаев
Зарегистрирован: 18.08.2009
Re: Микросхема переключателя полярности
Ответ #126 - 13.01.2011 :: 09:20:02
Post Tools
OlegFX писал(а) 12.01.2011 :: 15:13:28:
TRASH уже, наверное, паяет (программирует, компилирует или как там это называется)!

Наши николаевские мужики суровей ваших челябинских - вот, на что они готовы идти, чтобы исключить два транзистора и два резистора! 

Большая просьба больше не писать TRASH. Это два разных слова, обозначающих совсем разные вещи.
По поводу контроллера, чють позже проэкспериментирую. Господин @ Aseth обещал помочь программулиной.

  

(Вложенный файл удалён)

Jackson JS32RT Dinky->X2N, Gavrilenko custom shop baritone 27*-> AHB-2-->DIY 2х12( governor+v12)
Наверх
 
IP записан
 
research
Участник


Re: Микросхема переключателя полярности
Ответ #127 - 13.01.2011 :: 10:08:02
Post Tools
15 ms это надо очень хорошие кнопочки иметь.
Кто с дребезгом наелся, ставят задержки 0.3сек, если верить интернетам.
Я отмеряю 30мсек с момента последнего перепада. Но на дешевых кнопках - маловато.

Кусок кода от КМГ я непонял Улыбка) В смысле буквы понял, но  не смог прочесть слово. Там среднее арифметическое последних 5 состояний порта?
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Микросхема переключателя полярности
Ответ #128 - 13.01.2011 :: 10:41:23
Post Tools
Трех состояний, выбирает большее количество нулей или единиц
0 0 0 = 0
1 0 0 = 0
0 1 0 = 0
0 0 1 = 0
0 1 1 = 1
1 0 1 = 1
1 1 0 = 1
1 1 1 = 1
Для 5-ти также есть формула тоже только на операциях и/или.
Если нужно поищу
  

(Вложенный файл удалён)
Наверх
IP записан
 
research
Участник


Re: Микросхема переключателя полярности
Ответ #129 - 13.01.2011 :: 11:08:59
Post Tools
программный конденсатор получается. не мала матрица-то?
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Микросхема переключателя полярности
Ответ #130 - 13.01.2011 :: 11:46:58
Post Tools
Ни разу сбоев не было, можешь таймерные клики до 10мС увеличить.
Преимущемтво в том что он скоростной (только логические операции) и легко реализуется даже на ассемблере.
Вот алгоритм для 5-ти выборок.
res = ((byte[3] | byte[4] | byte[2]) & byte[1] & byte[0])
     | ((byte[3] | byte[4]) & byte[2] & byte[1])
     | ((byte[3] | byte[4]) & byte[2] & byte[0])
     | ((byte[0] | byte[1] | byte[2]) & byte[3] & byte[4]);

0 0 0 0 0 = 0
1 0 0 0 0 = 0
0 1 0 0 0 = 0
0 0 1 0 0 = 0
0 0 0 1 0 = 0
0 0 0 0 1 = 0
1 1 0 0 0 = 0
0 1 1 0 0 = 0
0 0 1 1 0 = 0
0 0 0 1 1 = 0
1 0 1 0 0 = 0
0 1 0 1 0 = 0
0 0 1 0 1 = 0
1 0 0 1 0 = 0
0 1 0 0 1 = 0
1 0 0 0 1 = 0

1 1 1 1 1 = 1
0 1 1 1 1 = 1
1 0 1 1 1 = 1
1 1 0 1 1 = 1
1 1 1 0 1 = 1
1 1 1 1 0 = 1
0 0 1 1 1 = 1
1 0 0 1 1 = 1
1 1 0 0 1 = 1
1 1 1 0 0 = 1
0 1 0 1 1 = 1
1 0 1 0 1 = 1
1 1 0 1 0 = 1
0 1 1 0 1 = 1
1 0 1 1 0 = 1
0 1 1 1 0 = 1
  

(Вложенный файл удалён)
Наверх
IP записан
 
OlegFX
Гуру
*****
Вне Форума



Сообщений: 5097
Местоположение: Киев
Зарегистрирован: 12.08.2008
Re: Микросхема переключателя полярности
Ответ #131 - 13.01.2011 :: 12:39:04
Post Tools
Цитата:
Большая просьба больше не писать TRASH. Это два разных слова, обозначающих совсем разные вещи.

THRASH, сори, это моя невнимательность, ничего более!

Цитата:
15 ms это надо очень хорошие кнопочки иметь.
Кто с дребезгом наелся, ставят задержки 0.3сек, если верить интернетам.


В моих схемах так и есть - я остановился на постоянной времени = 0,33сек (330нФ*1МОм). Это значение немножко отличается от длительности импульса одновибратора (кажется, в 0,7 раз), но не суть, порядок тот же.

Цитата:
Я отмеряю 30мсек с момента последнего перепада. Но на дешевых кнопках - маловато.


Уточни, что за алгоритм у тебя? В схемах с одновибратором (ждущий мультивибратор) исполнительное устройство (триггер и всё, что дальше) срабатывает моментально от первого замыкания кнопки и не реагирует на ложные срабатывания (в т.ч. и на помехи от размыкания) в течение этих 0,3 сек - если ЖМ без перезапуска, или в течение 0,3 сек после последнего ложного срабатывания - если ЖМ по схеме с перезапуском. У тебя похоже на второй вариант.
А то тут речь шла о "заметности задержки включения" или о чём-то таком в этом же роде, что имелось ввиду?
« Последняя редакция: 13.01.2011 :: 16:25:13 от OlegFX »  

(Вложенный файл удалён)
Наверх
 
IP записан
 
research
Участник


Re: Микросхема переключателя полярности
Ответ #132 - 13.01.2011 :: 12:44:05
Post Tools
вроде, суть понял
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
Aseth
Новичок канифольный
*
Вне Форума


Ремонт ноутбуков

Сообщений: 78
Местоположение: Киев
Зарегистрирован: 10.12.2008
Re: Микросхема переключателя полярности
Ответ #133 - 13.01.2011 :: 12:57:04
Post Tools
0,3с - это же ж больше восьмушки в темпе 120уд./мин.!!! Уверен, что это перебор.
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Микросхема переключателя полярности
Ответ #134 - 13.01.2011 :: 13:33:09
Post Tools
Особенно для таптемпо, на второе нажатие может просто не сработать.
  

(Вложенный файл удалён)
Наверх
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Микросхема переключателя полярности
Ответ #135 - 13.01.2011 :: 13:47:23
Post Tools
Кстати есть микрухи для подавления дребезга
http://pdfserv.maxim-ic.com/en/an/AN287.pdf
http://datasheets.maxim-ic.com/en/ds/MAX6816-MAX6818.pdf
Внутри цифповой перезапускаемый одновибратор
Так  у них время этого одновибратора 20-60/20-80 мС.
Типовое время 40/50мС.
Не думаю что Maxim левак гонит.
« Последняя редакция: 13.01.2011 :: 13:51:41 от KMG »  

(Вложенный файл удалён)
Наверх
IP записан
 
OlegFX
Гуру
*****
Вне Форума



Сообщений: 5097
Местоположение: Киев
Зарегистрирован: 12.08.2008
Re: Микросхема переключателя полярности
Ответ #136 - 13.01.2011 :: 14:55:27
Post Tools
KMG писал(а) 13.01.2011 :: 13:47:23:
Внутри цифповой перезапускаемый одновибратор
Так  у них время этого одновибратора 20-60/20-80 мС.
Типовое время 40/50мС.
Не думаю что Maxim левак гонит.

Нет, конечно, не гонит. Я эту схему делал для работы в примочках ЛЕЛЬ - кнопки там просто ужасные были. Можно сказать, с запасом делал.
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
KMG
Гуру
*****
Вне Форума



Сообщений: 3776
Местоположение: Санкт-Петербург
Зарегистрирован: 06.06.2008
Re: Микросхема переключателя полярности
Ответ #137 - 13.01.2011 :: 15:44:57
Post Tools
Это я к тому что нижнюю границу они гарантируют 20 мС.
Для аналогового подавления (RC) конечно немного по другому считается, там нужно чтобы пила от дребезга на нарастающей экспоненте не зацепила несколько раз порог срабатывания элемента.
  

(Вложенный файл удалён)
Наверх
IP записан
 
Beermonza
Участник


Re: Микросхема переключателя полярности
Ответ #138 - 14.01.2011 :: 13:39:40
Post Tools
Насколько помню, в стандартном мультике на рассыпухе цепочка 1M+10n, кнопка в землю через 100 Ом, ложных срабатываний я пока не видел за все 10 лет эксплуатирования, ...переключение очень быстрое, ...сколько там получается по времени если по феншую?
  

(Вложенный файл удалён)
Наверх
 
IP записан
 
 
  « Главная ‹ Раздел Наверх этой страницы