Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Increasing astable time period

Status
Not open for further replies.
Hello.

For a project, I am using a servo which needs pulses of increasing length to move the arm. I can easily do this with a PIC. But if I can somehow achieve this without a PIC, e.g. 555 combination; then this would be even better.
Is there some sort of configuration to increase the time period over time- but not gradually, it has to be at precise moments?

Many thanks.
 
Should be doable if the moments are regularly spaced. At what intervals are the 'precise moments'?
 
This is most precisely done with two 555s or a 556. The first is an astable that sets the period between pulsed...~20mS. The second is a monostable triggered by the astable, to vary the pulse width...1mS to 2mS.

Here's an example:

For others, Google: 555 556 servo

Ken
 
Are you using model aircraft servos, or something you cobbled yourself?
Do you want constant frequency with variable pulse width like KMoffet referenced?
Or, do you want constant pulse width with varying frequency (period)?
Finally, you want to automatically sweep the variable, but at what rate? How many seconds? What triggers a sweep?

Post a sketch of the desired waveform out of pin 3 of the 555 which will drive the servo.
 
Last edited:
Hello.

Is there some sort of configuration to increase the time period over time- but not gradually, it has to be at precise moments?

There are probably 100's of servo control circuits based on a single 555 published. Here are just two:
https://sarconastic.tripod.com/servodriver.html
https://wolfstone.halloweenhost.com/Motors/svoint_RCServos.html#Driving

That said, I don't think that is what the OP (AppleMac) wants. Apparently, he wants something that will automatically change the position in precise steps over some period.

Obviously, as AppleMac states, that can easily be done with an MCU. But before making suggestions for using 555's, counters, etc. to solve the problem, it would help if he gave a little more information:

1) What period and how many or what steps does he want the servo to make?
2) Will it be a one time deal from start to finish, or will it be repeating until power is removed?
3) Is he using analog servos or digital servos? In accord with Ken (post #3), I have found that single-555-based controllers do not work well with digital servos. They work fine with analog servos.

John
 
Thanks for all the replies, I will check out the links.

In response to the qus:

1) The servo requires pulses varying from 75-225ms, and I will need 10 changes at 60 second intervals, but it has to stay in the same place until then.
2) As soon at it reaches the end, it need to go back to the start (repeating)
3) Futuba S3003, I think it may be digital

MikeMI:
It's my own little project, not for any RC vehicles.
The pulse length needs to change- but there needs to be a pulse every 20ms- so the frequency can stay the same

EDIT: Perhaps there is a way to change the resistance over time. If I change R2, then the mark time would increase- but the space time would stay the same - this would be the easiest configuration.
 
Last edited:
Frankly, the best way to do this is a PIC. You could do it easily with one of the minimalist 10F series (the ones with only 8 pins and couple of timers).
The second best way would be a mix of digital CMOS and 555s. Use a 555 as a clock running at a period of 6s (0.166Hz). Use it to advance a decoded CMOS counter (4017b). Take each decoded output and use it to switch a resistor into the timing network of the 555 used to create the pulse width.
That leaves the 20ms(50Hz) fixed period, sounds like a third 555.
 
That servo is an analog one.
Use a circuit along these lines perhaps?
Edit: U1 is a 20ms osc, not a 50ms osc as annotated.
 
Last edited:
My LT Spice was just updated and does not have the CD4510B. Do you have the spice model of that?

John
 
Frankly, the best way to do this is a PIC.
I agree- and have already done it with a PICAXE, but it would be more acceptable to my prof. to do it from 555s.

I think that using the 4017 to switch resistances may be the easiest, as shown by Mike and Alec.
Although, I may just stick to the PIC.
 
My LT Spice was just updated and does not have the CD4510B. Do you have the spice model of that?
Not part of LTS. Downloadable from the Yahoo LTS user group.
 
Here's a cruise control I made using 2 555 timers to control a servo for radio control and it varies the pulse via the voltage input from a freq to voltage converter. It may have something you can use.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top