|
ajak
|
 |
« on: August 18, 2008, 07:29:43 PM » |
|
How R.C. Servo Motors WorkA servo motor consists of several main parts, the motor and gearbox, a position sensor, an error amplifier and motor driver and a circuit to decode the requested position. Figure 1 contains a block diagram of a typical servo motor unit. The radio control receiver system (or other controller) generates a pulse of varying length approximately every 20 milliseconds. The pulse is normally between 1 and 2 milliseconds long. The length of the pulse is used by the servo to determine the position it should rotate to. Servo Motor Block Diagram Figure 1. Servo Motor Block Diagram Starting from the control pulse we will work though each part of the diagram and explain how it all fits together. Once we have gone through how the servo works we will investigate how the control pulses can be generated with a microcontroller. Pulse width to voltage converterThe control pulse is feed to a pulse width to voltage converter. This circuit charges a capacitor at a constant rate while the pulse is high. When the pulse goes low the charge on the capacitor is fed to the output via a suitable buffer amplifier. This essentially produces a voltage related to the length of the applied pulse. The circuit is tuned to produce a useful voltage over a 1ms to 2ms period. The output voltage is buffered and so does not decay significantly between control pulses so the length of time between pulses is not critical. Position SensorThe current rotational position of the servo motor output shaft is read by a sensor. This is normally a potentiometer (variable resistor) which produces a voltage that is related to the absolute angle of the output shaft. The position sensor then feeds its current value into the Error Amplifier which compares the current position with the commanded position from the pulse width to voltage converter. Error AmplifierThe error amplifier is an operational amplifier with negative feedback. It will always try to minimise the difference between the inverting (negative) and non-inverting (positive) inputs by driving its output is the correct direction. The output of the error amplifier is either a negative or positive voltage representing the difference between its inputs. The greater the difference the greater the voltage. The error amplifier output is used to drive the motor; If it is positive the motor will turn in one direction, if negative the other. This allows the error amplifier to reduce the difference between its inputs (thus closing the negative feedback loop) and so make the servo go to the commanded position. The servo normally contains a single integrated circuit and a hand full of discreet components to implement the entire control system. Controlling a Servo Motor with a MicrocontrollerFrom the above we can determine that we need to generate a pulse approximately every 20ms although the actual time between pulses is not critical. The pulse width however must be accurate to ensure that we can accurately set the position of the servo. PWM modulesMany microcontrollers are equipped with PWM generators and most people initially consider using these to generate the control signals. Unfortunately they are not really suitable. The problem is that we need a relatively accurate short pulse then a long delay; and generally you only have one PWM generator share between several servos which would require switching components outside the microcontroller and complicate the hardware. The PWM generator is designed to generate an accurate pulse between 0% and 100% duty cycle, but we need something in the order of 5% to 10% duty cycle (1ms/20ms to 2ms/20ms). If a typical PWM generator is 8 or 10 bits say, then we can only use a small fraction of the bits to generate the pulse width we need and so we loose a lot of accuracy. TimersA more beneficial approach can be implemented with simple timers and software interrupts. The key is realising that we can run a timer at a faster rate and do a single servo at a time, followed by the next and the next etc. Each of the outputs is driven in turn for its required time and then turned off. Once all outputs have been driven, the cycle repeats. This approach is demonstrated in the PIC servo controller project. The timer is configured so that we have plenty of accuracy over the 1 to 2 millisecond pulse time. Each servo pin is driven high in turn and the timer configured to interrupt the processor when the pulse should be finished. The interrupt routine then drives the output low. For simplicity, the output pins can be arranged on a single port and the value zero (0x00) written to the port to turn off all pins at once so that the interrupt routine does not need to know which servo output is currently active. After the pulse has ended, the microprocessor sets up the next pulse and begins the process again. [/size]
|
|
|
|
|
Logged
|
|
|
|
|
The Philippine Electronics and Technology Forum
|
 |
« on: August 18, 2008, 07:29:43 PM » |
|
|
|
|
|
|
Logged
|
|
|
|
|
ef - el - ay - pee
|
 |
