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

Similar documents
DC motor control using arduino

Closed Loop Magnetic Levitation Control of a Rotary Inductrack System. Senior Project Proposal. Students: Austin Collins Corey West

Project Proposal. Low-Cost Motor Speed Controller for Bradley ECE Department Robots L.C.M.S.C. By Ben Lorentzen

Figure 1.1: Quanser Driving Simulator

Sensors and Sensing Motors, Encoders and Motor Control

Sensors and Sensing Motors, Encoders and Motor Control

Teaching Mechanical Students to Build and Analyze Motor Controllers

Figure 1: Unity Feedback System. The transfer function of the PID controller looks like the following:

MOBILE ROBOT LOCALIZATION with POSITION CONTROL

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

Design of a Simulink-Based Control Workstation for Mobile Wheeled Vehicles with Variable-Velocity Differential Motor Drives

5 Lab 5: Position Control Systems - Week 2

In-Depth Tests of Faulhaber 2657CR012 Motor

Design of double loop-locked system for brush-less DC motor based on DSP

Where: (J LM ) is the load inertia referred to the motor shaft. 8.0 CONSIDERATIONS FOR THE CONTROL OF DC MICROMOTORS. 8.

Experiment Of Speed Control for an Electric Trishaw Based on PID Control Algorithm

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

DC SERVO MOTOR CONTROL SYSTEM

Micromouse Meeting #3 Lecture #2. Power Motors Encoders

EE152 Final Project Report

Observer-based Engine Cooling Control System (OBCOOL) Project Proposal. Students: Andrew Fouts & Kurtis Liggett. Advisor: Dr.

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

Cleaning Robot Working at Height Final. Fan-Qi XU*

Dimensions: Specifications:

MEM380 Applied Autonomous Robots I Winter Feedback Control USARSim

Laboratory Tutorial#1

MEM01: DC-Motor Servomechanism

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

Undefined Obstacle Avoidance and Path Planning

Introduction to MS150

Feedback Devices. By John Mazurkiewicz. Baldor Electric

Pan-Tilt Signature System

Jaguar Motor Controller (Stellaris Brushed DC Motor Control Module with CAN)

ECE 477 Digital Systems Senior Design Project Rev 8/09. Homework 5: Theory of Operation and Hardware Design Narrative

LAB 5: Mobile robots -- Modeling, control and tracking

GE 320: Introduction to Control Systems

EE 482 : CONTROL SYSTEMS Lab Manual

Speed Feedback and Current Control in PWM DC Motor Drives

SERVO MOTOR CONTROL TRAINER

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

Design Project Introduction DE2-based SecurityBot

Vision-Guided Motion. Presented by Tom Gray

LINE MAZE SOLVING ROBOT

CHAPTER 4 FUZZY BASED DYNAMIC PWM CONTROL

SECTION 6: ROOT LOCUS DESIGN

Introduction to BLDC Motor Control Using Freescale MCU. Tom Wang Segment Biz. Dev. Manager Avnet Electronics Marketing Asia

DC Motor Speed Control using PID Controllers

Lab 5: Inverted Pendulum PID Control

Implementation of a Fuzzy Logic-Based Embedded System for Engine RPM Control. (Speed Control)

Linear vs. PWM/ Digital Drives

Magnetic Suspension System Control Using Position and Current Feedback. Senior Project Proposal. Team: Gary Boline and Andrew Michalets

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

DEPARTMENT OF ELECTRICAL AND ELECTRONIC ENGINEERING BANGLADESH UNIVERSITY OF ENGINEERING & TECHNOLOGY EEE 402 : CONTROL SYSTEMS SESSIONAL

Microcontroller Based Closed Loop Speed and Position Control of DC Motor

Electronics Design Laboratory Lecture #6. ECEN2270 Electronics Design Laboratory

Students: Andrew Fouts Kurtis Liggett. Advisor: Dr. Dempsey

EasyMotion User s Manual Ver

Hands-on Lab. PID Closed-Loop Control

Chapter 7: The motors of the robot

Modeling, Simulation and Implementation of Speed Control of DC Motor Using PIC 16F877A

Automated Industrial Wind Tunnel Network Control with LabVIEW. Matt Draear

Laboratory set-up for Real-Time study of Electric Drives with Integrated Interfaces for Test and Measurement

Step vs. Servo Selecting the Best

STEPPING MOTOR EMULATION

Effective Teaching Learning Process for PID Controller Based on Experimental Setup with LabVIEW

MEM 01 DC MOTOR-BASED SERVOMECHANISM WITH TACHOMETER FEEDBACK

University of Florida Department of Electrical and Computer Engineering Intelligent Machine Design Laboratory EEL 4665 Spring 2013 LOSAT

CS545 Contents XIV. Components of a Robotic System. Signal Processing. Reading Assignment for Next Class

PWM, ALT, HALT, HAST.

