# Reversing Direction of a DC Motor with Delay

I am making a kinetic sculpture and the movement of it requires a reciprocating motion. I have made the designed such that a dc motor powers the movement of the sculpture, and a rotating beam that hits a DPDT switch. What I want is that when the beam hits the DPDT switch, it will reverse the direction of the motor, and it will go until the beam hits the DPDT switch from the other side. The mechanical design is all fine, but I have encountered a problem. When the beam hits the DPDT switch, it momentarily switches the motor off, and sometimes, the inertia of the motor is not enough to push it further so it reverses the switch.

I am not the best at electronics, but I have tried putting a bipolar capacitor across the motor:

simulate this circuit – Schematic created using CircuitLab

The idea is to have the capacitor store a residual voltage that will power the motor for a few moment when the DPDT switch is at the off/middle position; however, it did not seem to work. I do not know if this is because of the fact that the polarity is reversed. If that is the case, I might try putting two series of diode and capacitor in parallel, each facing the other direction:

simulate this circuit

I have also bought a 555 IC but I do not know how to incorporate it with a reversing polarity like this.

Any help with the circuit design would be much appreciated. The motor runs on 9V, and I need the motor to run when it is disconnected from the switch for approximately 0.5 to 1 second. I also prefer the circuit to be small since I want the circuit to fit inside the base of the kinetic sculpture.

• Besides purely electronic approaches, if you just increase the inertia of the sculpture (e.g. add a weight, like a flywheel), wouldn't that work? Feb 7, 2019 at 20:45
• I have thought of something similar: counter weight and springs, but I resort on this approach because I am running out of space to put a mechanical. Feb 7, 2019 at 20:56
• I dodn't understand fully the description of the problem. Which "beam"? How the switch is actioned? Is there a relay? With a relay, as soon as the current activates the relay, there is no coming back. Feb 7, 2019 at 21:03
• The dc motor controls a mechanism that moves the switch to the other direction, but in the middle of moving the switch, the motor stops in the middle position since there is a temporary open circuit. There is no relay involved. You can think of it like this: putting a DPDT switch in front of a car driven by a dc motor, and when the car hits a wall, it stops instead of reversing. Feb 7, 2019 at 21:15

simulate this circuit – Schematic created using CircuitLab

Figure 1. Using a relay to compensate for the long-travel switch.

Your issue seems to be that your chosen switch doesn't have a "toggle" action which would switch it over completely and quickly once past a certain position. Given that you have some mechanical constraints your best solution would be to add a relay which would switch instantly on or off.

• Thank you for the answer. Fortunately, I have just bought a relay. I will try this solution as soon as I get home. Feb 7, 2019 at 21:41
• From what I understand, my DPDT switch acts as a toggle, so when it is flipped over to the other side, it reverse the polarity, and stays that way until it is flipped to the other side again. The problem is that it has to go to the middle state first. With your design, it seems that I can use an SPDT switch. Feb 7, 2019 at 21:46
• The problem with your setup seems to be that the switch doesn't toggle properly but has slowly moving contacts which open the closed contacts when pressed and after some mm of travel close the open set. A real toggle will remain closed until press so far and will then rapidly "toggle" to the other position. Feb 7, 2019 at 23:17
• Right, I get what you mean. This is the switch that I'm using now: jaycar.co.nz/miniature-dpdt-panel-mount-switch/p/SS0821 . I wonder if this one toggles properly: jaycar.co.nz/dpdt-sub-miniature-toggle-switch-solder-tag/p/… Feb 8, 2019 at 0:19
• I have tried it, apparently, this does not work either. So, what happens is when the rotating beam hits the switch, it immediately activates the relay and the motor turns back. It is so fast that it does not even go pass the middle state, so the switch bounces back immediately, so the motor goes back and forth really quickly :( . Feb 8, 2019 at 8:50

You may need to use more components. You can break apart the problem into a state machine, then work from there. (0) Power ON -> (1) forward -- hit forward switch --> (2) reverse -- hit reverse switch --> (1).

You also need to allow for multiple actuations of the switches. I could convert a DPDT relay into a bias changing circuit. The following circuit will run continuously, you will need to add a power switch to turn it off.

simulate this circuit – Schematic created using CircuitLab

• Thank you for the answer. It seems to me that the 2 switches (FWD_LIM and REV_LIM) can be replaced with just one SPDT switch, is that correct? Feb 7, 2019 at 21:50
• No, in this design, the limit switches at either end of the stroke where the motor reversal point is required. They are physically separate. If you want a single-input state switch design, You will need to use a D- or J-K-Flop state element. Difficult to do with relays. Feb 7, 2019 at 21:52
• Oh sorry, I missed the fact that it is a limit switch. What I don't understand is that after the fwd_lim switch is hit, connect the capacitor, but there is already a short next to it on the left. I do understand that if it hits the rev_lim, it will turn on the SPDT relay, which turns on the DPDT relay, which reverse the motor, but is that only true if the reverse switch is pressed? Feb 7, 2019 at 22:10
• No capacitor in circuit. The symbol is the other contact on the relay. Sorry, I was being lazy. I have edited the circuit. Feb 7, 2019 at 22:24
• Allgoods. That makes more sense, thanks. Will give this a try as well. Feb 7, 2019 at 22:41