I am looking for a 180+ degree servo (prefer a micro or sub micro) that can be used with the Pololu Servo Library Functions set_servo_speed and set_servo_target to name only 2.
Continuous motion is not what I want unless there is a way to set the positions by pulses not the speed.
I am presuming most servos will travel only 90 degrees if this is the case
would a servo stretcher potentially break a servo by forcing it passed its limits.
and would the same library code be used to control such a device.
Take a look here what i found.
I have heard digital servos have a possibility but, can the Pololu Servo Library be used to do this
with a digital, and could the babyO control it.
The servo will be used to turn a gear, to an exact position, and then back again to the start postion .
In short, i am looking for a small micro , but i prefer smaller sub micro servo, cabable of going beyound the normal set limits of degrees, quit possible upto 360 degree, and must be able to be controlled by the pololu
atMega robots and Library.
any one at all.
Most servos can do more than 90 degrees but not necessarily 180. Most manufacturers don’t specify the exact range, and the few specs I have seen are along the lines of 180 ±20. Products like the servo stretcher will just present the servo with a larger range of pulse widths than a regular RC receiver, but you can just make the full range of pulses directly from a microcontroller. Sending a servo past its mechanical limit can destroy it, so you usually have to characterize each servo for its particular limit if you want to use as much of it as possible. You also have to be careful to consider any overshoot possibility (for instance, moving a long way and right to the limit with a heavy load might still make the servo crash into the mechanical stops). Micro and sub-micro servos are typically going to be more fragile, so you have to be even more careful.
The Pololu AVR library servo functions will work with any servo that accepts standard hobby RC pulses.
Very nice that the pololu library will work.
In my project the load on the servo is constant, a gear connected to the servo turns another gear, from a start point to an end point and back again. That’s it. I have also test a sub micro out with my r/c system, and it seems to handle it very nicely.
This over shoot point , this is mechanical? i see almost all servos have a gear that has a wedge or stop fused to it.
Here is my question, if i were to remove this tab or stop, cut it, file it down … In theory using the baby0 and the pololu library, would the servo now be capable of going beyond the normal limits, maybe even approaching 360 degrees, and no other electronic alterations would need to be made. Programming wise i would just specify a greater range set_servo_target(0, 2000) or set_servo_target(0, 300).
The end stop is usually mechanical, and it’s there to protect other parts in the servo. If you take out the end stops, you’ll just break something else, like a potentiometer. However, the pot will have a slightly larger range than what the mechanical range will allow, so you might be able to get a tiny bit of extra range by filing off those end stops (though you’ll have even more risk of destroying the servo by hitting a more absolute and fragile limit). On some of the micro servos I’ve seen, there is no mechanical end stop beyond what is in the pot, so there’s nothing more to be gained there, and the end limit is already rather fragile.
Please explain the term “end limit or fragile area”. do you mean mechanical or electronic end limit.
I don’t think I used “end limit or fragile area” as a term; everything I’m talking about is mechanical. The tab or end stop you talked about cutting off is relatively robust, and it’s there to protect something less robust, such as a potentiometer. If the pot has a range of 220 degrees, the mechanical stops have to have less range to make sure that you don’t hit the potentiometer’s limit. If these extra mechanical stops are at 180, you could have an extra 40 degrees to work with if you cut off the tabs, but hitting the pot limit is going to break the pot, and therefore the servo, much more easily than hitting the tabs.
Standard servos will have a potentiometer, which could possibly break if such modification were to be made,
Do Continuous motion servos have a potentiometer, can their positions be set, and are they made in micro size?
I don’t know of many continuous rotation servos, and the ones that I have seen just disconnect the servo output from the potentiometer so the servo never knows where the output is (so you don’t get position control). There are some specialty servos, often aimed at model sailboats, that can do a full rotation or more while maintaining position, but I have never seen those in a micro size. We carry the GWS S125, which is out of stock at the moment but which I think we expect to be in next month.
I found a lot of Micro Servos, here is one
If you notice it says “360 Modifiable”: YES
my question is your best guess, does this mean modified electronically or mechanically.
I have asked thru their site but they are not getting back.
I’m not sure what distinction you’re trying to make with the “electronically or mechanically” question. The kinds of servos you’re talking about all have simple potentiometers in them, and making the servo continuous rotation mostly means disconnecting/decoupling the potentiometer; you need a fundamentally different sensor (and possibly electronics and firmware) in there if you want position control and continuous rotation. You might as well be looking at regular gas cars and be hoping for a hidden electric car mode: it generally isn’t going to happen, and if the feature does exist, you can expect the manufacturer to make a big deal out of the feature. Sure, you might be able to take out the engine and put in an electric system to get from the gas car to the electric car, but if you were capable of doing that, you wouldn’t be asking if it’s possible.
By the way, the reason they have a spec like that is that some servos are very difficult to turn into even the continuous rotation, non position-feedback configuration. For example, if the final gear doesn’t have teeth all the way around it, continuous rotation isn’t going to happen without the basically impossible task of replacing the gear with one that has teeth all the way around.
The GWS S125, would be the closest match.
Or Does the Pololu Library Motor Function have the capability of controlling a motor to 2 exact positions? Position 1 then Position-2 then back to Position-1?
The Pololu AVR Library has functions for controlling servos. They are documented in detail here. The functions cause an Orangutan to send out pulses of a specified length, which will move a normal servo to the corresponding position. So yes, you can move a servo to position A, then to B, then back again, if you like. However, a servo modified for continuous rotation will just spin one way or the other without stopping, depending on the pulse length.
I already know about the servo functions.
I was referering to the Motor Functions
such as set_motors(-70, 0); - moves motor 1 backward at speed 70.
Do the motor functions have the ability to control motors to exact points or no?
No, that function just sets the PWM values of the motor outputs, which correspond, more or less, to the motor speeds. The issue here is not what the software does - motors either have position feedback capability or they don’t. The two common types of feedback are quadrature encoders (which measure relative position) and servos (which measure absolute position). If you have one of these, you can use the appropriate functions from the AVR Library to control it.
here is a digital servo i have ( i have several )
I have been testing its limits, it seems that it will only go to about 100 degrees or so using the code listed
However I discovered by accident, when I power on the servo with no signal, it does sort of a initial turning sequence and clearly turns more than 180 and back again.
It appears this servo has the ability to move at least 180 and maybe a bit more.
Normally neutral is 1300, HIGH is 1800 - this is for 90 degree turn.
I am using 650(tested safe) as LOW point, and 2300(tested safe) for HIGH.
can anyone advise how to get a bit more degrees, by altering low , high, or delay?
set_servo_target(0, 2300); // HIGH
set_servo_speed(1, 650); // LOW
Did you test that 650 and 2300 are the mechanical limits? If not, try gradually increasing 2300 and decreasing 650 until you find the true limits.
Just as a warning, valid target values for the library function you are using are 400 to 2450, so you won’t be able to change the values you’re already using by much.
So as an example, i could not use 3000 using the library function? How about the case where
a servo can do 360 like the sail winch servos by GWS they can go beyond 2450, i have a winch servo and tested it beyond 2450, though it is too large a servo for my project.
Its seems that the digital servos have programmed or built in safety zones, so you can’t go beyond these
limits unless the servo can be reprogrammed to do so, as in the HITECH digital servo programmers
servocity.com/html/servo_pro … ester.html. They can program the servo to move only 90 and Direction, or only 120, or 180. But I do not know if they can go beyond 180. According to Hitec
some of their servos can move a full 180, the low being 600usec and their high 2400usec.
Ben is just saying that those are the limits of the library functions, not of your servos. You can’t get a pulse of 3000 using the library.