10/21/2009. d R. d L. r L d B L08. POSE ESTIMATION, MOTORS. EECS 498-6: Autonomous Robotics Laboratory. Midterm 1. Mean: 53.9/67 Stddev: 7.

Design Applications of Synchronized Controller for Micro Precision Servo Press Machine

Control Design for Servomechanisms July 2005, Glasgow Detailed Training Course Agenda

Motor control using FPGA

Interfacing dspace to the Quanser Rotary Series of Experiments (SRV02ET)

AC : A STUDENT-ORIENTED CONTROL LABORATORY US- ING PROGRAM CC


Automobile Prototype Servo Control

Closed Loop Magnetic Levitation Control of a Rotary Inductrack System. Students: Austin Collins Corey West

CSE 3215 Embedded Systems Laboratory Lab 5 Digital Control System

ElectroCraft CompletePower Plus Universal Servo Drives

DESIGN OF A TWO DIMENSIONAL MICROPROCESSOR BASED PARABOLIC ANTENNA CONTROLLER

A HARDWARE DC MOTOR EMULATOR VAGNER S. ROSA 1, VITOR I. GERVINI 2, SEBASTIÃO C. P. GOMES 3, SERGIO BAMPI 4

MAHALAKSHMI ENGINEERING COLLEGE TIRUCHIRAPALLI

ECE 445 Spring 2017 Autonomous Trash Can. Group #85: Eshwar Cheekati, Michael Gao, Aditya Sule

Servo Tuning. Dr. Rohan Munasinghe Department. of Electronic and Telecommunication Engineering University of Moratuwa. Thanks to Dr.

Synchronization control of DC motors through adaptive disturbance cancellation

CHAPTER 4 CONTROL ALGORITHM FOR PROPOSED H-BRIDGE MULTILEVEL INVERTER

The DC Machine Laboration 3

Rotary Motion Servo Plant: SRV02. Rotary Experiment #02: Position Control. SRV02 Position Control using QuaRC. Student Manual

TigreSAT 2010 &2011 June Monthly Report

Training Schedule. Robotic System Design using Arduino Platform

PRODUCTS AND LAB SOLUTIONS

ANNA UNIVERSITY :: CHENNAI MODEL QUESTION PAPER(V-SEMESTER) B.E. ELECTRONICS AND COMMUNICATION ENGINEERING EC334 - CONTROL SYSTEMS

Biomedical Control Systems. Lecture#01

PERSONALIZED EXPERIMENTATION IN CLASSICAL CONTROLS WITH MATLAB REAL TIME WINDOWS TARGET AND PORTABLE AEROPENDULUM KIT

Design and Control for Differential Drive Mobile Robot

Building a FIRST Robotics team Utilizing the VEX System and Recognized Team Building Methods

CHAPTER 7 HARDWARE IMPLEMENTATION

BASIC-Tiger Application Note No. 059 Rev Motor control with H bridges. Gunther Zielosko. 1. Introduction

Particle Swarm Optimization for PID Tuning of a BLDC Motor

Transcription:

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 of 74+ inches, and then backwards in a straight line for approximately 37 inches. All movement must be completed within 30 seconds and done autonomously. To accomplish this task, a Sheepdog robot kit was used to build the robot, and the myrio device was used to control it. In order for the robot to be fully autonomous and move in a straight line, a closed-loop control with sensor feedback is utilized in LabView. The project code utilizes the Robot FPGA utility assign VI, Velocity Control Loop VI, PI Controller VI and the scaling sub-vi to accomplish the task. The PI controller was designed and implemented for the left and right motor and for forward and backward movements. A PI controller was designed through open-loop identification, verification through speed references graphs, and manual adjustment of controller gains to improve performance by reducing steady-state error and improving settling time. Once the PI controller was designed, testing was performed in order optimize the performance of the robot. Robot Configuration: Figure 1: Final Robot Configuration The Sheepdog robot (shown in Figure 1) consists of a plastic robot chassis, two wheels that are driven by motors, one caster slider, two hall-effect encoders, a motor driver circuit, the myrio used to control the robot hardware, and a lead acid 12V battery which powers the robot. The wheels of the sheepdog robot are driven by two geared brush DC motors. The one caster slider is

attached to the chassis of the robot for additional stability and mobility. The myrio device alone is not capable of supplying enough power to drive the motors with an analog output signal so an H-bridge circuit, a digital direction signal from the myrio, a digital PWM signal from the myrio, and a 12V battery are used to distribute power to the motor. A PWM signal input can adjust the motor speed by using an H-bridge and the modulated digital output channels of the myrio. The myrio s digital output is limited to +5V so the H-bridge and an external power supply is needed to allow the motor to be driven in either direction and for a wider range of speeds. The motor driver circuit which consists of the external power supply, the L298N Motor Driver Board with the H-bridge (Figure 3), and the circuit protection PCB guide (Figure 2) can be seen below in Figure 4. The Circuit Protection PCB guide protects the circuitry from being damaged due to a short circuit or overload conditions. Figure 2: Circuit Protection PCB Guide Figure 3: L298N Motor Driver Board

