Looking for Guidance on ODrive Setup Optimisation to Improve CNC Machine Construction

Hello Everyone :hugs:,

I’ve made the decision to use ODrive for managing the brushless motors as I construct a CNC machine. Since I’m not too familiar with ODrive, I would really appreciate some pointers and recommendations from people who are.

Configuration Information:

  • Motors: For both X and Y axes, I utilise two 5065 270the KV brushless engines, and for the Z axis, I’m using a 6374 150KV motor.
  • Encoders: For position feedback, AS5047P magnetic encoding devices are utilised.
  • Power source: The arrangement is powered by a 48V 10A source of power.
  • ODrive Version: I’m running firmware version 0.5.1 on an ODrive v3.6.

Problems and Inquiries:

Motor Tuning: I’ve completed the fundamental tuning procedure, but certain oscillations and vibrations persist, particularly at slower speeds. :innocent:

Exist any particular tuning factors or methods that could assist in lessening these problems? :thinking:

Heat Management: The ODrive board and the motors tend to get hot with prolonged usage. :innocent:

What are some successful cooling techniques or approaches that other people have used to control heat in comparable arrangement? :thinking:

Power Supply Stability: Occasionally, I observe a decrease in performance, which I believe could be brought on by variations in the power supply. :innocent:

Has anyone experienced anything similar? Would changing the power source or adding capacitors be more effective? :thinking:

EMI and Noise Reduction: The encoder signals are being affected by electromagnetic interference, which is causing me some trouble. :innocent:

Which grounding and shielding techniques reduce noise the best? :thinking:

I also checked this :point_right: https://discourse.odriverobotics.com/t/the-cnc-machine-using-mlops-an-odrive-im-working-on/5747

It would be very helpful if you could contribute any resources, advice, or observations. I can’t wait to use ODrive to make my CNC machine functioning effortlessly and efficiently.

In advance, I thank you :pray: for your time and assistance!

Hi! Some thoughts:

  • Motors: For both X and Y axes, I utilise two 5065 270the KV brushless engines, and for the Z axis, I’m using a 6374 150KV motor.

Are you using any gearboxes or reductions, or just the motor direct drive?

  • Encoders: For position feedback, AS5047P magnetic encoding devices are utilised.

I would not recommend this. The AS5047P is quite noisy and can be inaccurate. The ODrive positioning accuracy is typically determined by the encoder resolution, you should consider the 20480 CPR encoder if you’re using the ODrive v3. It’s not an absolute encoder, but it’s much higher resolution.

  • Power source: The arrangement is powered by a 48V 10A source of power.

This seems fine. 10A may be low though, I’d recommend finding a 20 or 30A supply

Motor Tuning: I’ve completed the fundamental tuning procedure, but certain oscillations and vibrations persist, particularly at slower speeds. :innocent:
Exist any particular tuning factors or methods that could assist in lessening these problems? :thinking:

Looks like you may have to lower the gains.

Heat Management: The ODrive board and the motors tend to get hot with prolonged usage. :innocent:

This is normal. As long as you’re using and properly configure the motor thermistors, the ODrive can manage and prevent overtemperature in the motor or the ODrive. However, if the motors get hot under no load or light load, this is likely due to issues with your gain tuning.

Power Supply Stability: Occasionally, I observe a decrease in performance, which I believe could be brought on by variations in the power supply. :innocent:

This could be due to the power supply only being 480W, but it also could be due to the motors or ODrive overheating.

EMI and Noise Reduction: The encoder signals are being affected by electromagnetic interference, which is causing me some trouble. :innocent:

You should use shielded wire and/or the ferrite rings from the shop.