Контроллер YSSC2P для серво Mitsubishi SSCNET-II (MR-J2S-B)
Добавлено: 08 июл 2016, 16:24
hello everybody!
когда-то давно попались мне на ибее сервоприводы мицубиси MR-J2S-B, которые управляются по пропраитари протоколу SSCNET. накупил я их, с расчетом расковырять этот протокол. было интересно, и в итоге родилась вот такая PCI платка:
- PCI 32bit, 33MHz, 5В или 3.3В
- SSCNET II - 6 осей, цикл 0.88 мс, управление позиция/скорость
- 12 оптоизолированных входов 24VDC
- 8 выходов с открытым коллектором, до 30В, 100 мА каждый
- Разъем расширения – 17 двунаправленных линий (5V-tolerant)
может управлять 6 приводами MR-J2S-B по позиции или скорости. на моем фрезерном станочке 5 осей (4 сейчас работют) + 700Вт серва на шпинделе, все сидят на одной шине.
задание контроллер выдает одновременно для всех приводов в цифровом виде, с фиксированным периодом 0.88мс. позиционирование выполняется в полном разрешении энкодера (17 или 18 бит). разрешение по скорости - 0.1 rpm. максимальная скорость ограничена только программно самими приводами. по этой же шине есть обратная связь - положение, скорость, развиваемый момент, рассогласование и т.д. ошибки и предупреждения приводов выведены на пины драйвера и подключаются к e-stop.
пропатчил немножко LinuxCNC для поддержки абсолютных энкодеров - при включении не надо выполнять homing.
для каждого привода есть пин вклдючения ограничения момента. использовать можно, очевидно, на шпинделе. или можно делать хоуминг по жестким упорам (на порталах полезно).
чего еще... 12 входов оптоизолированных под 24 вольта. 8 выходов на релюшки.
расширение - сейчас там у меня только отладочная консоль да шпиндельный энкодер (квадратурный). переделываю на последовательный линк - проводов не хватает.
из перспективного: для MR-J2S-B есть фирмварь full-closed loop, работающая с дополнительным энкодером (линейки). правда, протокол там последовательный мицубисевский и для квадратурных нужен транслятор. ща один товарищ ретрофитит какой-то старый мазак - там привод ШВП зубчатым ремнем и доп. энкодеры на другом конце ШВП. попробуем вместо них поставить маленькие мицушные моторчики в качестве энкодеров.
еще ковырял у этих приводов фирмварь - сделал версию, которая может работать с некоторыми моторами от MR-J3...
пробовал управлять из Mach3. драйверы и плагины под виндой писать лень, сделал на карточке I/O порты а-ля LPT и просто считал импульсы. оно, конечно, ездит - но неравномерно, особенно на больших скоростях. но если будет интерес - можно допилить.
на данный момент остро не хватает аналоговых выходов. рисую платку расширения, где они будут. плюс еще дискретные входы-выходы и RS422/RS485. ну и еще чего по-мелочи...
была мысль сделать поддержку месовских плат расширения типа 7i77, но чет все руки не доходят...
http://yurtaev.com (сайтик с описанием, на английском)
http://yurtaev.com/files/yssc2p-um_rus_v0.13.pdf (описание на русском, немножко устаревшее)
http://www.youtube.com/user/m3rkwurdigliebe/videos (всякие исторические видео с моим станочком)
/dmitry
когда-то давно попались мне на ибее сервоприводы мицубиси MR-J2S-B, которые управляются по пропраитари протоколу SSCNET. накупил я их, с расчетом расковырять этот протокол. было интересно, и в итоге родилась вот такая PCI платка:
- PCI 32bit, 33MHz, 5В или 3.3В
- SSCNET II - 6 осей, цикл 0.88 мс, управление позиция/скорость
- 12 оптоизолированных входов 24VDC
- 8 выходов с открытым коллектором, до 30В, 100 мА каждый
- Разъем расширения – 17 двунаправленных линий (5V-tolerant)
может управлять 6 приводами MR-J2S-B по позиции или скорости. на моем фрезерном станочке 5 осей (4 сейчас работют) + 700Вт серва на шпинделе, все сидят на одной шине.
задание контроллер выдает одновременно для всех приводов в цифровом виде, с фиксированным периодом 0.88мс. позиционирование выполняется в полном разрешении энкодера (17 или 18 бит). разрешение по скорости - 0.1 rpm. максимальная скорость ограничена только программно самими приводами. по этой же шине есть обратная связь - положение, скорость, развиваемый момент, рассогласование и т.д. ошибки и предупреждения приводов выведены на пины драйвера и подключаются к e-stop.
пропатчил немножко LinuxCNC для поддержки абсолютных энкодеров - при включении не надо выполнять homing.
для каждого привода есть пин вклдючения ограничения момента. использовать можно, очевидно, на шпинделе. или можно делать хоуминг по жестким упорам (на порталах полезно).
чего еще... 12 входов оптоизолированных под 24 вольта. 8 выходов на релюшки.
расширение - сейчас там у меня только отладочная консоль да шпиндельный энкодер (квадратурный). переделываю на последовательный линк - проводов не хватает.
из перспективного: для MR-J2S-B есть фирмварь full-closed loop, работающая с дополнительным энкодером (линейки). правда, протокол там последовательный мицубисевский и для квадратурных нужен транслятор. ща один товарищ ретрофитит какой-то старый мазак - там привод ШВП зубчатым ремнем и доп. энкодеры на другом конце ШВП. попробуем вместо них поставить маленькие мицушные моторчики в качестве энкодеров.
еще ковырял у этих приводов фирмварь - сделал версию, которая может работать с некоторыми моторами от MR-J3...
пробовал управлять из Mach3. драйверы и плагины под виндой писать лень, сделал на карточке I/O порты а-ля LPT и просто считал импульсы. оно, конечно, ездит - но неравномерно, особенно на больших скоростях. но если будет интерес - можно допилить.
на данный момент остро не хватает аналоговых выходов. рисую платку расширения, где они будут. плюс еще дискретные входы-выходы и RS422/RS485. ну и еще чего по-мелочи...
была мысль сделать поддержку месовских плат расширения типа 7i77, но чет все руки не доходят...
http://yurtaev.com (сайтик с описанием, на английском)
http://yurtaev.com/files/yssc2p-um_rus_v0.13.pdf (описание на русском, немножко устаревшее)
http://www.youtube.com/user/m3rkwurdigliebe/videos (всякие исторические видео с моим станочком)
/dmitry