Lab 5: Inverted Pendulum PID Control
|
|
- Lydia Clarke
- 5 years ago
- Views:
Transcription
1 Lab 5: Inverted Pendulum PID Control In this lab we will be learning about PID (Proportional Integral Derivative) control and using it to keep an inverted pendulum system upright. We chose an inverted pendulum system because the control requirements are similar to those of your balancing robot. In part one of this lab we will go over the inverted pendulum system and how it works and in part two we will learn about PID control loops, how to tune them and use one to balance the inverted pendulum system. Part 1: Inverted Pendulum System An inverted pendulum is a pendulum that has it's center of mass above its pivot point. It is usually mounted with the pivot point on a moving cart, as shown below. Figure 1- Inverted Pendulum System The inverted pendulum is unstable and will fall over unless a force (F) is applied. We will be using the inverted pendulum to learn to tune our PID control loops. Although the masses and forces may be different for the inverted pendulum system than for your balancing robot, the method for tuning the system is the same.
2 Lab Apparatus Figure 2- Inverted Pendulum Rig In this lab, our inverted pendulum will be driven using a stepper motor and a programmable motor drive, which will be controlled by an Arduino. An optical encoder is mounted on the pendulum shaft to determine its position and there are two photo sensors on each side of the slider track to ensure it does not hit the end. The model numbers of all the major equipment are listed below Applied Motion Stepper Motor 2035 XD Step Motor Drive exposition Step Motor Drive Software Manual Arduino Uno TRDA- 20R1N1024RZD Inverted Pendulum encoder EE- SX771 photo sensors The sections below explain the equipment in more detail and go over how to use them.
3 2035 XD Stepper Motor Driver The 2035XD Stepper Motor Driver is capable of driving 2 motors. It's datasheet can be found at: motion.com/sites/default/files/hardware- manuals/2035xd_hardware_manual.pdf Usually, stepper motors are controlled by sending pulses to the motor at a given frequency. Each time there is a pulse, the motor takes a step. However, using the programmable motor driver allows us to operate in two different modes: Pulse/Quadrature or Run/Stop. Pulse/Quadrature mode is the basic stepper motor mode where each pulse from the Arduino corresponds to a step. The frequency of these pulses and the size of the steps is what controls the motor speed. This is useful as it allows you to keep track of the motor position by counting how many steps have been taken. Run/Stop mode allows you to control the stepper motor as you would a DC motor, by simply inputting the desired speed. This mode allows the motor to spin faster than in Pulse/Quadrature mode. The motor connection used in this lab allows you to use either mode to balance the inverted pendulum. It can be seen below. Figure 3- Arduino - Motor Driver wiring diagram In our case, the indexer with sourcing outputs is the Arduino. When operating in Pulse/Quadrature mode, the STEP+ pin is connected to an Arduino PWM output, DIR+ is connected to a digital high or low output and COM is connected to ground. When the PWM signal goes low, a pulse is sent to the motor drive and the motor takes a step. In this mode, the speed of the motor is limited by the PWM frequency of the Arduino. You can change the PWM frequency, however, the motor itself can only handle a PWM frequency of about 1000Hz in this mode.
4 In order to keep the inverted pendulum upright, we will need the motor to be able to rotate quickly and change its speed on the fly. Since this is not possible with the Pulse/Quadrature mode, we will be using the Run/Stop mode for this lab. The pin wiring when operating in Run/Stop mode is shown below: DIR+ pin: is connected to a high or low digital output from the Arduino. If the pin is high the slider will move forwards and if the pin is low it will move backwards. STEP+ pin: is connected to a high or low digital output from the Arduino. This is now the GO/STOP signal. If the pin is set high the motor will rotate and if it is set low it will stop. COM is connected to ground. AIN: Is not shown on the diagram above, but is used to control the speed. It is should be connected to an analog signal between 0 and 5V. In our case, it will be connected to a PWM signal from the Arduino which can vary between 0 and 255. When it is maximum (5V or PWM of 255) the motor will be running at maximum speed. These pins are already connected to the motor, but the Arduino pin connections will need to be done by you. Once you have connected your Dir+, Step+ and Ain pins to the Arduino pins, you are ready to set- up the motor driver software. exposition Software The exposition software is used to program the motor drive. It is very simple to use and can be downloaded from the following link: motion.com/products/software/exposition When you first download and open the program you will see something that looks like this.
5 Figure 4- exposition Software Interface If the program has trouble finding the serial port, it is probably because the motor controller is connected to the wrong COM port. The exposition software only works with COM1- COM4 so if your motor controller is not connected to one of those ports then the exposition software won't detect it. To change the COM port, go to Control Panel - Device Manager - Ports(COM & LPT). Right click on Prolific USB- Serial Comm Port and click Properties- Port Settings - Advanced. You should see the following window.
6 Figure 5 - Changing Arduino COM Port You can now change the COM Port number of the motor driver. Connect it to COM1,2,3, or 4. At least one of them should be free. If none of them are free, try switching some of your other USB connections. Now you should be able to open the exposition software and have it automatically find the serial port. In the software interface above, ST1 is the step or speed input, depending on the mode you are operating in, DR1 is the direction input (either high or low) and AN1 is the analog speed control. The AIN pin is only required if you want to change the speed during operation. If you want to run at a constant speed, you don't need to use the AN1 pin. Remember this motor controller can control two motors so ST2,DR2 and AN2 would be for the second motor. Let's configure the exposition software to control one motor in Run/Stop mode. To do this, the interface should look like this:
7 Figure 6- exposition software Run/Stop mode configuration Notice in the above configuration, the speed is set to 10 rev/s and the analog speed control input is enabled. To set those inputs, you need to click on the ST1 input and click on Run/Stop mode. You will then see this box. Figure 7- Run/Stop Mode Inputs
8 The AIN signal is the 0-5V analog signal that will control the speed. In our case this signal will come from the Arduino. However, the Arduino can only output a digital voltage (on/off), so the analog voltage signal required is simulated using a PWM. The PWM is a DC voltage whose duty cycle (the amount of time it is high) is determined by the PWM input, which ranges from See figure below. So a value of 0 corresponds to 0V and a value of 255 corresponds to 5V. See figure below. Figure 8- Arduino PWM schematic Because it is a digital voltage simulating an analog voltage, it may cause choppy motion at lower PWM values. To avoid this, we have added a low pass filter to smooth out the PWM signal. The low pass filter essentially removes the high frequency (AC) component of the signal and leaves only the low frequency (DC) component. The figure below shows the filtered (bottom) and unfiltered (top) PWM signals.
9 Figure 9- Low pass filtered PWM data You may want to remember this trick if you find your robot motion is choppy due to a PWM signal. Now that you understand how the hardware and software interface, let's implement it to control the motor. Using the Arduino to Control the Motor The ultimate goal of this lab is to use a PID loop to control the slider motion and keep the pendulum upright, but first we will work on simply controlling the slider motion. An easy way to control the slider motion is to have interrupts connected to the photo sensors on either side of the track. The code below will run the slider and cause it to stop and change direction every time one of the photo sensors triggers, i.e. it gets too close to either end of the track. Since the action required if the slider hits either photo sensor is the same, stop and switch direction, they we wired together. This means we only need to use one interrupt to for both of them. They were connected to interrupt 0 (digital pin 2) on the Arduino to run this code.
10 Figure 10- Arduino code to move slider back and forth In this case pin 4 on the Arduino is connected to the go/stop pin (high = go, low = stop), pin 5 is connected to the analog input signal (speed) and pin 7 is connected to the direction pin (high is forward, low is backwards). For the interrupts to function properly, you need to configure interrupt0 before you configure interrupt1. In this case, the interrupts have been set to trigger on a falling edge. This is because the photo sensors output pins have a pull- up resistor (connecting the output to the power source) so they are high when there is nothing obstructing the light (i.e. when the red light is on) and go low when the slider moves in front of it. You require a pull- up resistor for these photo sensors, otherwise the difference in voltage between the unobstructed and obstructed states is too small for the Arduino to register.
11 Try connecting these pins to your Arduino and see if you can get the code above working. Play around with the maximum voltage and the AIN signal (Arduino PWM value) to see how it affects the slider speed. Once you have it working you are ready to connect the inverted pendulum encoder so you can determine its angle and ultimately ensure it remains upright. Inverted Pendulum Encoder The encoder used for the inverted pendulum is a medium duty incremental optical encoder (TRDA- 20 Series). The data sheet can be found at: sensor- encoder- rotary.pdf This encoder is a quadrature encoder with 1024 pulses per revolution (PPR). You may remember quadrature encoders from Lab 4. Just in case you have forgotten we will go over it briefly. A quadrature encoder has two output channels (A and B), which are 90 out of phase. See image below. Figure 11- Quadrature Encoder Channels Having two channels allows you to determine the direction of rotation. If the pulse on channel A comes before the one on channel B (A leads B), the disk is rotating clockwise. If the pulse in channel B comes before the one on channel A (B leads A), the disk is rotating counter clockwise. The pulses per revolution (PPR) of an encoder denotes the number of pulses triggered on each channel in one revolution of the motor. You may recall that the Arduino interrupts can operate in four modes. These are summarized below. LOW to trigger the interrupt whenever the pin is low CHANGE to trigger the interrupt whenever the pin changes value RISING to trigger when the pin goes from low to high FALLING for when the pin goes from high to low
12 For a 1024 PPR encoder, the PPR is only actually 1024 if you have an interrupt on only one channel and you trigger on only one edge (rising or falling). If you read one channel and both rising and falling edges (i.e. change mode), you would get 2048 PPR. If you read both channels and both rising and falling edges, you would get 4096 PPR. For this encoder 4096 is the maximum resolution. This encoder also has a Z channel which gives the absolute position of the encoder with respect to a single point of reference. The encoder connections are as follows: Figure 12- Encoder wiring diagram This connection is called a Totem Pole Connection and is explained in more detail in the datasheet. The input power supply is between VDC so it was connected to the Arduino 5V output. In order to read the values from the output channels (OUT A and OUT B) you will need to use the Arduino Interrupts. Unfortunately, the Arduino Uno only has two interrupts and we already used one to read the photo sensors on either side of the track. There are a few things you can do to free up interrupt pins to read the encoder: 1) You can configure other Arduino pins to function as interrupts. There is documentation online, but a good place to start is the PinChangeInt Arduino Library: 2) You can simply poll the photo sensors in your main routine to see if they triggered. This way you don't need to have them connected to the interrupts and you can use both interrupts to read the encoder. 3) You can only have an interrupt attached to one of the encoder channels instead of both. This would decrease your maximum resolution by 1/2. Once you have decided how to free up interrupts, you are ready to start writing code to read the encoder channels. The Arduino rotary encoder page has some good sample code to determine motor direction by reading the two channels: It has examples for interrupts on one or both channels.
13 Remember that reading channels A and B will only give you relative position to where you started, not an exact position. Usually you would want to start the pendulum upright so that would be a value of zero i.e. your reference point. The code in Appendix A reads both encoder channels and outputs the position relative to the center (pendulum in the vertical position). Lab Deliverables After completing this lab you should know how to move the slider on the track, use the photosensors to ensure it doesn't hit either it and read the encoder position. You are not required to demonstrate or submit anything for this lab, but you will need to understand how to control the inverted pendulum before you can begin to balance it. If you are comfortable with all of this, you can move on to Part 2: PID Control and Tuning for the Inverted Pendulum System.
14 Appendix A: Pendulum Encoder Code
15
Assembly Language. Topic 14 Motion Control. Stepper and Servo Motors
Assembly Language Topic 14 Motion Control Stepper and Servo Motors Objectives To gain an understanding of the operation of a stepper motor To develop a means to control a stepper motor To gain an understanding
More informationProgramming 2 Servos. Learn to connect and write code to control two servos.
Programming 2 Servos Learn to connect and write code to control two servos. Many students who visit the lab and learn how to use a Servo want to use 2 Servos in their project rather than just 1. This lesson
More informationUnderstanding the Arduino to LabVIEW Interface
E-122 Design II Understanding the Arduino to LabVIEW Interface Overview The Arduino microcontroller introduced in Design I will be used as a LabVIEW data acquisition (DAQ) device/controller for Experiments
More informationJaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN)
Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN) 217-3367 Ordering Information Product Number Description 217-3367 Stellaris Brushed DC Motor Control Module with CAN (217-3367)
More information2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control. October 5, 2009 Dr. Harrison H. Chin
2.017 DESIGN OF ELECTROMECHANICAL ROBOTIC SYSTEMS Fall 2009 Lab 4: Motor Control October 5, 2009 Dr. Harrison H. Chin Formal Labs 1. Microcontrollers Introduction to microcontrollers Arduino microcontroller
More informationTarocco Closed Loop Motor Controller
Contents Safety Information... 3 Overview... 4 Features... 4 SoC for Closed Loop Control... 4 Gate Driver... 5 MOSFETs in H Bridge Configuration... 5 Device Characteristics... 6 Installation... 7 Motor
More informationBrushed DC Motor Control. Module with CAN (MDL-BDC24)
Stellaris Brushed DC Motor Control Module with CAN (MDL-BDC24) Ordering Information Product No. MDL-BDC24 RDK-BDC24 Description Stellaris Brushed DC Motor Control Module with CAN (MDL-BDC24) for Single-Unit
More informationExercise 2-2. Antenna Driving System EXERCISE OBJECTIVE DISCUSSION OUTLINE DISCUSSION
Exercise 2-2 Antenna Driving System EXERCISE OBJECTIVE When you have completed this exercise, you will be familiar with the mechanical aspects and control of a rotating or scanning radar antenna. DISCUSSION
More informationSensors and Sensing Motors, Encoders and Motor Control
Sensors and Sensing Motors, Encoders and Motor Control Todor Stoyanov Mobile Robotics and Olfaction Lab Center for Applied Autonomous Sensor Systems Örebro University, Sweden todor.stoyanov@oru.se 13.11.2014
More informationνµθωερτψυιοπασδφγηϕκλζξχϖβνµθωερτ ψυιοπασδφγηϕκλζξχϖβνµθωερτψυιοπα σδφγηϕκλζξχϖβνµθωερτψυιοπασδφγηϕκ χϖβνµθωερτψυιοπασδφγηϕκλζξχϖβνµθ
θωερτψυιοπασδφγηϕκλζξχϖβνµθωερτψ υιοπασδφγηϕκλζξχϖβνµθωερτψυιοπασδ φγηϕκλζξχϖβνµθωερτψυιοπασδφγηϕκλζ ξχϖβνµθωερτψυιοπασδφγηϕκλζξχϖβνµ EE 331 Design Project Final Report θωερτψυιοπασδφγηϕκλζξχϖβνµθωερτψ
More informationName & SID 1 : Name & SID 2:
EE40 Final Project-1 Smart Car Name & SID 1 : Name & SID 2: Introduction The final project is to create an intelligent vehicle, better known as a robot. You will be provided with a chassis(motorized base),
More informationTraining Schedule. Robotic System Design using Arduino Platform
Training Schedule Robotic System Design using Arduino Platform Session - 1 Embedded System Design Basics : Scope : To introduce Embedded Systems hardware design fundamentals to students. Processor Selection
More informationAN ARDUINO CONTROLLED CHAOTIC PENDULUM FOR A REMOTE PHYSICS LABORATORY
AN ARDUINO CONTROLLED CHAOTIC PENDULUM FOR A REMOTE PHYSICS LABORATORY J. C. Álvarez, J. Lamas, A. J. López, A. Ramil Universidade da Coruña (SPAIN) carlos.alvarez@udc.es, jlamas@udc.es, ana.xesus.lopez@udc.es,
More informationEE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs Introduction to Arduino
EE-110 Introduction to Engineering & Laboratory Experience Saeid Rahimi, Ph.D. Labs 10-11 Introduction to Arduino In this lab we will introduce the idea of using a microcontroller as a tool for controlling
More informationMicromouse Meeting #3 Lecture #2. Power Motors Encoders
Micromouse Meeting #3 Lecture #2 Power Motors Encoders Previous Stuff Microcontroller pick one yet? Meet your team Some teams were changed High Level Diagram Power Everything needs power Batteries Supply
More informationDC motor control using arduino
DC motor control using arduino 1) Introduction: First we need to differentiate between DC motor and DC generator and where we can use it in this experiment. What is the main different between the DC-motor,
More informationSensors and Sensing Motors, Encoders and Motor Control
Sensors and Sensing Motors, Encoders and Motor Control Todor Stoyanov Mobile Robotics and Olfaction Lab Center for Applied Autonomous Sensor Systems Örebro University, Sweden todor.stoyanov@oru.se 05.11.2015
More informationMOBILE ROBOT LOCALIZATION with POSITION CONTROL
T.C. DOKUZ EYLÜL UNIVERSITY ENGINEERING FACULTY ELECTRICAL & ELECTRONICS ENGINEERING DEPARTMENT MOBILE ROBOT LOCALIZATION with POSITION CONTROL Project Report by Ayhan ŞAVKLIYILDIZ - 2011502093 Burcu YELİS
More informationMechatronics Engineering and Automation Faculty of Engineering, Ain Shams University MCT-151, Spring 2015 Lab-4: Electric Actuators
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
More informationL 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
P R O F. S L A C K 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 G B S E E E @ R I T. E D U B L D I N G 9, O F F I C E 0 9-3 1 8 9 ( 5 8 5 ) 4 7 5-5 1 0
More informationTRWinProg 101by Chris Bowman October 10
TRWinProg 101by Chris Bowman October 10 TRWinProg is a Windows based program for serial programming of encoders. The program allows viewing of setup data stored within the encoder and allowing the user
More informationFigure 1. Digilent DC Motor
Laboratory 9 - Usage of DC- and servo-motors The current laboratory describes the usage of DC and servomotors 1. DC motors Figure 1. Digilent DC Motor Classical DC motors are converting electrical energy
More informationElectronics Design Laboratory Lecture #9. ECEN 2270 Electronics Design Laboratory
Electronics Design Laboratory Lecture #9 Electronics Design Laboratory 1 Notes Finishing Lab 4 this week Demo requires position control using interrupts and two actions Rotate a given angle Move forward
More informationBLuAC5 Brushless Universal Servo Amplifier
BLuAC5 Brushless Universal Servo Amplifier Description The BLu Series servo drives provide compact, reliable solutions for a wide range of motion applications in a variety of industries. BLu Series drives
More informationBrushed DC Motor Microcontroller PWM Speed Control with Optical Encoder and H-Bridge
Brushed DC Motor Microcontroller PWM Speed Control with Optical Encoder and H-Bridge L298 Full H-Bridge HEF4071B OR Gate Brushed DC Motor with Optical Encoder & Load Inertia Flyback Diodes Arduino Microcontroller
More informationPMSM Control Using a Three-Phase, Six-Step 120 Modulation Inverter
Exercise 1 PMSM Control Using a Three-Phase, Six-Step 120 Modulation Inverter EXERCISE OBJECTIVE When you have completed this exercise, you will be familiar with six-step 120 modulation. You will know
More informationLab Exercise 9: Stepper and Servo Motors
ME 3200 Mechatronics Laboratory Lab Exercise 9: Stepper and Servo Motors Introduction In this laboratory exercise, you will explore some of the properties of stepper and servomotors. These actuators are
More informationUser manuel. Hybrid stepper servo drive
User manuel Hybrid stepper servo drive 1 Overview Hybridstepper servo drive system integrated servo control technology into the digital step driver. It adopts typical tricyclic control method which include
More informationBLuAC5 Brushless Universal Servo Amplifier
BLuAC5 Brushless Universal Servo Amplifier Description The BLu Series servo drives provide compact, reliable solutions for a wide range of motion applications in a variety of industries. BLu Series drives
More informationMicroToys Guide: Motors A. Danowitz, A. Adibi December A rotary shaft encoder is an electromechanical device that can be used to
Introduction A rotary shaft encoder is an electromechanical device that can be used to determine angular position of a shaft. Encoders have numerous applications, since angular position can be used to
More informationSHAFTED ROTARY POSITION SENSORS
J8 / J0 / J0 / J30 Shafted ; Brief / of 2 Joral REF S; I / J LINE ENCODERS Joral manufactures shafted rotary position sensors for the market of controls, power equipment, hydraulics, and off road vehicles.
More informationEmbedded Systems and Software. Rotary Pulse Generators
Embedded Systems and Software Rotary Pulse Generators Slide 1 What Is An RPG? RPG = Rocket Propelled Grenade RPG = Rotary Pulse Generator Slide 2 Rotary Encoders Switch Switch Output Quadrature output
More informationPreLab 6 PWM Design for H-bridge Driver (due Oct 23)
GOAL PreLab 6 PWM Design for H-bridge Driver (due Oct 23) The overall goal of Lab6 is to demonstrate a DC motor controller that can adjust speed and direction. You will design the PWM waveform and digital
More informationArduino Control of Tetrix Prizm Robotics. Motors and Servos Introduction to Robotics and Engineering Marist School
Arduino Control of Tetrix Prizm Robotics Motors and Servos Introduction to Robotics and Engineering Marist School Motor or Servo? Motor Faster revolution but less Power Tetrix 12 Volt DC motors have a
More informationME375 Lab Project. Bradley Boane & Jeremy Bourque April 25, 2018
ME375 Lab Project Bradley Boane & Jeremy Bourque April 25, 2018 Introduction: The goal of this project was to build and program a two-wheel robot that travels forward in a straight line for a distance
More informationUSB-MC USB Motion Controller
USB-MC USB Motion Controller Con2 I/O port, to I/O card Con4 Aux port, inputs and outputs Con3 parallel port, to I/O card Con1 USB port to PC Con5 external power supply 8 24 VDC Status LED - + Comm. LED
More informationFigure 1: Motor model
EE 155/255 Lab #4 Revision 1, October 24, 2017 Lab 4: Motor Control In this lab you will characterize a DC motor and implement the speed controller from homework 3 with real hardware and demonstrate that
More informationDesign and build a prototype digital motor controller with the following features:
Nov 3, 26 Project Digital Motor Controller Tom Kovacsi Andrew Rossbach Arnold Stadlin Start: Nov 7, 26 Project Scope Design and build a prototype digital motor controller with the following features:.
More informationApplication Note Using MagAlpha Devices to Replace Optical Encoders
Application Note Using MagAlpha Devices to Replace Optical Encoders Introduction The standard way to measure the angular position or speed of a rotating shaft is to use an optical encoder. Optical encoders
More informationChapter 6: Sensors and Control
Chapter 6: Sensors and Control One of the integral parts of a robot that transforms it from a set of motors to a machine that can react to its surroundings are sensors. Sensors are the link in between
More informationProduct Family: 05, 06, 105, 205, 405, WinPLC, Number: AN-MISC-021 Terminator IO Subject: High speed input/output device
APPLICATION NOTE THIS INFORMATION PROVIDED BY AUTOMATIONDIRECT.COM TECHNICAL SUPPORT These documents are provided by our technical support department to assist others. We do not guarantee that the data
More informationSRV02-Series. Rotary Servo Plant. User Manual
SRV02-Series Rotary Servo Plant User Manual SRV02-(E;EHR)(T) Rotary Servo Plant User Manual 1. Description The plant consists of a DC motor in a solid aluminum frame. The motor is equipped with a gearbox.
More informationdspic30f Quadrature Encoder Interface Module
DS Digital Signal Controller dspic30f Quadrature Encoder Interface Module 2005 Microchip Technology Incorporated. All Rights Reserved. dspic30f Quadrature Encoder Interface Module 1 Welcome to the dspic30f
More informationJ1 Line APPLICATION FEATURES DESCRIPTION RUGGED-DUTY SHAFTED ENCODERS
J1 Line RUGGED-DUTY SHAFTED ENCODERS APPLICATION Joral rugged-duty encoders are perfect for use in harsh applications where dirt, moisture, vibration and shock are factors, such as off-road vehicles, conveyors,
More informationUNIVERSITY OF VICTORIA FACULTY OF ENGINEERING. SENG 466 Software for Embedded and Mechatronic Systems. Project 1 Report. May 25, 2006.
UNIVERSITY OF VICTORIA FACULTY OF ENGINEERING SENG 466 Software for Embedded and Mechatronic Systems Project 1 Report May 25, 2006 Group 3 Carl Spani Abe Friesen Lianne Cheng 03-24523 01-27747 01-28963
More informationWheelCommander Wizard User s Manual
WC-132 WheelCommander WheelCommander Wizard User s Manual Differential Drive Motion Controller for Standard RC Servos and DC Gearhead Motors ---DRAFT--- Copyright 2009, Noetic Design, Inc. 1.01 3/10/2009
More informationMSK4310 Demonstration
MSK4310 Demonstration The MSK4310 3 Phase DC Brushless Speed Controller hybrid is a complete closed loop velocity mode controller for driving a brushless motor. It requires no external velocity feedback
More informationSetup Download the Arduino library (link) for Processing and the Lab 12 sketches (link).
Lab 12 Connecting Processing and Arduino Overview In the previous lab we have examined how to connect various sensors to the Arduino using Scratch. While Scratch enables us to make simple Arduino programs,
More informationPulse-Width-Modulation Motor Speed Control with a PIC (modified from lab text by Alciatore)
Laboratory 14 Pulse-Width-Modulation Motor Speed Control with a PIC (modified from lab text by Alciatore) Required Components: 1x PIC 16F88 18P-DIP microcontroller 3x 0.1 F capacitors 1x 12-button numeric
More informationLab 3 Swinging pendulum experiment
Lab 3 Swinging pendulum experiment Agenda Time 10 min Item Review agenda Introduce the swinging pendulum experiment and apparatus 95 min Lab activity I ll try to give you a 5- minute warning before the
More informationElectronics Design Laboratory Lecture #6. ECEN2270 Electronics Design Laboratory
Electronics Design Laboratory Lecture #6 Electronics Design Laboratory 1 Soldering tips ECEN 227 Electronics Design Laboratory 2 Introduction to Lab 3 Part B: Closed-Loop Speed Control -1V Experiment 3A
More informationcombine 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
Embedded Control Applications II MP10-1 Embedded Control Applications II MP10-2 week lecture topics 10 Embedded Control Applications II - Servo-motor control - Stepper motor control - The control of a
More informationMICROCONTROLLERS Stepper motor control with Sequential Logic Circuits
PH-315 MICROCONTROLLERS Stepper motor control with Sequential Logic Circuits Portland State University Summary Four sequential digital waveforms are used to control a stepper motor. The main objective
More informationStep Motor Controller I. Introduction II. Step Motor Basics
Step Motor Controller Objectives: --Gain familiarity with step motors --Build and understand a simple stepper motor controller --Learn the function of a shaft encoder --Design a circuit to use the motor,
More informationams AG austriamicrosystems AG is now The technical content of this austriamicrosystems application note is still valid. Contact information:
austriamicrosystems AG is now The technical content of this austriamicrosystems application note is still valid. Contact information: Headquarters: Tobelbaderstrasse 30 8141 Unterpremstaetten, Austria
More informationLab 23 Microcomputer-Based Motor Controller
Lab 23 Microcomputer-Based Motor Controller Page 23.1 Lab 23 Microcomputer-Based Motor Controller This laboratory assignment accompanies the book, Embedded Microcomputer Systems: Real Time Interfacing,
More informationLock Cracker S. Lust, E. Skjel, R. LeBlanc, C. Kim
Lock Cracker S. Lust, E. Skjel, R. LeBlanc, C. Kim Abstract - This project utilized Eleven Engineering s XInC2 development board to control several peripheral devices to open a standard 40 digit combination
More informationSTEPPING MOTOR EMULATION
OPERATING MANUAL SERIES SMTBD1 OPTIONAL FUNCTIONS (Version 2.0) European version 2.0 STEPPING MOTOR EMULATION OPTION C This manual describes the option "C" of the SMT-BD1 amplifier: Stepping motor emulation.
More informationDC Motor Speed Control using PID Controllers
"EE 616 Electronic System Design Course Project, EE Dept, IIT Bombay, November 2009" DC Motor Speed Control using PID Controllers Nikunj A. Bhagat (08307908) nbhagat@ee.iitb.ac.in, Mahesh Bhaganagare (CEP)
More informationExperiment#6: Speaker Control
Experiment#6: Speaker Control I. Objectives 1. Describe the operation of the driving circuit for SP1 speaker. II. Circuit Description The circuit of speaker and driver is shown in figure# 1 below. The
More informationLab 2: Blinkie Lab. Objectives. Materials. Theory
Lab 2: Blinkie Lab Objectives This lab introduces the Arduino Uno as students will need to use the Arduino to control their final robot. Students will build a basic circuit on their prototyping board and
More informationLINE MAZE SOLVING ROBOT
LINE MAZE SOLVING ROBOT EEE 456 REPORT OF INTRODUCTION TO ROBOTICS PORJECT PROJECT OWNER: HAKAN UÇAROĞLU 2000502055 INSTRUCTOR: AHMET ÖZKURT 1 CONTENTS I- Abstract II- Sensor Circuit III- Compare Circuit
More information7 Lab: Motor control for orientation and angular speed
Prelab Participation Lab Name: 7 Lab: Motor control for orientation and angular speed Control systems help satellites to track distant stars, airplanes to follow a desired trajectory, cars to travel at
More informationies-2309 Integrated Easy Servo
Datasheet of the integrated easy servo motor ies-09 ies-09 Integrated Easy Servo Motor + Drive + Encoder, 0-0VDC, NEMA, 0.9Nm Features Easy servo control technology to combine advantages of open-loop stepper
More informationUniversity of Texas at El Paso Electrical and Computer Engineering Department
University of Texas at El Paso Electrical and Computer Engineering Department EE 3176 Laboratory for Microprocessors I Fall 2016 LAB 05 Pulse Width Modulation Goals: Bonus: Pre Lab Questions: Use Port
More informationHashemite University Faculty of Engineering Mechatronics Engineering Department. Microprocessors and Microcontrollers Laboratory
Hashemite University Faculty of Engineering Mechatronics Engineering Department Microprocessors and Microcontrollers Laboratory The Hashemite University Faculty of Engineering Department of Mechatronics
More informationA servo is an electric motor that takes in a pulse width modulated signal that controls direction and speed. A servo has three leads:
Project 4: Arduino Servos Part 1 Description: A servo is an electric motor that takes in a pulse width modulated signal that controls direction and speed. A servo has three leads: a. Red: Current b. Black:
More informationAN Industrial Stepper Motor Driver. Application Note Abstract. Introduction. Stepper Motor Control Method
Industrial Stepper Motor Driver AN43679 Author: Dino Gu, Bill Jiang, Jemmey Huang Associated Project: Yes Associated Part Family: CY8C27x43, CY8C29x66 GET FREE SAMPLES HERE Software Version: PSoC Designer
More informationDesign and Implementation of an Inverted Pendulum Controller to be used as a Lab Setup
Design and Implementation of an Inverted Pendulum Controller to be used as a Lab Setup Harsha Abeykoon, S.R.H. Mudunkotuwa, Malithi Gunawardana, Haroos Mohamed, Darshana Mannapperuma Department of Electrical
More informationHello, and welcome to this presentation of the FlexTimer or FTM module for Kinetis K series MCUs. In this session, you ll learn about the FTM, its
Hello, and welcome to this presentation of the FlexTimer or FTM module for Kinetis K series MCUs. In this session, you ll learn about the FTM, its main features and the application benefits of leveraging
More informationILR #1: Sensors and Motor Control Lab. Zihao (Theo) Zhang- Team A October 14, 2016 Teammates: Amit Agarwal, Harry Golash, Yihao Qian, Menghan Zhang
ILR #1: Sensors and Motor Control Lab Zihao (Theo) Zhang- Team A October 14, 2016 Teammates: Amit Agarwal, Harry Golash, Yihao Qian, Menghan Zhang Individual Progress For my team s sensors and motor control
More informationDesign of stepper motor position control system based on DSP. Guan Fang Liu a, Hua Wei Li b
nd International Conference on Machinery, Electronics and Control Simulation (MECS 17) Design of stepper motor position control system based on DSP Guan Fang Liu a, Hua Wei Li b School of Electrical Engineering,
More informationPIC Functionality. General I/O Dedicated Interrupt Change State Interrupt Input Capture Output Compare PWM ADC RS232
PIC Functionality General I/O Dedicated Interrupt Change State Interrupt Input Capture Output Compare PWM ADC RS232 General I/O Logic Output light LEDs Trigger solenoids Transfer data Logic Input Monitor
More informationThe Allen-Bradley Servo Interface Module (Cat. No SF1) when used with the Micro Controller (Cat. No UC1) can control single axis
Table of Contents The Allen-Bradley Servo Interface Module (Cat. No. 1771-SF1) when used with the Micro Controller (Cat. No. 1771-UC1) can control single axis positioning systems such as found in machine
More informationProgramming a Servo. Servo. Red Wire. Black Wire. White Wire
Programming a Servo Learn to connect wires and write code to program a Servo motor. If you have gone through the LED Circuit and LED Blink exercises, you are ready to move on to programming a Servo. A
More informationWalle. Members: Sebastian Hening. Amir Pourshafiee. Behnam Zohoor CMPE 118/L. Introduction to Mechatronics. Professor: Gabriel H.
Walle Members: Sebastian Hening Amir Pourshafiee Behnam Zohoor CMPE 118/L Introduction to Mechatronics Professor: Gabriel H. Elkaim March 19, 2012 Page 2 Introduction: In this report, we will explain the
More informationAC Drive Technology. An Overview for the Converting Industry. Siemens Industry, Inc All rights reserved.
AC Drive Technology An Overview for the Converting Industry www.usa.siemens.com/converting Siemens Industry, Inc. 2016 All rights reserved. Answers for industry. AC Drive Technology Drive Systems AC Motors
More informationGalil Motion Control. DMC 3x01x. Datasheet
Galil Motion Control DMC 3x01x Datasheet 1-916-626-0101 Galil Motion Control 270 Technology Way, Rocklin, CA [Type here] [Type here] (US ONLY) 1-800-377-6329 [Type here] Product Description The DMC-3x01x
More informationPractical Assignment 1: Arduino interface with Simulink
!! Department of Electrical Engineering Indian Institute of Technology Dharwad EE 303: Control Systems Practical Assignment - 1 Adapted from Take Home Labs, Oklahoma State University Practical Assignment
More informationImplementation of a Fuzzy Logic-Based Embedded System for Engine RPM Control. (Speed Control)
Implementation of a Fuzzy Logic-Based Embedded System for Engine RPM Control (Speed Control) Introduction implements an embedded system for the Engine RPM control based on a development board developed
More informationMars Rover: System Block Diagram. November 19, By: Dan Dunn Colin Shea Eric Spiller. Advisors: Dr. Huggins Dr. Malinowski Mr.
Mars Rover: System Block Diagram November 19, 2002 By: Dan Dunn Colin Shea Eric Spiller Advisors: Dr. Huggins Dr. Malinowski Mr. Gutschlag System Block Diagram An overall system block diagram, shown in
More informationValidation Document. ELEC 491 Capstone Proposal - Dynamic Projector Mount Project. Andy Kwan Smaran Karimbil Siamak Rahmanian Dante Ye
Validation Document ELEC 491 Capstone Proposal - Dynamic Projector Mount Project Andy Kwan Smaran Karimbil Siamak Rahmanian Dante Ye Executive Summary: The purpose of this document is to describe the tests
More informationAutonomous. Chess Playing. Robot
Autonomous Chess Playing Robot Team Members 1. Amit Saharan 2. Gaurav Raj 3. Riya Gupta 4. Saumya Jaiswal 5. Shilpi Agrawal 6. Varun Gupta Mentors 1. Mukund Tibrewal 2. Hardik Soni 3. Zaid Tasneem Abstract
More informationME 461 Laboratory #5 Characterization and Control of PMDC Motors
ME 461 Laboratory #5 Characterization and Control of PMDC Motors Goals: 1. Build an op-amp circuit and use it to scale and shift an analog voltage. 2. Calibrate a tachometer and use it to determine motor
More informationECE 477 Digital Systems Senior Design Project Rev 8/09. Homework 5: Theory of Operation and Hardware Design Narrative
ECE 477 Digital Systems Senior Design Project Rev 8/09 Homework 5: Theory of Operation and Hardware Design Narrative Team Code Name: _ATV Group No. 3 Team Member Completing This Homework: Sebastian Hening
More informationEE 314 Spring 2003 Microprocessor Systems
EE 314 Spring 2003 Microprocessor Systems Laboratory Project #9 Closed Loop Control Overview and Introduction This project will bring together several pieces of software and draw on knowledge gained in
More informationExperiment 4.B. Position Control. ECEN 2270 Electronics Design Laboratory 1
Experiment 4.B Position Control Electronics Design Laboratory 1 Procedures 4.B.1 4.B.2 4.B.3 4.B.4 Read Encoder with Arduino Position Control by Counting Encoder Pulses Demo Setup Extra Credit Electronics
More informationCprE 288 Introduction to Embedded Systems (Output Compare and PWM) Instructors: Dr. Phillip Jones
CprE 288 Introduction to Embedded Systems (Output Compare and PWM) Instructors: Dr. Phillip Jones 1 Announcements HW8: Due Sunday 10/29 (midnight) Exam 2: In class Thursday 11/9 This object detection lab
More informationDMX-K-DRV-17 Integrated Step Motor Driver & Basic Controller
DMX-K-DRV-17 Integrated Step Motor Driver & Basic Controller DMX-K-DRV-17 Manual - 1 - rev 1.35 COPYRIGHT 2015 ARCUS, ALL RIGHTS RESERVED First edition, June 2007 ARCUS TECHNOLOGY copyrights this document.
More informationOptical Kit Encoder Page 1 of 5. Description. Features
Description Page 1 of 5 The E5 Series rotary encoder has a molded polycarbonate enclosure with either a 5-pin or 10-pin latching connector. This optical incremental encoder is designed to easily mount
More informationLaboratory Seven Stepper Motor and Feedback Control
EE3940 Microprocessor Systems Laboratory Prof. Andrew Campbell Spring 2003 Groups Names Laboratory Seven Stepper Motor and Feedback Control In this experiment you will experiment with a stepper motor and
More informationFPGA Implementation of a PID Controller with DC Motor Application
FPGA Implementation of a PID Controller with DC Motor Application Members Paul Leisher Christopher Meyers Advisors Dr. Stewart Dr. Dempsey This project aims to implement a digital PID controller by means
More informationSPEED CONTROL OF DC MOTOR USING PWM TECHNIQUE
SPEED CONTROL OF DC MOTOR USING PWM TECHNIQUE Shubham Naik 1 1 Electrical Engineering Abstract DC motors are widely used in industries where high speed torque requirement. Because of it characteristics
More informationPSoC Academy: How to Create a PSoC BLE Android App Lesson 9: BLE Robot Schematic 1
1 All right, now we re ready to walk through the schematic. I ll show you the quadrature encoders that drive the H-Bridge, the PWMs, et cetera all the parts on the schematic. Then I ll show you the configuration
More informationTeaching Children Proportional Control using ROBOLAB 2.9. By Dr C S Soh
Teaching Children Proportional Control using ROBOLAB 2.9 By Dr C S Soh robodoc@fifth-r.com Objective Using ROBOLAB 2.9, children can experiment with proportional control the same way as undergraduates
More informationEE 308 Spring S12 SUBSYSTEMS: PULSE WIDTH MODULATION, A/D CONVERTER, AND SYNCHRONOUS SERIAN INTERFACE
9S12 SUBSYSTEMS: PULSE WIDTH MODULATION, A/D CONVERTER, AND SYNCHRONOUS SERIAN INTERFACE In this sequence of three labs you will learn to use the 9S12 S hardware sybsystem. WEEK 1 PULSE WIDTH MODULATION
More informationARDUINO BASED DC MOTOR SPEED CONTROL
ARDUINO BASED DC MOTOR SPEED CONTROL Student of Electrical Engineering Department 1.Hirdesh Kr. Saini 2.Shahid Firoz 3.Ashutosh Pandey Abstract The Uno is a microcontroller board based on the ATmega328P.
More informationCommand Set For EZController Model EZCTRL. Document Revision: A08 12/05/10
Command Set For EZController Model EZCTRL Document Revision: A08 12/05/10 INDEX Overview... Page 2 EZController as an I/O Module.. Page 4 EZController as a Temperature/Pressure Controller. Page 6 EZController
More informationX3M. Multi-Axis Absolute MEMS Inclinometer Page 1 of 13. Description. Software. Mechanical Drawing. Features
Page 1 of 13 Description The X3M is no longer available for purchase. The X3M is an absolute inclinometer utilizing MEMS (micro electro-mechanical systems) technology to sense tilt angles over a full 360
More informationGE 320: Introduction to Control Systems
GE 320: Introduction to Control Systems Laboratory Section Manual 1 Welcome to GE 320.. 1 www.softbankrobotics.com 1 1 Introduction This section summarizes the course content and outlines the general procedure
More information