Upload
chastity-elliott
View
216
Download
3
Embed Size (px)
Citation preview
ENGG*4420 Lab 1 1
ENGG*4420
Real Time System Design
Labs Introduction
TA: Aws Abu-Khudhair([email protected])
Tuesday 11:30 - 2:20Thursday 12:30 - 3:20
ENGG*4420 Lab 1 2
Today’s Activities
General Introduction Lab 1 Introduction Fill in swipe card form Make groups (min 2 students, max 3) Start work on Lab 1
ENGG*4420 Lab 1 3
General Introduction
Course consists of 4 labs: Modeling the PT 326 Process Trainer. Real-Time Automotive Suspension
Simulator. Real-Time Control of a Hot Air Plant
using RTOS uC/OSII Multi-Core Real-Time Suspension
Control using LabVIEW Real-Time OS
ENGG*4420 Lab 1 4
Deadlines
Demos and reports are due at the same time.
Lab 1: Tuesday, Sep. 28th
Lab 2: Tuesday, Oct. 12th
Lab 3: Tuesday, Nov. 2nd Lab 4: Tuesday, Nov. 30th
ENGG*4420 Lab 1 5
Marking
Labs 1 and 2 - 8% each. 4% for the demo, 4% for the report.
Labs 3 and 4 - 12% each. 6% for the demo, 6% for the report.
A group work evaluation form MUST be submitted with every lab report. http://www.soe.uoguelph.ca/webfiles/
rmuresan/ENG3490-W06.htm
ENGG*4420 Lab 1 6
Lab 1
Modeling the PT 326 Process Trainer
Due Date: Tuesday Sep. 28th, 2009
ENGG*4420 Lab 1 7
Lab 1 Development Environment
LabVIEW 2009 software Nios II IDE Altera Nios II Embedded Evaluation
Kit
ENGG*4420 Lab 1 8
Lab 1 – Simple Hot Air BlowerPT 326 Process Trainer
ENGG*4420 Lab 1 9
Lab 1 Architecture
Control of a Thermal System
LabVIEW
Altera
Plant Model
1s
Ke
V
V S
O
id
Equation (6)
LabVIEW Plant Implementation
The Plant system is defined in LV using transfer function VIs.
Setup Plant Transfer Function Execute Plant System
Control System
PID-based control system Proportional Integral Derivative Control is based on an Error signal
Implemented in LabVIEW using the PID VI
Set Point
Process VariableOutput
ENGG*4420 Lab 1 14
Lab 1 Requirements/Steps
Step 1: Study and understand the implementation files provided: Hot Air Plant Model CD Vis Lab1.vi. Engg4420_example.c Engg4420_example.h
C:\C:\engg4420_lab1_labview C:\engg4420_lab1
ENGG*4420 Lab 1 15
Lab 1 Requirements/Steps
Step 2: Tune the PID controller using the Ziegler and Nichols method. Perform BOTH open loop, and closed
loop tuning procedures (pg.12). Step 3: Establish communication
between LabVIEW and Altera board Step 4: Graph the plant output on
the Altera LCD.
ENGG*4420 Lab 1 16
Introduction to LabVIEW
ENGG*4420 Lab 1 17
LabVIEW
Graphical development environment. Used for measurements, data
acquisition, measurement analysis, report generation, plant modeling, control systems, Embedded Design, Signal Processing etc…
Dataflow Languagewww.ni.com/labview
ENGG*4420 Lab 1 18
LabVIEW Virtual Instruments (VIs)
Built in functions used to create any application
Each VI requires a specific number of inputs.Select a VI and press “ctrl+H” for information
regarding the VI
ENGG*4420 Lab 1 19
Front Panel
Contains the user interface
ENGG*4420 Lab 1 20
Block Diagram
Contains the VIs and the necessary connections. Execution Control (loops, case
structures, formula node, etc…)
ENGG*4420 Lab 1 21
Altera Nios II Embedded Evaluation Kit
ENGG*4420 Lab 1 22
Altera Nios II Board Devices
16 MB of Intel P30/P33 flash. 32 MB of DDR SDRAM. Color LCD touch-screen display. USB connector. Serial connector. 10/100 Ethernet physical layer/media
access control (PHY/MAC). Six push buttons total. Seven LEDs total. Embedded FPGA board.
ENGG*4420 Lab 1 23
Altera Nios II IDE
Altera -> Nios II EDS 8.0 -> Nios II IDE 8.0
Examples are located at ‘C:\Altera\80\nios2eds\examples’
Follow ‘ENGG4420_example.c’ for relevant operations. LCD + Multitasking + Serial Comm.
ENGG*4420 Lab 1 24
uC/OS-II is a highly portable, very scalable, preemptive real-time, deterministic, multitasking kernel.
It can manage up to 64 tasks It has connectivity with uC/GUI and uC/FS. It is ported to more than 100
microprocessors and microcontrollers. It supports all type of processors from 8 to
64 bits
ENGG*4420 Lab 1 25
How to implement Lab1?
1. Read chapter 1 of the lab manual.2. Preparation 1- Review the Implementation
of the Plant System. Hot Air Blower.VI
3. Preparation 2 – Review and Analyze the implementation of the uC/OSII tasks
ENGG4420_example.c ENGG4420_example.h
4. Preparation 3 – Establish connection between LabVIEW and Altera board
ENGG*4420 Lab 1 26
How to implement Lab1? Cont.
5. Tuning (Lab Manual section 1.3 – pg. 12) Perform Open and Closed loop tuning methods
to derive a set of workable PID constants.
Talk to your TA if you are not familiar with PID control
ENGG*4420 Lab 1 27
How to implement Lab1? Cont.
6. Implement the communication Tasks in LabVIEW and Nios II.
Do the following first: Make a folder at “H:\RTLabs\your-project-name” In Nios IDE setup the project path at ---
ENGG*4420 Lab 1 28
How to implement Lab1? Cont.
6. Cont.a) LabVIEW-> Transmit the plant output
value to the Altera board using serial communication.
b) Altera-> Receive the transmitted value and graph it on the LCD in RT.
c) Altera-> Send the output value back to LabVIEW.
d) LabVIEW -> Read the plant value from serial IO and process it (PID).
Implementation Suggestions
Use synchronization semaphores to organize the communication process.
Create a new RxTx_uart on the Altera board. Set a delay on the task that matches the LabVIEW sample interval.
Create a separate task on the Altera board for graphing the voltage values
ENGG*4420 Lab 1 30
Notes - How to set up Hyper Terminal?
Start All Programs Accessories Communication Hyper Terminal Assign a name to your hyper terminal select COM1 select 115200, 8, None, 1, None.
ENGG*4420 Lab 1 31
Notes - LabVIEW
Occasionally, you may need to convert data for interconnectivity. This can be done using the conversion blocks (Mathematics Numeric Conversion)
ENGG*4420 Lab 1 32
Notes - LabVIEW
Local Variables can be used to give inputs to controls. They can be found in the “Structures” section of the function palette. You can configure them to be either read or write depending the required operation.
ENGG*4420 Lab 1 33
Notes - LabVIEW
When setting up a feedback node, you need to wire in a constant from outside the loop for initialization
ENGG*4420 Lab 1 34
Notes - LabVIEW
To easily locate VIs use the search tool in the functions and controls panels.
Note – LabVIEW examples
LabVIEW examples can be found in the ‘Help’ Menu under ‘Find Examples’.
Note – LabVIEW examples
Examples using specific VIs can be found through the ‘context help’
ENGG*4420 Lab 1 37
Notes – Serial Communication
LV serial comm. is performed using NI VISA.
Perform the serial port write operation using a termination char
See the “Advanced Serial Write and Read.vi” example
Setup serial comm. Write to serial port Read from serial port
Note – Serial Communication Cont.
Order of operations: Configure serial port:
Enable read on termination char. Set termination char. Set timeout. Define VISA resource (COM1 or COM2). Define Baud rate ….
Define ‘write’ termination char. Define input buffer size. Write string (data must be in char not float). Close session at end.
ENGG*4420 Lab 1 39
Deadlines and Marking
Lab 1 is worth 8%. 4% for the report, and 4% for the demo The Demo is due Sep. 28th, 2010 in the Lab. The Report is due Sep. 28th, 2010 in the
Lab. A signed group evaluation sheet must be
submitted with the lab report