Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-4: Electric Actuators

Similar documents
Programming a Servo. Servo. Red Wire. Black Wire. White Wire

Using Servos with an Arduino

LED + Servo 2 devices, 1 Arduino

Learning Objectives. References 10/26/11. Using servos with an Arduino. EAS 199A Fall 2011

DC motor control using arduino

100UF CAPACITOR POTENTIOMETER SERVO MOTOR MOTOR ARM. MALE HEADER PIN (3 pins) INGREDIENTS

Programming PIC Microchips

Automobile Prototype Servo Control

Lab Exercise 9: Stepper and Servo Motors

CONSTRUCTION GUIDE Robotic Arm. Robobox. Level II

Arduino Control of Tetrix Prizm Robotics. Motors and Servos Introduction to Robotics and Engineering Marist School

Figure 1. Digilent DC Motor

Programming 2 Servos. Learn to connect and write code to control two servos.

Parts List. Robotic Arm segments ¼ inch screws Cable XBEE module or Wifi module

2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control. October 5, 2009 Dr. Harrison H. Chin

Assembly Language. Topic 14 Motion Control. Stepper and Servo Motors

MAE106 Laboratory Exercises Lab # 3 Open-loop control of a DC motor

Arduino. AS220 Workshop. Part II Interactive Design with advanced Transducers Lutz Hamel

combine regular DC-motors with a gear-box and an encoder/potentiometer to form a position control loop can only assume a limited range of angular

Hobby Servo Tutorial. Introduction. Sparkfun:

Lesson4 Obstacle avoidance car

Electronics Design Laboratory Lecture #6. ECEN2270 Electronics Design Laboratory

Job Sheet 2 Servo Control

Coding with Arduino to operate the prosthetic arm

Laboratory Exercise 1 Microcontroller Board with Driver Board

Sensors and Sensing Motors, Encoders and Motor Control

Computational Crafting with Arduino. Christopher Michaud Marist School ECEP Programs, Georgia Tech

A servo is an electric motor that takes in a pulse width modulated signal that controls direction and speed. A servo has three leads:

Introduction: Components used:

CMSC838. Tangible Interactive Assistant Professor Computer Science. Week 11 Lecture 20 April 9, 2015 Motors

Introduction to the VEX Robotics Platform and ROBOTC Software

Servo Sweep. Learn to make a regular Servo move in a sweeping motion.

Using Transistors and Driving Motors

Control Robotics Arm with EduCake

THE IMPORTANCE OF PLANNING AND DRAWING IN DESIGN

Assignments from last week

The plan... CSE 6324 From control to actuators Michael Jenkin Office Hours: Sherman 1028 Wed 3-4. From the bottom up...

L E C T U R E R, E L E C T R I C A L A N D M I C R O E L E C T R O N I C E N G I N E E R I N G

Internet of Things Student STEM Project Jackson High School. Lesson 3: Arduino Solar Tracker

ABCs of Arduino. Kurt Turchan -

DC Motor and Servo motor Control with ARM and Arduino. Created by:

EEE3410 Microcontroller Applications Department of Electrical Engineering Lecture 11 Motor Control

SMART Funded by The National Science Foundation

Actuators. DC Motor Servo Motor Stepper Motor. Sensors

Administrative Notes. DC Motors; Torque and Gearing; Encoders; Motor Control. Today. Early DC Motors. Friday 1pm: Communications lecture

EXPERIMENT 6: Advanced I/O Programming

Understanding RC Servos and DC Motors

ME375 Lab Project. Bradley Boane & Jeremy Bourque April 25, 2018

UNIVERSITY OF JORDAN Mechatronics Engineering Department Measurements & Control Lab Experiment no.1 DC Servo Motor

Attribution Thank you to Arduino and SparkFun for open source access to reference materials.

MICROCONTROLLERS Stepper motor control with Sequential Logic Circuits

Design with Microprocessors Year III Computer Science 1-st Semester

MOBILE ROBOT LOCALIZATION with POSITION CONTROL

Arduino and Servo Motor

StenBOT Robot Kit. Stensat Group LLC, Copyright 2018

ILR #1: Sensors and Motor Control Lab. Zihao (Theo) Zhang- Team A October 14, 2016 Teammates: Amit Agarwal, Harry Golash, Yihao Qian, Menghan Zhang

HAW-Arduino. Sensors and Arduino F. Schubert HAW - Arduino 1

Sensors and Sensing Motors, Encoders and Motor Control

Motors and Servos Part 2: DC Motors

MDM5253 DC Motor Driver Module with Position and Current Feedback User Manual

Project 27 Joystick Servo Control

VEX Robotics Platform and ROBOTC Software. Introduction

Lab 06: Ohm s Law and Servo Motor Control

I 2 C RedBot & DC Motor Servo Motor Control

