Сейчас очень часто вместо подстроечных резисторов устанавливают цифровые ручки управления на базе инкрементных энкодеров. Весьма распространенный энкодер KY-040, дающий 20 импульсов на оборот, из за удобства и своей дешевизны можно увидеть и в любительских станках, и в 3D-принтерах, и в паяльных станциях, и во многих других устройствах. Однако бывают случаи, когда хочется чего-то более точного и/или с большей ручкой управления.
Разумеется, бОльшую ручку управления можно насадить и на KY-040, но уже при диаметре порядка 30 мм люфт делает вращение не комфортным, да и шаг в 18 градусов — это много. Вот и моим коллегам внезапно захотелось «сделать красиво» в одном полуэкспериментальном устройстве.
С точки зрения программирования разница почти отсутствует, поэтому я не сопротивлялся. После недолгих поисков для была заказана «на попробовать» ручка управления RSM60-100, диаметром 60 мм и выдающая 100 импульсов на оборот.
К сожалению, сначала продавец отправлял больше двух недель, а потом почта (уж не знаю — наша или китайская) ошиблась при сортировке и пакет улетел вместо Питера в Иркутск, на совершенно другой индекс и совершенно чужую фамилию.
Трек и общение с продавцом
Последовательность событий с заказом была следующая:
1) Я делаю заказ на несколько позиций у одного продавца
2) Продавец пишет, что он будет посылать несколькими посылками, спрашивает нужно ли мне засылать информация о всех треках.
3) Я отвечаю, что да, желательно посылать
4) Через несколько дней на али появляются два флютовских трека, которые через неделю начинают трекаться и трекаются до импорта.
5) Через пару недель получаю один пакет, а еще через несколько дней обнаруживаю второй пакет в почтовом ящике и «слегка удивляюсь», т.к. в двух пакетах есть позиции примерно на $5 из всего заказа в $40.
6) Пишу письмо продавцу
7) Он дает трек, который, судя по записи при прохождении импорта, идет не на мою фамилию и не на мой индекс.
8) Я начинаю «подозревать недоброе» и намекаю продавцу на открытие официального диспута.
9) Продавец повторно запрашивает мои данные и сообщает что все правильно, посылка отправлена куда надо, стоит сходить и уточнить на почте.
10) К этому моменту посылка уже покидает Москву и трекается в Иркутске, из-за чего я пишу продавцу, что сходить на Иркутскую почту мне затруднительно — 4000 км идти, однако ;)
11) Продавец пишет, что не надо диспута, подожди, «авось рассосется»
12) Тут мне уже понятно, что железка в любом случае не успевает и пишу, что подожду.
Далее все видно по треку, ошибка все-таки у почтарей. Уфф.
Но продавец все равно разгильдяй. Причем не жулик, а именно разгильдяй — в пакете вместо заказанного набора фрез-кукуруз прислал фрезы совсем другого типа. Я даже хотел звезд лишить его… Вот только просмотр aliexpress'a показал, что присланные фрезы гарантированно дороже заказанных, да и мне пригодятся под другие задачи. И что с таким продавцом делать?
Жаль, но сроки уже поджимали, и в готовое изделие пришлось ставить более простой старый вариант. Зато потом можно будет сделать улучшенную версию ;)
Ручка была упакована в картонную коробку, которая почти не пострадала в процессе пересылки:
Внутри коробки она дополнительно защищена пластиком
Внешняя часть ручки выполнена целиком из металла, торец защищен транспортной пленкой:
Маленькая рукоятка крепится винтом специальной формы:
Основная часть винта имеет больший диаметр, чем резьба. Маленькая рукоятка для вращения внутри обильно смазана и вращается на винте достаточно легко.
Алюминиевая пластина в центре довольно точно подогнана по диаметру и вклеена. Поддеть ее не удалось. Да, след справа от отверстия — это не повреждение, просто отсвет при съемке. Насколько я понимаю, на этой пластине можно выгравировать что-нибудь, а при необходимости — заменить только ее.
Теперь перейдем к тыльной части.
Устройство имеет дифференциальный выход RS422, поэтому сзади 6 контактов: земля, питание и две пары выходов. Сигнала нулевой метки нет.
Пластиковая крышка и прокладка легко снимаются:
Кольцевая прокладка выполнена из резиноподобного пластика, который чуть выступает из канавки. Если нормально закрутить, получится вполне герметично.
Пайка среднего качества, флюс не смыт. Сама плата ничем не зафиксирована, просто лежит в выемке.Три выступа в основании вполне надежно защищают плату от прокручивания при работе с контактами. Но дергать за прикрученный провод не рекомендуется ;)
На плате есть непонятная маркировка:
Что означает — не знаю, гугл не ищет.
Отпаивать контакты не стал, просто отогнул плату на выводах оптоприемника:
Электроники не много — два светодиода, конденсатор и микросхема драйвера RS422. Оптоприемники намертво вклеены снизу, туда не подлезть. Их марка осталась неизвестной.
Драйвер довольно распространенный, AM26LS31C. Никакого интеллекта, простой преобразователь в RS422. Потеки флюса радуют глаз.
Измерительный лимб датчика выполнен из металла
Он закреплен на валу с помощью специальной упругой шайбы, и окончательно зафиксирован клеем. Сквозь отверстия можно наблюдать подшипник.
Где-то внутри (между подшипником и верхней крышкой) прячется специальная трещотка, обеспечивающая четкое позиционирование рисок шкалы и тактильно-звуковое подтверждение. Установить позицию между делений невозможно — будучи отпущен, диск перещелкивается в ближайшее положение. В таком решении есть свои плюсы и минусы.
С одной стороны, это позволяет регулировать на ощупь, щелчки негромкие, но ощущаются пальцами очень отчетливо, даже если руки в перчатках. Кроме того, можно не беспокоиться о смещении от вибрации (до разумных пределов, разумеется).
С другой стороны, без фиксатора можно было бы увеличить точность до 400 (100 импульсов на оборот по двум каналам дают 400 событий).
На текущий момент я все-таки за наличие трещотки.
Нужно отметить, что с точки зрения механики устройство выше всяких похвал — везде металл, никакого пластика. Никаких заеданий, люфтов и т.п. не ощущается. Зазоры меду неподвижным основанием и вращающейся шкалой очень малы и совершенно симметричны. Измерительный лимб ровный, вращается без эксцентриситета. Можно чуть придраться к маленькой рукоятке для вращения — она очень простенькая, без каких-либо накаток и текстуры, да и цветом чуть отличается. Винт в ее торце тоже не заглушен. Впрочем, это уж совсем придирки, да и заменить ее можно при желании.
Ручка в целом хоть и не претендует на всякие IPxx (по крайней мере я не нашел упоминаний), но будучи правильно смонтированной, вполне способна сопротивляться пыли, грязи и брызгам. Резинка между основанием и приборной панелью очень ровная и плотная, а опорный шарикоподшипник снаружи прикрыт шкалой, да и сам закрытого типа. Можно больше опасаться царапин или постепенного ржавления подшипника во влажной среде, чем проникновения внутрь воды или пыли.
На мой взгляд, одна механика свои $20 вполне стоит. В Питере за похожую ручку без всякой электроники местные «спекулянты» хотят заметно больше.
А вот в части электроники устройство несколько хуже. Питать допустимо только пятью вольтами, причем это ограничение как минимум в силу микросхемы, требующей для себя 5В ± 0.25В.
Дифференциальный выход вроде как намекает на использование в условиях помех. Но на входе питания нет ни стабилизатора, ни дросселя — ничего. Был бы выход мощнее, можно было бы предположить возможность подключения шаговых двигателей напрямую к дифференциальному выходу. Но с 20мА выходного тока это невозможно, как минимум нужны дополнительные ключи и схема их управления. А тогда зачем тащить лишние два провода от ручки?
Винтовые контакты тоже выглядят достаточно странно. С одной стороны, такие могучие винты просто бесполезны для столь малых токов. С другой стороны, для зажима обычных проводов они просто не предназначены, под винтом даже шайбы нет. Для нормального зажима провод нужно обжимать в вилочную клемму примерно такого вида:
С точки зрения подключения к микроконтроллеру, все достаточно просто. Если есть желание использовать дифференциальную пару, то можно поставить соответствующий приемник RS422. Заодно это поможет решить проблему совместимости логических уровней. Если же контроллер расположен рядом с ручкой, то один из сигналов (прямой или инверсный) можно просто не использовать. Если контроллер допускает 5В на входах, то сигналы можно подключить на те же две ноги микроконтроллера, что и в случае с KY-040. Логика обработки сигналов полностью совпадает, только импульсов в 5 раз больше.
Как работают сигналы стандартного инкрементного энкодера - кратко, для тех, кто вдруг не знает
На выходе почти любого инкрементного энкодера обычно имеются два сигнала. Иногда их обзывают парафазными, иногда квадратурными. По сути, это сигналы с двух датчиков, смещенных друг относительно друга на четверть шага. Картинка из wiki:
Причем механизм выдачи сигналов одинаков что у KY-040 на 20 импульсов, что у могучих датчиков типа ЛИР-3200 на 3 600 000 импульсов:
www.skbis.ru/index.php?p=3&c=4&d=33
Сами сигналы строго цифровые, хотя могут быть замусорены помехами, или вообще быть синусоидальными — тогда перед обработкой их лучше пропустить через триггер Шмидта или что-то аналогичное. Если дрожание на один шаг не принципиально, то этого можно и не делать, протокол устойчив к помехам или дребезгу, если они затрагивают только один канал.
Для обработчика энкодера нужно фиксировать фронты/спады сигналов и значение второго сигнала в этот момент. Получается кольцевой автомат на 4 состояния, с двумя возможными переходами из каждого состояния. Как вариант, можно перевести тип события (фронт/спад) в 1/0, потом произвести логическую операцию xor со значением второго сигнала. Результатом операции будет признак инкремента или декремента счетчика текущего положения. Для второго сигнала операция аналогична, только признак инкремента/декремента нужно инвертировать. Так как сигналы идут со сдвигом, в один момент времени может измениться только один сигнал.
Любопытной особенностью сигналов инкрементного энкодера является их полная равноправность, относительность друг относительно друга, и, если так можно выразиться — зеркальность. Смена местами сигналов или смена полярности у одного из них, эквивалентна изменению направления вращения.
В заключение стоит отметить, что шкала на ручке — относительная, не привязана и не может быть автоматически привязана (нулевой метки нет!) к какому-то конкретному значению. Если привязка требуется, то единственный вариант — производить ручную привязку нуля после каждого включения.
В сравнении с KY-040, картина получается следующая
Плюсы:
— позволяет существенно более точную и приятную настройку
— внешний вид
— удобное крепление на приборную панель
— есть шкала
— дифференциальный выход
— несколько большая степень пыле/брызгозащиты
Минусы:
— цена
— габариты
— цифровой выход строго 5В
— нет встроенной кнопки
— непригоден/неудобен для монтажа прямо на плату
По настоящему кайф придёт с мягкой фиксацией, когда на один оборот ребра колеса будет приходится пять оборотов малой ручки. Там из металла всего три шестерни добавляются, классический роторный редуктор. За это получаем тактильную грубую(быструю) настройку и настолько-же тёплую ламповую — точную настройку.
Это нужно один раз руками потрогать, покрутить в разные стороны — так-же как прокатиться на дорогой тачке.
кстати, одно деление крутелки обычно соответствует минимальному шагу, выдаваемому оборудованием. Если точность станка 0,01 то 1 оборот=1мм, если 0,001 — то 1 оборот=0,1мм. зачем еще огород?
а вот для этого придуманы системы лазерного контроля инструмента, там эта крутелка нафиг не нужна.
В реальном устройстве я чисто программным образом (бесплатно!) делаю переключение точности настройки в три диапазона 1-10-100. Это соответствует чисто электромеханической схеме на 10000 отсчетов за оборот. Не могу сказать, что такая механика принципиально невозможна, но только один угловой датчик (без механики!) будет стоить более $100. Причем в варианте с электронными диапазонами я легко могу сделать и любые другие диапазоны — хоть 100000000, только этого не требуется.
Давно ко мне пришёл такой энкодер. Качество достойное, согласен. Но я разбирать побоялся… Хотелось бы немного помягче сделать трещётку, не очень удобно.
Что бы добраться до трещотки нужно клей рушить, а он там красивый — прозрачная эпоксидка.
Насчет жесткости — немного странно. Моя мне очень нравится, баланс между легкостью вращения и силой удержания соблюден. Но у меня условия с легкой вибрацией.
Кстати вопрос, к Mach3 его прикрутить получится? Конечно я уверен что получится но может есть какой уже проверенный рецепт.
UPD: Есть уже готовые для Mach3 с COM порт, USB, и даже беспроводные.
… который(-ые•) тогда должен быть очень, очень толстым
en.m.wikipedia.org/wiki/RS-422 ←в русской статье полезной информации нет
° миля
• возможность работы 'один-ко-многим'
вещь шикарная, даже жаль что не нужна:)