EE 1106: Introduction to EE Freshman Practicum

Slides:



Advertisements
Similar presentations
LabVIEW is a graphical programming development environment for data acquisition and control, data analysis, and data presentation. With LabVIEW you can.
Advertisements

Floyd, Digital Fundamentals, 10 th ed EET 2259 Unit 2 Virtual Instruments Read Bishop, Chapter 2. Lab #2 and Homework #2 due next week. Quiz #1 next week.
Based on LabVIEW 2011 Student Edition
LabVIEW and G Graphical Programming Language By: Ramtin Raji Kermani.
Lab 1 I/O, timers, interrupts on the eZ430-RF2500 Thomas Watteyne EE290Q – Spring 2010
Georgia Tech Digital Back-end µHRG interface Curtis Mayberry School of Electrical and Computer Engineering Georgia Institute of Technology January 13 th,
Chung-Ta King National Tsing Hua University
What is Arduino?  Arduino is a ATMEL 168 micro-controller kit designed specially for small projects  User friendly IDE(Integrated Development Environment)
1. 2 LabVIEW for FRC Doug Norman National Instruments January 6, 2012.
Robotics Club, Snt Council2 The 3 Schools of Robotics: Mechanical Design – Types of motors – Material selection –
MICRO-CONTROLLER: A microcontroller is the brain of the robot: These are: 1. Integrated Circuits (ICs) 2. Programmable.
Shift Register Application Chapter 22 Subject: Digital System Year: 2009.
Oscilloscope Watch Teardown. Agenda History and General overview Hardware design: – Block diagram and general overview – Choice of the microcontroller.
Introduction to LabVIEW
By Solid State Workshop. ● A microcontroller is an integrated circuit that is programmed to do a specific task. ● Microcontrollers are really just “mini-computers”.
Introduction to LabVIEW 8.5
CS320n –Visual Programming LabVIEW Foundations. Visual ProgrammingLabVIEW Foundations2 What We Will Do Today Hand back and review the midterm Look at.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Analog-to-Digital Converters
Capstone Fall 2005 GFX-One Guitar Processor Team Carpal Tunnel October 6 th 2005.
Laboratory 5: Introduction to LabVIEW. Overview Objectives Background Materials Procedure Report / Presentation Closing.
Railway Foundation Electronic, Electrical and Processor Engineering.
Dan O. Popa, Intro to EE – Practicum, Spring 2015 EE 1106 : Introduction to EE Freshman Practicum Lecture 2: Signals, Systems and Circuits with Introduction.
Arduino. Arduino is a tool for making computers that can sense and control more of the physical world than your desktop computer. It's an open-source.
Introduction to LabVIEW Seth Price Department of Chemical Engineering New Mexico Tech Rev. 10/5/14.
Railway Foundation Electronic, Electrical and Processor Engineering.
EG1003: Introduction to Engineering and Design Introduction to LabVIEW.
Digital I/O Connecting to the Outside World
Introduction.
ASPPRATECH.
Microcontroller based system design
Team Members Jordan Bennett Kyle Schultz Min Jae Lee Kevin Yeh.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Introduction to the Orbit Edu Board Ahmad Rahmati Teaching Assistant, ELEC424 Rice Efficient Computing Group Sep 12, 2007.
Embedded Systems – Shape the World Course Review: Jan – May 2015 edX – MOOC UT.6.02x University of Austin, Texas Jonathan Valvano & Ramesh Yerriballi Student:
Lecture 13LabVIEW and GPIB LabVIEW (National Instruments) –Graphical program language –Widely used in academia (lab) and industry (R&D) General Purpose.
MCEN 371 – Mechanical Engineering Lab Chapter 6: LabVIEW Part 1: Introduction.
Virtual Instrumentation With LabVIEW. Front Panel Controls = Inputs Indicators = Outputs LabVIEW Programs Are Called Virtual Instruments (VIs) Block Diagram.
LabVIEW an Introduction
Introduction to LabVIEW
Arduino Josh Villbrandt February 4, Digital Circuits Analog versus digital – What’s the difference? – How to represent an analog signal in a computer?
Objectives How Microcontroller works
Dan O. Popa, Intro to EE – Freshman Seminar, Spring 2015 EE 1105 : Introduction to EE Freshman Seminar Lecture 2: Signals, Systems and Circuits Credit:
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
Typical Microcontroller Purposes
Part I MVRT 2011 – 2012 Season Introduction to LabVIEW.
EE 211 Lecture 4 T. H. Ortmeyer Spring This week’s labs Grounding Lab Labview Tutorial.
Dan O. Popa, Freshman Seminar Spring 2015 EE 1105 : Introduction to EE Freshman Seminar Lab-Lecture: Op Amp Circuits, Embedded Computing.
Introduction to LabVIEW 8.5
Lab 1 : Introduction to LabView 1 Southern Methodist University Bryan Rodriguez.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Course Introduction Purpose  This course provides an introduction to the peripheral functions.
Chapter Microcontroller
Laboratory 5: Introduction to LabVIEW
Introduction to LabVIEW
Microcontrollers JULES CALELLA. Microcontrollers vs Microprocessors  Microprocessors – do not contain RAM, ROM, I/O  Microcontrollers – The whole package.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
Introduction to LabVIEW. Overview Objectives Background Materials Procedure Report/Presentation Closing.
A Quick Start Guide to PIC16F877 microcontroller And Microchip Development Environment A Quick Start Guide to PIC16F877 microcontroller And Microchip Development.
EG1003: Introduction to Engineering and Design Introduction to LabVIEW.
Cypress Roadmap: Platform PSoC®
ARDUINO BASED AUTOMATIC TEMPERATURE BASED FAN SPEED CONTROLLER
SCADA for Remote Industrial Plant
UNIT – Microcontroller.
Introduction to the Orbit Edu Board
Introduction to Microprocessors and Microcontrollers
Lesson 2: Introduction to Control programming using Labview
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
Compiled by Dr. N.Shanmugasundaram, HOD, ECE Dept, SECE.
Prof. Chung-Ta King Department of Computer Science
Presentation transcript:

EE 1106: Introduction to EE Freshman Practicum Lab-Lecture: Nonlinear circuit elements, LABVIEW review and MSP 430 Programming

Nonlinear Circuit Elements- Transistor         Image Sources: Textbook

The Operational Amplifier The op amp is built using VLSI techniques. The circuit diagram of an LM 741 from TI is shown below. Vn(-) Vp(+) Vcc+ Vo Taken from TI data sheet as shown on the web. Vcc-

Transistor use: Digital Inverter      

D/A and A/D conversion

Digital to Analog Converter (DAC) n=4, G=-0.5

Digital to Analog Converter (DAC) and the Process of Sampling

Analog to Digital Converter using a DAC

Analog to Digital Converter (ADC) Sample and Hold Circuit

Texas Instruments MSP430 LaunchPad The LaunchPad development board features: 14-/20-pin DIP (N) socket Built-in flash emulation for debugging and programming 2 programmable LEDs 1 power LED 1 programmable button 1 reset button Includes one mini USB cable to interface with a PC. MSP430G2553IN20 – 16kB Flash, 512B RAM, interruptible GPIOs (capacitive sense-capable), 16-bit timers, 8ch 10-bit ADC, Comparator, Serial Communication (USCI – I2C, SPI & UART) & more Programming Constructs Data Types Primitives (Integer, Float, etc) Const, Var, Pointer Complex (Lists, arrays, etc.) Register values (tied to hardware) Timer (clocks, tied to hardware) Operations on data +, - , =, etc. Control Statements - If, case (conditional) - While, For (loops) Function calls User defined Main () MSP 430 specific: ex. ConfigureADC