« Reply #1 on: August 18, 2008, 09:37:46 PM » |
|
wow...thanks for the info sir...
|
|
|
|
|
Logged
|
"Engineers are the Oompah-Loompahs of Science" - Dr. Sheldon Lee Cooper
|
|
|
|
kinyo
|
 |
« Reply #2 on: August 19, 2008, 09:16:20 PM » |
|
just to add ... When position and speed accuracy is required, an optical encoder may be necessary ... typically, an optical encoder outputs quadrature pulses which could indicate rotational direction, speed and displacement ...the pulses can be used to increment or decrement a register and read by the microprocessor ... the encoder also provides a pulse every 30 degree rotation for calibration, sometimes called the C-pulse In a CT scanner, the gantry rotation is precisely controlled to within 1/2 degree of rotation and its speed can be precisely controlled for a constant rpm to complete one full rotation in exactly, say, 1 second. The potentiometer encoder is used only for rough estimate of position and during startup to establish the initial position of the gantry using the C-pulse and potentiometer value. 
|
|
|
|
|
Logged
|
|
|
|
glutnix_neo
Technical People
Hydroelectric
   
Pogi/Ganda Points: 130
Offline
Gender: 
Posts: 3324
Developing code for "humans" since 2004
|
 |
« Reply #3 on: August 20, 2008, 07:31:59 AM » |
|
thanks for the info, wala bang sample schematic ng internal circuitry ng servo?
|
|
|
|
|
Logged
|
|
|
|
|
kinyo
|
 |
« Reply #4 on: August 22, 2008, 01:25:18 PM » |
|
thanks for the info, wala bang sample schematic ng internal circuitry ng servo?
you mean somethig like this?  iirc, above is an example of 5kW servo amplifier 
|
|
|
|
|
Logged
|
|
|
|
switch_link
Size C Battery
   
Pogi/Ganda Points: 23
Offline
Gender: 
Posts: 172
"Absolute power.. corrupts Absolutely!!!"
|
 |
« Reply #5 on: August 27, 2008, 09:43:43 PM » |
|
you mean somethig like this?  iirc, above is an example of 5kW servo amplifier  yun nga!!! hehehehe
|
|
|
|
|
Logged
|
|
|
|
|
ef - el - ay - pee
|
 |
« Reply #6 on: August 28, 2008, 01:08:50 PM » |
|
promote ko lang po ang iBot3D robot simulator, hehe
|
|
|
|
|
Logged
|
"Engineers are the Oompah-Loompahs of Science" - Dr. Sheldon Lee Cooper
|
|
|
|
ajak
|
 |
« Reply #7 on: August 29, 2008, 03:42:41 AM » |
|
What is a Servo? Anatomy of a ServoServos consist of four basic components: a motor, gear reduction, feedback device (typically a variable resistor potentiometer), and a control board. The motor, using a series of gears, turns the output shaft and the potentiometer simultaneously. The potentiometer is fed into the servo control circuit and when the control circuit detects that the position is correct, it stops the motor. The figure shows a disassembled servo.  Controlling a ServoServos are controlled with a 5vdc positive-going variable pulse width that repeats every 20mS. The pulse length determines the servo output shaft position but the 20mS frame rate is not position critical. The frame rate does need to repeat at least every 20mS or it will loose power or even stutter. The servo was designed for pulse widths that vary from 1.0mS to 2.0mS, where 1.5mS is centered. In the normal range the servo will move +/- 45 degrees from the centered (neutral) position. Most servos can be positioned to around +/- 90 degrees from neutral by expanding the range to 0.75mS to 2.25mS. However, care must be taken to avoid commanding a servo beyond its capabilities. Personal experience with Hitec servos reveals all of the standard size servos can achieve a full 180 degree range. Micro and special purpose servos are often limited to less than 180 degrees. Hitec digital servos are a special case. They only recognize a range of 0.90mS to 2.10mS and will only provide a +/- 70 degree range of motion unless the end stops are changed with their servo programmer. When I change the range of a Hitec digital servo I simply set the left and right end stop values to 200. This provides a full 180 degree rotation but still uses the 0.90mS to 2.10mS pulse range. Another anomaly with Hitec digital servos is they do not require constant updating to hold position. Once a digital servo has received a single positioning pulse it will hold position until it is powered down or receives a new positioning pulse. 
|
|
|
|
|
Logged
|
|
|
|
glutnix_neo
Technical People
Hydroelectric
   
