# Motor polarity reversing circuit using just SPDT switches

I have a 6v DC motor that controls a physical system similar to a window blind, using one SPDT toggle switch and two SPDT microswitches for control. I have seen similar setups with hoists, however I do not know if the toggle switch was SPDT or DPDT.

Ideally: A SPDT toggle switch will determine if the blind is to be up or down, reversing the polarity on the motor accordingly. One SPDT microswitch determines when the blind is fully up (And halts the motor when the toggle switch is in the up position). Another SPDT microswitch determines when the blind is fully down (and halts the motor when the toggle switch is in the down position).

Using just those three SPDT switches, is it possible to achieve the above result? I can't work out how to formulate this mathematically. Without maths, the best I have come up with needs a DPDT toggle switch, as follows:

simulate this circuit – Schematic created using CircuitLab

The next idea for a solution would be to use an H-bridge BJT circuit, perhaps with some logic or a low-end 12-series PIC microcontroller.

Any solutions would be helpful. (As a bonus, I'd be very interested in the maths which confirms if a solution with just three SPDT switches would be possible, and what the circuit would be)

Thanks

• Not sure if this fits the bill but if there's a particular reason to stick with the SPDT switch you could use it to control a DPDT relay, although it would draw the coil current the whole time while in the on position. Commented Nov 16, 2013 at 9:10
• That is a clever solution! I may use that. I'm just looking for the cheapest solution with minimum component counts. I'm avoiding DPDT toggle switches because they tend to be expensive and are few and far between so leave little choice as to style Commented Nov 16, 2013 at 9:14

The circuit that you are using with only the buttons is perfect. My recomendation is the next:

If the simplest works, use it and don't make your life complicated.

You can do this if you add a couple of transistors. You mention a 6V supply voltage but don't mention current. I'm also going to assume that you planned to use a center-off switch so that you can stop the motor before it has reached an end limit switch.

simulate this circuit – Schematic created using CircuitLab

SW1 + SW2 are your normally-closed limit switches: open when limit is reached.

The IRF3708 is a nice MOSFET with low RDSon and is inexpensive. Other part numbers will work just fine so long as they are fully enhanced at your chosen supply voltage.

D1 & D2 are 12V zener clamps that protect the gates of the FETs from transients. Don't leave them out.

simulate this circuit – Schematic created using CircuitLab

i think this would be simpler.

• Are you shorting the 9V battery? This doesn't look like a good idea. Commented Feb 28, 2015 at 3:12
• If the SW2 will be in opposite state to SW1 it would work. Commented Nov 12, 2018 at 17:29