I have a BLDC motor on a controller I built running in both forwards and reverse.
However the reverse direction is substantially noisier than the other and the motor vibrates more almost as if the commutation sequence were wrong.
I am using the same sequence for iterating through the 6 commutation states in either direction based on the hall status.
For going forwards I take the position from the hall sensors and map that to N "state" in my list of 6 states, I then set the motors to N+1 state.
For going backwards I do the same but use the N-2 state. (modulo 6)
I am working on the assumption that N+1 is magnetic field in advance of the poles by of 60-120 degrees, N is 0-60 degrees, N-1 is -60 to 0 degrees and N-2 is -120 to -60 degrees - this seems to hold true experimentally using the N and N-1 states, the move, but slowly and jerkily.
I'm using a very low duty cycle PWM (10%) at the moment with a 32V power source (the motor is rated for 48V - this motor specifically https://en.nanotec.com/products/2873-db59c048035-a/)
Why would it consistently behave fine in one direction, but not the other?