Pogi/Ganda Points: 130
Offline
Gender: 
Posts: 3324
Developing code for "humans" since 2004
|
 |
« Reply #8 on: August 29, 2008, 07:31:38 AM » |
|
^uy lecture, thanks bro keep it up,  share ko na rin tong link na to for additional readings http://www.societyofrobots.com/
|
|
|
|
|
Logged
|
|
|
|
glutnix_neo
Technical People
Hydroelectric
   
Pogi/Ganda Points: 130
Offline
Gender: 
Posts: 3324
Developing code for "humans" since 2004
|
 |
« Reply #9 on: August 29, 2008, 07:44:14 AM » |
|
bossing question pala, ano yung end stop?resistors ba yun?
|
|
|
|
|
Logged
|
|
|
|
|
ajak
|
 |
« Reply #10 on: August 30, 2008, 08:05:33 PM » |
|
yung end stop po dito is related dun sa servo programmer, parang microcontroller meron din programmer ang servo motor. Iseset mo ung position or angle ng servo kung saan sya magsstop dun sa servo programmer. eto po visit nyo na lang po, pde ka gumawa ng sarili mong servo at lagyan ng program. http://www.openservo.com/
|
|
|
|
|
Logged
|
|
|
|
|
ajak
|
 |
« Reply #11 on: August 31, 2008, 05:05:28 PM » |
|
Analog Servo Vs. Digital Servo In an analog servo the signal is compared to the current potentiometer position using an analog comparator and then the resulting signal is amplified and sent to the motor, so the servo position is updated as often as a PPM is received or in other words with the frequency of the PPM pulse train which is approximately 50 times per second. In between these 50 times per second the motor is at idle so in general the servo can move. In a digital servo all the processing is done by a CPU running a specific program (which in some cases can be upgraded). The frequency the motor is driven is not in relation with the incoming PPM signal and is much higher - usually 200-300 times per second. As a result a digital servo has better holding torque. As far as comparing analog and digital servos by speed, torque, accuracy and power usage - it depends which servos are being compared - a high end coreless analog servo will outperform a low end digital servo in most if not all areas. If everything else is the same - motor, geartrain, bearings, the digital version of the servo will slightly outperform the analog version in speed and torque but will use more power when it does it. For example you can compare Hitec HS-625BB (analog) to HS-5625BB (digital), HS-645BB (ana) to HS-5646BB (dig), HS-635HB (ana) to HS-6635 (dig), HS-475HB (ana) to HS-5475HB (dig) and so on. read also.. http://www.futaba-rc.com/servos/digitalservos.pdf a good comparison about analog servo and digital servo..
|
|
|
|
|
Logged
|
|
|
|
|
ajak
|
 |
