555 Timer Servo Control with Push Button and Auto Return

mactonight

New Member
Hi everyone,
I'm working on a servo motor control circuit using a 555 timer. I have the following circuit (attach the schematic if possible). When I remove the button connected to the 68k resistor, the servo moves to 180° but does not return to 0°.

What I want to achieve:

  • When I press the button once, the servo should move to 180°.
  • It should stay in that position for 1-2 seconds.
  • Then, it should automatically return to 0° without pressing the button again.
  • I cannot use an Arduino, so I need a fully analog solution.
How can I achieve this using a 555 timer or additional components? Should I use a monostable, bistable, or another approach?
Any suggestions would be greatly appreciated.

Thanks in advance!
 

Attachments

  • WhatsApp Görsel 2025-03-12 saat 23.22.42_0abeb77b.jpg
    WhatsApp Görsel 2025-03-12 saat 23.22.42_0abeb77b.jpg
    22.9 KB · Views: 19
With no button pressed the 555 doesn't work, there's no timing resistor - you need to add a resistor between pins 7 and 6 to set the return point. However, it won't hold for 2 seconds (only while you hold the key down), you would need an extra 555, and extra complications to make it timed.

Presumably this is a school project?, hence not using a micro-controller which is the far more obvious and simpler solution.
 
i'm an intern student and yes this is like kinda homework and i cant use microcontroller
 
You could use a dual 555, press of button triggers one to set a D flip flop, and
triggers the second 2 sec 555. It in turn after 2 sec resets the flip flop.

Then use another 555 (ugh) to get the servo 2 mS waveform to position the
servo.

1742402760087.png

Partsy to say the least. A single ATTINY85 8 pin micro, which is a collection of analog
and logic, like a 555 is as well.

If the prof wants to you to use old school why not vacuum tubes, or magamps.....
or relay logic or.....dont ask him that....:)

You could use the tiny, and pot it after coding so it cant be seen........hide it in a brown paper bag.....
 
Last edited:
@OP, so logically you have to generate 2 time sequences, the 2 sec on/off sequence,
and the 2 mS servo control sequence with 2 pulse width settings for the 0 and 180
angle control.

The former 555 timer(s) would do.

The latter a counter and decoding on the output to get the pulse width......
So you have to decide on resolution/degree accuracy counter must have, hence
its bit width and than calc its clock rate. Then decide on decoding to "shape"
the counter output period into correct pulse widths, 2 needed.

Thats the basics......You can use discrete 74HC logic or a CPLD to implement.....
 
So I see two references for angle. Do you agree to down view clockwise -90 to +90 as 0 to 180 ?

If so then left to right delay 1~2s and right to left , ok ?
state #)
0) idle
1) press button (leading edge , sampled state or release?) causes 1 ms high then low ,
2) 1000 ms low (minimum, 2000 ms max.) delay
3) 2 ms high (return servo) then low.
4) then back to state 0) (idle)

How about no 555 using an CR pulse out of an inverter to enable a 1kHz Osc/1024 counter IC then another CR delay to inverter ? or 3 RC one shots ? or .... fill in the blank_____________