DC Motor Speed Control using LabVIEW FPGA Modeling, Control Algorithm Simulation & Implementation

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

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

PID Implementation on FPGA for Motion Control in DC Motor Using VHDL

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

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

Microcontroller Based Closed Loop Speed and Position Control of DC Motor

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

Constant voltage and Constant frequency operation of DFIG using Lab view FPGA and crio

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

Time Response Analysis of a DC Motor Speed Control with PI and Fuzzy Logic Using LAB View Compact RIO

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

Digital Control Lab Exp#8: PID CONTROLLER

New Mechatronics Development Techniques for FPGA-Based Control and Simulation of Electromechanical Systems

Brushed DC Motor System

BLuAC5 Brushless Universal Servo Amplifier

DC SERVO MOTOR CONTROL SYSTEM

CHAPTER 4 FUZZY BASED DYNAMIC PWM CONTROL

Teaching Mechanical Students to Build and Analyze Motor Controllers

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

BLuAC5 Brushless Universal Servo Amplifier

DC motor control using arduino

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

Speed Control of BLDC Motor Using FPGA

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

STAND ALONE CONTROLLER FOR LINEAR INTERACTING SYSTEM

dspic30f Quadrature Encoder Interface Module

UNIT 2: DC MOTOR POSITION CONTROL

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

SIMULATION AND IMPLEMENTATION OF PID-ANN CONTROLLER FOR CHOPPER FED EMBEDDED PMDC MOTOR

High-speed and High-precision Motion Controller

A COMPARISON STUDY OF THE COMMUTATION METHODS FOR THE THREE-PHASE PERMANENT MAGNET BRUSHLESS DC MOTOR

Implementing Audio Digital Feedback Loop Using the National Instruments RIO System

Simulation and Experimental Based Four Switch Three Phase Inverter Fed Induction Motor Drive

The DC Machine Laboration 3

SPEED CONTROL OF PERMANENT MAGNET SYNCHRONOUS MOTOR USING FPGA FOR HIGH FREQUENCY SIC MOSFET INVERTER

Step vs. Servo Selecting the Best

Shaft encoders are digital transducers that are used for measuring angular displacements and angular velocities.

IMPLEMENTATION OF QALU BASED SPWM CONTROLLER THROUGH FPGA. This Chapter presents an implementation of area efficient SPWM

Optimal Control System Design

Low Cost Labview Based Sensor Simulation

EFFICIENT FPGA IMPLEMENTATION OF 2 ND ORDER DIGITAL CONTROLLERS USING MATLAB/SIMULINK

ES86 Series Closed-loop Stepper Drive + Motor System (ES-D808 Drive+ Motor/Encoder)

Design Applications of Synchronized Controller for Micro Precision Servo Press Machine

INTRODUCTION. In the industrial applications, many three-phase loads require a. supply of Variable Voltage Variable Frequency (VVVF) using fast and

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

REALIZATION OF FPGA BASED Q-FORMAT ARITHMETIC LOGIC UNIT FOR POWER ELECTRONIC CONVERTER APPLICATIONS

PWM, ALT, HALT, HAST.

Design and Simulation of PID Controller using FPGA

Page ENSC387 - Introduction to Electro-Mechanical Sensors and Actuators: Simon Fraser University Engineering Science

Chapter 5. Tracking system with MEMS mirror

INTERNATIONAL JOURNAL OF ADVANCED RESEARCH IN ENGINEERING AND TECHNOLOGY (IJARET)

Single Chip Velocity Measurement System for Incremental Optical Encoders

ES86 Series Closed-loop Stepper Drive + Motor System (Drive+ Motor/Encoder)

Npaq Series Drive Racks

SERVO MOTOR CONTROL TRAINER

USB4. Encoder Data Acquisition USB Device Page 1 of 8. Description. Features

CHAPTER 4 CONTROL ALGORITHM FOR PROPOSED H-BRIDGE MULTILEVEL INVERTER

MEM01: DC-Motor Servomechanism

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

Understanding RC Servos and DC Motors

Brushed DC Motor Control. Module with CAN (MDL-BDC24)

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

Design of stepper motor position control system based on DSP. Guan Fang Liu a, Hua Wei Li b

CHAPTER-III MODELING AND IMPLEMENTATION OF PMBLDC MOTOR DRIVE

SPEED CONTROL OF BRUSHLES DC MOTOR

3U High, 19" Drive Rack

Quanser Products and solutions

[Patel, 2(7): July, 2013] ISSN: Impact Factor: 1.852