« Reply #12 on: August 31, 2008, 05:07:13 PM » |
|
Guide to PWM and PPM PWM and PPM are two common words used in the R/C industry. PWM stands for Pulse Width Modulation and PPM stands for Pulse Position Modulation. Some devices that use PWM for control are ESC's (electronic speed controls) and servos. PWM is a technique used to relay data in the form of a varying pulse width. You may be already familiar with binary, 1's and 0's; where a 1 is represented as 'on' and a 0 as 'off'. An example of this would be a light switch. Turning the switch on would indicate a 1, off a 0. In the case of a PWM/PPM signal, a voltage applied indicates a 1 and vice versa. However, in the case of R/C electronics this 'on/off' data is not enough, this is where the pulse width comes in. The way we relay data to a servo for instance is the time the pulse is on. In the case of R/C electronics this time is usually around 1-2 milliseconds. A servo or ESC will monitor this pulse and begin counting when the pulse is detected and stop counting when the pulse stops. The time the pulse is on will determine the servo position. For example, sending a servo a 1ms pulse will make the servo swing completely left while a 2ms pulse will swing the arm completely right. Generally in R/C equipment an entire PWM pulse will last a total of 20ms. The entire pulse is called a frame. A complete frame will include both the time the pulse is high (1-2ms) and the time the pulse is low. The image below represents a typical PWM frame. Although the frame lasts 20ms the important part of the pulse is the time the pulse is on; 1-2ms. Although the time between pulses is not as important it does play an important role. Usually keeping the time between pulses around 20ms is best. If the delay is longer, a servo for example will lose holding power. A pulse can be generated much faster but 20ms is best for most situations. So what is the point in waiting up to 20ms? This is an R/C specific and will help understand PPM. Again, PPM stands for Pulse Position Modulation. PPM basically is several PWM signals lined up back to back. A PPM frame looks like this: Aside from the gaining servo holding power, the reason for the 20ms frame is just having the ability to line up several PWM signals in the same frame. Like I said before, the time the pulse is on is what is important because we are able to strip out this relevant data from a PPM frame to re-generate a PWM frame. For example, if a radio only sent 1 PWM signal at a time, it would take 20ms per channel. If you have an 8 channel radio each update would take 160ms. The same data can be packed into a PPM frame and only take 20ms per update. Transmitters and receivers are the two most common R/C devices that use PPM. The following are lists of common devices that use PPM and PWM. R/C Devices that use PWM Pulses: * Servos * Electronic Speed Controllers * R/C switches * R/C lights * R/C receivers * Data loggers * Autopilot/Stabilization systems * Servo Controller R/C Devices that use PPM Pulses: * R/C transmitters * R/C receivers * Autopilot/Stabilization systems
|
|
|
|
|
Logged
|
|
|
|
glutnix_neo
Technical People
Hydroelectric
   
Pogi/Ganda Points: 130
Offline
Gender: 
Posts: 3324
Developing code for "humans" since 2004
|
 |
« Reply #13 on: September 01, 2008, 07:30:39 AM » |
|
yung end stop po dito is related dun sa servo programmer, parang microcontroller meron din programmer ang servo motor. Iseset mo ung position or angle ng servo kung saan sya magsstop dun sa servo programmer. eto po visit nyo na lang po, pde ka gumawa ng sarili mong servo at lagyan ng program. http://www.openservo.com/I see, so you're referring to the open servo(modified hited servo) and not just the plain hitec servo. Interesting yang open servo a, may info pa sa speed at position.
|
|
|
|
|
Logged
|
|
|
|
|
ajak
|
 |
« Reply #14 on: September 14, 2008, 08:51:01 PM » |
|
Do you know the Advantages of Digital Servo? Higher resolution-less deadband, more accurate positioning 1. Faster control response-increased acceleration 2. Constant torque throughout the servo travel 3. Increased holding power when stationary  The "Analog Servo" has custom Logic chip and timing components  The "Digital Servo" has a microprocessor,FET amplifier There are two main categories of servos available, analog and digital. Analog servos have been around for quite some time, servos work by sending pulses of power to the servo motor, similar to the way an ESC powers an electric RC truck. However Digital servos have significant operational advantages over analog servos, but with these advantages also come minor disadvantages, and this fact file will try to explain the positives and negatives of Digital servos in simplified terms. First of all, a digital servo is the same as a traditional servo. Digital servos have the same motors, gears and cases as analog servos and the greatest difference between them is on the controlling circuit, the Digital Servo has a Quartz crystal controlled microprocessor, FET amplifier, which has a decisive influence on the performance of servos. Where a digital serve differs, is in the way it processes the incoming receiver information, and in turn controls the initial power to the servomotor. Due to a small microprocessor inside the case, can specifically tailor the pulses being sent to the servo's motor. It can also send a larger number of pulses, which means that the range of motion can be broken down into a much finer pattern. Since more pulses are being sent, the servo is more responsive and contains a significantly less amount of deadband. In a conventional servo, no power is being sent to the servomotor. When a signal is then received for the servo the move, or pressure is applied to the output arm, the servo responds by sending power/voltage, is pulsed or switched On/Off at a fixed rate ,creating small 'blips' of power. By increasing the length of each pulse/blip of power, a speed controller affect is created, until full power/voltage is applied to the motor, accelerating the servo arm towards its new position. In turn, as the servo positioning pot tells the servo's electronics it is reaching its required position, the power blips are reduced in length to slow it down, until no power is supplied and the servomotor stops. The Distinct Advantages of a Digital Servo.First, it equips with the microprocessor, to receive the incoming signal and apply preset parameters to that signal before sending its pulses of power to the servomotor. This means the length of the power pulse/blip, and therefore the amount of power sent out to activate the motor, can be adjusted by the microprocessors program to match its function requirements and therefore optimize the servo's performance. The second, is that a digital servo sends pulses to the motor at a significantly higher frequency. This means that, as opposed to the motor receiving 50 pulses/sec., it now receives 300. Although the length of the pulses is reduced in a direct ratio to the higher frequency because the power is being turned on/off to the motor more frequently, the motor has more incentive to turn. This also means that not only does the servomotor respond faster to the commands, but that increases or decreases in power for acceleration ˇ˘deceleration are able to be transmitted to the servomotor far more frequently. This gives a digital servo an improved deadband, a faster response, quicker and smoother acceleration/deceleration, and better resolution and holding power. The Disadvantage of a Digital Servo.Digital servos are definitely more advanced than their analog counterparts. However there is one disadvantage to digital servos, they use more power. Digital servos will drain a battery quicker than an analog servo would. Also running multiple digital servos is generally a bad idea due to the added current draw that they can pull when operated together. In situations where multiple digital servos are used, such as planes, special wiring and extra batteries are the preferred route. Digital servos are the future for model control, and anyone who has used them says the difference is so significant that they would never return to analog servos, if there is a digital one available to fit the application.
|
|
|
|
|
Logged
|
|
|
|
|
AbangLingkod
|
 |
