This was one thing I learnt today at AGV testing, and decided to share it on the internet so that maybe someone somewhere in the world may benefit from this!
If you happen to use a generic BLDC motor, akin to what’s found on an electric scooter, as shown below, then one of the constant observations of yours might be the inability of the motor to run in reverse.
For those who didn’t know, the motor has 8 useful wires. 3 wires (thick ones) are for power supply for the generation of rotating magnetic field. 5 wires are for hall sensors. (VCC, GND and 3 sensors).
For reversing the motor we have to change the direction of perception of magnetic field. The diagram below can help you understand how the motor actually works.
To reverse the motor what we have to do is change the way the hall sensors trigger the change in power signals using the MOSFETs inside the controller. What I initially did (last year) was interchange 2 of the input as well as corresponding power lines, and the BLDC could reverse its direction. So if A-B-C and a-b-c was the sequence for hall sensor wires and power wires at the beginning, the sequence if changed to A-C-B and a-c-b would reverse the motor, which can be seen by drawing a diagram as above and testing the aptness.
But today I found a new way of doing the same, which allows for use of simple relays, not power ones as the power lines are left undisturbed. What we have to do is change the A-B-C sequence of hall sensor wires to C-A-B. It won’t work if B-C-A sequence is used. So a TPDT PCB mounted relay simply does the trick.
Also to brake the motor using electrical method, simply change A-B-C to B-A-C or A-C-B or C-B-A. The motor stops abruptly! Be careful while testing, because it can lead to mechanical damage.
Hope someone finds this useful!