Есть энкодер, воот такой примерно http://www.truetex.com/heds.pdf
Только мой называется qeds, а так по сути то же самое. Никак не могу его заставить правильно показывать сколько делений он в одну сторону делает, и сколько в другую, наприме выводим счетчик, при повороте по часовй стрелке прибавляем его значение на 1, при обратном убавляем. Энкодер весьма точный, в нем наверное дырочек 300 наоборот. Сидит на двигателе.
На деле рисует вот такой график, снимал на с1-55

Вот такой код по моим подсчетам должен считать только в одну сторону, а получается в обе. Не понятно, хотя может я уже загнался.
19 | if (a==HIGH && b==LOW && phase==0){ |
21 | Serial .println( "Phase 2" ); |
23 | if (a==HIGH && b==HIGH && phase==1){ |
25 | Serial .println( "Phase 3" ); |
27 | if (a==LOW && b==HIGH && phase==2){ |
30 | Serial .println(count); |
http://www.pjrc.com/teensy/td_libs_Encoder.html
Да видел я это, библиотека работает на прерываниях, а назначение третьего вывода? Что он делает и для чего нужен?
можно не использовать прерывания #define ENCODER_DO_NOT_USE_INTERRUPTS
ну, "общий" - так можно назвать этот вывод, если энкодер представляет из себя две связанные механически кнопки, то нет смысла выводить все выводы наружу корпуса.
Энкодер оптический. В нем аж 2000 секций на оборот оказалось. Нулем не ошибся.
Энкодер оптический. В нем аж 2000 секций на оборот оказалось. Нулем не ошибся.
Что это меняет принципиально?
Если бы было меньше или больше, то что?
поищите на форуме тему, уже мусолили эти енкодеры как только можно... у вас еще не сильно точный, у меня был 90000 на оборот,
пришлось плату на счетчиках и триггерах делать, чтобы успевал считать :)
пришлось плату на счетчиках и триггерах делать, чтобы успевал считать :)
А можно про это поподробнее.
та пролема тут была описана
ну мое решение было такое. Сразу оговариваюсь, что несовсем корректно, есть некоторые огрехи, но для моей задачи хватило.
Схема форум размер сжал :(
по схеме... на логике и триггерах выделяются фронты по каждому из 3 каналов и формируются сигналы +, - и сброс для 24-разрядного счетчика, который собран из 6ти 74193(чо было под рукой). Для фиксации показаний стоят 3 регистра, по STB защелкиватся показание счетчика в регистрах. Ну и мега для обеспечения SPI итерфейса и корректировки результата.
Датчик ЛИР-158БТ 90000-05-ПИ от ленинградского СКБ ИС
Потом была куплена Ардуина Due и платка была забыта. Cortex может аппаратно работать с инкрементными датчиками :)