The Torxis Linear Servo meets the following environmental conditions:

Direct Current Waveforms

Brushed DC Motor Microcontroller PWM Speed Control with Optical Encoder and H-Bridge

B RoboClaw 2 Channel 30A Motor Controller Data Sheet

In this activity, you will program the BASIC Stamp to control the rotation of each of the Parallax pre-modified servos on the Boe-Bot.

Available online Journal of Scientific and Engineering Research, 2018, 5(4): Research Article

Experiment (2) DC Motor Control (Direction and Speed)

E11 Lecture 11: Sensors & Actuators. Profs. David Money Harris & Sarah Harris Fall 2011

o What happens if S1 and S2 or S3 and S4 are closed simultaneously? o Perform Motor Control, H-Bridges LAB 2 H-Bridges with SPST Switches

Adafruit Motor Selection Guide

Lecture 6. Interfacing Digital and Analog Devices to Arduino. Intro to Arduino

PWM CONTROL USING ARDUINO. Learn to Control DC Motor Speed and LED Brightness

Adafruit Motor Selection Guide

Two Hour Robot. Lets build a Robot.

DC-Motor Driver circuits

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

1. Controlling the DC Motors

Arduino DC Motor Control Tutorial L298N PWM H-Bridge

About New FT-SCServo (Smart Control Servo)

Robotic Vehicle Design

Introduction to the ME2110 Kit. Controller Box Electro Mechanical Actuators & Sensors Pneumatics

J. La Favre Using Arduino with Raspberry Pi February 7, 2018

Disclaimer. Arduino Hands-On 2 CS5968 / ART4455 9/1/10. ! Many of these slides are mine. ! But, some are stolen from various places on the web

FABO ACADEMY X ELECTRONIC DESIGN

Lab 8. Stepper Motor Controller

ME 461 Laboratory #5 Characterization and Control of PMDC Motors

ECE 511: MICROPROCESSORS

Introduction to Arduino HW Labs

Demon Pumpkin APPROXIMATE TIME (EXCLUDING PREPARATION WORK): 1 HOUR PREREQUISITES: PART LIST:

The light sensor, rotation sensor, and motors may all be monitored using the view function on the RCX.

가치창조기술. Motors need a lot of energy, especially cheap motors since they're less efficient.

Brushed DC Motor PWM Speed Control with the NI myrio, Optical Encoder, and H-Bridge

EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino

Lab 5: Inverted Pendulum PID Control

Mechatronics Laboratory Assignment 3 Introduction to I/O with the F28335 Motor Control Processor

For this exercise, you will need a partner, an Arduino kit (in the plastic tub), and a laptop with the Arduino programming environment.

Transcription:

Mechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-4: Electric Actuators Ahmed Okasha, Assistant Lecturer okasha1st@gmail.com

Objective Have a general overview about actuators. Understanding DC-Motor and how to control its direction and speed. Understanding how to control the Servo Motor. Understanding how to control the Stepper Motor.

Actuators An Actuator is a type of motor for moving or controlling a mechanism or system. It is operated by a source of energy, typically electric current, hydraulic fluid pressure, or pneumatic pressure, and converts that energy into motion. An actuator is the mechanism by which a control system acts upon an environment.

DC-Motors A traditional DC motor uses direct current to create magnetic force, which turns an output shaft. When the polarity of the DC voltage is reversed, the motor reverses its direction of rotation. Usually, the force created by the motor is equal in either direction. DC motors are widely used in robotics because of their small size and high energy output. They are excellent for powering the drive wheels of a mobile robot as well as powering other mechanical assemblies.

DC-Motor Selection Voltage: Typical DC motors are rated from about 6V-12V. The larger ones are often 24V or more. Current: The operating current: This is the average amount of current the motor is expected to draw under a typical torque. The stall current: This is when you power up the motor, but you put enough torque on it to force it to stop rotating.

DC-Motor Selection Torque: The operating torque: This is the torque the motor was designed to give. Usually it is the listed torque value. The stall torque: This is the torque required to stop the motor from rotating.

DC-Motor Speed Control Most Microcontrollers cannot generate analog output. However, this is tackled by a technique called PWM. Pulse Width Modulation, or PWM, is a technique for getting analog results with digital means. Digital control is used to create a square wave, a signal switched between on and off. This on-off pattern can simulate voltages in between full on (5 Volts) and off (0 Volts) by changing the portion of the time the signal spends on versus the time that the signal spends off. The duration of "on time" is called the pulse width. If you repeat this on-off pattern fast enough with an LED for example, the result is as if the signal is a steady voltage between 0 and 5v controlling the brightness of the LED.

Pulse Width Modulation Arduino's PWM frequency at about 500Hz (Period: 2 ms)

