Интересный кстати вопрос. Получается, что использование для счета 4-х фронтов потенциально опасно из-за влияния джиттера. И неважно как ведется обработка, программно или аппаратно, просто аппаратно быстрее и оно успевает обрабатывать фронты без пропусков.
Если обрабатывать по прерываниям, поймав переход канала В из low в hight и обрабатывая его, программа может пропустить переход обратно из hight в low. Соответственно насчитав по первому переходу +1, программа пропустит -1 по второму.
И пойдет дрейф показаний. Однако если для фиксации приращения +1 программа должна обрабатывать два перехода, то дребезг по одному из фронтов никак не будет влиять.
То есть по фронту канала В будет взводиться флаг готовности к счету, а по фронту канала А, при наличии флага будет производиться счет и сбрасываться флаг.
Тогда дребезг по любому фронту будет просто устанавливать (В) или сбрасывать (А) флаг, а счет производиться не будет. Чтобы был счет, вал должен повернуться как минимум на четверть шага.
Обработка сигнала энкодера
- sHellBoard
- Site Admin
- Posts: 469
- Joined: Sat Oct 22, 2016 7:29 pm
Обработка сигнала энкодера
- Attachments
-
- 45972[1].jpg
- (11.45 KiB) Not downloaded yet