протокол энкодеров Mitsubishi
-
- Новичок
- Сообщения: 33
- Зарегистрирован: 15 мар 2013, 12:16
- Репутация: 3
- Настоящее имя: Василий
- Откуда: Калуга
- Контактная информация:
протокол энкодеров Mitsubishi
есть серводрайвер Mitsubishi MR-C10A-UE, есть движок под него вроде как подходящий, но нет родного энкодера
хочется взять обычный квадратурный энкодер и прицепить его к серводрайверу через микроконтроллер. по сигналам там что то на RS422 похожее.
есть положительный опыт написания разных эмуляторов протоколов, но не смог найти информацию по митсубишевскому протоколу обмена с энкодером, и не с чего его снять...
судя по урывкам информации, там при старте параметры движка в сервопак передаются по запросу, а далее только положение...
может у кого есть информация?
или возможность снять протокол анализатором? или полу убитый энкодер на опыты?
хочется взять обычный квадратурный энкодер и прицепить его к серводрайверу через микроконтроллер. по сигналам там что то на RS422 похожее.
есть положительный опыт написания разных эмуляторов протоколов, но не смог найти информацию по митсубишевскому протоколу обмена с энкодером, и не с чего его снять...
судя по урывкам информации, там при старте параметры движка в сервопак передаются по запросу, а далее только положение...
может у кого есть информация?
или возможность снять протокол анализатором? или полу убитый энкодер на опыты?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: протокол энкодеров Mitsubishi
Протоколов есть несколько, описания всех гуглятся.
Скорее всего там SSI - на вход приходит тактовый сигнал, с выхода уходит последовательность бит. А вот что зашифровано в этих битах - отдельный вопрос.
Скорее всего там SSI - на вход приходит тактовый сигнал, с выхода уходит последовательность бит. А вот что зашифровано в этих битах - отдельный вопрос.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Новичок
- Сообщения: 33
- Зарегистрирован: 15 мар 2013, 12:16
- Репутация: 3
- Настоящее имя: Василий
- Откуда: Калуга
- Контактная информация:
Re: протокол энкодеров Mitsubishi
у меня ничего конкретного не нагуглилось
что очевидно: некий симплексный двунаправленный протокол, минимум с двумя типами сообщений - собственно данные энкодера (предположительно 13бит) и параметры сервомотора (если не тот сервомотор прицепить, драйвер это поймет).
скорость там достаточно большая должна быть, но это не проблема - я могу на быстром stm32 или цплд\фпга мелкой прилепить эмулятор.
делается для хобби, тратить 100-200уе на сервомотор с эбэя пока нет желания.
один уважаемый форумчанин коммерческий проект на близкую тему реализовал по митсубисевской шине, там энкодеры вскользь упоминались.
что очевидно: некий симплексный двунаправленный протокол, минимум с двумя типами сообщений - собственно данные энкодера (предположительно 13бит) и параметры сервомотора (если не тот сервомотор прицепить, драйвер это поймет).
скорость там достаточно большая должна быть, но это не проблема - я могу на быстром stm32 или цплд\фпга мелкой прилепить эмулятор.
делается для хобби, тратить 100-200уе на сервомотор с эбэя пока нет желания.
один уважаемый форумчанин коммерческий проект на близкую тему реализовал по митсубисевской шине, там энкодеры вскользь упоминались.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: протокол энкодеров Mitsubishi
Там двунаправленность никому не нужна... Энкодер просто передаёт пакеты, в которых есть служебная инфа - тип и параметры энкодера, тип, модель мотора, позизионные данные. Начало и длина передаваемого пакета определяется входным синхросигналом. Эдакий однонаправленный SPI с сигналами CLK и MISO.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- merkwurdigliebe
- Мастер
- Сообщения: 608
- Зарегистрирован: 17 дек 2013, 22:14
- Репутация: 580
- Откуда: București
- Контактная информация:
Re: протокол энкодеров Mitsubishi
послушай UAVpilot и сделай наоборот
да, там стандартный диф трансивер, по-умолчанию - полудуплекс, 2.5Мбит, 8-N-1.
драйв шлет однобайтовые запросы, энкодер отвечает пакетом. отвечать надо быстро, прям сразу...
первый байт ответа - повтор запроса, второй - какие-то статуcные биты, последний - контрольная сумма. запросы-ответы на разных поколениях энкодеров отличаются.
HC-PQ у меня не и не было никогда, поэтому что конкретно надо отвечать - не скажу. но если есть желание - наверное, можно подобрать. наиболее близкое что я видел - HC-MF23. ответы такие:
"92 11 3d be"
3d - тип энкодера 13 бит. на HC-PQ, возможно, нужно "34"
"7a 01 3d 02 23 ff 00 3d a5"
тип мотора - HC-KF23. видимо, снова вместе с энкодером
02F03300 HC-PQ033
02F05300 HC-PQ053
02FF1300 HC-PQ13
"a2 31 da 1f 56"
"a2 31 ae 1f 22"
"a2 31 b0 1f 3c"
"a2 31 b2 1f 3e"
позиция
/dmitry
p.s. но чет я не очень понимаю что за подходящий движок. и энкодер нужен абсолютный - привод, имхо, нулевую метку искать не умеет
да, там стандартный диф трансивер, по-умолчанию - полудуплекс, 2.5Мбит, 8-N-1.
драйв шлет однобайтовые запросы, энкодер отвечает пакетом. отвечать надо быстро, прям сразу...
первый байт ответа - повтор запроса, второй - какие-то статуcные биты, последний - контрольная сумма. запросы-ответы на разных поколениях энкодеров отличаются.
HC-PQ у меня не и не было никогда, поэтому что конкретно надо отвечать - не скажу. но если есть желание - наверное, можно подобрать. наиболее близкое что я видел - HC-MF23. ответы такие:
"92 11 3d be"
3d - тип энкодера 13 бит. на HC-PQ, возможно, нужно "34"
"7a 01 3d 02 23 ff 00 3d a5"
тип мотора - HC-KF23. видимо, снова вместе с энкодером
02F03300 HC-PQ033
02F05300 HC-PQ053
02FF1300 HC-PQ13
"a2 31 da 1f 56"
"a2 31 ae 1f 22"
"a2 31 b0 1f 3c"
"a2 31 b2 1f 3e"
позиция
/dmitry
p.s. но чет я не очень понимаю что за подходящий движок. и энкодер нужен абсолютный - привод, имхо, нулевую метку искать не умеет
Последний раз редактировалось merkwurdigliebe 11 апр 2018, 21:58, всего редактировалось 1 раз.
-
- Зачётный участник
- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6192
- Откуда: Казахстан.
- Контактная информация:
Re: протокол энкодеров Mitsubishi
merkwurdigliebe, главный повелитель серв Mitsubishi
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: протокол энкодеров Mitsubishi
merkwurdigliebe писал(а):послушай UAVpilot и сделай наоборот
UAVpilot писал(а):Скорее всего там
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Новичок
- Сообщения: 33
- Зарегистрирован: 15 мар 2013, 12:16
- Репутация: 3
- Настоящее имя: Василий
- Откуда: Калуга
- Контактная информация:
Re: протокол энкодеров Mitsubishi
спасибо за такое активное участие!
в mitsubishi_motion_control_product_range_of_servo_motors_and_servo_drives.pdf
есть такая интересная табличка на 6-й странице: судя по ней, hc-pq весьма странные сервы, без абсолютного энкодера...
до этого, в факе на митсубисевско сайте нашел, что hc-pq с 12бит энкодером.
"подходящий" движок у меня - это фануковский АС-привод 34-го размера с убитым напрочь энкодером и покалеченным валом.
в mitsubishi_motion_control_product_range_of_servo_motors_and_servo_drives.pdf
есть такая интересная табличка на 6-й странице: судя по ней, hc-pq весьма странные сервы, без абсолютного энкодера...
до этого, в факе на митсубисевско сайте нашел, что hc-pq с 12бит энкодером.
"подходящий" движок у меня - это фануковский АС-привод 34-го размера с убитым напрочь энкодером и покалеченным валом.
- merkwurdigliebe
- Мастер
- Сообщения: 608
- Зарегистрирован: 17 дек 2013, 22:14
- Репутация: 580
- Откуда: București
- Контактная информация:
Re: протокол энкодеров Mitsubishi
я думаю чно энкодер там на самом деле на 4096 отсчета. мицубиси зачем-то любят иногда округлять. а не абсолютный потому что полные обороты не считает. но коммутация обмоток все равно по позиции внутри оборота, я почти уверен.
подцепить фануковский мотор - чет я сомневаюсь. для каждого поддерживаемого мотора в приводе есть набор недокументированных констант, типа
на MR-J* их, в принципе, можно менять. возможно, что на MR-C тоже. если много лишнего свободного времени и хочется просто поразвлекаться - наверное, можно заморочиться. иначе, имхо, это бесперспективная затея, к сожалению...
подцепить фануковский мотор - чет я сомневаюсь. для каждого поддерживаемого мотора в приводе есть набор недокументированных констант, типа
Код: Выделить всё
Servo motor output
Maximum motor torque
Q axis current clamp value
Number of motor poles
Rated motor speed
Maximum motor speed
Rated motor current
Motor inertia moment
Rated motor torque
Pr.163 - 65 unit select.
Motor inertia/torque const.
Speed gain constant
Induced voltage compensator
Overload level
Overcurrent level
Inductance
Average speed feedback count
S/W Td compensation gain
S/W Td compensation clamp
Q axis gain
D axis gain
Q axis integral compensation
D axis integral compensation
-
- Новичок
- Сообщения: 22
- Зарегистрирован: 28 мар 2018, 13:36
- Репутация: 1
- Настоящее имя: Александр
- Контактная информация:
Re: протокол энкодеров Mitsubishi
Добрый день. Продолжу тему, многим наверняка интересно. Имеется мотор HF-KP23 на опыты. Подключаюсь по распиновке, если смотреть на разъем энкодера под крышкой двигателя, рядный разъем разъемом к себе, слева направо - 1нет/ 2нет/ 3 +5В/ 4 data-/ 5 data+/ 6 0Впитание / 7нет / 8нетmerkwurdigliebe писал(а): ↑11 апр 2018, 21:38 да, там стандартный диф трансивер, по-умолчанию - полудуплекс, 2.5Мбит, 8-N-1.
драйв шлет однобайтовые запросы, энкодер отвечает пакетом. отвечать надо быстро, прям сразу...
первый байт ответа - повтор запроса, второй - какие-то статуcные биты, последний - контрольная сумма. запросы-ответы на разных поколениях энкодеров отличаются.
HC-PQ у меня не и не было никогда, поэтому что конкретно надо отвечать - не скажу. но если есть желание - наверное, можно подобрать. наиболее близкое что я видел - HC-MF23. ответы такие:
"92 11 3d be"
3d - тип энкодера 13 бит. на HC-PQ, возможно, нужно "34"
"7a 01 3d 02 23 ff 00 3d a5"
тип мотора - HC-KF23. видимо, снова вместе с энкодером
Скорость 2 500 000 мбод, через адаптер rs485, Адам 4561, он позволяет такую скорость, прога Realterm 2 версии.
Итак энкодер откинут, я встал вместо него и слушаю посылки привода. В терминале в режиме отображения HEX символы F5 повторяются 8 раз. На такой скорости ответить в терминале вовремя не успеешь, надо писать программу например на Python. Подаю питание на энкодер и сажусь на его сигнальные линии, так же из под терминалам шлю ему F5, но как описано выше он не дублирует мой запрос F5, а сразу ответную посылку, говорит ли это что у меня дата плюс и минус перепутаны? Если меняю дата плюс и дата минус то на адаптере горит авария, и он в ошибке. Причем если буду несколько раз слать запрос то первые три ответа будут разные. Далее пробую прокрутить за вал, чтобы он в ответе слал свою позицию, но ответ на мой запрос не меняется. Так же пробовал записать после включения дамп, и поискать где там идентификатор моего мотора. Не находит. Насколько понимаю /поправьте если не так/ у меня 17 битный энкодер очень похожий на тамагава tamagawa si35. Возможно у кого то есть протокол тамагавы? Или протокол Митсубиси? Поделитесь пожалуйста.
Планирую написать на Питоне опросник чтобы опросить все ответы на все команды от 00h до ffh.
-
- Мастер
- Сообщения: 1718
- Зарегистрирован: 28 авг 2018, 17:13
- Репутация: 286
- Настоящее имя: Алексей
- Контактная информация:
Re: протокол энкодеров Mitsubishi
может проще включить его в усилок и посмотреть что там идёт? заодно и аппаратуру проверить.L4_novator писал(а): ↑ Планирую написать на Питоне опросник чтобы опросить все ответы на все команды от 00h до ffh.
-
- Новичок
- Сообщения: 22
- Зарегистрирован: 28 мар 2018, 13:36
- Репутация: 1
- Настоящее имя: Александр
- Контактная информация:
Re: протокол энкодеров Mitsubishi
В усилке (в серводрайвере) работает хорошо. Пытался сниферить обмен, Но ответные посылки бывают разной длины байт, плюс нет ясности по запросам и их значениям, а так же наличии контрольной суммы.
Интерес в том чтобы разобрать протокол.
-
- Новичок
- Сообщения: 33
- Зарегистрирован: 15 мар 2013, 12:16
- Репутация: 3
- Настоящее имя: Василий
- Откуда: Калуга
- Контактная информация:
Re: протокол энкодеров Mitsubishi
возможно простейший китайский логический анализатор с 24МГц семплированием за 5 баксов и пара трансиверов 422 на шине помогут?
Питоном, наверное, не вариант - на персоналке даже модбас без аппаратного управления направлением на 115200 тяжко сделать не влезая в приоритеты, а тут на порядок быстрей.
Я не стал возиться, почитав ответы на свой вопрос. Не имея образца угадать протокол я не потяну (судя по количеству "возможно" в беседе выше), тут талант в таких делах нужен
Я когда то разобрал для себя частично протокол обмена у объектива никона с тушкой, и сделал эмулятор, для цепляния старого объектива на только вышедший зеркальный Д70. Там низкая скорость и под руками аппарат с родным объективом были. И то, сделал минимальный вариант "обманки", и остановился на этом, дальше не пошел (но задачку для конкретного объектива решил, даже чуть снимал им, из спортивного интереса).
При наличии документированного протокола - задачка решаемая, с живым комплектом - возможно решаемая (вдруг там от таких исследователей хэш вместо данных в части протокола, как овен в древности учудил?), тыкаясь в полукомплект - наверное время зря убить только.
Питоном, наверное, не вариант - на персоналке даже модбас без аппаратного управления направлением на 115200 тяжко сделать не влезая в приоритеты, а тут на порядок быстрей.
Я не стал возиться, почитав ответы на свой вопрос. Не имея образца угадать протокол я не потяну (судя по количеству "возможно" в беседе выше), тут талант в таких делах нужен
Я когда то разобрал для себя частично протокол обмена у объектива никона с тушкой, и сделал эмулятор, для цепляния старого объектива на только вышедший зеркальный Д70. Там низкая скорость и под руками аппарат с родным объективом были. И то, сделал минимальный вариант "обманки", и остановился на этом, дальше не пошел (но задачку для конкретного объектива решил, даже чуть снимал им, из спортивного интереса).
При наличии документированного протокола - задачка решаемая, с живым комплектом - возможно решаемая (вдруг там от таких исследователей хэш вместо данных в части протокола, как овен в древности учудил?), тыкаясь в полукомплект - наверное время зря убить только.
- Prav
- Мастер
- Сообщения: 827
- Зарегистрирован: 14 июл 2015, 05:10
- Репутация: 138
- Настоящее имя: Петр Раввинский
- Откуда: Москва
- Контактная информация:
Re: протокол энкодеров Mitsubishi
Прямо в точку!L4_novator писал(а): ↑ Продолжу тему, многим наверняка интересно.
-
- Новичок
- Сообщения: 22
- Зарегистрирован: 28 мар 2018, 13:36
- Репутация: 1
- Настоящее имя: Александр
- Контактная информация:
Re: протокол энкодеров Mitsubishi
В принципе этот анализатор сможет напрямую наверное читать данные, да, мысль хорошая. Некоторые осциллографы умеют читать данные и ретранслировать в ПК для анализа. Но тут опять же таки - не помню чтобы они могли делать например условные ответы на запросы, поэтому Питон выглядит предпочтительнее.
Есть прога написанная на коленках по опросу Hiperface энкодерного протокола. Поменял в ней строку выбора возможного варианта скорости, и на внешнем преобразователе usb/485 в ошибку из-за неверной скорости не выкидывает (на встроенном ком порту не даёт выбрать 2,5 Mbaud) и какие то посылки отрабатывает, так же снифер умеет читать в файл, и делает это быстро, но там ответы отличаются. Например я руками шлю энкодеру F5h он мне отвечает что то вида BCh FDh, а если подцепляться параллельно общению энкодер-драйвер и включать запись, но на запрос F5h от серводрайвера посылка 05h 58h, пока не нашел статистику, но повторяемость опытов присутствует. Тут опять таки же не подумал насчёт анализатора, возможно дело в аппаратной составляющей не дающей корректный вид посылок. Опять же - на Линукс LinuxCNC с подобием ркалтайма брать PyCharm и смотреть ответы на все посылки от 00h до FFh.
И ещё 5 копеек, у одного из подопытных моторов в идентификаторе motor id есть цифра 16h, и когда я подключаю драйвер и энкодер, и записываю их обмен в файл, в mr configurator2 я вижу что мотор ид считался норм, однако в сниф файле идентификатор не найти,. Даже нет ни одного раза цифры 16h...
Интересная задача, и интересно посмотреть реализацию. Выкладывали ли куда-нибудь к хабравчанам? Там такое любят почитать))Vasily_A писал(а): ↑24 фев 2022, 20:55 Я когда то разобрал для себя частично протокол обмена у объектива никона с тушкой, и сделал эмулятор, для цепляния старого объектива на только вышедший зеркальный Д70. Там низкая скорость и под руками аппарат с родным объективом были. И то, сделал минимальный вариант "обманки", и остановился на этом, дальше не пошел (но задачку для конкретного объектива решил, даже чуть снимал им, из спортивного интереса).
P.S. официалы Мит говорят что есть утилита, с помощью которой они шьют motor id. Но сам протокол они не знают и не вникают, ибо не надо. Но китайцы готовы вроде как поделиться утилитой при покупке энкодера. Обдумываю))))
P.P.s. а что там овен учудил в древности? Про какую из историй речь?)))
-
- Новичок
- Сообщения: 33
- Зарегистрирован: 15 мар 2013, 12:16
- Репутация: 3
- Настоящее имя: Василий
- Откуда: Калуга
- Контактная информация:
Re: протокол энкодеров Mitsubishi
про овен - когда то, примерно во времена динозавров, у контролеров овен не существовало поддержки модбаса... а был свой протокол (он возможно, и сейчас поддерживается, для совместимости, вместе с другими общепринятыми). смысл протокола - шлем по rs485 команду запрос: считать состояние входа номер 2, например. и ждем ответ... логично ожидать команду читать_вход[2], но нет - в документации была табличка с такими командами и хэшами к ним. слать в контроллер надо было хэши
по никону - делал в 2004-м году, может и осталось что... никаких нанотехнологий - к лпт порту отдельного компа на первом пне провода к контактам объектива, прога под дос на турбопаскале с кусками ассемблера и куча зарисовок на бумаге. в итоге - тиниАВР 8-ми ножка, с таблицей "правильных" ответов на запросы тушки к объективу. самое сложное было - сделать контактирующее устройство на объектив старый, без доступа к алиэкспрессу с пого-пинами и 3д-принтерами. ну и опасения накосячить - камера почти 1к уе тогда стоила...
по работе питоном (на х86 без RT-расширений) - квант времени операционки не позволит нормально ловить данные, особенно с юсб-шнурка (пакетная суть юсб). и скорости выше 115200 могут врать сильно (там сетка возможных скоростей кривая весьма)
копеечный логический анализатор - позволит.
отвечать - тут проще резвым микроконтроллером, из доступных сейчас - esp32, наверное, самый простой путь.
по никону - делал в 2004-м году, может и осталось что... никаких нанотехнологий - к лпт порту отдельного компа на первом пне провода к контактам объектива, прога под дос на турбопаскале с кусками ассемблера и куча зарисовок на бумаге. в итоге - тиниАВР 8-ми ножка, с таблицей "правильных" ответов на запросы тушки к объективу. самое сложное было - сделать контактирующее устройство на объектив старый, без доступа к алиэкспрессу с пого-пинами и 3д-принтерами. ну и опасения накосячить - камера почти 1к уе тогда стоила...
по работе питоном (на х86 без RT-расширений) - квант времени операционки не позволит нормально ловить данные, особенно с юсб-шнурка (пакетная суть юсб). и скорости выше 115200 могут врать сильно (там сетка возможных скоростей кривая весьма)
копеечный логический анализатор - позволит.
отвечать - тут проще резвым микроконтроллером, из доступных сейчас - esp32, наверное, самый простой путь.