1 / 17

Servos

Servos. The material presented is taken from a variety of sources including: http://www.seattlerobotics.org/guide/servos.html , http://www.baldor.com/pdf/manuals/1205-394.pdf , and Parallax educational materials at http://learn.parallax.com/. Overview.

jasper
Download Presentation

Servos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Servos The material presented is taken from a variety of sources including: http://www.seattlerobotics.org/guide/servos.html, http://www.baldor.com/pdf/manuals/1205-394.pdf, and Parallax educational materials at http://learn.parallax.com/

  2. Overview • Servo motorsare used for angular positioning. They typically have a movement range of 180 deg but can go up to 210 deg. • The output shaft of a servo does not rotate freely. It seeks a particular angular position under electronic control. • Servos are typically rated by torque and speed. A servo rated 40 ounce-in/.21 means that at 1 inch from the hub, the servo can exert 40 ounces of force and move 60 deg in 0.21 sec.

  3. What makes a Servo • Servo motors and are constructed out of basic DC motors, by adding: • some gear reduction • a position sensor for the motor shaft • an electronic circuit that controls the motor's operation • The basic hobby servo has a 180:1 gear ratio. The motor is typically small. • Typically, a potentiometer (variable resistor) measures the position of the output shaft at all times. • An informative link

  4. Feed-back loop open-loop closed-loop

  5. Control • An external controller (such as the Arduino) tells the servo where to go with a signal know as pulse proportional modulation (PPM) or pulse code modulation (which isoften confused with pulse width modulation, PWM). • PPM uses 1 to 2ms out of a 20ms time period to encode information.

  6. PPM • A control wire communicates the angular movement. The angle is determined by the duration of the pulse on the control wire. • The servo expects a pulse every 20 millisec (.02 seconds). The length of the pulse determines how far the motor turns. • For a 1.5 millisecond pulse, the motor turns to the 90 degree position (i.e., the neutral position). • If the pulse is shorter than 1.5 ms, the motor turns the shaft to closer to 0 degrees. If the pulse is longer than 1.5ms, the shaft turns closer to 180 degrees.

  7. PPM • Each pulse is from 1300 to 1700 microsec (μs) in duration • The pulses repeat about 50 times each second---once every 20 millisec

  8. PPM • The amount of power applied to the motor is proportional to the distance to be traveled. • If the shaft needs to turn a large distance, the motor runs at full speed. • If it needs to turn a small amount, the motor runs at a slower speed.

  9. Modified Servos • Servo motors can also be retrofitted to provide continuous rotation: • Remove mechanical limit (revert back to DC motor shaft). • Remove pot position sensor (no need to know position) and replace it with 2 equal-valued resistors with a combined resistance equivalent to that of the pot. Makes the servo “think” it is in the 90 deg position. Not always necessary

  10. Modified Servos • The idea is to make the servo think that the output shaft is always at the 90 degree mark. • This is done by removing the feedback sensor, and replacing it with an equivalent circuit that creates the same readings as the sensor at 90 degrees. • Then, the control signal for 0 degrees causes the motor to turn full speed in one direction. The signal for 180 degrees causes the motor to turn full speed the other direction. • Since the feedback from the output shaft is disconnected, the servo continues in the specified direction as long as the signal remains.

  11. Parallax Servos • The parallax servos are modified servos with the potentiometer intact. • The potentiometer (a.k.a., pot) should be adjusted to make the servo think that it is at the 90 degree mark.

  12. Parallax Servo Connections Servo Connector: Black – ground Red – power White – signal

  13. Connecting to the Arduino

  14. Calibration Program #include <Servo.h> Servo myServo; void setup() { myServo.attach(9); myServo.writeMicroseconds(1500); // Stop } void loop() { }

  15. Demonstration Program #include <Servo.h> Servo myServo; // Create Servo object void setup() { myServo.attach(9); // Servo is connected to digital pin 9 } void loop() { myServo.writeMicroseconds(1700); // Counter clockwise delay(2000); // Wait 2 seconds myServo.writeMicroseconds(1300); // Clockwise delay(2000); myServo.writeMicroseconds(1500); // Stop delay(2000); }

  16. Using Two Servos and Angles to Specify Movement #include <Servo.h> Servo servoLeft; // Define left servo Servo servoRight; // Define right servo void setup() { servoLeft.attach(10); // left servo on pin 10 servoRight.attach(9); // right servo on pin 9 } void loop() { forward(); // move forward delay(2000); // wait 2000 millisec reverse(); delay(2000); turnRight(); delay(2000); turnLeft(); delay(2000); stopRobot(); delay(2000); } http://www.robotoid.com

  17. Using Two Servos and Angles to Specify Movement---continued void forward() { servoLeft.write(0); servoRight.write(180); } void reverse() { servoLeft.write(180); servoRight.write(0); } void turnRight() { servoLeft.write(180); servoRight.write(180); } void turnLeft() { servoLeft.write(0); servoRight.write(0); } void stopRobot() { servoLeft.write(90); servoRight.write(90); }

More Related