Servo Deleted Stamp program from my PC!!!
stevebzzzzz
Posts: 38
Well,
Not really
I got so frustrated trying to understand how the servo works, I gave up, and vowed never again to learn this stuff!
OK, so after I reinstall the stamp program, please tell me if I'm correct about the following assumptions:
1) I assumed that applying a high to the servo control, that it would cause the servo to rotate as long as the signal is high! This statement is INCORRECT....right?
2) I NOW assume that the servo is designed (Via it's own built in micro-controller) to "HOLD" or go to a particular angle, based on a sequence of timing pulses. This statement is TRUE...right?
If I got both of the above questions correct, I'll give it another try
Thanks, Steve
Not really
I got so frustrated trying to understand how the servo works, I gave up, and vowed never again to learn this stuff!
OK, so after I reinstall the stamp program, please tell me if I'm correct about the following assumptions:
1) I assumed that applying a high to the servo control, that it would cause the servo to rotate as long as the signal is high! This statement is INCORRECT....right?
2) I NOW assume that the servo is designed (Via it's own built in micro-controller) to "HOLD" or go to a particular angle, based on a sequence of timing pulses. This statement is TRUE...right?
If I got both of the above questions correct, I'll give it another try
Thanks, Steve
Comments
Servos work off of pulses that are sent to them. They require power, ground, and a pulse (3 pins). Depending on the pulse that is sent it will move to a certain position. In chapter 4 of the "What's a Microcontroller" text it explain how a servo works in full detail. Here is a link for the free download:
http://www.parallax.com/Store/Books/EducationalTexts/tabid/181/CategoryID/66/List/0/SortField/0/Level/a/ProductID/139/Default.aspx.
Dave
Yes Dave, I'm finally beginning to understand. I have an electronics background, but I just didn't grasp the servo. I incorrectly assumed that the servo is nothing more than a "Dumb" motor, when in fact, it is an intelligent device that is able to determine it's position, and calculate the amount of "thrust" to obtain it's new position based on the pulse sequence on the controll...is that correct? I am diligently working my way through the manual, and I just got hung up on this intelligent servo.
Question: Who or what programs the intelligence into the servo?
Thanks,
Steve
I wanna see the chip that is actually controlling the servo...I need to see it in real life!
Steve...
I took apart my servo...at least part one as you can see. If you look closely, there is a "level 2" that goes deeper into the matrix. I unscrewed those additional tiny screws, but knew for sure either one of two things would happen if I pulled it apart. Either the world would end, or I would destroy the servo lol! I didn't pull apart the second layer for fear of either of those scenarios lol.
OK, on a serious note. OK, I think I get it...so what you're saying is that in the old days there was a potentiometer inside and thus allowed circuitry to measure the resistance and thus the current position of the mechanism, based on the amount of the rotation of the potentiometer ???
I would imagine there is still a potentiometer in there, or would the built in microcontroller remember it's position in flash memory? or both? or is there a hamster in there haha )
Steve
Behind the hamster.
PS: They make cheap clear servos that would save you some disassembly time!
http://cgi.ebay.com/Micro-9g-Servo-RC-Futaba-walkera-Hitec-HS-55-TREX-450-/160608544620?pt=Radio_Control_Parts_Accessories&hash=item256503e76c
Ron
Thanks!
Thanks
http://www.acroname.com/robotics/info/ideas/continuous/continuous.html
http://www.kronosrobotics.com/an116/GAN116.shtml
Thanks...,
Steve
The simple answer, with a standard servo, is "no, it's not possible." There is no way to get information from an standard, unmodified servo.
You can, however, do things like tap into the voltage from the potentiometer inside the servo and use an A/D converter to figure out the position of the servo.
Kronos Robotics is related to erco?
Beau posted a thread quite some time ago explaining a scheme where you have a switch that can provide full power to the servo or limited power ... enough for the electronics, but not for the motor. You then try various pulse widths and measure the current drawn by the servo. When you attempt to make the servo move to the position it's already in, the current doesn't change because the servo electronics doesn't attempt to move the motor. Any other pulse width causes the servo electronics to try to move the motor and you can measure a drop in the servo voltage.
Realistically, programs assume nothing about the position of a servo when they start. If the program needs the servo in a particular position, the program moves the servo to the position that it needs. If not, the servo will move to the desired position on the first attempt to move the servo.
With continuous motion servos, the feedback circuitry is disabled and the mechanical stop is removed so the control pulse width specifies the direction and speed of the motor rather than the position. If you want to control the position of the servo, you have to add some kind of external position sensor like Parallax's optical Wheel Encoder.
Beau came up with this method.
I haven't tried it myself yet.
The servo gears aren't as scary as they look. They usually only go back together one way.
Duane
Edit: Mike beat me to it and with a nice summary too. (At least my post could still be useful by providing a link to Beau's method.)
I can see how that can be a pain. So, essentially, you need to center or reset the servo at the beginning of your program, I think. I'm writing a program with two switches. One makes the servo go clockwise, the other makes the servo go counter-clockwise. I'll let you know how that goes...