ECE 495: Integrated System Design I

Slides:



Advertisements
Similar presentations
Chapter 4 Loops Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved
Advertisements

Sensing and Control.
Analysis of Computer Algorithms
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
FIGURE 3.1 System for illustrating Boolean applications to control.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Addition Facts
Chapter 5 Input/Output 5.1 Principles of I/O hardware
1 Interprocess Communication 1. Ways of passing information 2. Guarded critical activities (e.g. updating shared data) 3. Proper sequencing in case of.
Making the System Operational
FAST PROTOTYPING OF REAL- TIME ROBOT CONTROL USING MATLAB REAL-TIME WORKSHOP Michele Bongiovanni Basilio Bona
Teacher/Mentor Institute Using the Cortex Chuck Powell.
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Pole Placement.
PID Control for Embedded Systems
EE5900 Advanced Embedded System For Smart Infrastructure
Real Time Versions of Linux Operating System Present by Tr n Duy Th nh Quách Phát Tài 1.
1 Peripheral Component Interconnect (PCI). 2 PCI based System.
Microprocessor Architecture Pipelined Architecture
Configuration management
Software change management
Mehdi Naghavi Spring 1386 Operating Systems Mehdi Naghavi Spring 1386.
Chapter 1 Introduction to the Programmable Logic Controllers.
1 Operating Systems Input/Output Management. 2 What is the I/O System A collection of devices that different sub- systems of a computer use to communicate.
Build to kick kick to win. Shooting skills 2 Outline Shooting mechanism System description Actuator design Lob shots Identification Calibration Towards.
1 1 Mechanical Design and Production Dept, Faculty of Engineering, Zagazig University, Egypt. Mechanical Design and Production Dept, Faculty of Engineering,
DE2-115 Control Panel - Part I
Exercise 1: Install PC Software & NXT Firmware
DAQmx下多點(Multi-channels)訊號量測
OPERATING SYSTEM An operating system is a group of computer programs that coordinates all the activities among computer hardware devices. It is the first.
Lecture 8: Testing, Verification and Validation
Processes Management.
Chapter 5 Loops Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All rights reserved.
Addition 1’s to 20.
25 seconds left…...
Week 1.
Interfacing to the Analog World
11-1 Bard, Gerstlauer, Valvano, Yerraballi EE 319K Introduction to Embedded Systems Lecture 11: Data Acquisition, Numerical Fixed-Point Calculations, Lab.
ECE 424 – Introduction to VLSI
Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved Chapter 3 Loops.
1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling.
1 ECE 495 – Integrated System Design I ECE INTEGRATED SYSTEMS I Engineering Project Planning Timothy Burg.
Using an FPGA to Control the Protection of National Security and Sailor Lives at Sea Brenda G. Martinez, Undergraduate Student K.L. Butler-Purry, Ph.D.,
By Solid State Workshop. ● A microcontroller is an integrated circuit that is programmed to do a specific task. ● Microcontrollers are really just “mini-computers”.
MotoHawk Training Model-Based Design of Embedded Systems.
FRC LabVIEW Software Overview Joe Hershberger Staff Software Engineer National Instruments.
Controls Lab Interface Improvement Project #06508Faculty Advisors: Dr. A. Mathew and Dr. D. Phillips Project Objectives This work focused on the improvement.
Design of a Control Workstation for Controller Algorithm Testing Aaron Mahaffey Dave Tastsides Dr. Dempsey.
Wireless Data Acquisition for SAE Car Project by: J.P. Haberkorn & Jon Trainor Advised by: Mr. Steven Gutschlag.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Upgrade to Real Time Linux Target: A MATLAB-Based Graphical Control Environment Thesis Defense by Hai Xu CLEMSON U N I V E R S I T Y Department of Electrical.
Data Acquisition Systems
HARDWARE INTERFACE FOR A 3-DOF SURGICAL ROBOT ARM Ahmet Atasoy 1, Mehmed Ozkan 2, Duygun Erol Barkana 3 1 Institute of Biomedical Engineering, Bogazici.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
EE 460 Advanced Control and System Integration
Digital Control CSE 421.
Embedded Control Systems Dr. Bonnie Heck School of ECE Georgia Tech.
Embedded System Design and Development Introduction to Embedded System.
Components of Mechatronic Systems AUE 425 Week 2 Kerem ALTUN October 3, 2016.
Computer System Structures
BASIC PROGRAMMING C SCP1103 (02)
Digital Control CSE 421.
Prototyping SoC-based Gate Drive Logic for Power Convertors by Generating code from Simulink models. Researchers Rounak Siddaiah, Graduate Student-University.
SCADA for Remote Industrial Plant
BASIC PROGRAMMING C SCP1103 (02)
CS4101 Introduction to Embedded Systems Design and Implementation
Vision for Robotic Applications
Presentation transcript:

ECE 495: Integrated System Design I CLEMSON U N I V E R S I T Y ECE 495: Integrated System Design I Introduction to Real-Time, Closed-loop Control

Outline Real-time systems Motivation Examples xPC target Closed-loop Systems Real-time, Closed-loop Systems Apply theory from ECE409 to a physical system Implementing Real-time, Closed-loop Systems xPC target + Quanser hardware