CURRENT FOLLOWER APPROACH BASED PI AND FUZZY LOGIC CONTROLLERS FOR BLDC MOTOR DRIVE SYSTEM FED FROM CUK CONVERTER

Linear vs. PWM/ Digital Drives

ES86 Series Closed-loop Stepper Drive + Motor System (Drive+ Motor/Encoder)

Robot Actuators. Motors and Control. Stepper Motor Basics. Increased Resolution. Stepper motors. DC motors AC motors. Physics review: Nature is lazy.

Comparative Analysis of PID, SMC, SMC with PID Controller for Speed Control of DC Motor

GE 320: Introduction to Control Systems

Datasheet of the MEZ Stepper Servo Drive MEZ 2D VDC, 8.2A Peak, Closed-loop, No Tuning. Version

Software Design of Digital Receiver using FPGA

DESIGN OF INTELLIGENT PID CONTROLLER BASED ON PARTICLE SWARM OPTIMIZATION IN FPGA

SRI VENKATESWARA COLLEGE OF ENGINEERING AND TECHNOLOGY

SRV02-Series. Rotary Servo Plant. User Manual

Micro Controller Based Ac Power Controller

International Journal of Advance Engineering and Research Development

Datasheet of the Easy Servo Drive ES-D VDC, 8.0A Peak, Closed-loop, No Tuning

DESIGN AND FPGA IMPLEMENTATION OF SLIDING MODE CONTROLLER FOR BUCK CONVERTER

Integrated Servo Motor UCS57

Design and FPGA Implementation of an Adaptive Demodulator. Design and FPGA Implementation of an Adaptive Demodulator

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

Npaq 6U Series. High-Power Drive Racks. High-power 6U modular drive chassis. 19 inch rack-mount design

In-Depth Tests of Faulhaber 2657CR012 Motor

XC4e PWM Digital Drive

The Allen-Bradley Servo Interface Module (Cat. No SF1) when used with the Micro Controller (Cat. No UC1) can control single axis

G320X MANUAL DC BRUSH SERVO MOTOR DRIVE

AC Drive Technology. An Overview for the Converting Industry. Siemens Industry, Inc All rights reserved.

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

Product Information. RCN 2000 RCN 5000 RCN 8000 Absolute Angle Encoders for Safety-Related Applications

A software solution for mechanical change measurement through virtual instrumentation

Undefined Obstacle Avoidance and Path Planning

MODEL BASED DESIGN OF PID CONTROLLER FOR BLDC MOTOR WITH IMPLEMENTATION OF EMBEDDED ARDUINO MEGA CONTROLLER

Carlos L. Castillo Corley Building 114A

Four Quadrant Speed Control of DC Motor with the Help of AT89S52 Microcontroller

CHAPTER 4 FUZZY LOGIC CONTROLLER

Transcription:

