LabVIEW Data Acquisition Course

Download Report

Transcript LabVIEW Data Acquisition Course

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