1 4-Integrating Peripherals in Embedded Systems (cont.)

Slides:



Advertisements
Similar presentations
MICROPROCESSORS AND MICROCONTROLLERS
Advertisements

1 ECE 372 – Microcontroller Design Parallel IO Ports - Outputs Parallel IO Ports E.g. Port T, Port AD Used to interface with many devices Switches LEDs.
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 3: Standard Single Purpose Processors - Peripherals.
PHY 235 Robotics Workshop Day 6 DC Motors, H-Bridge Board, Simple Lego/Boe Bot.
Servos The material presented is taken from a variety of sources including:
ELECTRICAL. Circuits Outline Power Hub Microcontroller Sensor Inputs Motor Driver.
RaceBot can do car race using two DC motors. Let's learn how to go forward, backward, right turn, and left turn. with practicing ' ㄱ ' shape racing, and.
L.
Stepper Motors A stepper motor is a “pulse-driven” motor that changes the angular position of the rotor in “steps” Define –β = the step angle (per input.
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 4 Standard Single Purpose Processors: Peripherals.
Standard Single Purpose Processors: Peripherals. This Week In DIG II  Timers and counters  Watchdog timers  UART (Universal asynchronous receiver /
SENIOR DESIGN 10/16.
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 4 Standard Single Purpose Processors: Peripherals ECE 4330 Embedded System.
Stepper Motors A stepper motor is a “pulse-driven” motor that changes the angular position of the rotor in “steps” Define –β = the step angle (per input.
1 Eric Taseski, Yihe Huang, Ronak Mehta H-Bridges and Stepper Motors 2.
DC Motors, Stepper Motors, H-bridges DC Motors Stepper Motors Motor Control Circuits – Relays – H-bridges.
ECGR-6185 Advanced Embedded Systems University Of North Carolina at Charlotte A. Srinivas Reddy Stepper/Servo/DC Motors.
1 Motors & Motor Controllers ECE AC or DC Motors AC –Few robots use AC except in factories –Most of those that use AC first convert to DC DC –Dominates.
Applied Control Systems Robotics & Robotic Control
Microcontroller Hands-on Workshop #3 Ahmad Manshad New Mexico State University Institute of Electrical and Electronics Engineers November 7, 2009.
Chapter 4 Standard Single Purpose Processors: Peripherals
1 L Fall 2003 – Introductory Digital Systems Laboratory Motors and Position Determination.
ELECTRIC MOTORS An Introduction to DC and Stepper Motors.
10/10/ Controlling YOUR ROBOT. 10/10/2015 Basic Stamp  Basic Stamp Input - output pins Interpreter Chip Power supply: 5 Volts voltage Memory: EEPROM.
Instrumentation & Control Engg. Section Electrical Engineering Department Ahmedabad , Gujarat.
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Motors & Motor Drivers ECE 450.
Using Hobby Servos with the Arduino living with the lab © 2012 David Hall.
STEPPER MOTORS Name: Mr.R.Anandaraj Designation: Associate. Professor Department: Electrical and Electronics Engineering Subject code :EC 6252 Year: II.
Microcomputers Final Project.  Camera surveillance is an important aspect of Robotics.  Autonomous robots require the use of servos for camera control.
Motor Control For the Sieg Defense Platform by Michael Dougherty Gary Look Gene Ma Reviewed by Ngochan Nguyen, Duy Le, Valdis Riekstins.
Servos The material presented is taken from a variety of sources including:
Embedded Systems Design: A Unified Hardware/Software Introduction 1 Chapter 4 Standard Single Purpose Processors: Peripherals.
Automatic accident avoiding system PROJECT MEMBERS MUTHUKUMAR.K (05ME33) SAKTHIDHASAN.S (05ME39) SAKTHIVEL.N (05ME40) VINOTH.S (05ME56) PROJECT GUIDE:
MOTORS. Definition Of Motor That powered by electricity or internal combustion, that supplies motive power for a vehicle or for some other device. A device.
Stepper motor. Stepper Motor Interfacing Stepper motor is a widely used device that translates electrical pulses into mechanical movement. Stepper motor.
1 4-Integrating Peripherals in Embedded Systems (cont.)
1 4-Integrating Peripherals in Embedded Systems (cont.)
MICROCONTROLLER INTERFACING WITH STEPPER MOTOR MADE BY: Pruthvirajsinh Jadeja ( ) COLLEGE:DIET BRANCH:EC.
Group #42: Weipeng Dang William Tadekawa Rahul Talari.
Servo Motor Control Using Arduino Instructor: Dr Matthew Khin Yi Kyaw.
Istituto Tecnico Industriale A.Monaco EURLAB Control a Servo Motor If you want to swing an robot arm or … steer a robot you need a special motor (Servo).
Limited rotation servo basics David Hall output shaft servo horn red wire = 5V + black wire = Gnd - white wire = control signal standard servo.
INTERNET OF EVERYTHING SDU 2016 Week 9. Physical Output  Make things move by controlling motors with Arduino  Servo-motors  Rotary actuator that allows.
DC motor principles Speed control Direction Stepper motor principles
1 4-Integrating Peripherals in Embedded Systems (cont.)
The “Board of Education” 1 Three-position switch 0 = OFF 1 = ON / wheels OFF 2 = ON / wheels ON breadboard (for building circuits) electrical power (V.
Microcontroller basics Embedded systems for mortals.
The 8051 Microcontrollers Introduction. External hardware interrupts.
Generators, Motors, and AC Power
Motors & Motor Controllers
Microcontroller basics
Introduction to Motors, servos and steppers
Servo’s and Motor’s with Arduino
Introduction to Servos
Using servos.
MC3479P Stepper Motor and Stepper Motor IC
Arduino Application: Speed control of small DC Motors
Introduction to H-Bridge
Controlling YOUR ROBOT
Stepper Motors A stepper motor is a “pulse-driven” motor that changes the angular position of the rotor in “steps” Define β = the step angle (per input.
DC motor.
Relay, Optoisolator, and Stepper Motor Interfacing
Relay, Optoisolator, and Stepper Motor Interfacing
Figure PIC18 Connection to Relay
Chapter 4 Standard Single Purpose Processors: Peripherals
Chapter 4 Standard Single Purpose Processors: Peripherals
UNIT 11: RC-SERVOMOTOR CONTROL
Chapter 4 Standard Single Purpose Processors: Peripherals
Chapter 4 Standard Single Purpose Processors: Peripherals
Presentation transcript:

1 4-Integrating Peripherals in Embedded Systems (cont.)

Previous  PWM  DC motors  Servo motors 2

3 Stepper motor controller Red A White A’ Yellow B Black B’ MC3479P Vd A’ A GND Bias’/Set Clk O|C Vm B B’ GND Phase A’ CW’/CCW Full’/Half Step Stepper motor: rotates fixed number of degrees when given a “step” signal  In contrast, DC motor just rotates when power applied, coasts to stop Rotation achieved by applying specific voltage sequence to coils Controller greatly simplifies this Assume a STEP is a sequence of 5 commands, where each command moves 1.5 degree.

4 Stepper motor with controller (driver) 2 A’ 3 A 10 7 B 15 B’ 14 MC3479P Stepper Motor Driver 8051 P1.0 P1.1 Stepper Motor CLK CW’/CCW The output pins on the stepper motor driver do not provide enough current to drive the stepper motor. To amplify the current, a buffer is needed. One possible implementation of the buffers is pictured to the right. Q1 is an MJE3055T NPN transistor and Q2 is an MJE2955T PNP transistor. IN is connected to the 8051 microcontroller and OUT is connected to the stepper motor. void main(void){ */turn the motor forward */ cw=0; /* set direction */ clk=0; /* pulse clock */ delay(); clk=1; /*turn the motor backwards */ cw=1; /* set direction */ clk=0; /* pulse clock */ delay(); clk=1; } /* main.c */ sbit clk=P1^1; sbit cw=P1^0; void delay(void){ int i, j; for (i=0; i<1000; i++) for ( j=0; j<50; j++) i = i + 0; }

5 Stepper motor without controller (driver) Stepper Motor 8051 GND/ +VP2.4 P2.3 P2.2 P2.1 P2.0 Another way to implement the buffers is located below. Here, several transistors were added to increase the current going to the stepper motor. Q1 are MJE3055T NPN transistors and Q3 is an MJE2955T PNP transistor. IN is connected to the 8051 microcontroller and OUT is connected to the stepper motor. Q2 +V 1K Q1 1K +V IN OUT 330 /*main.c*/ sbit notA=P2^0; sbit isA=P2^1; sbit notB=P2^2; sbit isB=P2^3; sbit dir=P2^4; void delay(){ int a, b; for(a=0; a<5000; a++) for(b=0; b<10000; b++) a=a+0; } void move(int dir, int steps) { int y, z; /* clockwise movement */ if(dir == 1){ for(y=0; y<steps; y++){ for(z=0; z<=19; z+=4){ isA=lookup[z]; isB=lookup[z+1]; notA=lookup[z+2]; notB=lookup[z+3]; delay(); } /* counter clockwise movement */ if(dir==0){ for(y=0; y<step; y++){ for(z=19; z>=0; z -= 4){ isA=lookup[z]; isB=lookup[z-1]; notA=lookup[z -2]; notB=lookup[z-3]; delay( ); } void main( ){ int z; int lookup[20] = { //A, B, A’, B’ 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0 }; while(1){ /*move forward, 15 degrees (2 steps) */ move(1, 2); /* move backwards, 7.5 degrees (1step)*/ move(0, 1); }