IJSRD - International Journal for Scientific Research & Development Vol. 3, Issue 05, 2015 ISSN (online): 2321-0613 DC Motor Speed Control using LabVIEW FPGA Modeling, Control Algorithm Simulation & Implementation Dinesh O. Dange 1 Rajan Mevekari 2 Dipankar D. Khartad 3 1,2 PG Student 3 Assistant Professor 1,2,3 Department of Electronics 1,2,3 Walchand College of Engineering Sangli, Maharashtra, India Abstract This paper represents more reliable FPGA hardware implementation of dc motor speed control system. In this a control design & simulation module is used to simulate both DC motor model & its control system. Also it can simulate the FPGA clock timings. Novel Hardware & software co-design approach for design of PID control algorithm, stimulus (PWM) generator, feedback sensor (Quadrature encoder) interface is presented. Flexible FPGA module allows easily reuse of code used in development process during actual hardware implementation. Unlike conventional hardware designing which requires VHDL expertise, the developer need not to know in-between processes of ready to download final bit-file generation. Finally the bit file will be downloaded in CompactRIO-9076 (reconfigurable platform) assembled with C series analog & digital I/O modules which interact with signal from DC motor plant. Key words: PID controller; PWM; Quadrature encoder interface; CompactRIO-9076; C series analog & digital I/O modules I. INTRODUCTION In recent years FPGA s are viewed as reliable solution to electric motor control systems. They are prevailing because they can provide more reliable hardware implementation directly on silicon chip. So there is need of real time simulation for developing an electric drive & modeling, evaluating the performance of an electric motor. It is really important to model electric motor that best represent its operation under different conditions, which could be used in simulation stage [1]. The conventional simulations carried are not running in real time. One has to work in different environment; as result there is great difference between actual & interpreted timing parameters. Also developing system takes lots of iteration hence time consuming. LabVIEW FPGA is unique graphical programming platform for both simulation and implementation. It is flexible since it allows reusability of code that we have used in development process. The target used is Xilinx FPGA [2]. User need not to know VHDL programming to configure it. The in between processes are carried out in background, we get the final downloadable bit-files. The use of one platform for real time simulation of electric machines allows predicting the good industrial performance under operational conditions and disturbances, saving money and time on industrial applications [2] [3]. In this paper dc motor speed control system is implemented. The common closed loop control system is shown in fig.1. In this desired reference (speed) is set by user, error is calculated by subtracting measured output (actual speed) from it. According to error, controller (PID controller) produces a necessary control action that acts as stimulus to the plant (DC motor) to minimize error. The response of plant is measured again and this continues until zero error is reached i.e. desired reference (speed) is achieved. Fig. 1: DC motor speed control system The dashed line separates controlling system from controlled system. The controlling system consist PID controller, PWM generator, H-bridge driver, Quadrature Encoder Interface (QEI) whereas controlled system is DC motor with quadrature encoder. PID-controller and its modifications are the most common controllers in the industry. It is robust and simple to design, its operation is well known, it has a good noise tolerance, it is inexpensive and it is commercially available [2]. We implemented discrete PID controller in LabVIEW FPGA. We have used the PWM signal generator IP (Intellectual Property), which receives duty cycle input from PID controller. PWM signal is given to bidirectional H- bridge motor driver, which efficiently drives motor with required voltage & current, reducing average power delivered to load. Optical Quadrature incremental encoder is used to read actual speed of motor. Optimized Quadrature Encoder Interface (QEI) is implemented in FPGA to interpret accurate position, speed & direction of DC motor. Based on feedback received, PID controller produce control action until desired speed is reached. Fig. 2: Flow chart All rights reserved by www.ijsrd.com 95

In stage of simulation DC motor can be modeled mathematically by using any of the Math-script node, Formula node or multisim node. The spice based model of DC motor is included using multisim node in control design & simulation loop. In stage of implementation, actual DC motor is interfaced. II. BRUSHED DC MOTOR MODELLING The electrical model for a brushed direct current (DC) motor is shown schematically in Fig.3. The motor terminal voltage is represented as v m; R and L represent the resistance and inductance of the motor armature circuit, while i represent the armature current. K e represents the motor back-emf constant, which determines the ratio between the shaft velocity, d /dt, and the back e.m.f voltage, v e. Fig. 3: Electrical model of DC motor J Shaft Angle motor rotor Max continuous torque 0.10 Nm Max power rating 20 W Max continuous current 1 1 B Friction Torque Constant 1.8e-6 N-m-s a. DC motor Specification sheet is referred for obtaining parameters Table 1: Sample Dc Motor Specification Sheet III. CONTROL DESIGN & SIMULATION MODULE Control & simulation loop executes the simulation diagram until it reaches the simulation final time or until the Halt Simulation function stops the execution programmatically. It includes a built-in ODE solver for handling integrals and derivative terms. The Summation, Gain, Integrator and Transfer Function blocks can also be found in the Control Design and Simulation palette under Simulation>>Signal Arithmetic and Simulation>>Continuous Linear Systems. Also we can simulate nonlinearities & disturbances prior to implementation [4]. Different ways to add motor models in loop: - Using formula node: Equations 3 & 4 directly represent model 6 T f d B dt B T m K i t T i 2 d J 2 dt Fig. 4: Mechanical model of DC motor Transfer Function between Motor Terminal Voltage and Angular Position. The time domain differential equations are summarized as follows. (2) We rearrange to move the highest order derivative term for the current and position variables to the left side of the equation as follows. This form of the equations provides a basis for simulation using the LabVIEW Simulation Module. implified transfer function is given by: (1) (3) (4) Specification sheet Symbol Description Value Unit R m Motor armature resistance 3.3 Ω Kt Motor torque constant 0.028 Nm K m Motor back-emf constant(same as K t in SI 0.028 V/(rad/s) units ) J m Moment of inertia of 9.60*10 - KgSqm Fig. 5: Formula node - Using Multisim node: Spice model are included which represent practical DC motor, H-bridge driver, Quadrature encoder feedback sensor shown in fig.9. IV. CONTROL SYSTEM DESIGN Fig. 6: Block diagram of control system All rights reserved by www.ijsrd.com 96

