How can I optimize my SimpleFOC setup?

Hi everyone, :wave:

I am using SimpleFOC with an Arduino Uno to control a 24V BLDC motor with Hall sensors and an L298N driver. My goal is precise position control for a robotic arm but I am facing a some issues:

Motor Jitter: It jitters at low speeds despite PID tuning.
Heat: The driver gets hot quickly.
Position Accuracy: There’s some lag and overshoot.

I also check this: https://community.simplefoc.com/t/control-a-bldc-motor-hall-sensor-with-simplefoc-powershieldqlikview But I have not found any solution. Could anyone guide me about this? Any tips on PID tuning, better drivers for heat management, or improving position accuracy would be really helpful.

Respected community member :blush:

Thanks in advance! :saluting_face:

How do you control a 3-phase motor with a dual H-bridge driver?
AFAIK, you can run DC motors or bipolar steppers with it (merely, because of it’s shitty efficiency)
The other components, like slow Uno MCU and coarse position feedback of hall sensors are the worst startingpoint for a robotic project.
You might see an improvement by using @dekutree64 smoothingsensor library

Hall sensors are also not a good pick for postiion control, because there are only a handful of discrete states (3x the number of pole pairs). So in combination with the uno and the driver, it could be very tricky to get the performance where you expect. It would be better to try and use some better hardware, I think.