Figure 4: Schematic of the Motor Driver Circuit As seen in Figure 4 above, the L298N Motor Driver Board gains input power from the 12V battery and the myrio device, and outputs the power to both of the motors in order to power the robot. The H-bridge functions as a series of switches that allows current to flow through in different polarities. The direction switches are controlled by the digital direction signal from the myrio, and the speed of the motor is controlled by the digital PWM signal from the myrio. Through the H-bridge circuit, the direction and speed of the motors can be controlled with the digital outputs of the myrio. The two hall-effect sensors and magnetic discs on the motors are used to read the position and velocity of the sheepdog robot. As seen in Figure 5 below, the encoder consists of a magnetic disk and a hall-effect sensor that reads the changes in polarity of the disc s magnetic field as the motor runs. Figure 5: Hall-Effect Sensor The hall-effect sensor is placed close to the magnetic disc so that it can sense the magnetic field of the disk switching between north and south polarity. As the motor rotates, the sensor will read the changing polarity of the magnetic field as a square wave changing from 0V to 5V which the myrio can track. The myrio is able to track every transition from 0V to 5V which enables it to read the position and speed of the motors.

Controller Design: For controller design, we thought that a PI controller would be best for this application. This is because PI controllers are useful in feedback based applications. The general form of this controller is provided below in Figure 6 (right). The plant function, also provided (left), was found by taking the dynamic response of the robot s two motors. Because we tested both wheels going forwards and backwards, this led to four different plant transfer functions. Together, these equations result in four unique controllers differentiated by their gains, Kp and Ki. Figure 6: PI Controller & Measured Motor Transfer Function Forms Controller design methods such as pole placement and root locus design were attempted, but did not completely ensure that the robot goes straight. Instead, an iterative testing process was mainly used to solve for the Kp and Ki gains of the controller. Figure 7 below shows the front panel used to experimentally try different gain values. It seems that one of the motors was stronger than the other, as one of the gains turned out to be much larger. Figure 7: Example Kp and Ki Testing Code Description: The LabView project code utilizes three main VIs and one sub-vi in order to control the robot. The first needed in the project is the Robot FPGA utility assign VI. This VI communicates with the myrio to complete the feedback loop. The next VI we created was the main Velocity

Control Loop VI. This VI contains the main controls behind the robot. It accepts the desired speeds, traveling distance, and controller gains for both the forward and backwards motion. Figure 8 shows the main part of this VI, along with the FPGA reference code that calls the FPGA utility assign VI. There is also another identical control and simulation loop next to this one, but with logic for moving backwards instead of forwards. The FPGA I/O layer interacts with the start loop, the Motor Control, and the Encoders as seen below in Figure 8. The start loop initializes the duty cycle to zero and initializes the left and right encoder period to a large number (40000000) in order to get an initial velocity of 0. This then leads to the Motor Control, where the robot direction is controlled, and then the encoders so the speed and position of the robot can be tracked. The last interaction is stopping the robot, where the duty cycle is set back to zero. Figure 8: Part of Velocity Control Loop The controllers located in this VI are a subsystem created from the PI controller VI. These controllers have four inputs, the desired speed, measured speed, Ki gain, and Kp gain. The controller subsystem then outputs a PWM signal that results in straight motion of the robot. The PI controller logic is shown in Figure 9 below.

Figure 9: PI Controller Subsystem VI The last VI used in this project was a sub-vi dedicated to converting the encoder period and position into a wheel speed and wheel position, respectively. The code uses simple unit conversions and is shown below in Figure 10. The code also takes the sign of the velocity into account to show both positive and negative velocities. It also still works given an infinite velocity, in case something goes wrong in the program. Figure 10: Encoder Count Conversion The desired speeds were applied to the closed-loop systems by using a step signal with a rate limiter. This acts as a ramp input, but with a little more flexibility on what you can change. Having a ramp signal input is very important in getting the robot to move in a straight path. It was very important to ensure that our program worked autonomously. This was completed by using two control and simulation loops back to back. The first loop was run until the desired forward distance was traveled. Once that loop has been halted, the backwards loop begins immediately after. That loop ends once the desired backwards distance is reached and then also stops the entire program.

Discussion: The robot performed well after numerous manual adjustments were made to the gains of the PI controllers implemented in the Velocity Control Loop VI. In order to improve steady-state error, the controller gains were slowly adjusted while the robot was running stably at steady-state speeds. To improve performance, desired vs. measured speed charts were utilized for both the left and right motors to capture the effectiveness of the controller gains. The manual adjustments to the gains of the controller led to the robot moving forward and backwards in a relatively straight line. Due to the significant friction in the gearbox and minimal steady-state error, the robot did not perform as well as expected. Although the adjustments to the controller improved the performance, the robot still could not consistently move forward and backwards in a perfectly straight line.