- CompactRIO: crio-9076 chassis integrated Xilinx Spartan-6 FPGA, 40MHz. - C series I/O module: NI-9401 digital I/O module, NI- 9221 analog I/P module. - Motor driver: MD10C (cytron) 24v 10A. - Motor: 24v, 100w Brushed DC motor with Encoder. - Encoder: Incremental (optical) encoder with 2000 PPR. - Current Sensor: ACS-712, senses up-to 20A.(used just for monitoring purpose) logic was further improved to include anti-windup. By enabling saturation in the fixed point configuration of the high throughput math functions, the integral term and the controller output, were limited to a range of -1024 to 1024. This range was chosen since it is a multiple of 2, and the PWM generator block which is fed by the controller expected a value in the range 0 to 2000. It is observed that derivative action is hardly needed in our system. A. Discrete PID Controller Fig. 7: Experimental setup As the floating point algorithm consume unfeasibly large resources(clb/slices, Multipliers & DSP slices, embedded memory blocks) on limited Silicon FPGA chip.to implement the controller on an FPGA the continuous time model for the controller had to be discretized. Discretization used to move any floating point algorithm to a fixed point representation for execution on an FPGA. Fixed point (FXP) representation removes the dynamic shifting involved in floating point representation hence optimizes the resource utilization. To make the PID controller design reusable (IPintellectual property), the controller was designed to operate at a rate of 40 MHz (the default clock speed for most FPGAs). Any code executing at that rate must compute its outputs within a single clock period of the FPGA. Such a fast controller was not necessary for the brushed DC motor application presented in the paper (especially when the brushed DC motor was loaded by a large inertial disk); however, a high speed controller with fast PID loop rate offers improved disturbance rejection, and The continuous time PID controller equation was discretized by using the backward Euler approximation: (6) Where, Fig. 8: Discrete PID implementation To reduce the propagation delay of the high throughput math functions: - K p was limited to 6 bit word-length & integerlength, and could be changed in steps of 0.125. - For a 40 MHz clock K i could be changed from 0 in steps of approximately 2.384. B. Importing Spice Dc Motor Model Amongst different methods of dc motor modeling (mentioned in section III) multisim spice based models are more accurate to represent DC motor. The spice based model includes: - The analog drive circuitry of dc motor. It includes common H bridge topology for bidirectional current flow control and hence both Clock-Wise (CW) & Counter Clock-Wise (CCW) rotation control of motor. - Quadrature encoder as feed-back sensor. Discretizing: ( ) (7) As word-length & integer-lengths of fixed point math can be configured the discrete time PID controller Fig. 9: DC motor, H bridge, Quadrature Encoder Through hierarchical connector shown in Fig.8, multisim I/O are accessed in LabVIEW. C. PWM Signal Generation It is well known fact that PWM signal are used to save the average power delivered to motor. It is achieved by switching four switches of the H-bridge turned on and off in All rights reserved by www.ijsrd.com 97

every cycle, with the diagonal switches pairs of the H-bridge driven together. Most common 20 khz high speed PWM signal is generated by PWM LOOP (IP) implemented in FPGA. Corresponding calculations: (8) D. Quadrature Encoder Interface The purpose of Quadrature Encoder Interface (QEI) is to allow user to connect the encoder feedback sensor to the FPGA. It consists of Filter, Quadrature Decoder & UP/DOWN counter [5]. Fig. 10: PWM signal generation Prior to whole system implementation, PWM signal used to test the motor driver (MD10C-24v, 20A) we have brought. The responses observed with motor connected to driver are shown in fig.11 & 12. Fig. 13: Quadrature Encoder Interface (QEI) 1) Filter The signal coming through Ch_A & Ch_B are square wave with 90 degree phase shift between them. In practical scenario these signals may get infected by noise, which leads to wrong interpretation of position & speed of system under control. These spurious signals contain noise components which are more like a spike. That justifies the requirement of a digital filter to avoid abrupt change in signal levels due to noise. The corresponding LabVIEW FPGA implementation of digital filter is also shown in fig.14. The logic here is that if the logic levels on channels QE_A & QE_B sustained for predefined Filter Period (Ticks) then only they are considered valid for counting operation, otherwise previous logic levels are considered. Fig. 11: Current vs. PWM duty cycle Fig. 12: Voltage vs. PWM duty cycle As expected the motor draws almost constant current (ãpprox.600ma) without load and speed of motor increases as voltage supplied to motor increases with duty cycle of PWM signal. Fig. 14: Filter logic in LabVIEW FPGA 2) Quadrature Decoder & UP/DOWN Counter The filtered QE_A & QE_B signals available to Quadrature Decode loop. Based on how many of transition points are used for the measurement, there are three different types of evaluation methods. The single evaluation method ( 1) uses only one channels rising or falling edges, the double evaluation method( 2) using only one channel, but both its rising and falling edges, and the quadruple evaluation method ( 4) uses every edges of the two channels. The logic here implements the quadruple evaluation method. With every rising edge & falling edge of two channels position counter is incremented. Also direction is decided based on whether QE_A is following QE_B (CW) or QE_B is following QE_A (CCW). For velocity estimation proper fixed velocity interval (us) is chosen, and position counts per fixed velocity interval are evaluated. It is used to calculate velocity in real time. All rights reserved by www.ijsrd.com 98

