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.

555 timer circuit for servo, how to reduce speed?

Status
Not open for further replies.
In the post #13 circuit, opening or closing switch S1 determines whether the pulse width increases or decreases. For your camera application, won't you need also to keep the width constant once the desired position has been reached?
 
In the post #13 circuit, opening or closing switch S1 determines whether the pulse width increases or decreases. For your camera application, won't you need also to keep the width constant once the desired position has been reached?

Mm... yes, when it reaches to the desire angle it should stay at that pos., the arduino code was designed to switch on/off when clicked "ON" or "OFF" tabs on screen, the 555timer circuit outputs pulses constantly when button is pressed, so ya the servo would keep going until it hits the limit and start humming... no good. My other thought would be increment step per click of relay, this I can definitely reach to my desire angle.
 
the 555timer circuit outputs pulses constantly when button is pressed, so ya the servo would keep going until it hits the limit and start humming.
My understanding was that the servo goes to a position according to the pulse-width so if you ouput pulses at a constant pulse-width it should go to that position and stay there.
Am I wrong? :confused:
 
My other thought would be increment step per click of relay, this I can definitely reach to my desire angle.
Excellent idea, ht2K!!

But, since you're going to the trouble of remote control, why not use your Arduino (with a WiFi shield) to provide the PMW sig to your transistor controlling the servo (with whatever power source needed, as per my altered schematic from before)?

With a simple pot input to one of the ADC IOs (as a variable DC input) you could control the pace (speed) at which the PW increases/decreases to control the speed by which the servo responds. Arduino code will be slightly more complex but not that difficult.

Additional code could add all sorts of features.

Here are the ranges of PW you'll need (these are "ideal", some variance may be needed):
upload_2017-2-3_17-28-13.png
(This pic may be copyrighted).
 
Last edited:
My understanding was that the servo goes to a position according to the pulse-width so if you ouput pulses at a constant pulse-width it should go to that position and stay there.
Am I wrong? :confused:
No, that is correct.

But don't forget that if the PWM sig disappears, the servo also simply sits at its last position.

Here's a (rather lengthy, note paragraphs 2 & 3) discourse on typical RC servos and the **broken link removed**:
 
An LM339 has four comparators in it. An LM393 has only two of the same comparators in it. The LM3914 and LM3915 have ten comparators and ten LED constant current drivers in them.
 
les and Crutschow,
I understand servo goes to a position according to the pulse-width but not with my circuit, maybe my pulse width is set beyond the limit?, How do I know what pulse width am I using? I don't have a oscilloscope. Does changing angle of position has anything to do with the 68K and 10K resistors?

cowboybob,
"But, since you're going to the trouble of remote control, why not use your Arduino (with a WiFi shield) to provide the PMW sig to your transistor controlling the servo (with whatever power source needed, as per my altered schematic from before)?"
I'm using Arduino Uno Wifi board + Relay shield, to provide PWM sig I would have to change the code and I'm not really good with codes.

audioguru, LM339, LM393, LM3194, LM3915, ok got it.
 
From the LM555 data sheet the pulse width will be 0.69 mS when the 10 K resistor is selected and it will be 4.71 mS when the 68 K resistor is selected. So you can see both values will try to make the servo go past the limits of its travel. See thse information on this web page.

Les.
 
I don't know which of CBB's posts you are referring to but in post #26 he gives the neutral value as 1.5 mS (Or if you prefer 0.0015 seconds or 15000 uS or 15000000 nS)

Les.
 
Hi all,

I have been following this thread with some interest and I can't really figure what the problem is. But this is how I see it; There is a servo loop controlling the pan and tilt head and the pan and tilt head is moving too fast from its original position to its new position according to a command.

Isn't the answer to slow the pan and tilt head movement, to leave the servo loop fast as is and slow the command to the servo input. This could be done with a simple integrator comprising a resistor and capacitor. Have I missed something?

spec
 
hi spec,
As I understand the OP, it is not a servo loop, ie: no positional feedback.?
I still have not determined whether the servo motor is a direct drive or geared in some way.??
Eric
 
Hi spec & eric,
The model servos are true servos as they move to a position which is defined by the width of the control pulse. See post #26 The op wants to slow them down so they take longer to get to the commanded position. He realy seems to want them just to behave like geared motors that he can tell to move clockwise and anti clockwise at a slow speed. He has been pointed to a web page that shows him how to modify them to behave this way. At present his control system just sends two preset pulse widths to the servo one of which commannds the servo to past the fully anti clockwise position and the other that commands it to past the fully clockwise position.

Les.
 
hi Les,
I posted a suitable servo drive circuit in post #4, all he has to do is limit the time period range of the monostable section to suit his servo motor
and add a more powerful drive transistor/MOSFET.
I also posted servo tutorial link.

EDIT:
to have 'speed' control he could make the 20mS Frame period [555] adjustable.
Eric
 
to have 'speed' control he could make the 20mS Frame period [555] adjustable.
Not sure if that will work. It's my understanding that a model servo isn't too fussy over the pulse period; anything around 10-50mS being accepted. How would it respond to 1 (1mS-2mS wide) pulse every second, say? Would it do what you hope or just ignore the pulse?
 
Hi eric,
Just out of interest I tried your idea of increasing the time between pulses. It sort of worked but the servo moved in pulses rather than smoothly. It was worth a try.

Les.
 
How would it respond to 1 (1mS-2mS wide) pulse every second, say? Would it do what you hope or just ignore the pulse?

That kind of thing was one of the first no-no I learnt when made my first try with RC servos.

Always had in mind to send the ON pulse starting every 20 ms. As it have been said, the point in question is how fast the ON pulse's width varies within the 0,5 to 2,5 ms range. The 20 ms repetition rate should stay unchanged.

BTW, programming a micro to control a servo via two push buttons proved to be a trivial task.
 
... to provide PWM sig I would have to change the code and I'm not really good with codes. ...
The beauty of many of the μCs out there (Arduino, in this case) is the abundance of open source "freebie" programs out there ("sketches" in Arduino speak).

For instance, a PWM sketch such as this. Doesn't get much simpler than this. Note the hookup image. You can substitute a power source other than the Arduino board's power pins. Just assure there's a common ground.

The same code you're using now (via WiFi) can be incorporated into the sketch to trigger the servo motion CCW or CW.

To control the "sweep" speed, adjust the "Delay" value (in mS) to suit your needs, i.e., higher value = slower rotation, etc..

Here's a YouTube smart phone bluetooth app that's got it all.
 
Last edited:
Status
Not open for further replies.

Latest threads

Back
Top