Query over CAN-FD / Moteus BLDC servo drives
- garlicbread
- Offline
- New Member
Less
More
- Posts: 15
- Thank you received: 12
22 May 2023 10:53 #271922
by garlicbread
Query over CAN-FD / Moteus BLDC servo drives was created by garlicbread
Hi,
I've been looking at the possibility of using a brushless DC Servo motor
ODrive has gone closed sourced now due to china clones I think and I'd like to build my own anyway.
So if I wanted to build my own one option would be moteus
github.com/mjbots/moteus/blob/main/docs/reference.md
I believe this uses CAN-FD for it's communication
There's simpleFOC but I think that doesn't do it's own step generation
There's also tinymovr but it's schematics are not open source
I had considered if it'd be possible to add an ethercat slave IC to the back of the moteus
although my understanding of ethercat is that the master is free but the licencing costs show themselves in the slave devices
which is why the slave IC's tend to be more expensive.
From a linuxcnc perspective I've not really seen any CAN-FD implementations of motion control.
For the Duet Boards I've seen they use the faster CAN-FD, but avoided the old CAN since it was too slow
docs.duet3d.com/User_manual/Machine_conf...ation/CAN_connection
discourse.odriverobotics.com/t/odrive-ca...s-with-duet-3/6419/9
github.com/Duet3D/CANlib/blob/master/src/CanMessageFormats.h
For ODrive they invented they're own protocol, but since it's the original CAN it's probably not fast enough
discourse.odriverobotics.com/t/can-inter...ble-for-testing/1448
My understanding of how LinuxCNC works is that typically you have the two threads
The slower servo thread that always sits in the PC / SBC, runs in realtime but at a slower rate
and the base thread does the high speed step generation.
However some setups move the base thread into external hardware, such as a mesa card, remora (3d printer boards)
or I think use the end motor to do the step generation (ethercad)
forum.linuxcnc.org/38-general-linuxcnc-q...rvo-thread-frequency
I think from a hardware perspective CAN-FD could work.
Although from a software perspective there would probably be a lot of work involved unless someone has already done this
Since you'd need to implement a HAL driver that could send velocity commands and position feedback over CAN-FD
Then ether hook up a Duet expansion board for a stepper - www.duet3d.com/duet-3-expansion-1hcl
Or alter the moteus microcontroller firmware to handle the same type of protocol
Just to ask have there been any examples of motion control done over CAN-FD for linuxCNC?
I've been looking at the possibility of using a brushless DC Servo motor
ODrive has gone closed sourced now due to china clones I think and I'd like to build my own anyway.
So if I wanted to build my own one option would be moteus
github.com/mjbots/moteus/blob/main/docs/reference.md
I believe this uses CAN-FD for it's communication
There's simpleFOC but I think that doesn't do it's own step generation
There's also tinymovr but it's schematics are not open source
I had considered if it'd be possible to add an ethercat slave IC to the back of the moteus
although my understanding of ethercat is that the master is free but the licencing costs show themselves in the slave devices
which is why the slave IC's tend to be more expensive.
From a linuxcnc perspective I've not really seen any CAN-FD implementations of motion control.
For the Duet Boards I've seen they use the faster CAN-FD, but avoided the old CAN since it was too slow
docs.duet3d.com/User_manual/Machine_conf...ation/CAN_connection
discourse.odriverobotics.com/t/odrive-ca...s-with-duet-3/6419/9
github.com/Duet3D/CANlib/blob/master/src/CanMessageFormats.h
For ODrive they invented they're own protocol, but since it's the original CAN it's probably not fast enough
discourse.odriverobotics.com/t/can-inter...ble-for-testing/1448
My understanding of how LinuxCNC works is that typically you have the two threads
The slower servo thread that always sits in the PC / SBC, runs in realtime but at a slower rate
and the base thread does the high speed step generation.
However some setups move the base thread into external hardware, such as a mesa card, remora (3d printer boards)
or I think use the end motor to do the step generation (ethercad)
forum.linuxcnc.org/38-general-linuxcnc-q...rvo-thread-frequency
I think from a hardware perspective CAN-FD could work.
Although from a software perspective there would probably be a lot of work involved unless someone has already done this
Since you'd need to implement a HAL driver that could send velocity commands and position feedback over CAN-FD
Then ether hook up a Duet expansion board for a stepper - www.duet3d.com/duet-3-expansion-1hcl
Or alter the moteus microcontroller firmware to handle the same type of protocol
Just to ask have there been any examples of motion control done over CAN-FD for linuxCNC?
Please Log in or Create an account to join the conversation.
- cakeslob
- Offline
- Platinum Member
Less
More
- Posts: 798
- Thank you received: 231
30 May 2023 23:28 #272528
by cakeslob
Replied by cakeslob on topic Query over CAN-FD / Moteus BLDC servo drives
Hey, this is relevant to my interests but I dont know enough to help you with it.
There is a cia402 driver, but I dont know the difference between all the different CAN protocols.
The only thing I have seen related is a discussion in the machinekit github
github.com/machinekit/machinekit/issues/589
There is a cia402 driver, but I dont know the difference between all the different CAN protocols.
The only thing I have seen related is a discussion in the machinekit github
github.com/machinekit/machinekit/issues/589
Please Log in or Create an account to join the conversation.
Time to create page: 0.055 seconds