Многоуважаемый All, может быть ктонить имел честь соединить Ардуино с оптическим энкодером. Если не сложно, поделитесь опытом: какой энкодер, какая схема подключения, программная реализация, возникшие трудности. Заранее премного благодарен.
Добавлено (03.02.2016, 17:53)
---------------------------------------------
Если кому-нить интересно, то на днях могу выложить пользовательский блок Encoder с описанием. Пока проходит обкатку на железе. К сожалению у меня сейчас в наличии только энкодер с разрешением 5 импульсов на оборот. На скорости 1500 об/мин - полет нормальный. По заверениям автора библиотеки - счет корректно работает до 100кГц при использовании пинов с поддержкой прерываний.
Добавлено (04.02.2016, 21:34)
---------------------------------------------
Многоуважаемый All, добавил блок Encoder. Можете скачать
тут. При использовании блока нужно обратить внимание на следующую особенность: библиотека SoftSerial с этим блокам не работает! Связано это с тем, что в блоке используются прерывания (и в SoftSerial тоже). Это накладывает ограничение на использование блок с контроллерами Leonardo, Micro, Pro Micro.
Может быть кто-нить сможет предложить решение проблемы: необходимо использовать данный блок на Arduino Pro Micro и выводить значение в RemoteXY.
На днях буду проводить опыт: Arduino Uno - частотный преобразователь - электродвигатель с энкодором - RemoteXY.
Питание Arduino, блютуз модуля и энкодера от внутреннего источника питания частотника (10В).
Цель: определить влияние помех частотника на работу контроллера и энкодера
Добавлено (05.02.2016, 13:03)
---------------------------------------------
Делюсь последними данными по своему опыту.
Кабеля от частотника к двигателю и от энкодера к ардуине не экранированные. Лежат в непосредственной близости между собой. Сразу использовал раздельное питание (минус питания ардуины и энкодера не был соеденен с минусом внутреннего источника питания частотника (10В)) - влияние помех на систему не заметил. Двигатель работал без нагрузки, частоту менял от 3,3 до 50Гц.
Во втором эксперименте объединил минуса (при таком подключении можно напрямую управлять частотником через его многофункциональные входные клемы ). При старте двигателя на частотах до 10 Гц значения энкодера "плавали" в пределах 5 единиц. Через несколько секунд после запуска двигателя значение стабилизировалось и на более высоких частотах влияния помех обнаружено не было.
Если честно, то для меня получился очень неожиданный результат. Думал, что помехи не дадут нормально работать. А еще если соблюсти малейшие правила ЭМС, то результат будет очень хороший.
P.S. Ищу людей, которые помогут справиться с такой задачей: необходимо использовать блок Encoder на контроллерах, где можно организовать связь с RemoteXY, только по средствам SoftSerial. Где-то читал, что есть альтернативные библиотеки SoftSerial в которых не используются прерывания. Может кто-нить подскажет, где их взять и каким образом их подружить с библиотекой remotexy.h??