Lesson 8 Data Acquisition and Waveforms CHAPTER 1 Transducers, Signals, and Signal Conditioning Topics • Data Acquisition Overview • Transducers • Signals • Signal Conditioning www.ni.com System Overview Transducer Overview Topics • What is a Transducer? • Types of Transducers What is a Transducer? Physical Phenomena Signal A transducer converts a physical phenomena into a measurable signal Signal Overview Topics • Types of Signals • Information in a Signal – State, Rate, Level, Shape, and Frequency Signal Classification Your Signal Digital Analog Digital Signals Your Signal Digital Two possible levels: • High/On (2 - 5 Volts) • Low/Off (0 - 0.8 Volts) Two types of information: • State • Rate Digital Signal Information Your Signal Digital Analog Signals Your Signal Analog Continuous signal • Can be at any value with respect to time Three types of information: • Level • Shape • Frequency (Analysis required) Analog Signal Information Your Signal Analog Analysis Required Signal Conditioning Overview Topics • Purpose of Signal Conditioning • Types of Signal Conditioning Why Use Signal Conditioning? Noisy, Low-Level Signal Filtered, Amplified Signal • Signal Conditioning takes a signal that is difficult for your DAQ device to measure and makes it easier to measure • Signal Conditioning is not always required – Depends on the signal being measured Amplification • Used on low-level signals (i.e. thermocouples) • Maximizes use of Analog-to-Digital Converter (ADC) range and increases accuracy • Increases Signal to Noise Ratio (SNR) Noise + _ Low-Level Signal Instrumentation Amplifier ADC Lead Wires External Amplifier DAQ Device DAQ Hardware Overview Topics • Types of DAQ Hardware • Components of a DAQ device • Configuration Considerations Data Acquisition Hardware Your Signal DAQ Device Computer Cable Terminal Block DAQ Hardware turns your PC into a measurement and automation system Terminal Block and Cable 50 pin connector Your Signal Cable Terminal Block • Terminal Block and Cable route your signal to specific pins on your DAQ device • Terminal Block and Cable can be a combination of 68 pin or 50 pin DAQ Device • Most DAQ devices have: – – – – Analog Input Analog Output Digital I/O Counters DAQ Device • Specialty devices exist for specific applications – High speed digital I/O – High speed waveform generation – Dynamic Signal Acquisition (vibration, sonar) • Connect to the bus of your computer • Compatible with a variety of bus protocols – PCI, PXI/CompactPCI, ISA/AT, PCMCIA, USB, 1394/Firewire Computer Configuration Considerations • Analog Input – Resolution – Range – Gain – Code Width – Mode (Differential, RSE, or NRSE) • Analog Output – Internal vs. External Reference Voltage – Bipolar vs. Unipolar Resolution • Number of bits the ADC uses to represent a signal • Resolution determines how many different voltage changes can be measured • Example: 12-bit resolution # of levels = 2resolution = 212 = 4,096 levels • Larger resolution = more precise representation of your signal Resolution Example • 3-bit resolution can represent 8 voltage levels • 16-bit resolution can represent 65,536 voltage levels 16-Bit Versus 3-Bit Resolution (5kHz Sine Wave) 10.00 111 8.75 6.25 101 Amplitude 5.00 (volts) 3.75 100 3-bit resolution 011 010 2.50 001 1.25 0 16-bit resolution 110 7.50 000 | | | | | 0 50 100 150 200 Time (ms) Range • Minimum and maximum voltages the ADC can digitize • DAQ devices often have different available ranges – 0 to +10 volts – -10 to +10 volts • Pick a range that your signal fits in • Smaller range = more precise representation of your signal – Allows you to use all of your available resolution Range = 0 to +10 volts (5kHz Sine Wave) Range 10.00 8.75 7.50 6.25 111 Amplitude 5.00 (volts) 3.75 2.50 100 Proper Range • Using all 8 levels to represent your signal 110 101 3-bit resolution 011 010 001 1.25 0| 0 000 | | 50 | 100 Time (ms) 150 | 200 Range = -10 to +10 volts (5kHz Sine Wave) 10.00 7.50 5.00 2.50 Amplitude 0 (volts) -2.50 -5.00 -7.50 -10.00 | Improper Range 111 • Only using 4 levels to represent your signal 110 3-bit resolution 101 100 011 010 001 000 | 50 | 100 Time (ms) | | 150 200 Gain • Gain setting amplifies the signal for best fit in ADC range • Gain settings are 0.5, 1, 2, 5, 10, 20, 50, or 100 for most devices • You don’t choose the gain directly – Choose the input limits of your signal in LabVIEW – Maximum gain possible is selected – Maximum gain possible depends on the limits of your signal and the chosen range of your ADC • Proper gain = more precise representation of your signal – Allows you to use all of your available resolution Gain Example – Input limits of the signal = 0 to 5 Volts – Range Setting for the ADC = 0 to 10 Volts – Gain Setting applied by Instrumentation Amplifier = 2 Different Gains for 16-bit Resolution (5kHz Sine Wave) 10.00 8.75 Gain = 2 7.50 6.25 Your Signal Gain = 1 Amplitude 5.00 (volts) 3.75 2.50 1.25 0 | | | | | 0 50 100 150 200 Time (ms) Code Width • Code Width is the smallest change in the signal your system can detect (determined by resolution, range, and gain) range code width = gain * 2 resolution • Smaller Code Width = more precise representation of your signal • Example: 12-bit device, range = 0 to 10V, gain = 1 range gain * 2 resolution Increase range: = 10 = 2.4 mV 12 1*2 20 1* Increase gain: 212 10 100 * 212 = 4.8 mV = 24 mV Grounding Issues • To get correct measurements you must properly ground your system • How the signal is grounded will affect how we ground the instrumentation amplifier on the DAQ device • Steps to proper grounding of your system: – Determine how your signal is grounded – Choose a grounding mode for your Measurement System + Signal Source VS VM - Measurement System Signal Source Categories Signal Source Grounded Floating + + Vs _ Vs _ Grounded Signal Source Signal Source Grounded • Signal is referenced to a system ground – earth ground – building ground + Vs _ • Examples: – Power supplies – Signal Generators – Anything that plugs into an outlet ground Floating Signal Source Signal Source • Signal is NOT referenced to a system ground – earth ground – building ground • Examples: – – – – Batteries Thermocouples Transformers Isolation Amplifiers Floating + Vs _ Measurement System • Three modes of grounding for your Measurement System – Differential – Referenced SingleEnded (RSE) – Non-Referenced SingleEnded (NRSE) • Mode you choose will depend on how your signal is grounded + Measurement System - Differential Mode Differential Mode • Two channels used for each signal – ACH 0 is paired with ACH 8, ACH 1 is paired with ACH 9, etc. • Rejects common-mode voltage and common-mode noise + VS ACH (n) _ ACH (n + 8) AISENSE + Instrumentation Amplifier _ AIGND Measurement System + VM _ RSE Mode Referenced Single-Ended (RSE) • Measurement made with respect to system ground • One channel used for each signal • Doesn’t reject common mode voltage + ACH (n) ACH (n + 8) VS AISENSE _ + Instrumentation Amplifier _ AIGND Measurement System + VM _ NRSE Mode Non-Referenced Single-Ended (NRSE) • • • • • + Variation on RSE One channel used for each signal Measurement made with respect to AISENSE not system ground AISENSE is floating Doesn’t reject common mode voltage ACH (n) ACH (n + 8) VS _ AISENSE + Instrumentation Amplifier _ AIGND Measurement System + VM _ Choosing Your Measurement System Signal Source Grounded Floating + Vs _ + Vs _ Measurement System Measurement System Differential RSE NRSE Differential RSE NRSE Options for Grounded Signal Sources Differential RSE NRSE BETTER + Rejects Common-Mode Voltage - Cuts Channel Count in Half NOT RECOMMENDED - Voltage difference (Vg) between the two grounds makes a ground loop that could damage the device GOOD + Allows use of entire channel count - Doesn’t reject Common-Mode Voltage Options for Floating Signal Sources Differential RSE NRSE BEST + Rejects Common-Mode Voltage - Cuts Channel Count in Half - Need bias resistors BETTER + Allows use of entire channel count + Don’t need bias resistors - Doesn’t reject Common-Mode Voltage GOOD + Allows use of entire channel count - Need bias resistors - Doesn’t reject Common-Mode Voltage DAQ Software Overview Topics • Levels of DAQ Software • NI-DAQ Overview • Measurement & Automation Explorer (MAX) Overview Levels of Software User DAQ Device What is NI-DAQ? • Driver level software – DLL that makes direct calls to your DAQ device • Supports the following National Instruments software: – LabVIEW – Measurement Studio • Also supports the following 3rd party languages: – – – – Microsoft C/C++ Visual Basic Borland C++ Borland Delphi What is MAX? • MAX stands for Measurement & Automation Explorer • MAX provides access to all your National Instruments DAQ, GPIB, IMAQ, IVI, Motion, VISA, and VXI devices • Used for configuring and testing devices • Functionality broken into: – Data Neighborhood – Devices and Interfaces – Scales – Software Icon on your Desktop Data Neighborhood • Provides access to the DAQ Channel Wizard • Shows configured Virtual Channels • Includes utilities for testing and reconfiguring Virtual Channels DAQ Channel Wizard • Interface to create Virtual Channels for: – Analog Input – Analog Output – Digital I/O • Each channel has: – Name and Description – Transducer type – Range (determines Gain) – Mode (Differential, RSE, NRSE) – Scaling Devices and Interfaces • Shows currently installed and detected National Instruments hardware • Includes utilities for configuring and testing your DAQ devices – Properties – Test Panels Properties • Basic Resource Test – Base I/O Address – Interrupts (IRQ) – Direct Memory Access (DMA) • Link to Test Panels • Configuration for: – – – – – Device Number Range and Mode (AI) Polarity (AO) Accessories OPC Test Panels • Utility for testing – – – – Analog Input Analog Output Digital I/O Counters • Great tool for troubleshooting Scales • Provides access to DAQ Custom Scales Wizard • Shows configured scales • Includes utility for viewing and reconfiguring your custom scales DAQ Custom Scales Wizard • Interface to create custom scales that can be used with Virtual Channels • Each scale has its own: – Name and Description – Choice of Scale Type (Linear, Polynomial, or Table) Sampling Considerations • Analog signal is continuous • Sampled signal is series of discrete samples acquired at a specified sampling rate Actual Signal • Faster we sample the more our sampled signal will look like our actual signal • If not sampled fast enough a problem known as aliasing will occur Sampled Signal Aliasing Adequately Sampled Signal Aliased Signal Nyquist Theorem Nyquist Theorem • You must sample at greater than 2 times the maximum frequency component of your signal to accurately represent the FREQUENCY of your signal NOTE: You must sample between 5 - 10 times greater than the maximum frequency component of your signal to accurately represent the SHAPE of your signal Nyquist Example Aliased Signal 100Hz Sine Wave Sampled at 100Hz Adequately Sampled for Frequency Only (Same # of cycles) 100Hz Sine Wave Sampled at 200Hz Adequately Sampled for Frequency and Shape 100Hz Sine Wave Sampled at 1kHz Data Acquisition Palette Analog Output Digital I/O Analog Input Counter Calibration and Configuration DAQ Channel Name Constant Signal Conditioning DAQ Channel Name Data Type • Allows you to use numeric channels (0, 1, etc.) or virtual channels • Automatically detects all currently configured virtual channels Control Terminal Constant Analog Input Palette • Utility VIs • Easy VIs – Convenient groupings of Intermediate VIs – Built out of Utility VIs + Easy to use - Less flexible • Advanced VIs – Building blocks for other levels • Intermediate VIs – Built out of Advanced VIs + Highly recommended + Very flexible Easy VIs Intermediate VIs Advanced VIs Utility VIs Single-Point AI VIs • Perform a software-timed, non-buffered acquisition + Good for battery testing, control systems - Not good for rapidly changing signals due to software timing AI Sample Channel – Acquires one point on one channel AI Sample Channels – Acquires one point on multiple channels Multiple-Point (Buffered) AI VIs • Perform a hardware-timed, buffered acquisition • Highly recommended for most applications • Allows triggering, continuous acquisition, different input limits for different channels, streaming to disk, and error handling AI Config – Configures your device, channels, buffer AI Start – Starts your acquisition, configure triggers AI Read – Returns data from the buffer AI Clear – Clears resources assigned to the acquisition AI Config • Interchannel Delay – Determines the time (in seconds) between samples in a scan • Input Limits – Max and Min values for your signal – Used by NI-DAQ to set gain • Device – Number of the device (from MAX) you are addressing • Channels – Chooses what channel(s) you are addressing • Buffer Size – Number of scans the buffer can hold – A scan acquires one sample for every channel you specify – 1000 scans x 2 channels = 2000 total samples • Task ID – Passes configuration information to other VIs • Error In/Out – Receives/Passes any errors from/to other VIs Different Gains for Different Channels • AI Config allows different gains for different channels • The first element of the input limits array corresponds to the first element of the channel array Gain = 2 Gain = 20 Range = 0 to +10V AI Start • Task ID In/Out – Receives/Passes configuration information to/from other VIs • Number of Scans to Acquire – Total number of scans acquired before the acquisition completes – Default value (-1) sets # of Scans to Acquire = Buffer Size (AI Config) – A value of 0 acquires continuously • Scan Rate – Chooses the number of scans per second • Error In/Out – Receives/Passes any errors from/to other VIs AI Read & AI Clear • Number of Scans to Read – Specifies how many scans to retrieve from the buffer – Default value (-1) sets # of Scans to Read = # of Scans to Acquire (AI Start) – If # of Scans to Acquire (AI Start) = 0, default for # of Scans to Read is 100 • Scan Backlog – Number of unread scans in the buffer • Waveform Data – Returns t0, dt (inverse of scan rate), and Y array for your data • Clears resources assigned to the device Error Cluster • Cluster containing: – Boolean - tells if an error occurred – Numeric - tells the error code – String - tells the source of the error • Right-click on edge of cluster and select Explain Error for dialog box (see below) with more information Indicator Terminal Buffered Acquisition Flowchart Configure the Device Clear Resources Start the Acquisition Display Errors Return Data from the Buffer Buffered Acquisition • • • • AI Start begins the acquisition Acquisition stops when the buffer is full AI Read will wait until the buffer is full to return data If error input is true then Config, Start, and Read pass the error on but don’t execute; Clear passes AND executes Continuous Acquisition Flowchart Configure the Device Start the Acquisition Return Data from the Buffer Done? YES Display Errors Clear Resources NO Continuous Buffered Acquisition Differences from a buffered acquisition • • • • # of scans to acquire = 0 While loop around AI Read Number of Scans to read does not = buffer size Scan backlog tells how well you are keeping up Analog Output Architecture Channel 0 DAC Channel 0 Channel 1 Channel 1 DAC • Most E-Series DAQ devices have a Digitalto-Analog Converter (DAC) for each analog output channel • DACs are updated at the same time • Similar to Simultaneous Sampling for Analog Input Analog Output Palette • Utility VIs • Easy VIs – Convenient groupings of Intermediate VIs – Built out of Utility VIs + Easy to use - Less flexible • Advanced VIs – Building blocks for other levels • Intermediate VIs – Built out of Advanced VIs + Highly recommended + Very flexible Easy VIs Intermediate VIs Advanced VIs Utility VIs Single-Point AO VIs • Perform a software-timed, non-buffered generation + Good for generating DC voltages, or control systems - Not good for waveform generation because software timing is slow AO Update Channel – Generates one point on one channel AO Update Channels – Generates one point on multiple channels AO Update Channels • Device – Number of the device (from MAX) you are addressing – Ignored if using virtual channel • Channels – Chooses what channel(s) you are addressing – Can either be a number or a virtual channel name – Uses the DAQ Channel Name control • Values – 1-D array of data – The first element of the array corresponds to the first channel in your channels input Multiple-Point (Buffered) AO VIs • Perform a hardware-timed, buffered generation • Highly recommended for most applications • Allows continuous generation, triggering, and error handling AO Config – Configures your device, channels, buffer AO Write – Writes data to the buffer AO Start – Starts your generation AO Wait – Waits until the generation is complete AO Clear – Clears resources assigned to the generation Buffered Generation Flowchart Configure the Device Wait Until Generation Completes Write Data to the Buffer Clear Resources Start the Generation Display Errors Buffered Generation • AO Write fills the buffer with waveform data • AO Start begins the generation • Without AO Wait the generation would start (AO Start) and then end immediately after (AO Clear) • If error input is true then Config, Write, Start, and Wait pass the error on but don’t execute; Clear passes AND executes AO Write One Update • Your analog output channel will continue to output the last value written to it until either: – The device is reset (power off, reset VI) – A new value is written • Use AO Write One Update at the end of your generation to set the channel back to 0 Continuous Generation Flowchart Configure the Device Write Data to the Buffer Start the Generation Done? YES Display Errors Clear Resources NO Continuous Generation Differences from a buffered generation • number of buffer iterations = 0 • No AO Wait – AO Wait would hang because the generation never completes • While loop with AO Write – The second AO Write is used for error checking ONLY