i am able to spin the motor but i have few issues in understanding the behavior, i applied the FOC algorithm and i switch off the DC bus and do hand rotation of the motor and check the pwm signals from one of the phases and at some position of the hall sensor one of the outputs of the pwm signals are almost 0% duty. And i move the hall sensor further the duty cycle increases like sine wave. My main worry is the duty cycle reaching very low values (almost 0%). Is it kind of overmodulation? How do i understand this scenario. For low speeds there shall be much higher minimum duty cycle. Why it does not happen?
Perhaps - if you’re using the SimpleFOC library, you can try to reduce the motor.voltage_limit
and or motor.current_limit
. These are limits on the Q-axis voltage/current in the FOC coordinate system. Limiting this will reduce the amplitude of the sine wave and therefore the maximum and minimum duty cycles of the PWM.