Microcontroller Programming in C (Labs 10,11,12) while(1) { ADC10CTL0 |= ENC + ADC10SC; // Enable conversion and start conversion __delay_cycles(10000); // Delay 10000 clock cycle to allow ADC to settle adcval = ADC10MEM; // Store ADC sampled value if (adcval < 380) // Based on sensor input to ADC, determine which pin to turn on. These values were determined { // by calibrating the sensor prior to the lab. P1.0 = force < 1/2 lb, P1.1 = 1/2 lb. < force < 1 lb. if (adcval < 205) // P1.2 = force > 1 lb. P1OUT = 0x01; } else P1OUT = 0x02; P1OUT = 0x04;

LabVIEW and connection with C programming (review) LabVIEW programs are called: Virtual Instruments (VIs) because their appearance and operation imitate actual instruments. However, they are analogous to main programs, functions and subroutines from popular language like C …

Abstraction: LabVIEW Programs Virtual Instruments (VIs) vs. C programs Front Panel Controls = Inputs Indicators = Outputs Block Diagram Accompanying “program” for front panel Components “wired” together

Abstraction: Dataflow Programming In this case, the block diagram executes from left to right, not because the objects are placed in that order, but because the Subtract function cannot execute until the Add function finishes executing and passes the data to the Subtract function. For C language – line by line code execution, compiled, with function calls, multithreading, etc.

Primitive Modules The basic primitive building blocks in LabVIEW include Numbers – formatted according to type (e.g. integer, boolean, float, etc.) Loops – While, For Logical and Arithmetic Ops – Comparator, Summer, Adder GUI Elements – Button, Knob, Dial For C code: int, float, double declared explicitly

Dataflow Programming Which VI(s) will execute first? Which VI will execute last? LabVIEW follows a dataflow model for running VIs. A block diagram node executes when all its inputs are available. When a node completes execution, it supplies data to its output terminals and passes the output data to the next node in the dataflow path. Visual Basic, C++, JAVA, and most other text-based programming languages follow a control flow model of program execution. In control flow, the sequential order of program elements determines the execution order of a program. Consider the first block diagram above. It adds two numbers and then multiplies by 2 from the result of the addition. In this case, the block diagram executes from left to right, not because the objects are placed in that order but because one of the inputs of the Multiply function is not valid until the Add function has finished executing and passed the data to the Multiply function. Remember that a node executes only when data are available at all of its input terminals, and it supplies data to its output terminals only when it finishes execution. In the second piece of code, the Simulate Signal Express VI receives input from the controls and passes its result to the graph. You may consider the add-multiply and the simulate signal code to coexist on the same block diagram in parallel. This means that they begin executing at the same time and run independently of one another. If the computer running this code had multiple processors, these two pieces of code could run independently of one another (each on its own processor) without any additional coding.

While Loop while(1) { While Loops … } … } else … } } While Loops Similar to a do loop or a repeat-until loop in text-based programming languages, a While Loop executes a subdiagram until a condition is met. The While Loop executes the subdiagram until the Conditional Terminal ( an input terminal) receives a specific Boolean value. The Iteration Terminal is an output terminal that contains the number of completed iterations. The iteration count for the While Loop always starts at zero. Note: The While Loop always executes at least once. Tunnels feed data into and out of structures. The tunnel appears as a solid block on the border of the While Loop. The block is the color of the data type wired to the tunnel. Data passes out of a loop after the loop terminates. When a tunnel passes data into a loop, the loop executes only after data arrives at the tunnel. In the image below, the Iteration Terminal is connected to a tunnel. The value in the tunnel does not get passed to the Iterations indicator until the While Loop finishes executing. Only the last value of the Iteration Terminal displays in the Iterations indicator.

For Loop for (int i=1; i<=N; i++) For Loops { … } For Loops A For Loop, shown above, executes a subdiagram a set number of times. The value in the count terminal (an input terminal) indicates how many times to repeat the subdiagram. The For Loop also has an Iteration Terminal . It is also an output terminal that contains the number of completed iterations. The iteration count for the For Loop always starts at zero.

Decisions Case Structure Select Function if (adcval < 205) { …} else P1OUT = 0x04; } Case Structure The case structure has one or more subdiagrams, or cases, one of which executes when the structure executes. The value wired to the selector terminal determines which case to execute and can be Boolean, string, integer, or enumerated type. Right-click the structure border to add or delete cases. Use the Labeling tool to enter value(s) in the case selector label and configure the value(s) handled by each case. It is found at Functions» Programming» Structures» Case Structure. Select Returns the value wired to the T input or F input, depending on the value of S. If S is TRUE, this function returns the value wired to T. If S is FALSE, this function returns the value wired to F. The connector pane displays the default data types for this polymorphic function. It is found at Functions» Programming» Comparison» Select. Example A: Boolean input. Simple if-then case. If the Boolean input is TRUE, the true case executes; otherwise the FALSE case executes. Example B: Numeric input. The input value determines which box to execute. If out of range of the cases, LabVIEW chooses the default case. Example C: When the Boolean passes a TRUE value to the Select VI, the value 5 is passed to the indicator. When the Boolean passes a FALSE value to the Select VI , 0 is passed to the indicator.

next week, focus on pressure sensors with MSP 430 and opamp