Pages: 1 [2]   Go Down
Author Topic: Basic servo Q&A  (Read 376 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
29 years old, chemical engineer, living in Houston, Texas. Getting into Arduino!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The BLEED resistor which in our world we call a "pullDOWN " resistor ...

Sure, a pull-down resistor. Didn't my stick diagram up there resemble this?
https://ccrma.stanford.edu/wiki/Images/f/f7/Pull-down_circuit.gif
:-)

OK, I'll give this a go.

Just an FYI for jbarchuk -- for now, I've managed another workaround, which is to simply extend the locking pin further than before. When the servo jitters on power-up, it doesn't move far enough anymore to momentarily unlock the box. So, I have a half-ass solution that at least works for the moment.
Logged

UK
Offline Offline
Faraday Member
**
Karma: 47
Posts: 3613
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Is Robin2 suggesting this?


YES.

...R
Logged

Offline Offline
Edison Member
*
Karma: 30
Posts: 2366
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Didn't my stick diagram up there resemble this?
YES, it RESEMBLED that but I explained we we prefer the way my stick diagram represented it. Electrically the same. It's a matter of using standard schematic representation convention that's all.
« Last Edit: April 12, 2014, 03:05:03 pm by raschemmel » Logged

Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,
DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

Offline Offline
Newbie
*
Karma: 0
Posts: 21
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I assume the pull down is for when the uC isn't driving the pin, say, before the sketch starts and does pinMode().

For me, I'm going to have active servo power control and won't assert that until after the servo library is attached and the angle set. That should keep the servo from any mischief.
Logged

Offline Offline
Edison Member
*
Karma: 30
Posts: 2366
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Afirmative
Logged

Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,
DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

UK
Offline Offline
Faraday Member
**
Karma: 47
Posts: 3613
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

For me, I'm going to have active servo power control and won't assert that until after the servo library is attached and the angle set. That should keep the servo from any mischief.

Resistors are cheap insurance.

...R
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 86
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Just an FYI for jbarchuk -- for now, I've managed another workaround, which is to simply extend the locking pin further than before. When the servo jitters on power-up, it doesn't move far enough anymore to momentarily unlock the box. So, I have a half-ass solution that at least works for the moment.

I just remembered... In model airplanes and probably in any servo system the most common cause of jitter is sloppy linkage OR plastic servo gears, OR both. Think of a long train of railroad card and the bit of slop between each coupler.

A description of what's going on in a 'list' kind of format rather than paragraphs...

Servo is motionless.
Servo receives a command to 'go here.'
Servo motor moves, force travels through the gear train, and the servo arm moves. At the same time the pot that senses position also moves.

The force of the servo arm is connected to linkage, maybe to more linkage, but there's usually at least a control arm and then another connector at the other end of the control arm that fastens to the item you want to move.

Actually in your case, the lock thing, it might be just one link at the end of the servo arm,  and the lock pin at the end of the control arm. But hang with me...

If there's any slack in any of the linkage connections, when the motion starts it may not actually be solidly contacting whatever it's pushing. The servo arm moves until the slack distance is crossed, *bangs* into the control arm, and the control arm moves.

At the far end of the control arm there might be more slack. Again the control arm side of the linkage *bangs* into the end effector, and the end effector moves.

Now the end effector is moving, and because the servo is still pushing all the slack is taken up

The train analogy... As the engine starts to move, the slack in the coupler to the first car is taken up, then the first car moves. Then the slack in the next coupler is taken up, the second car moves, and eventually the whole train is moving.

The servo is moving, the pot is turning, When the circuit senses that the pot is rotated the correct amount, the circuit yells STOP!

The motor stops, and the servo arm stops moving.

But, because of the slack in the linkage the control arm doesn't stop immediately. Momentum lets the control arm keep on moving till the slack is taken up, and -then- it stops.

There's a *bang* of force -back- -into- the servo gear system, similar but opposite to the bang when the motion started.

The control arm stops moving.

The -force- of the control arm stops, but because of the slop at the other end of the linkage the momentum of the end effector allows it to travel a little more, until the slack is taken up and there's another *bang*.

Because the servo end of the linkage is now tight, the *bang* force of the end effector stopping is similarly transferred back to the servo.

Especially with plastic gear servos there's a little slop. The force of the bang-bang turns the gears, and the -pot- turns a little.

Control circuit says 'nope, the pot is in the wrong position, reverse the motor and move till the pot is in position.'

The move-bang-bang / pot is in correct position / stop-bang-bang happens again, except in the opposite direction.

The momentum again moves the slop in the gears, the pot moves again in the original direction.

Circuits says 'nope, still not right, try again,' and turns on the motor in the original direction.

I guess by now you see where this is going. The circuit tells the servo motor to stop at the correct point as reported by the pot, but then the momentums -allowed- by sloppy linkage and gears forces it away from that point.

The circuit struggles valiantly to hold the pot in the correct position, but the linkage repeatedly shoves the pot which causes the circuit to repeatedly try to control it.

The result is interminable oscillation/jitter. I have one plane that does this in the rudder. I used a -lighter- than recommended servo, but the spec is -strong- enough for it to work great in flight. The -linkage- is fairly tight, but not rigid, for reasons that I'm not going to go into here. However, when I turn it on, as the servo centers the rudder, there's sometimes enough pure -mass- in the rudder to pull the servo pot out of position and cause it to oscillate.

Oscillation is a *TREMENDOUS* stress on servo, gears, and linkage, and a nearly continuous maximum power draw.

About the lock pin... Even with tight linkage there -might- be enough -mass- in the pin to pull the plastic gear slack far enough to throw the pot out of position, very similar to the rudder I mentioned.

Two potential fixes.

1) If you're using a metal pin change it to something much lower mass such as bass or spruce wood, or carbon fiber rod. That fix is mechanical work and new parts and such.

2) Slow down the servo motion speed to reduce the force of the  'bangs' of the slack. That fix is pure code and no mechanical changes.

(The problem I'm having is apparently totally different from this one. It's not a jitter at all. I'll start another thread after I look at for a while more.)
Logged

Offline Offline
Edison Member
*
Karma: 30
Posts: 2366
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You might consider drawing a schematic by hand with pen and paper of all your circuitry and take a photo of it and post it.
It's possible you're doing something that we wouldn't and we can't tell without seeing it. Maybe a photo of your hardware
would be worth a thousand words.
Logged

Arduino UNOs, Pro-Minis, ATMega328, ATtiny85, LCDs, MCP4162, keypads,
DS18B20s,74c922,nRF24L01, RS232, SD card, RC fixed wing, quadcopter

Pages: 1 [2]   Go Up
Jump to: