TABLE OF CONTENTS
Software 1. ARC for Windows PC 2. Example Projects 3. Controls 4. Getting Help with Controls 5. ControlCommand() 6. Virtual Desktops 7. RoboScratch 8. Blockly 9. EZ-Script Mobile Software 1. Create a Mobile App Linear Programming 1. Create a Scene Using RoboScratch (Big Hero Six) 2. Create a Scene using Blockly (Avengers) Logical Programming 1. Programming Concepts (Variables, If/Else, Logic) 2. Counting Up 3. Counting Down Camera Input 1. Introduction to the EZ-B Camera 2. Face Detection with RoboScratch 3. Face Detection with Blockly 4. Face Detection with EZ-Script 5. Color Tracking with Servos 6. Color Tracking with Movement 7. Detecting Multiple Colors 8. Line Following with Roli, AdventureBot and Shell-E 9. Vision - Object Training & Recognition 10. Glyphs to Control Robot Movement 11. Detecting Glyphs & Augmented Reality 12. QR Code Detect 13. Microsoft Cognitive Emotion 14. Microsoft Cognitive Vision Audio Input 1. Speech Recognition RGB Output 1. RGB Animations Positioning 1. Servo Control 2. Introduction to Servo Motors 3. Create a Robot Dance 4. Program Robot to Dab 5. Program Robot to Play Piano 6. MYO Gesture Armband Navigation and Movement 1. Movement Panels 2. Navigating using RoboScratch 3. Navigating using Blockly Creative Applications 1. Customize Your EZ-Robot 2. Control Robot From Twitter 3. Nest Thermostat EZ-B v4 Robot Brain 1. EZ-B v4 Robot Brain Overview 2. DIY Autonomous Robot Vehicle 3. EZ-B v4 and IoTiny Wi-Fi Modes 4. Change WiFi Name 5. Resetting Your EZ-B v4 or IoTiny 6. USB WiFi or Ethernet Adapter Robot Troubleshooting 1. Which Robot are You Using? |
Introduction To Servo MotorsIn this tutorial, we will provide technical information about servo-motors and how they work. We made it easy to get a robot up and running, however, there is a lot of fun and interesting things to learn about how the robot works. The more you know, the more you can get your robot to do!
What is a servo motor?
A Servo motor (or servo) is a rotary actuator that allows for precise control of angular position, velocity and acceleration. Servos are found in many places, from toys to home electronics to cars and airplanes. Servos also appear behind the scenes in devices we use every day. Electronic devices such as DVD players use servos to extend or retract the disc trays. EZ-Robots use servos that manage the movement of joints, pan & tilt, and continuous rotational movement. The EZ-B v4 sends an electrical signal that tells the servo what position to reach and how quickly to get there.
Servos come in a variety of shapes and sizes for different applications. You may want a large, powerful one for moving the arm of a big robot, or a tiny one to make a robot's eyebrows go up and down. By linking many of these servos together, you can create robots that perform complex real world operations. Our robots utilize the two most common sizes as shown below. Servo vs PWM PWM stands for Pulse Width Modulation. PWM is the process of turning ON and OFF digital voltage quickly to simulate a range of voltage. For example, if the digital output pin of a micro is 3.3v, and the PWM is set for a 50% duty cycle, the output voltage would be approx 1.65v. This is because the microcontroller is turning ON and OFF the digital 3.3v pin quickly, which is producing a simulated lower voltage. You can use PWM to vary the brightness of an LED, for example. A servo uses PWM as well. The "frame" of a servo PWM signal is 20ms. Many controllers, such as Arduino libraries, may not maintain the 20ms specification defined for servos. Because of this, challenges have been introduced to servo manufacturers when decoding incoming PWM signals. The EZ-B does adhere to servo PWM standards. How does a servo motor work?
The simplicity of a servo is among the features that make them so reliable. The heart of a servo is a small direct current (DC) motor, similar to what you might find in a toy. These motors run on electricity from a battery and spin at high RPM (rotations per minute) but put out very low torque (a twisting force used to do work— you apply torque when you open a jar). An arrangement of gears takes the high speed of the motor and slows it down while at the same time increasing the torque (Basic law of physics: work = force x distance.) A tiny electric motor does not have much torque, but it can spin really fast (small force, big distance). The gear design inside the servo case converts the output to a much slower rotation speed but with more torque (big force, little distance). The amount of actual work is the same, just more useful. Gears in an inexpensive servo motor are generally made of plastic to keep it lighter and less costly. On a servo designed to provide more torque for heavier work, the gears are made of metal and are harder to damage. EZ-Robot servos use metal gears to prolong usability and servo life. Within a servo, a positional sensor on the final gear is connected to a small circuit board. This sensor tells the circuit board how far the servo output shaft has rotated. The electronics on the circuit board decode the signals to determine how far the user wants the servo to rotate. It then compares the desired position to the actual position and decides which direction to rotate the shaft so it gets to the desired position. Types of servo motors Servos come in many sizes and in three basic types: positional rotation, continuous rotation, and linear.
Controlling a Generic Servo Motor While we definitely recommend using EZ-Robot servos in your DIY robot projects (as they have been engineered to provide improved strength, lifespan and compatibility with an EZ-B Controller), you can use standard servos. A standard servo is what you normally find in R/C Hobby Toys. With the EZ-B and a standard servo, you can easily configure how many degrees to rotate the output shaft. The EZ-B and ARC (formerly EZ-Builder) takes care of the electrical communication to the servo for you. Standard servos can be used for the head or arms of your robot. However, there is some technical information you'll need to understand on how servos work. The servo is controlled using pulse controlling. The control pulse is a positive voltage with a length of 1 to 2 ms which determines the angle of the shaft. The control pulse is repeated every 18-25 ms. The EZ-B has timing below 1ms and above 2ms to accommodate all servo types. Some servos do not fall within the specifications and require unusual timing. If you choose to use your own servos, make sure you test them and set appropriate max and min values. If a servo attempts to move further than its maximum position, it may be damaged. Additionally, if a servo is rotated too far then it will consume a lot of current and the EZ-B may reset. Here are the timings for the EZ-B... Position 1 on v4, Position 1 on v3 Position 90 on v4, Position 50 on v3 Position 180 on v4, Position 100 on v3 The EZ-B v4 has high accuracy which results in 180 servo positions. The EZ-B v4 can control 24 servos simultaneously while it performs other various user specified tasks. If you use generic servos and they draw more current than our specification sheet defines, the EZ-B may run out of power and reboot itself. This is called a Brown-Out. To prevent brown-outs with many servos, provide alternate power. Check your 3rd party servo manual on how to do that. How Does Continuous Rotation Servo Work? A continuous rotation servo will spin the rotation shaft continuously in either direction. When the servo receives a 90 degree position, which is the center on a standard servo, the continuous rotation servo will stop spinning. On a continuous rotation servo, the center (90 degrees) is the STOP position. The further you move away from 90 degrees in either direction the faster the servo will spin in that direction. Early versions of EZ-Robot's continuous rotation servos have a POT (potentiometer) exposed which allows you to fine tune the STOP position with a small screwdriver. Our more recent continuous rotation servos are fine tuned with the software. Click here to view a tutorial on how to calibrate the older continuous rotation servos. 100 < - Turning left faster 99 98 97 96 95 94 93 92 91 < - Turning left slower 90 <- Stopped 89 <- Turning right slower 88 87 86 85 84 83 82 81 80 < - Turning right faster How Is Torque Measured? Now that we covered the basics of how-a-servo-works, the next question is torque. Torque is how much power the servo has and different applications will require higher or lower torque. The average torque of a plastic servo is 2-3kg/cm @ 5 volts whereas the EZ-Robot Heavy Duty servos can provide up to 19 kg/cm. Because they provide significantly more torque, EZ-Robot Heavy Duty Servos will require more energy to move than cheaper plastic ones. Don't worry though, EZ-Robots are powered by a strong LiPo battery and will support up to 24 Heavy Duty Servos! If too many "high torque servos" are connected to the EZ-B without a separate power source, it will "brown-out". Browning-out means the voltage regulator could not keep up with the current draw so the microchip rebooted itself due to low current. Very high torque servos should be powered by a separate power source to avoid brown outs. So what do the torque numbers mean? Let's speculate the torque value of a servo was 50 ounces per inch. If you had a servo arm that was one inch long on your servo it would be able to produce 50 ounces of pull or push force at the end of the servo arm before stalling. If you had a 1/2 inch servo arm what do you think the force would be? 100 ounces of force. How about a 2 inch arm, it would be 25 ounces of force. |