Reversing polarity at High frequency

I am trying to drive a BLDC hub motor for my project.when normally connected(that is color codes of wires though BLDC motor join same color coded wires of motor driver) ,the motor runs in anti-clockwise direction.For reversing the motor direction,I need to reverse a pair of hall effect sensing wires and same case for Vcc wires.(my motor has 3 hall effect sensing wires and 3 Vcc wires corresponding to 3 coils in BLDC and of coarse one ground).I have reversed the direction of motor successfully through this procedure.But when it comes to the application of PID over this motor,I may get positive velocity and negative velocity at high frequency.for that I may need to reverse the polarity at that rate(around 100 to 150hz is PID max freqency in values update). Take into account that my BLDC motor is huge one,it draws 7 amps and voltage supplied must be 48V. Also if during polairty reversal,two Vcc wires gets short ,then it will damage my motor driver that is one of its kind only. Solutions tried by me: Using two SPDT relays.But the problem is that high frequency of polarity reversal,two Vcc wires get shorted at some 10hz rate when switching relays at 100hz.

Anyone please give me solution to this problem other than DPDT relay that is currently unavailable for me.I want some kind of electronic circuit with no moving parts.may be using transisitors or MOSPHETS or something else. Two days to go for final submission. Remember I want polarity reversal at high frequency without anything getting shorted .

Isn't this normally done with a complex module, like this one. Leo..

Please give me a cheap solution

What is your motor controller? Please give us a link to a datasheet or the manufacturer's website.

Switching the hall effect sensors while the motor is running is quite possibly going to destroy your motor controller, maybe worse. The motor controller is capable of doing this for itself - it's probably got a microcontroller as smart or smarter than your Arduino. It's just a matter of finding the correct inputs to get it to do that function.

What do you consider "cheap"? $200USD?

I think you need to consider why the PID controller is trying to reverse the motor direction that fast. It strikes me that you have an unstable system and need to tame the feedback loop.


You really need a motor controller that drives both direction. Maybe you already have one, you provide us with no information?