Обработка сигнала энкодера

sHellBoard
Site Admin
Сообщения: 447
Зарегистрирован: Сб окт 22, 2016 7:29 pm

Обработка сигнала энкодера

Сообщение sHellBoard » Чт дек 22, 2016 6:25 am

Интересный кстати вопрос. Получается, что использование для счета 4-х фронтов потенциально опасно из-за влияния джиттера. И неважно как ведется обработка, программно или аппаратно, просто аппаратно быстрее и оно успевает обрабатывать фронты без пропусков.
Если обрабатывать по прерываниям, поймав переход канала В из low в hight и обрабатывая его, программа может пропустить переход обратно из hight в low. Соответственно насчитав по первому переходу +1, программа пропустит -1 по второму.
И пойдет дрейф показаний. Однако если для фиксации приращения +1 программа должна обрабатывать два перехода, то дребезг по одному из фронтов никак не будет влиять.
То есть по фронту канала В будет взводиться флаг готовности к счету, а по фронту канала А, при наличии флага будет производиться счет и сбрасываться флаг.
Тогда дребезг по любому фронту будет просто устанавливать (В) или сбрасывать (А) флаг, а счет производиться не будет. Чтобы был счет, вал должен повернуться как минимум на четверть шага.
Изображение
Вложения
45972[1].jpg
(11.45 КБ) 0 скачиваний

Вернуться в «Теоретические основы балансировки и обработки вибросигналов.»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость