Maker Pro
Maker Pro

Electric curtain project: single Push button design

Hi All,

I am working on a electric curtain or electric blind project at home and I am a bit stuck.

I would like the curtain to operate a 12V motor drive with a single Push Button switch (not a toggle switch)

I would like it to behave as follows:

1st press: forward
2nd press: stop
3rd press: reverse
4th press: stop
THEN START CYCLE AGAIN

Of course if it is at one limit then their will be only one direction to go.

I have done a partial design in the below diagram (shown in driving forward state), but it doesn't work exactly as I want it to:
I have a limit switch [L] mechanically built in to the motor drive, that is toggled every time the curtain reaches either extreme.

This is where the design has a problem:
At the moment, I have a normally open push button switch [C] to control the curtain drive.
This allows the drive to move forward.
I have another normally closed push button switch [O] which will stop the drive at any point.
In this design, the curtain can only be reversed once it reaches the closed limit, where the limit switch [L] is toggled.
At this point push button switch [O] needs to be pushed (sort of a reset) and then push button [C] will again allow the drive to commence in the reverse direction.
Again, once reversed to the limit, push button switch [O] needs to be pressed before [C] will allow for forward drive again.

I would like switch [O] and [C] to be replaced with a single push button to allow it to behave as described initially.
Also I as below I would like to keep the circuit as simplistic as possible, hence the use of the relays in my first design.

Your guidance is much appreciated.
 

Attachments

  • upload_2017-1-9_23-41-37.png
    upload_2017-1-9_23-41-37.png
    5.7 KB · Views: 84
Last edited:
Sorry above post attachment was my first design with single pole relays.
This has now been updated to Double Pole relays, so below is the correct design I am referencing:

upload_2017-1-10_0-40-17.png
 
Is this the complete logic tree:

1st press: forward
2nd press or end of travel switch: stop
3rd press: reverse
4th press or end of travel switch: stop
repeat

If so, this can be done with two latching relays. Relay 1 is DPDT, forward/reverse. DC comes in, goes directly to the coil, and then to the contacts for standard forward/reverse crossover connections. In this way, every time power comes on the direction changes. It gets its power from the relay 2, start/stop. The pushbutton and both limit switches are all in parallel. Closing any of them toggles the power relay.

This also can be done with a flip flop circuit, either discrete or a chip, followed by a full bridge driver (again, discrete or chip) rated to handle the motor.

ak
 

Attachments

  • Impulse-S89RS90R_0505.pdf
    76.6 KB · Views: 66
Hi

Here's a design that uses a couple of chips...a CD4017B and CD4001B.
 

Attachments

  • CurtainPBCkt.png
    CurtainPBCkt.png
    45.4 KB · Views: 88
  • CurtainPBSim.png
    CurtainPBSim.png
    16.1 KB · Views: 83
Hello
Here is a version updated with the limit switch.
 

Attachments

  • CurtainPBCkt2.png
    CurtainPBCkt2.png
    48.4 KB · Views: 73
  • CurtainPBSim2.png
    CurtainPBSim2.png
    16.3 KB · Views: 71
Ok...here is final corrected version that includes limit switch simulation control.
The simulation assumes an arbitrary value of 4 seconds for motor to compete movement from start position to end positino. The simulation shows effect of pressing the button before movement reaches end position, in which case movement will only be reverse.

eT
 

Attachments

  • CurtainPBSim3.png
    CurtainPBSim3.png
    21.2 KB · Views: 79
  • CurtainPBCkt3.png
    CurtainPBCkt3.png
    54.6 KB · Views: 67
My fantastic 2-relay solution ran into a glitch, in that the limit switches are not momentary. When the traveler hits one, it changes state and sits there. So it needs to be differentiated before it is combined with the pushbutton, and that is a biiiig cap for 533 mA, greater than 10,000 uF at 25 V. But there are ways around this.

Are the limit switches SPST or SPDT?

ak
 
ak, my initial design above was using only a single SPDT located at the motor which would mechanically toggle once each extremity was reached.

eT, could your design be modified to accommodate 2 limit switches instead, thus a limit switch for each extremity? ie. fully open limit switch, and fully closed limit switch.
 
ak, my initial design above was using only a single SPDT located at the motor which would mechanically toggle once each extremity was reached.

eT, could your design be modified to accommodate 2 limit switches instead, thus a limit switch for each extremity? ie. fully open limit switch, and fully closed limit switch.

Hi

I've modified the circuit to include limit switches for each limit. FWD limit switch will activate when the limit of forward travel is reached. REV limit switch activates when the limit of reverse travel has been reached.

I'm also attaching two graphs along with the revised circuit.
Graph A shows the circuit behavior if the motor never reaches the limit of travel in either direction.
Graph B shows the circuit behavior if the motor reaches the limit of travel in either direction. In this scenario, the limit switches generate an "stop" pulse when the limit is reached. A subsequent PB press will cause the motor to travel in the opposite direction.
 

Attachments

  • CurtainPBCkt4.png
    CurtainPBCkt4.png
    58.4 KB · Views: 125
  • CurtainPBSim4A.png
    CurtainPBSim4A.png
    22.7 KB · Views: 76
  • CurtainPBSim4B.png
    CurtainPBSim4B.png
    23.6 KB · Views: 137
Seems like this circuit design is going to work as intended.
I am grateful for your ideas.
I will be building this over the next week or so and will keep you posted.

I have had another thought to take this design to the next level.
Would it be too complex if we were to build in to the design the option to include current sensing, that could cut out drive and auto reset, after a predetermined amount of time.

The current sensing/limiter would allow for the motor drive to cut out when a limit is exceeded. This would be on top of the already existing limit switches so therefore would act as a secondary cut out in the end positions. Furthermore, when the drive is disturbed whilst in mid motion, the motor drive will again cut out. This is for situations where there is something in the way, for example, causing difficulty with the closure.

In fact, this would then operate very similar to a garage roller door, gate circuit.

Please let me know your thoughts.
 
Seems like this circuit design is going to work as intended.
I am grateful for your ideas.
I will be building this over the next week or so and will keep you posted.

I have had another thought to take this design to the next level.
Would it be too complex if we were to build in to the design the option to include current sensing, that could cut out drive and auto reset, after a predetermined amount of time.

The current sensing/limiter would allow for the motor drive to cut out when a limit is exceeded. This would be on top of the already existing limit switches so therefore would act as a secondary cut out in the end positions. Furthermore, when the drive is disturbed whilst in mid motion, the motor drive will again cut out. This is for situations where there is something in the way, for example, causing difficulty with the closure.

In fact, this would then operate very similar to a garage roller door, gate circuit.

Please let me know your thoughts.

Ok...

To design a current sensing circuit, I'll need specs for the motor being driven. Do you have a part number and/or data sheet for the motor?
 
Very possible. For a DC motor, current sensing is a small-value resistor called a shunt, a comparator to determine if the current has exceeded the trip level, a latch to hold things off until reset somehow, and a relay or power transistor to control the motor. Perf board, a couple of garden-variety chips (maybe a simple dual opamp), and around 10 Rs, Cs, etc. Or, Linear Tech, Maxim, and TI (Unitrode) make chips for this.

ak
 
Top