Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
а) Опрос делать чаще, чем период дребезга; б) чем прерывания не устраивают?; в) внешние триггеры/счетчики для фиксации фронтов
Отправлено
argus98
24 сентября 2008 г. 16:32
В ответ на:
Вы многое пропустили. Обсуждалось, как сделать ЛИ обработчик механического энкодера с трещеткой PEC16 наиболее надежно и при этом приятно для пользователя.
отправлено Oldring 24 сентября 2008 г. 16:26
Составить ответ
|
Вернуться на конференцию
Ответы
Ответ:
-
Леонид Иванович
(24.09.2008 16:43:59
87.252.227.59
, 288 байт)
а) как что? отслеживать фронты, ест-но. Дребезг будет приводить к последовательности +1-1+1-1... (т.е. четверть периода энкодера) которая легко давится фильтром
-
argus98
(24.09.2008 16:51:5
81.22.205.230
,
пустое
)
Код фильтра - в студию.
-
Леонид Иванович
(24.09.2008 16:58:58
87.252.227.59
,
пустое
)
Ага, ещё "скользящего среднего" на 8/16/../256 сэмплов тут не хватало..)))
-
quark
(24.09.2008 19:13:21
79.139.172.117
,
пустое
)
Какой фильтр? Там на щелчек нужно изменить целое число на +-1.
-
Oldring
(24.09.2008 16:56:7
91.77.103.153
,
пустое
)
++ идет = +1; + - или - + =0; - - = -1 счетчика. Счет получится в четвертях периода. Для перехода к целым периодам (если надо) - отбросить 2 младших бита
-
argus98
(24.09.2008 17:02:50
81.22.205.230
,
пустое
)
Такой вариант тоже был протестирован ЛИ и признан некошерным.
-
Oldring
(24.09.2008 17:11:44
91.77.103.153
, 251 байт)
Что-то на словах не понимаю... Давайте лучше на временной диаграмме
-
argus98
(24.09.2008 17:17:55
81.22.205.230
,
пустое
)
Всё просто:
-
Леонид Иванович
(24.09.2008 17:38:11
87.252.227.59
, 358 байт)
при переходе 0-А будет +1, при возврате обратно А-0 соответственно -1, т.е. какое состояние было, такое и осталось. Никакого смещения шкалы при движении вперед/назад не происходит
-
argus98
(24.09.2008 17:47:14
81.22.205.230
,
пустое
)
Нельзя делать переключения вблизи точек фиксации - не комфортно. Переключение должно быть между ними, желательно посередине.
-
Леонид Иванович
(24.09.2008 18:28:41
87.252.227.59
,
пустое
)
Извините, лень рисовать :) В общем, некошерно это оказалось...
-
Oldring
(24.09.2008 17:18:48
91.77.103.153
,
пустое
)
Давайте Ваш вариант программы, проверю на реальном энкодере.
-
Леонид Иванович
(24.09.2008 17:10:10
87.252.227.59
,
пустое
)
Ну я думаю на 8080 или 8048 вы едва ли проверите :) Причем всё это дома, в глубинах архивов 20-летней давности.
-
argus98
(24.09.2008 17:15:14
81.22.205.230
,
пустое
)
А Вы дайте на Си, проверю на AVR.
-
Леонид Иванович
(24.09.2008 17:34:34
87.252.227.59
,
пустое
)
мы по старинке - на асме. Да алгоритм-то простой - по диаграмме все видно - 4 варианта фронтов всего
-
argus98
(24.09.2008 17:40:12
81.22.205.230
,
пустое
)
Ну так напишите на Си - это же несколько строчек. А мы проверим :) Может быть, тогда поймете наши проблемы.
-
Леонид Иванович
(24.09.2008 17:42:46
87.252.227.59
,
пустое
)
Вы удивитесь, но на Си не пишу, и даже не собираюсь (+):
-
argus98
(24.09.2008 17:57:14
81.22.205.230
, 423 байт)
Совершенно правильно - быстрые вещи нужно писать на HDL :)
-
Oldring
(24.09.2008 18:17:27
91.77.103.153
,
пустое
)
Особенно такие быстрые, как обработка энкодера, вращаемого рукой :)))
-
Леонид Иванович
(24.09.2008 18:30:12
87.252.227.59
,
пустое
)
Да наверное тогда и механические энкодеры с трещетками для перених панелей бытовух были редкостью :)
-
Oldring
(24.09.2008 17:16:5
91.77.103.153
,
пустое
)
А кто говорит о бытовухе? Это был датчик скорости/положения для высокоточного цифрового привода (ДБМ-130 если это о чем то говорит), не скажу чего :)
-
argus98
(24.09.2008 17:21:6
81.22.205.230
,
пустое
)
Крутейшая дрель ;)
-
Гудвин
(24.09.2008 17:29:47
89.232.124.209
,
пустое
,
ссылка
)
:)) А гугль 130-го не нашел.... Только 120-й >>
-
argus98
(24.09.2008 17:36:40
81.22.205.230
,
пустое
,
ссылка
)
Мы говорим!
-
Oldring
(24.09.2008 17:22:20
91.77.103.153
,
пустое
)
В принципе разницы нет. У нас стояли оптопары - точно так же пришлось бороться с дребезгом
-
argus98
(24.09.2008 17:29:30
81.22.205.230
,
пустое
)
Разница в понятии кошерности.
-
Oldring
(24.09.2008 17:30:56
91.77.103.153
,
пустое
)
Вот посему в промышленных девайсах разработчики втыкают интегрирующие RC цепочки и не парятся ;)
-
Гудвин
(24.09.2008 16:50:34
89.232.124.209
,
пустое
)
СВЧ печка - промышленное устройство, не самодельное? Нет там RC.
-
Леонид Иванович
(24.09.2008 16:58:1
87.252.227.59
,
пустое
)
Кит на BF542 =>
-
quark
(24.09.2008 17:35:10
79.139.172.117
,
пустое
,
картинка
)
А можно картинку чуть больше?
-
Леонид Иванович
(24.09.2008 17:44:14
87.252.227.59
,
пустое
)
Можно. ))
-
quark
(24.09.2008 17:46:3
79.139.172.117
,
пустое
,
картинка
)
здесь вообще задейсвована разница времени заряда-разряда....
-
Гудвин
(24.09.2008 17:56:1
89.232.124.209
,
пустое
)
Ну да, причем теоретически, всю эту схему можно реализовать программно, т.е. фильтры, гистерезис, порог... Но зачем? )))
-
quark
(24.09.2008 18:16:59
79.139.172.117
,
пустое
)
Затем, что программная реализация ничего не стоит в серии, а эта рассыпуха - деньги и место на плате. Да и себя не уважаешь за такие решения.
-
Леонид Иванович
(24.09.2008 18:32:47
87.252.227.59
,
пустое
)
А тащить ВЧ помехи в МК - кошерно? Мы что, искровой передатчик разрабатываем?
-
quark
(24.09.2008 18:37:28
79.139.172.117
,
пустое
)
Энкодер не является генератором электричества :) А смена логических уровней на пине процессора помехой не является.
-
Леонид Иванович
(24.09.2008 20:49:3
87.252.227.59
,
пустое
)
Возможно, Вы и правы, но чем тогда объяснить появление характерного шороха в динамике старых радиоприемников при вращении ручки регулятора громкости? Полтергейстом? Или переменный резистор в старых "Спидолах" являлся генератором электричества? Причем, если склероз не изменяет, спектр этого шума был ограничен лишь полосой УМЗ. В реальности, имхо, он может доходить до мегагерц..
-
quark
(25.09.2008 09:13:31
79.139.172.198
,
пустое
)
Эта помеха за пределы уровней сигнала на переменном резисторе не выходит. Так же и с энкодером. На его выводах ничего не может быть, кроме сигнала в пределах логических уровней. С какой частотой он переключается - не важно. Такой сигнал можно подавать на выводы процессора.
-
Леонид Иванович
(25.09.2008 12:23:36
87.252.227.59
,
пустое
)
Фрдовская голова 6000СD. Подтяжка контактов резисторами 3.3к к питанию, RC цепочка (R-20к, С- х.з.) на порты контроллера TMS470. Энкодером устанавливается время (минуты, секунды) по щелчкам...
-
Гудвин
(24.09.2008 17:26:34
89.232.124.209
,
пустое
)
Не спорю, исключения есть. Но такое решение никак не может быть признано наилучшим.
-
Леонид Иванович
(24.09.2008 17:39:38
87.252.227.59
,
пустое
)
Наилучшее-не наилучшее, а дребезг контактов давит, на длинном шлейфе помехи не ловит, позволяет задействовать входы с TШ и беспроблемно работать по прерываниям...
-
Гудвин
(24.09.2008 17:51:37
89.232.124.209
,
пустое
)
Опрос можно делать реже дребезга.
-
Oldring
(24.09.2008 16:44:41
91.77.103.153
,
пустое
)
Да, правильнее сказать "опрос гарантированно быстрее смены фаз". А дребезг, кто его знает, какой частоты может быть.
-
Леонид Иванович
(24.09.2008 16:55:38
87.252.227.59
,
пустое
)
Такова задача.
-
Oldring
(24.09.2008 16:37:9
91.77.103.153
, 241 байт)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
увеличьте 2 вдвое:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru