If your motor is spinning correctly in one direction and not the other, One cause might be that your hall sensors are not properly aligned on your motor. This causes your motor driver to commutate your motor too early or too late depending on the direction the motor is spinning. This can cause noise, vibration and an inefficient motor.
To check if your hall sensors are aligned with your rotor:
- Disconnect the phases of your motor from your motor driver
- Second connect your hall sensors to an oscilloscope
- Third connect your motors V phase to the oscilloscope probes ground and a probe to the U phase
- Spin the motor by hand and compare the BEMF waveforms and hall sensor waveforms to the figures below. The zero crossing of the BEMF should line up with a hall sensor transition.
- Repeat Steps 3 and 4 with phases W grounded and probing V
- Repeat Steps 3 and 4 with phases U grounded and probing W
Figure 1: Hall Sensor Vs. Trapezoidal BEMF
Figure 2: Hall Sensor Vs. Sinusoidal BEMF
If the hall sensors are not properly aligned you can use an MCU to either advance or delay the hall sensor signal to correct for the delay.