Pulse Width Modulation Ex: To create a 3V signal given a digital source that can be either high (on) at 5V or low (off) at 0V, you can use PWM with a duty cycle of 60% which outputs 5V 60% of the time. Selecting a duty cycle of 80% would yield 4V, 20% would yield 1V, and so on.

DC-Motor Direction Control To control the DC-Motor direction without reversing the battery polarity, we need to use the L293/L293D chip that enables you to control TWO DC-Motors, and their speed as well.

L293D This is a very useful chip. It can actually control two motors independently. We are just using half the chip in this lesson. Speed Control (To Arduino PWM) Chip PS (To Arduino) (To Arduino) GND IN1 IN2 Motor Status GND GND Stopped 5V GND Turns in Direction A GND 5V Turns in Direction B 5V 5V Stopped Motor PS (Ex: 9 volt bat.)

Exercise 1. Connect the 9 volt battery to your motor, the motor should spin one way. 2. Reverse the battery polarity, the motor should spin in the other direction. 3. Connect your motor to the L293 chip and to your Arduino. 4. Write a code to run the motor through the L293 in one direction. Change the code to reverse the motor rotation direction. 5. Add a potentiometer to allow for speed control.

Servo Motors Servos are DC motors with built in gearing and feedback control loop circuitry, and no motor drivers required! Unlike DC motors, with servo motors you can position the motor shaft at a specific position (angle) using control signal. The motor shaft will hold at this position as long as the control signal not changed. This is very useful for controlling robot arms, unmanned airplanes control surface or any object that you want it to move at certain angle and stay at its new position. Most servo motors can rotate about 90 to 180 degrees. Some rotate through a full 360 degrees or more.

Types of servo motors Positional rotation servo: This is the most common type of servo motor. The output shaft rotates in about half of a circle, or 180 degrees. It has physical stops placed in the gear mechanism to prevent turning beyond these limits to protect the rotational sensor. These common servos are found in radio-controlled cars and water- and aircraft, toys, robots, and many other applications. Continuous rotation servo: This is quite similar to the common positional rotation servo motor, except it can turn in either direction indefinitely. The control signal, controls the motor speed rather than direction. You might use a servo of this type as a drive motor on a mobile robot.

Servo Motors All servos have three wires: Black or Brown is for ground. Red is for power (~4.8-6V). Yellow, Orange, or White is the signal wire (3-5V). While the black and red wires provide power to the motor, the signal wire is what you use to command the servo. The general concept is to simply send an ordinary logic square wave to your servo at a specific wave length, and your servo goes to a particular angle (or velocity if your servo is modified). The wavelength directly maps to servo angle.

Controlling 180º Servo Motor Bring high a digital port Wait between 1-2ms Bring low the same digital port Cycle a few dozen times per second

Controlling 180º Servo Motor Pretty simple Code using the library servo: #include <Servo.h> // Include the servo library Servo myservo; // Create servo object to control a servo void setup() { myservo.attach(9); // Attaches the servo on pin 9 to the servo object } void loop() { myservo.write(0); // Tells the servo what rotation angle to turn to (0) delay(1000); myservo.write(180); // Tells the servo what rotation angle to turn to (180) delay(1000); }

Controlling Continuous Servo Motor If your Servo is modified to be continuously rotate, you will loose position control, however, you will be able to control the speed. Same code of position control is used to control the speed where the value can still be from 0 to 180 where: 0: is full speed in one direction and 180: is full speed in the opposite direction.

Stepper Motors Stepper motors can be found in electronics where high precision is important such as scanners and printers. A stepper motor, in contrast to the DC motor, can be very precise with both position and speed.

Stepper Motors Stepper motors fall somewhere in between a regular DC motor and a servo motor. They have the advantage that they can be positioned accurately, moved forward or backwards one 'step at a time, but they can also rotate continuously. However, stepper motors will never be very fast compared to a DC motor. It generally has 4 or more wires and usually needs more than 5 volts to work. This means it cannot be powered by an Arduino, but we can use an external power supply.

Stepper Motor Control Stepper Motor cannot be controlled directly from Arduino, rather a driver circuit/ic is needed. Several Stepper Motor drivers are available such as L293D, and the Easy Driver Circuit. Tutorial on how to control a 5V Stepper motor using the L293D: https://learn.adafruit.com/adafruitarduino-lesson-16-stepper-motors?view=all Tutorial on how to control a 5V Stepper motor using the Easy Driver Circuit: https://www.sparkfun.com/tutorials/400

References www.societyofrobots.com http://www.fut-electronics.com/wpcontent/plugins/fe_downloads/uploads/introduction%20t o%20servo%20motors%20&%20arduino.pdf http://www.sciencebuddies.org/science-fairprojects/project_ideas/robotics_servomotors.shtml?from =Blog http://madrid.verkstad.cc/en/category/block4/block4- concepts/