« Reply #15 on: September 19, 2008, 10:09:04 AM » |
|
mga masters... anu po ung AC servopack type SGD,,SGDa,, SGDb,, DR2???
ano po differences nila???
|
|
|
|
|
Logged
|
Kaalamang Teknikal,'wag ipangalandakan... Babagsak, Dangal ng Teknisyan.
|
|
|
|
AbangLingkod
|
 |
« Reply #16 on: September 19, 2008, 11:28:43 AM » |
|
may nagbigay kasi sakin tatlong SERVOPACK (by YASKAWA USA) Digital Operator. eh di ko naman to kailangan... gusto ko na nga ipamigay o kahuyin nalang...
|
|
|
|
|
Logged
|
Kaalamang Teknikal,'wag ipangalandakan... Babagsak, Dangal ng Teknisyan.
|
|
|
maldihtah13
Technical People
Nuclear Reactor
   
Pogi/Ganda Points: 110
Offline
Gender: 
Posts: 4446
Everyday is a learning process so try to learn ;D
|
 |
« Reply #17 on: September 19, 2008, 01:48:41 PM » |
|
may nagbigay kasi sakin tatlong SERVOPACK (by YASKAWA USA) Digital Operator. eh di ko naman to kailangan... gusto ko na nga ipamigay o kahuyin nalang...
ibigay mo na lang sa akin syang yan.
|
|
|
|
|
Logged
|
|
|
|
rowan
Size AA Battery
  
Pogi/Ganda Points: 22
Offline
Gender: 
Posts: 123
|
 |
« Reply #18 on: September 19, 2008, 02:12:27 PM » |
|
may nagbigay kasi sakin tatlong SERVOPACK (by YASKAWA USA) Digital Operator. eh di ko naman to kailangan... gusto ko na nga ipamigay o kahuyin nalang...
kuya ako rin if ok lang po sayo hingiin ko na ung isa..tnx po 
|
|
|
|
|
Logged
|
|
|
|
|
AbangLingkod
|
 |
« Reply #19 on: September 19, 2008, 02:50:23 PM » |
|
taga san ba kayo.? marami pa daw to,,pinakita lang sakin,,, via db9..
taga san ba kayo?
|
|
|
|
|
Logged
|
Kaalamang Teknikal,'wag ipangalandakan... Babagsak, Dangal ng Teknisyan.
|
|
|
|
The Philippine Electronics and Technology Forum
|
|
|
|
|
|
Logged
|
|
|
|
|