39
ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair ([email protected]) Tuesday 11:30 - 2:20 Thursday 12:30 - 3:20

ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair ([email protected]) Tuesday 11:30 - 2:20 Thursday 12:30 -

Embed Size (px)

Citation preview

Page 1: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 2: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 3: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 4: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 5: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 6: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

ENGG*4420 Lab 1 6

Lab 1

Modeling the PT 326 Process Trainer

Due Date: Tuesday Sep. 28th, 2009

Page 7: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

ENGG*4420 Lab 1 7

Lab 1 Development Environment

LabVIEW 2009 software Nios II IDE Altera Nios II Embedded Evaluation

Kit

Page 8: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

ENGG*4420 Lab 1 8

Lab 1 – Simple Hot Air BlowerPT 326 Process Trainer

Page 9: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

ENGG*4420 Lab 1 9

Lab 1 Architecture

Page 10: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

Control of a Thermal System

LabVIEW

Altera

Page 11: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

Plant Model

1s

Ke

V

V S

O

id

Equation (6)

Page 12: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

LabVIEW Plant Implementation

The Plant system is defined in LV using transfer function VIs.

Setup Plant Transfer Function Execute Plant System

Page 13: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 14: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 15: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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.

Page 16: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

ENGG*4420 Lab 1 16

Introduction to LabVIEW

Page 17: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 18: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 19: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

ENGG*4420 Lab 1 19

Front Panel

Contains the user interface

Page 20: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

ENGG*4420 Lab 1 20

Block Diagram

Contains the VIs and the necessary connections. Execution Control (loops, case

structures, formula node, etc…)

Page 21: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

ENGG*4420 Lab 1 21

Altera Nios II Embedded Evaluation Kit

Page 22: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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.

Page 23: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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.

Page 24: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 25: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 26: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 27: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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 ---

Page 28: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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).

Page 29: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 30: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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.

Page 31: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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)

Page 32: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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.

Page 33: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 34: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

ENGG*4420 Lab 1 34

Notes - LabVIEW

To easily locate VIs use the search tool in the functions and controls panels.

Page 35: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

Note – LabVIEW examples

LabVIEW examples can be found in the ‘Help’ Menu under ‘Find Examples’.

Page 36: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

Note – LabVIEW examples

Examples using specific VIs can be found through the ‘context help’

Page 37: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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

Page 38: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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.

Page 39: ENGG*4420 Lab 1 1 ENGG*4420 Real Time System Design Labs Introduction TA: Aws Abu-Khudhair (aabukhud@uoguelph.ca) Tuesday 11:30 - 2:20 Thursday 12:30 -

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