Real-time System Computer-based execution of a program loop: Speed and predictability of execution times distinguish systems Instructions or algorithm System Real-time system: the correctness of the system behavior depends not only on the logical results of the computations, but also on the physical instant at which these results are produced. http://www.ece.cmu.edu/~koopman/des_s99/real_time/

Classification of Real-time Systems System must remain synchronous with the state of the environment. Degraded operation in a rarely occurring peak load can be tolerated. Soft Hard Dynamic Static Timing parameters and the priority for tasks is modified at run-time. Timing parameters for the system are set during compilation. http://www.ece.cmu.edu/~koopman/des_s99/real_time/

Classification of Real-time Systems Example: Produce a sinusoid output Hard Real-time System D/A Error in output waveform Soft Real-time System D/A Error in execution time

Examples of Real-time Systems QUARC from Quanser Soft Real-time System using PC with Windows QUARC from Quanser Hard Real-time System using QNX

Hardware Systems in ECE 495 Motor Amplifier If you were controlling the position of the motor, you would want the motor to stop at a certain shaft angle. But you would also want to stop at the right time to prevent overshooting and potentially damaging components!

Which system would you use in ECE 495? Systems Speed and predictability are both critical Non-Real-time System Real-time System Response to input has to come at a precise time Soft Hard System timing parameters are known before execution Dynamic Static In ECE 495, we use a Static, Hard Real-Time System

How is a Real-time System formulated? More generally, to Relate Theory to Application Digital System 4. Execute algorithms (assume a continuous system can be approximated by a “fast” digital system) Continuous Process 1. Want to measure or control this process Error if execution timing doesn’t match assumptions in model and algorithms - results are not predictable. Design 3. Formulate interaction algorithms based on the models (For example ECE409, ECE 467) 2. Use engineering tools to model the process using continuous or fixed sample time discrete models (For example ECE409, ECE 467) Model of Continuous Process

Real-time System – xPC Target

Real-time System – xPC Target Host Target Design a Simulink model on the host PC Boot CD installs a real-time kernel on target Build the Simulink model Host and target coordinate for downloading programs Program is downloaded to target for real-time execution Some parameters can be changed on host. This change is communicated to target.

Closed-Loop Control System Open-loop control: Input designed to move the system to a desired state based on current conditions and model of the system. Example: Fill a water tank to a specified level based on flow-rate and time. If some of the water evaporates during filling then the level will be wrong If flow rate is not exactly as expected then the level will be wrong. Inaccurate time will lead to the wrong level Desired level Actual level

Closed-Loop Control System Input changes as the error, difference between the desired output and the measured output, changes. Example – fill a tank to a specified level based on measuring the tank level and turning flow “on” or “off” to reach the desired level. Anything that prevents the tank from being filled to the desired level will be compensated. Desired level = Actual level

Closed-Loop Control System Desired output Input =Error Output + System _ Feedback Open-loop control: Input designed to move the system to a desired state without knowing if it achieves the state Closed-loop control: Input= changes as the error based on output until a desired state is reached.

Real-time Closed-loop Control What is Real-time Control ? Any change in the feedback produces change in the input to the system within the guaranteed response time. (Hard Real Time Control) Desired output Input Output + System _ Feedback

Real-time Closed-loop Control Typical response times and the applications which need them … Seconds : Temperature, pressure, and flow control; aircraft control Milliseconds (control with < 1 kHz): Productions lines, motor control, robot control Microseconds : High speed test stands, fast digital controllers, control with 5 kHz – 500 kHz

Implementing Real-time, Closed-loop Systems Host MATLAB with Simulink C++ Desired output System Input Output + _ Target PC OS Q4 Control Board and Terminal Board Feedback

The utility of MATLAB Simulink MATLAB/Simulink are used to prototype, simulate and visualize performance of systems. Math model of system MATLAB Simulink Model Visualization: Plots, Scopes, etc.

Why MATLAB/SIMULINK over C++? MATLAB is a huge collection of C/C++ libraries for system prototyping and hardware interfacing. No need to reinvent the wheel! Would you rather spend weeks writing device drivers and libraries for the Q4 than test your system in a few hours? Prototyping ideas is easy and fast. Visualization of data is easy.

Using C/C++ Code in MATLAB MATLAB allows the use of user defined C/C++ executables (MEX files) to augment functionality. Computationally expensive tasks can be carried out using C and data can be sent to MATLAB. E.g. Camera interfacing for image processing. Specific manipulation of data can be programmed into a user defined function (called the S-function) in Simulink. S-functions are C-code snippets embedded in the Simulink environment.

Implementing Real-time, Closed-loop Systems Quanser Q4 card in the Target PC To terminal board 4 x 14 bit Analog Inputs 4 x 12 bit D/A Outputs 4 Quadrature Encoder Inputs 16 Programmable Digital IO Channels 2 x 32 bit dedicated Counter/ Timers 2 External Interrupt sources 32 bit, 33MHz PCI Bus Interface

Implementing Real-time, Closed-loop Systems Q4 Terminal Board From Q4 board DAC Channels ADC Channels Ext Interrupt and Signal Pins Encoder Channels Digital IO Ports

A final thought … The Q4 cards being used for data acquisition and control are very useful… and very expensive. Read the manuals for voltage limitations and proper use.