NI DAQ, Nanopositioner (Tilt mirror) Control of the focal point location is done using a piezoelectric tilt mirror for the in plane motions Reference: NARIONAL INSTRUMENT, “NI-DAQ 7, DAQmx C Reference Help ”, 2004 NARIONAL INSTRUMENT, “DAQ, 6534X User Manual”, 2001 nPoint, “C-300 Series Controller Manual”, Version 1.2, 2005 Specification MODEL Parameter TILT STAGE Typical Maximum UNIT Tilt range(mrad) 8 mrad Static stiffness 4 N/mm Integrated sensor Strain Gauge Resolution Resonant frequency 1 Interface USB Material Al kHz unloaded Application of Tilt mirror • Trapping position control with tilt mirror Tilt mirror Objective lens – Controlling the position of the laser focus in two dimensional plane perpendicular to the beam axis – The tilt mirror is positioned at the conjugate plane of the objective back aperture • to minimize the loss of energy caused due to the deflection of the tilt mirror Application of Tilt Mirror (con’t) • Point scan (20 Hz) 2 point 3 point • Line scanning and circle scanning Line circle nPoint Digital Controller interface • nPoint C300 USB V1.2.5 – Provides nanopositioning control capabilities – Graphical controls facilitate easy adjustment of control parameters, step-response verification and enabling of advanced control modes X, Y axis control Interface of the Tilt mirror scanning • User interface of optical tweezers control program Nanopositioner Control with NI DAQ Input data Feedback data Programming using DAQ API Generating & collecting data Tilt mirror Transferring data Objective positioner [7] 3D laser focus position control NI DAQ ? • NI DAQ (National Instrument Data Acquisition) : Collecting and measuring the same kinds of electrical signals with analog-to-digital and/or digital devices plugged into a PC, and possibly generating control signals with digital-to-analog and/or digital devices in the same PC. PC-BASED DATA ACQUISITION Figure referred to www.ni.com [8] Two libraries for NI DAQ - Traditional NI DAQ, difficult to understand and implement - NIDAQmx: new library, easy to understand and implement PCI-6534 DAQ Device www.ni.com PCI - 6534 • • • • • [9] 32 (5 V TTL/CMOS) digital input/output lines 20 MHz (80 Mbytes/s) maximum transfer rate 8, 16, or 32-bit transfers Start and stop triggering, pattern and change detection 32 MB onboard memory per data path (group) (NI 6534 only) NI-DAQ driver simplifies configuration and measurements Operating Systems •Windows 2000/NT/XP/Me/9x • Mac OS 9* Recommended Software • LabVIEW • Measurement Studio for Visual Other Compatible Software • Visual Basic • C/C++ Driver Software (included) • NI-DAQ NI-DAQmx Key Concepts • Task: A task is a collection of one or more channels, timing, triggering, and other properties that apply to the task itself. Conceptually, a task represents a measurement or generation you want to perform. • Channel: Virtual channels are software entities that encapsulate the physical channel. The physical channel can be configured as data output channel or data input channel. • Timing, Triggering: The timing section explains clocks. The triggering section goes over the triggers such as a Start Trigger and a Reference Trigger, Analog Edge Trigger, Digital Edge Trigger. • Buffer: A buffer is a temporary storage in computer memory for acquired or to-be-generated samples. [10] Basic NI DAQmx Functions for PCI-6534 Device • Task Configuration/Control: DAQmxCreateTask (), DAQmxStartTask(), DAQmxStopTask(), DAQmxClearTask(), DAQmxIsTaskDone(), etc. • Channel Creation: DAQmxCreateDOChan(), DAQmxCreateDIChan() • Timing: DAQmxCfgSampClkTiming() • Write: DAQmxWriteDigitalU8(), DAQmxWriteDigitalU16(), DAQmxWriteDigitalU32() • Read: DAQmxReadDigitalU8(), DAQmxReadDigitalU16(), DAQmxReadDigitalU32() [11] DAQ Flowcharts Finite Sample Writing to DAQ device DAQmxCreateTask DAQmxCreateTask DAQmxCreateDOChan DAQmxCreateDIChan DAQmxCfgSampClkTiming DAQmxWriteDigitalU16 DAQmxStartTask [12] Finite Sample reading from DAQ device DAQmxCfgSampClkTiming DAQmxStartTask DAQmxReadDigitalU16 DAQmxStopTask DAQmxStopTask DAQmxClearTask DAQmxClearTask Example code (data output) Include “nidaqmx.lib” in the project setting [13] Example code (data input) Include “nidaqmx.lib” in the project setting [14]