Can LinuxCNC control stepper drives using modbus/RS485?
- dannym
- Offline
- Elite Member
-
Less
More
- Posts: 212
- Thank you received: 1
05 Dec 2022 19:11 #258621
by dannym
Can LinuxCNC control stepper drives using modbus/RS485? was created by dannym
So there's this new stepper drive that takes motion commands via modbus: www.omc-stepperonline.com/modbus-rs485-c...c-or-18-80vac-cl86rs It would be nice to not need an FPGA card.
But could this work? Latency seems less critical as the drive is managing the motion. But, most computers would be handling this through USB with really uncertain latency. Even if it's an onboard RS232 port going through an RS485 translator, there's latency and jitter from the core to the RS232 port.
I think this is more for like a pick and place where the controller can just send a destination and not worry about precision dynamics, as all the P&P tasks that come to mind don't happen with complex curves. Most fundamental operation would be done once XY axes are stopped and it's just Z-up/down with vac on/off.
For a CNC or laser, the coordination between axes is necessary to maintain curved paths.
Looks problematic, but I thought I'd ask
But could this work? Latency seems less critical as the drive is managing the motion. But, most computers would be handling this through USB with really uncertain latency. Even if it's an onboard RS232 port going through an RS485 translator, there's latency and jitter from the core to the RS232 port.
I think this is more for like a pick and place where the controller can just send a destination and not worry about precision dynamics, as all the P&P tasks that come to mind don't happen with complex curves. Most fundamental operation would be done once XY axes are stopped and it's just Z-up/down with vac on/off.
For a CNC or laser, the coordination between axes is necessary to maintain curved paths.
Looks problematic, but I thought I'd ask
Please Log in or Create an account to join the conversation.
- andypugh
-
- Offline
- Moderator
-
Less
More
- Posts: 23279
- Thank you received: 4932
07 Dec 2022 01:04 #258776
by andypugh
Replied by andypugh on topic Can LinuxCNC control stepper drives using modbus/RS485?
I don't know how well it would work, but onboard serial ports (non USB) shold be decently realtime if driven with a realtime driver using inb / outb low level commands.
A better option might be to use Mesa card UARTs, those are definitely handled in realtime. Once you have assembled the data packets outputting them is not all that hard, see this sample component:
github.com/LinuxCNC/linuxcnc/blob/master...ivers/mesa_uart.comp
A better option might be to use Mesa card UARTs, those are definitely handled in realtime. Once you have assembled the data packets outputting them is not all that hard, see this sample component:
github.com/LinuxCNC/linuxcnc/blob/master...ivers/mesa_uart.comp
Please Log in or Create an account to join the conversation.
- mwc
- Offline
- Premium Member
-
Less
More
- Posts: 98
- Thank you received: 7
07 Dec 2022 11:42 #258801
by mwc
Replied by mwc on topic Can LinuxCNC control stepper drives using modbus/RS485?
I've wondered about modbus drives being used for synchronised motion, but having just looked at a Leadshine manual, they list communication rate for a single message as 3.08ms at 115200 baud rate.
If you're only using a single serial port, then it's over 9ms for a basic 3 axis machine.
Actually, just read further down the manual, and it'll typically take more than a single message for each drive, so it's going to be in the 10s of milliseconds for each update cycle for a full machine.
That leaves modbus as more of an industrial automation usage protocol, rather than realtime synchronisation use.
If you're only using a single serial port, then it's over 9ms for a basic 3 axis machine.
Actually, just read further down the manual, and it'll typically take more than a single message for each drive, so it's going to be in the 10s of milliseconds for each update cycle for a full machine.
That leaves modbus as more of an industrial automation usage protocol, rather than realtime synchronisation use.
Please Log in or Create an account to join the conversation.
Time to create page: 0.112 seconds