Let's Make Robots!

ESC + L293 + Brushless motor

So, i've been having some trouble lately and I can't seem to find a solution on the web. I've managed to controll a brushless motor through and ESC and arduino with PWM. Nothing too dificult. What I need now is a way to controll an inversion of the motor. Like you know, changing two of the wires from the motor makes it turn the other way around. I have an L293 that I know can be used to invert a brushed motor, but i've got no clue on how to use it to switch two wires when given a logic input (while controlling the speed of it through the ESC), and on the other hand maybe current would be an issue. Basically what i'm searching is if it's possible to build a circuit to change the two wires at a given signal:

Basic state, input 0:
-ESC wire 1 ==> motor wire 1
-ESC wire 2 ==> motor wire 2

Input 1:
-ESC wire 1 ==> motor wire 2
-ESC wire 2 ==> motor wire 1

Don't know if such an inversion would work under load, but I don't see why not. And no, my ESC hasn't built-in inversion T_T.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
6677's picture

Simply put:

An L293 cannot control a brushless motor, you have to buy dedicated brushless ESC's for a reason you know.

 

It should however be possible to switch leads when running, however due to how some brushless motors work (not sure if this applies to the ones used in RC vehicles or not) this won't actually make any difference. This might not apply to the motors used in RC vehicles but if it does then your only choice is going to have to be to buy a new ESC that supports reverse (most car ones will, plane ones won't, boats sometimes will and sometimes won't)

Chris the Carpenter's picture

I fly a rip-off of an Easy Star plane and the motor is in a pusher configuration. Thus, I have done the two-wire-swap the few times I have replaced the motor.

The way I see it, your ESC is only going to get that motor going one way, therefor we cannot do any direction changing pre-ESC. Instead, the direction change has to be done between the ESC and the motor itself. I think you will physically need to swap those wires.

The easiest thing to do here would be to use a small, 5v DPDT relay. The relay will need a transistor (maybe a 2n2222 --or really, whatever NPN you happen to have) so the arduino can "click" it. --This is a pretty simple circuit really and can be found easily.

You drive around, with your PWM and ESC and when you want to go in reverse, you throttle down, make the "relay pin" high to click the relay, throttle back up and hey --you are going in reverse.

this is what I was thinking of. I'm using the arduino commander app so activation of the realy can be done very simple, just set the X-axis of the accelerometer in my phone to send a 1 when it is in "backwards mode". Thank you very much!