Our project involves controlling a BLDC motor in two directions. Our problem is, the ESCs available in the market are all unidirectional ESCs. We tried to construct one on our own where we took two leads of the esc and switched it using a relay but this burnt the ESC.
What we observed was, out of the ten times we used the DPDT relay to switch connections, the motor produced jitters and wouldn't move about 7 to 8 times and it burnt when we held it for too long. What we think is that it might be because we are not switching at zero-crossing most of the time and this results in problems.
Is there any idea on how to switch directions electronically? How to implement back-EMF sensing? Is there any open souce code to make the ESC bidirectional?
The motor is working just fine, it was designed to operate only in one direction. If you really want to get into it and make it reverse you must reverse two of the Hall sensor wires and the correct pair of the Phase wires (only one of the three phase wire swap options will work correctly). This would work but I am not recommending it as it voids all warranties etc. Not all BLDC motors are the same.
Our project involves controlling a BLDC motor in two directions. Our problem is, the ESCs available in the market are all unidirectional ESCs. We tried to construct one on our own where we took two leads of the esc and switched it using a relay but this burnt the ESC.
The main problem is BLDC's without Hall sensors are impossible to control at low speeds, making
reversing unreliable. You probably need a motor with Hall sensors and a sensored ESC to make
use of it (yes reversible ESCs should be available, they will usually designed for RC cars/trucks, not
aeroplaces/helicopters).
What we observed was, out of the ten times we used the DPDT relay to switch connections, the motor produced jitters and wouldn't move about 7 to 8 times and it burnt when we held it for too long. What we think is that it might be because we are not switching at zero-crossing most of the time and this results in problems.
Hot-switching the output of a motor controller like this typically fries the output stage due to inductive
kickback causing arcing and high voltage transients. The reversal should be done by the ESC.
Is there any idea on how to switch directions electronically? How to implement back-EMF sensing? Is there any open souce code to make the ESC bidirectional?
Thanks
You need Hall sensors to get solid reversing working, as during the slow-down leading to an attempt to
reverse the back-EMF will become too small to detect reliably, causing loss of control.
Google terms "sensored motor", "sensored ESC" may help.
You'll also find it much easier to find reversing ESCs for brushed DC motors - just how things are.