Как я и подозревал, оказалось все в худших китайских традициях. Пока искал, что ж за принцип работы у оптического энкодера (ну не понимаю я, почему там не два, а целых четыре фоторезистора!), наткнулся на материал, о котором и вспоминал — человек тоже пытался "завести" энкодер, и ему пришлось потрошить железяку. В общем, помучился я с этим энкодером, внимательно посмотрел на матрицу фоторезисторов и понял, что у меня тот же самый косяк. Пришлось вскрывать (а для этого нужно феном расплавить корпус — он какой-то совсем уж дохлый и уже при 200°C течет) и вынуть содержимое, приклеили его туда знатно. Чтобы можно было под близкому к нужному углу установить датчик, сделал надрез надфилем:
На этой фотографии хорошо видна ориентация датчика:
Оказалось, что светодиод ультрафиолетовый, и камера его хорошо "видит". Нет, светодиод-таки инфракрасный, просто на лопате камера как-то неправильно ИК отображает. Если он будет стоять строго радиально, то направление вращения определять никак не сможет! Фоторезисторы, расположенные ближе к оси, просто не будут затеняться (в итоге на одной фазе всегда +5В), а дальние просто считают шаги. При помощи пластилина я закрепил дачтики на двигателе:
и наконец-то осциллограф показал то, что надо! Крутим в одну сторону — на нарастающем фронте "желтой" фазы "красная" имеет значение логической единицы:
Крутим в противоположную — и на нарастающем фронте "красная" фаза имеет логический нуль:
Все шикарно, только смещение между фазами не 90° из-за того, что резистор на плате мешал дорезать нормально. Нужно будет выпаивать из платы светодиод и датчик, да вставлять их в какой-нибудь новый корпус, чтобы светоприемник можно было сориентировать как надо.
Месяца через три, как придут заказанные вчера энкодеры, надо будет не забыть проверить их и поставить китайцу жирный "МИНУС" со ссылками на эту публикацию и публикацию на mysku.
Кстати, может кто подскажет, что за датчик используется в этих энкодерах? Может, проще купить все по частям, чем курочить?