I'm trying to create a circuit that will allow for switching the direction of a wheelchair motor. I originally was using a regular relay to switch the motor on and off, but after killing 3, I determined that the motor drew too much current (I'm running it at 12V DC). I have since used a starter solenoid, which has worked fine, but these are expensive and are only SPST. Now I need to be able to switch the direction of the motor, and I am having a hard time figuring out a way to do this. Any thoughts? Thanks.

  • \$\begingroup\$ It would be more helpful if you could post the electrical requirements of the motor, like power draw etc. Look at an H-Bridge configuration or just look up motor controller ICs. More often than not they will show an internal diagram, of which you can go implement with discrete components. \$\endgroup\$
    – bit0fun
    May 7, 2017 at 21:06
  • \$\begingroup\$ I am not using a controller IC, I'm essentially using a relay to switch a circuit that simply connects the motor to 2 12V batteries in parallel. \$\endgroup\$ May 7, 2017 at 21:08
  • \$\begingroup\$ I understand that; I may have not been that clear, but I was saying you could use the internal schematic of a motor driver to then implement it with discrete transistors and such. Also hooking up a motor to batteries directly may also be your issue since it will draw a lot of current. DC motors are like shorts when looking at a voltage source, and when you turn off your relay you're most likely shoving really high inductive spikes into the open relay which could be blowing it. Either that or the current draw is too high. \$\endgroup\$
    – bit0fun
    May 7, 2017 at 21:10
  • \$\begingroup\$ I suspected that the current draw was too high, as the relays only blew when the circuit was closed. Would transistors really work for this? I wasn't aware that there were transistors that could tolerate such high amperage. \$\endgroup\$ May 7, 2017 at 21:12
  • 1
    \$\begingroup\$ @SpehroPefhany you're completely right, the thought slipped my mind about voltage drop across the IGBTs. I mentioned them because I thought they might be easier to find than power mosfets. \$\endgroup\$
    – bit0fun
    May 7, 2017 at 21:23

1 Answer 1


To switch the polarity you need either one DPDT relay to switch direction PLUS a SPST relay to turn the juice on or off, or a pair of SPDT relays. For the latter, if both relays are pulled in or dropped out nothing happens. Pulling one or the other in drives the motor in one direction or the other.


simulate this circuit – Schematic created using CircuitLab

Semiconductor switching of traction motors is not for the faint of heart- you would likely need to massively overrate the switching devices to keep them from failing. That's certainly my experience. And failing 'on' with a wheelchair motor could conceivably be dangerous- propelling the hapless operator unexpectedly into some place they don't want to be.

  • \$\begingroup\$ Luckily, I don't have the concern of the safety of a wheelchair user, as I am not using the motor for its intended purpose. As for relays, this sort of thing came to mind, but I was killing relays before with what I suspect to have been too much current. Any ideas on how to get around this? \$\endgroup\$ May 7, 2017 at 21:24
  • \$\begingroup\$ Use bigger relays, preferably rated for the service. Try to estimate or (better) measure the peak current and try to find a relay rated for the LRA (Locked Rotor Amperes) that your motor exhibits. You might be able to get that information from the motor manufacturer. By the way, if you 'plug' the motor (reverse it while it is spinning) the current will be double again what you are seeing now. In some cases that current results in enough torque to actually damage the motor. \$\endgroup\$ May 7, 2017 at 21:28
  • \$\begingroup\$ +1 Smart. Using a single starter solenoid to disconnect before switching polarity with cheap underrated relays. \$\endgroup\$
    – Oskar Skog
    May 9, 2017 at 8:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.