Reversible Relay-based Motor Controller

[Nothinglabs] built this motor controller as an alternative to using an H-bridge. They call it the RAT controller which stands for “Relay and Transistors”. You can see above that two Darlington transistors along with their base transistors allow logic signals to switch the relay on and off, driving the motor in one direction or the other based on the open or closed state of the relay. See it working in the video after the break.

It’s a nice little workaround with few parts, but because the relay is mechanical there will be a short lifespan when compared to solid-state motor controllers. That’s okay, because the motivation here was lack of parts on hand, rather than an increase in performance. It’s also worth mentioning that all of these parts can be purchased at your local Radio Shack when you don’t want to wait for component orders by mail. We certainly appreciate that it takes far few components than [David Cook’s] H-bridges. His designs are our favorite – we’ve used them in our own projects – but for quick and dirty you can’t beat five components and the short assembly time needed when using this type of dead-bug style soldering.


16 thoughts on “Reversible Relay-based Motor Controller

  1. Simple and effective, I like it. One change I’d make is to add a diode reverse-biased across the coil, to keep the transistor from being fried when the coil is switched off.

  2. Good suggestion @Spag. @Nothinglabs, You can also add another “clamping” diode from the TIP120’s Collector (anode here) up to the Power rail (cathode here), to prevent flyback voltage generated by the inductance of the motor windings, from damaging your TIP120. It will help you with regenerative braking as well.

  3. @Brett
    Ah yes, forgot about that one.

    With these mods, I actually think this circuit will last quite a long time, especially if you make things easier for the relay by turning off power to the motor (via the “enable” line) before switching directions.

  4. i got an esc for dc motors that can do a few amps but its for an aircraft and doesn’t have reverse. ive been looking at bridge drivers and mosfets and whatnot to try to retrofit a reverse mode. but then i saw this and immediately knew what to do.

    i wouldn’t need the enable pin, since the esc does the pwm already. i figure id use a tiny85 to take the control signal and map it to speed and direction and remake the signal for the esc and also use a pin to control direction. the other pins i can use for alternate interfaces like i2c or fake serial, or for configuration through jumpers.

    might also consider a latching servo to reduce the amount of time the coil needs to stay on. also use a coil witch uses less power, so i can drive it with parts i have on hand.

  5. @holly_smoke: Good point, but most of the time this only happens during opening/closing of the relay contacts- a spark gap created where current is travelling causes the weld. As long as the direction is chosen BEFORE the PWM turns on it should be OK, since the TIP120 isn’t going to be able to handle too much current.

  6. what about using some of those dual FETs (2* MOSFET in a single 8 pin package)?

    you can get them from old laptop motherboards and most of them handle >6A with digital level inputs on the gates.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.