Fig. 15: Quadrature decoder & UP/DOWN counter 3) Velocity Estimation Choosing the correct measurement time i.e. fixed velocity interval is essential. By allowing more time between updates you obtain more averaging on the velocity and acceleration values and therefore smoother results. A larger time interval results in less noise on the velocity and acceleration calculations. Also, using an encoder with more counts per revolution results in better accuracy and smoother results on the velocity and acceleration calculations Basically, the longer the measurement time, the better the results are. In exchange for the longer measurement, the speed controller will be slower and this will decrease the quality of the drive. So there is trade-off between speed & accuracy [6]. Where, We have used encoder with 2000ppr, and fixed velocity interval is selected 1000 µs, so is equal to 30. Above calculations are carried out in host VI which includes reference of VI running in FPGA. (Default clock rate of on board FPGA is 40MHz). (EPC-IQ), 2010 1st International Conference on, vol., no., pp.139,144, Nov. 30 2010-Dec. 2 2010. [4] http://www.ni.com/labview/cd-sim/ [5] http://www.eetimes.com/document.asp?doc_id=127459 5 [6] http://www.ni.com/tutorial/3921/en/ [7] Rajesh Nema, Rajeev Thakur, Ruchi Gupta., Design & Implementation of FPGA Based On PID Controller, International Journal of Inventive Engineering and Sciences (IJIES), ISSN: 2319 9598,Volume-1, Issue-2, January 2013 [8] Vikas Gupta1, Kavita Khare2 & R. P. Singh2., Efficient Design and Fpga Implementation of Digital Controller Using Xilinx SysGen International Journal of Electronics Engineering, 2(1),2010, pp. 99-102 [9] Seung-Min Baek; Tae-Yong Kuc, "An adaptive PID learning control of DC motors," Systems, Man, and Cybernetics, 1997. Computational Cybernetics and Simulation., 1997 IEEE International Conference on, vol.3, no., pp.2877,2882 vol.3, 12-15 Oct 1997 doi: 10.1109/ICSMC.1997.635431. [10] Michael A. Johnson and Mohammad H.Moradi, "PID Control: New Identification and Design Methods", Springer-Verlag London, ISBN-10: 1-85233-702-8, 2005. [11] Guoshing Huang Shuocheng Lee, "PC-based PID speed control in DC motor", International Conference on Audio, Language and Image Processing, Shanghai, page(s): 400 407, July 2008. [12] A. Trimeche, A. Sakly, A. Mtibaa, M. Benrejeb, "PID control implementation using FPGA technology", 3rd International Design and Test Workshop IDT, page(s): 341 344, Dec. 2008, IEEE. [13] National Instruments Co., "LabVIEW: PID and Fuzzy Logic Toolkit User Manual", Part Number 372192D- 01, June 2009. [14] Baldor Electric Company Servo Control Facts a handbook explaining the basics of motion 2000. V. CONCLUSION Brushed DC motor mathematical models facilitate the simulation of control system. With simultaneous simulation in LabVIEW & Multisim entire system is analyzed & optimized. Additionally performance of quadrature encoder interface (QEI) improved by implementing digital filter in FPGA. Flexible LabVIEW FPGA platform offers reusability of Intellectual Property (IP) during both development & implementation. Hence electric motor & its drive performance are increased. REFERENCES [1] Real Time Simulation for DC and AC Motors Based on LabVIEW FPGAs,Pedro Ponce, Luis Ibarra, Arturo Molina,Brian MacCleery. [2] http://www.ni.com/white-paper/14556/en/ [3] Ali, F.H.; Mahmood, H.M.; Ismael, S.M.B., "LabVIEW FPGA implementation of a PID controller for D.C. motor speed control," Energy, Power and Control All rights reserved by www.ijsrd.com 99