I’ve been looking at ethercat control for my robot project for some time and I was wondering could odrive be made to work with an ethercst interface board? Trinamic has just released one and ST and microchip have ones that use SPI for connectivity. Could these be made to work with odrive and would there be any interest?
There’s quite a lot of software required to get EtherCAT working.
To start with, i’d try implementing the CANopen CiA402 motor controller profile using the existing CAN-bus interface. EtherCAT would be an extension of that- Most EtherCAT motor controllers use CANopen-over-EtherCAT (CoE) with the CiA402 standard. (aka DS402, aka IEC 61800-7-201)
But nonetheless, I would love to see this. It would enable much faster, deterministic communications compared to USB.
There is, but I’m mostly exploring the odrive side of this for now. The aim would be to get it to work with linuxcnc since that already has ethercat driver.
My programming experience is mostly on python so I’m looking into what it would require to get that nucleo board working. Failing that, the other obvious option would be the tmc8461 since that had 3 step/dir outputs.
There is an open source implementation of CANopen called Canfestival. So that would need to be integrated into the Odrive software?. The next board communicates with dedicated cifX API so that would need to be adapted as the sending CAN interface?.
I really don’t have experience in STM32 development or C so this is all a bit overwhelming.
were very interested in an ODrive EtherCAT board. we currently are using the EasyCAT board which turns an Arduino into an EtherCAT device and then connecting the Arduino to the odrive and talking to them that way. it allows us to use odrive on the Ethercat network but it would be nice to have an easier way to achieve that.
here’s a link to the EasyCAT shield
Cool, how are you talking from the arduino to odrive? And how does the ethercat master sees the board? As motor drivers or something else? can I see the arduino code?
I’m designing a board for TMC8462, it’s a configurable general purpose ethercat I/O that can do step/dir, pwm, spi master etc. I’d like to hook that to odrive somehow. Maybe even multiple odrives.
A coworker is currently working on it so ill have to double check but i believe the arduino talks to the odrive over can bus so we can talk to many odrives and use any of the odrive controls such as monituring their state which would be an advantage over just step/dir. ill see what i can get for you on monday. any eassy way to connect odrive to ethercat would be brilliant though
There are ethercat canopen modules so if the can implementation works with that, it should work. One thing I’m thinking of trying is tying a can-spi module to the tmc chip and see if they can talk to each other.
Esmacat ( https://esmacat.com ) could be a solution. They have a solution for the control of a BLDC motor with EtherCAT. It is based on SOEM and they have added more user friendly user-interface. I hope it helps your project.