Query over CAN-FD / Moteus BLDC servo drives

More
22 May 2023 10:53 #271922 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?

Please Log in or Create an account to join the conversation.

More
30 May 2023 23:28 #272528 by cakeslob
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

Please Log in or Create an account to join the conversation.

Time to create page: 0.095 seconds
Powered by Kunena Forum