Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:eval:user-guides:inertial-mems:imu:adis16448 [23 Jul 2012 21:59] – [PC-USB Evaluation with the EVAL-ADIS] Mark Looneyresources:eval:user-guides:inertial-mems:imu:adis16448 [11 Feb 2021 18:03] (current) Ioana Chelaru
Line 1: Line 1:
-====== ADIS16448 Evaluation Tools======+====== ADIS1644X EVALUATION ON THE EVAL-ADIS ======
 ===== OVERVIEW ===== ===== OVERVIEW =====
  
-''The [[adi>ADIS16448|ADIS16448]] is a low-profile, high-peformance IMU that uses a serial peripheral interface for data communications. This interface enables direct connection with a large variety of embedded processor products. This electrical connection typically only requires 5 I/O lines for sychronous data collection, as show in the following figure:''+The ADIS16445 and [[adi>ADIS16448|ADIS16448]] are low-profile, high-peformance IMUs that use a serial peripheral interface (SPI) for data communications. This interface enables direct connection with a large variety of embedded processor products. This electrical connection typically only requires 5 I/O lines for sychronous data collection, as show in the following figure:
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-hook-up-with-ep2.png?nolink&400|}} {{:resources:eval:user-guides:inertial-mems:imu:448-hook-up-with-ep2.png?nolink&400|}}
  
-===== ADIS16448/PCB Breakout Board ===== +===== ADIS1644X/FLEX BREAKOUT BOARD ===== 
-''For those who are on tight timeline, connecting the [[adi>ADIS16448|ADIS16448]] to an embedded controller will provide the most flexibility in developing application firmware and will more closely reflect the final system design. The [[adi>en/mems-sensors/mems-inertial-measurement-units/adis16448/products/EVAL-ADIS16448/eb.html|ADIS16448/PCBZ]] is the breakout board for the [[adi>ADIS16448|ADIS16448]] and may provide assistance in the process of hooking it up to an existing embedded processor system. For more information on the [[adi>en/mems-sensors/mems-inertial-measurement-units/adis16448/products/EVAL-ADIS16448/eb.html|ADIS16448/PCBZ]] breakout boardscheck out the following link: [[adi>en/mems-sensors/mems-inertial-measurement-units/adis16448/products/EVAL-ADIS16448/eb.html|ADIS1648/PCB Breakout Board Web Page]].'' +The ADIS1644X/FLEX provides direct connection path between any of the ADIS1644x models and J4 on the EVAL-ADIS evaluation system This accessory used to be part of the ADIS16334/PCBZ, ADIS16445/PCBZ and ADIS16448/PCBZ kitsbut is now available for purchase as a separate accessory 
  
-===== PC-USB Evaluation with the EVAL-ADIS ===== 
  
-''For those who would prefer to perform PC-based evaluation of the [[adi>ADIS16448|ADIS16448]], before developing their own embedded system, the [[adi>EVAL-ADIS|EVAL-ADIS]] is the appropriate system to use. The remainder of this Wiki site will focus on PC-based evaluation with the [[adi>EVAL-ADIS|EVAL-ADIS]] system.''+ 
 +===== EVAL-ADIS: PC EVALUATION ===== 
 + 
 +For those who would prefer to perform PC-based evaluation of the ADIS16445 or [[adi>ADIS16448|ADIS16448]], before developing their own embedded system, the [[adi>EVAL-ADIS|EVAL-ADIS]] is the appropriate system to use. The remainder of this Wiki site will focus on PC-based evaluation with the [[adi>EVAL-ADIS|EVAL-ADIS]] system.
  
 ===== EQUIPMENT LIST ===== ===== EQUIPMENT LIST =====
-''[[adi>EVAL-ADIS|EVAL-ADIS]]''+[[adi>EVAL-ADIS|EVAL-ADIS]]
  
-''[[adi>ADIS16448|ADIS16448/PCBZ]]''+[[adi>adis16448|ADIS16448BMLZ]] or [[adi>adis16445|ADIS16445BMLZ]]
  
 +[[adi>en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/EVAL-ADIS1644X.html|ADIS1644X/FLEX]]
 ===== SYSTEM REQUIREMENTS ===== ===== SYSTEM REQUIREMENTS =====
-''Windows XP, Vista, 7''+Windows XP, Vista, 7
  
-''.NET Framework 3.5''+.NET Framework 3.5
  
-''NOTE: We have found that newer versions of the .NET framework are not backwards compatible, with respect to their support of the IMU Evaluation software pacakge.''+NOTE: Newer versions of the .NET framework do not currnently support the IMU Evaluation software pacakge.
 ===== PHYSICAL SETUP ===== ===== PHYSICAL SETUP =====
-''The [[adi>en/mems-sensors/mems-inertial-measurement-units/adis16448/products/EVAL-ADIS16448/eb.html|ADIS16448/PCBZ]] includes one interface PCB, one flexible cable/connector and one [[adi>ADIS16448|ADIS16448AMLZ]] unit. Use the flexible cable/connector to install the [[adi>ADIS16448|ADIS16448]] onto the [[adi>EVAL-ADIS|EVAL-ADIS]], using the following five steps. Set interface PCB aside, as it is not used for connecting the [[adi>ADIS16448|ADIS16448AMLZ]] to the [[adi>EVAL-ADIS|EVAL-ADIS]].''+The [[adi>en/mems-sensors/mems-inertial-measurement-units/adis16448/products/EVAL-ADIS16448/eb.html|ADIS16448/PCBZ]] includes one interface PCB, one flexible cable/connector and one [[adi>ADIS16448|ADIS16448AMLZ]] unit. The ADIS16445/PCBZ includes one interface PCB, one flexible cable/connector and one ADIS16445AMLZ unit. All setup instructions in this section apply to both ADIS16445 and [[adi>ADIS16448|ADIS16448]] products. Note that the ADIS16445AMLZ does not have the 10-32/Tapped hole in its side wall. This will be the only observable difference in comparision with the [[adi>ADIS16448|ADIS16448AMLZ]], which is the product that most of the pictures in this section represents. Use the flexible cable/connector to install the [[adi>ADIS16448|ADIS16448]] onto the [[adi>EVAL-ADIS|EVAL-ADIS]], using the following five steps. Set interface PCB aside, as it is not used for connecting the [[adi>ADIS16448|ADIS16448AMLZ]] to the [[adi>EVAL-ADIS|EVAL-ADIS]].
    
-''NOTE: Do not plug the [[adi>EVAL-ADIS|EVAL-ADIS]] into the USB cable at this stage of the setup.  Wait until the software installation is complete.''+NOTE: Do not plug the [[adi>EVAL-ADIS|EVAL-ADIS]] into the USB cable at this stage of the setup.  Wait until the software installation is complete. 
 + 
 +NOTE: The machine screws that come with the [[adi>EVAL-ADIS|EVAL-ADIS]] can have a moderate impact on local magnetic fields. For those who need the best performance out of the magnetometer solution, consider replacing them with machine screws that are made out of aluminum or other non-ferrous materials.  
 + 
 +NOTE: The following steps represent the most convenient means of attachment, but do not support the "best practices" that are listed in this application note:   
 + 
 +[[ez>docs/DOC-2763|ADIS1644x Mounting Guidelines]].   
 + 
 +==== Step #1 ==== 
 +Install the flexible cable onto the [[adi>ADIS16448|ADIS16448AMLZ]]. The following pictures provide a visual refernece for correct connection.
  
-=== Step #1 === +**__CORRECT CONNECTION__**
-''Install the flexible cable onto the [[adi>ADIS16448|ADIS16448AMLZ]]. The following pictures provide a visual refernece for correct connection. ''+
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step1-01.jpg?nolink&200|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step1-01.jpg?nolink&200|}}
Line 36: Line 47:
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step1-02.jpg?nolink&400|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step1-02.jpg?nolink&400|}}
  
-''WARNING: Make sure that the connector is in proper alignment before pressing it in. Misalignment can cause pin damage and exposure to harmful conditions. The following pictures provide visual examples of INCORRECT PIN ALIGNMENT. The most common alignment issues will cause the top view to look different than the third picture, shown directly above this paragraph.''+WARNING: Make sure that the connector is in proper alignment before pressing it in. Misalignment can cause pin damage and exposure to harmful conditions. The following pictures provide visual examples of INCORRECT PIN ALIGNMENT. The most common alignment issues will cause the top view to look different than the third picture, shown directly above this paragraph. 
 + 
 +**__INCORRECT CONNECTION EXAMPLES__**
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step1-04.jpg?nolink&200|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step1-04.jpg?nolink&200|}}
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step1-05.jpg?nolink&200|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step1-05.jpg?nolink&200|}}
  
-=== Step #2 === +==== Step #2 ==== 
-''Connect the other end of the flexible cable to the [[adi>EVAL-ADIS|EVAL-ADIS]], using J4, pins 1-20. J4 has 24 pins, so make sure that the flexible cable connects only to pins 1-20 on J4.''+Connect the other end of the flexible cable to the [[adi>EVAL-ADIS|EVAL-ADIS]], using J4, pins 1-20. J4 has 24 pins, so make sure that the flexible cable connects only to pins 1-20 on J4.
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step2-01.jpg?nolink&400|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step2-01.jpg?nolink&400|}}
Line 48: Line 61:
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step2-03.jpg?nolink&400|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step2-03.jpg?nolink&400|}}
  
-=== Step #3 === +==== Step #3 ==== 
-''Slide the [[adi>ADIS16448|ADIS16448AMLZ]] body towards J4, while tucking the excess flexing under the connector interface, as show in the following pictures.''+Slide the [[adi>ADIS16448|ADIS16448AMLZ]] body towards J4, while tucking the excess flexing under the connector interface, as show in the following pictures.
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step3-01.jpg?nolink&300|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step3-01.jpg?nolink&300|}}
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step3-02.jpg?nolink&300|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step3-02.jpg?nolink&300|}}
  
-=== Step #4 === +==== Step #4 ==== 
-''Secure the [[adi>ADIS16448|ADIS16448AMLZ]] body, using (4) M2x0.4x10mm machine screws (included with [[adi>EVAL-ADIS|EVAL-ADIS]]) and the "E" mounting holes (EVAL-ADIS labels for mounting holes).''+Secure the [[adi>ADIS16448|ADIS16448AMLZ]] body, using (4) M2x0.4x10mm machine screws (included with [[adi>EVAL-ADIS|EVAL-ADIS]]) and the "E" mounting holes (EVAL-ADIS labels for mounting holes).
  
 {{:resources:eval:user-guides:inertial-mems:imu:eval-adis-nodut.png?nolink&400|}} {{:resources:eval:user-guides:inertial-mems:imu:eval-adis-nodut.png?nolink&400|}}
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step4-01.jpg?nolink&400|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step4-01.jpg?nolink&400|}}
  
-=== Step #5 === +==== Step #5 ==== 
-''Set JP1 ([[adi>EVAL-ADIS|EVAL-ADIS]]) to "+3.3V."''+Set JP1 ([[adi>EVAL-ADIS|EVAL-ADIS]]) to "+3.3V."
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step5-01.jpg?nolink&400|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-step5-01.jpg?nolink&400|}}
  
-===== IMU EVALUATION SOFTWARE INSTALLATION ====+====IMU EVALUATION SOFTWARE OVERVIEW====
-'' [[adi>static/imported-files/eval_boards/IMU-Evaluation-EVAL-ADIS.zip|Click here to download the IMU Evaluation software]] to a personal computer, which enables PC-based evaluation of the [[adi>ADIS16448|ADIS16448]] on an [[adi>EVAL-ADIS|EVAL-ADIS]] evaluation system.  The download file will contain three separate files: The USB driver (SDPDrivers.exe), the application file (IMUEvaluation.exe) and the revision table. Copy these files to a convenient folder for running the application from.'' +
- +
-{{:resources:eval:user-guides:inertial-mems:imu:imu-eval-downloadfilecontents.png?nolink&500|}}+
  
 +{{page> resources/eval/user-guides/inertial-mems/imu/imu-evaluation-software#imu_evaluation_software_overview&nofooter&noheader}}
  
 ====USB Driver Installation==== ====USB Driver Installation====
-''The SDPDrivers.exe file contains USB drivers that are compatible with both 32-bit and 64-bit Windows systems. Double-click on the SDPDrivers.exe file and follow the prompts to install the USB driver files onto the PC. When the following window appears, click on **Next** and then click on **Install** to continue with the installation.'' 
  
-{{:resources:eval:user-guides:inertial-mems:imu:eval-adis-usbdriverinstall-01.png?nolink&400|}} +{{page> resources/eval/user-guides/inertial-mems/imu/imu-evaluation-software#usb_driver_installation&nofooter&noheader}}
-{{:resources:eval:user-guides:inertial-mems:imu:eval-adis-usbdriverinstall-02.png?nolink&400|}}+
  
-''The following pictures show the progress bar and the final confirmation window. Click on **Finish** to complete the installation.''+====IMU EVALUATION SOFTWARE GETTING STARTED====
  
-{{:resources:eval:user-guides:inertial-mems:imu:eval-adis-usbdriverinstall-03.png?nolink&400|}} +{{page> resources/eval/user-guides/inertial-mems/imu/imu-evaluation-software#imu_evaluation_software_starting_point&nofooter&noheader}}
-{{:resources:eval:user-guides:inertial-mems:imu:eval-adis-usbdriverinstall-04.png?nolink&400|}}+
  
  
 +====IMU EVALUATION SOFTWARE REVISION HISTORY====
  
 +{{page> resources/eval/user-guides/inertial-mems/imu/imu-evaluation-software#software_revision_history&nofooter&noheader}}
  
  
-===== IMU EVALUATION SOFTWARE GUIDE ===== 
-''After the USB driver installation is complete, connect the [[adi>EVAL-ADIS|EVAL-ADIS]] USB connector to the PC, using the USB Mini cable, from the [[adi>EVAL-ADIS|EVAL-ADIS]] kit. LED2 will illuminate as soon as this connection is made. This indicates that the [[adi>EVAL-ADIS|EVAL-ADIS]] has power and is going through its start-up/initialization process.  After the [[adi>EVAL-ADIS|EVAL-ADIS]] completes its this process, LED1 will illuminate, indicating that it is time to launch the IMU Evaluation application.  During the initialization process, several messages may appear on the screen. They are related to updating the EVAL-ADIS firmware and establishing communication between the PC and the [[adi>EVAL-ADIS|EVAL-ADIS]]. Once LED1 lights up, double click on the IMU_Evaluation.exe file to launch the application.'' 
-==== Main Window ==== 
-''Once the IMU Evaluation software starts-up, the Main Window will appear and look like the following picture. The second picture provides color-coded boxes to support further discussion of each function in this screen.'' 
  
-{{:resources:eval:user-guides:inertial-mems:imu:448-imueval-softguide-01.png?nolink&400 |}} 
-{{:resources:eval:user-guides:inertial-mems:imu:448-imueval-softguide-02.png?nolink&400|}} 
  
-''The orange box identifies the drop-down menus, which provide a number of useful features. The **Devices** option provides a list of products. For [[adi>ADIS16448|ADIS16448]] Evaluation, click on **Devices** and then select **ADIS16448**. The green box shows the current device selection, which in this case, identifies the [[adi>ADIS16448|ADIS16448]] as the current selection.'' 
  
-''The **Register Access** option provides a listing of user-configurable registers in the [[adi>ADIS16448|ADIS16448]] and also provides read/write access to each one of these registers.'' 
  
-''The **Data Capture** option provides the core data collection function.'' 
  
-''The **Demos** option does not support the [[adi>ADIS16448|ADIS16448]].'' 
  
-''The **Tools** option provides some diagnostic tools for the USB interface.'' 
  
-''The **About** option provides more detail software revision information.'' 
- 
-''The purple box identifies the output registers, which update, real-time, after pressing the **Read** button (see the red box for the location of the **Read** button).'' 
- 
-''The yellow box identifies the three waveform recorder windows. The top window contains the three gyroscope outputs. The middle window contains the three accelerometer responses. The bottom window contains the three magnetometer responses. Also, each waveform matches the color of its register (see register titles in the purple box).'' 
-==== Register Access ==== 
-''The purpose of the **Register Access** window is to provide both read and write access to the user registers in the [[adi>ADIS16448|ADIS16448]]. The following picture shows the appearance of this window.'' 
- 
-{{:resources:eval:user-guides:inertial-mems:imu:448-imueval-regaccess-01.png?nolink&600|}} 
- 
- 
-''The color coded boxes illustrate the different functions that this window provides.'' 
- 
-{{:resources:eval:user-guides:inertial-mems:imu:448-imueval-regaccess-02.png?nolink&600|}}  
- 
- 
-''The purple box identifies the register category.  In addition to the Control/Status, this drop-down control offers access to **Output** and **Calibration** registers.'' 
- 
-''The red box identifies all of the registers that are in the current category. Click on the register name to select a register for individual read/write access.'' 
- 
-''The green box identifies the read/write control options for the current register selection. Use the hexadecimal format when writing commands to a particular register.'' 
- 
-''The **Update Registers in Category** button (orange box) triggers a read and display update of all registers in the current category (red box).'' 
- 
-''The yellow box identifies the area that provides single-bit command buttons, such as the ones provided by the GLOB_CMD register.'' 
- 
-''The **Save Reg Settings to File** command saves all of the registers in the current category into a *.csv (common-delimited) file.  The **Load Reg Settings from File** button reads those settings back into the software package and triggers a routine that updates all registers with the values from this file.'' 
- 
-''APPLICATION TIP: The **Register Acess** screen writes to user control registers, inside of the [[adi>ADIS16448|ADIS16448]], two bytes at a time. So, when configuring a register, make sure to include the hexadecimal number for all 16-bits, before pressing the **Write Register** button. When using an embedded processor to write to user control registers, inside of the [[adi>ADIS16448|ADIS16448]], each command (16-bits) writes to one byte at a time.'' 
-==== Data Capture Menu ==== 
-''The Data Capture function supports synchronous data acquisition, based on the data-ready signal from the [[adi>ADIS16448|ADIS16448]].  The following picture represents the Data Capture window, right after opening it from the **Main Window** and the second picture provides color-coded boxes, in order to support further discussion of each function that is associated with this screen.'' 
- 
-{{:resources:eval:user-guides:inertial-mems:imu:448-imueval-datacapture-01.png?nolink&400 |}} 
-{{:resources:eval:user-guides:inertial-mems:imu:448-imueval-datacapture-02.png?nolink&400|}} 
- 
-''The red box identifies all of the registers that are eligible for inclusion in the next acquistion process. Click on each box to include a register in the next data acquistion sequence. The box will have a check mark when it has been selected. '' 
- 
-''The green box identifies the configuration box for the name and location of the data storage file.'' 
- 
-''The yellow box identifies a number of configuration options for the data acquisition process. The **Record Length** is a user input for the total number of samples in a data record. Note that all selected registers will have this number of samples in the data record file, after the acuistion process completes. The **Sample Rate** represents the rate that the [[adi>ADIS16448|ADIS16448]] updates its output register. This depends on the configuration in the SMPL_PRD{12:8] bits. For example, if SMPL_PRD = 0x0801, bits 12:8 represent a decimation setting of 8, which would result in an update rate of 102.5 SPS. After each update to the **Record Length** box, the software calculates the displays the total **Capture Time**.  The **Add Header** option allows the user to add or remove the header in the data storage file.  The **Use Scaled Data** causes the software to convert the decimal, twos omplement number into its representatiive value.  For example, when enabling **Use Scaled Data,** the gyroscope outputs will  be in units of degrees/second.'' 
 =====EXAMPLE EVALUATION EXERCISES===== =====EXAMPLE EVALUATION EXERCISES=====
  
 ====Gyroscope Demonstration==== ====Gyroscope Demonstration====
-''The following example provides a simple demonstration example, for illustrating the gyroscope response to simple rotation.'' +The following example provides a simple demonstration example, for illustrating the gyroscope response to simple rotation.
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-imueval-waverec-ex1-04.png?nolink&600|}} {{:resources:eval:user-guides:inertial-mems:imu:448-imueval-waverec-ex1-04.png?nolink&600|}}
  
-''In order to re-create the z-axis gyroscope (blue waveform, top plot) response, click on **Read** button and rotate the [[adi>ADIS16448|ADIS16488]]/[[adi>EVAL-ADIS|EVAL-ADIS]], in the manner that the following picture illustrates. Perform a couple of rotation cycles and then hit **Stop**.'' +In order to re-create the z-axis gyroscope (blue waveform, top plot) response, click on **Read** button and rotate the [[adi>ADIS16448|ADIS16488]]/[[adi>EVAL-ADIS|EVAL-ADIS]], in the manner that the following picture illustrates. Perform a couple of rotation cycles and then hit **Stop**.
  
-{{:resources:eval:user-guides:inertial-mems:imu:448-imueval-waverec-ex1-01.png?nolink&400|}}+{{:resources:eval:user-guides:inertial-mems:imu:448-gyro-p01.png?nolink&300|}}
  
-''In order to re-create the x-axis gyroscope (read waveform, top plot) response, click on **Read** button and rotate the [[adi>ADIS16448|ADIS16488]]/[[adi>EVAL-ADIS|EVAL-ADIS]], in the manner that the following picture illustrates. Perform a couple of rotation cycles and then hit **Stop**. Note that using both both thumbs, to fix the pivot point, typically helps produce a response that is closer to "x-axis only."'' +In order to re-create the x-axis gyroscope (read waveform, top plot) response, click on **Read** button and rotate the [[adi>ADIS16448|ADIS16488]]/[[adi>EVAL-ADIS|EVAL-ADIS]], in the manner that the following picture illustrates. Perform a couple of rotation cycles and then hit **Stop**. Note that using both both thumbs, to fix the pivot point, typically helps produce a response that is closer to "x-axis only."
  
-{{:resources:eval:user-guides:inertial-mems:imu:448-imueval-waverec-ex1-02.png?nolink&400|}}+{{:resources:eval:user-guides:inertial-mems:imu:448-gyro-p02.png?nolink&300|}}
  
-''In order to re-create the y-axis gyroscope (green waveform, top plot) response, click on **Read** button and rotate the [[adi>ADIS16448|ADIS16488]]/[[adi>EVAL-ADIS|EVAL-ADIS]], in the manner that the following picture illustrates. Perform a couple of rotation cycles and then hit **Stop**. Note that using both both hands, to fix the pivot point, typically helps produce a response that is closer to "y-axis only."'' +In order to re-create the y-axis gyroscope (green waveform, top plot) response, click on **Read** button and rotate the [[adi>ADIS16448|ADIS16488]]/[[adi>EVAL-ADIS|EVAL-ADIS]], in the manner that the following picture illustrates. Perform a couple of rotation cycles and then hit **Stop**. Note that using both both hands, to fix the pivot point, typically helps produce a response that is closer to "y-axis only."
  
-  +{{:resources:eval:user-guides:inertial-mems:imu:448-gyro-p03.png?nolink&300|}}
-{{:resources:eval:user-guides:inertial-mems:imu:448-imueval-waverec-ex1-03.png?nolink&400|}}+
  
-''The purpose of these simple exercises is to develop an intuition the sensor's response to motion.  For those who develop their own clever demonstration ideas, post them in the [[ez>community/mems|Engineer Zone-MEMS Community]].''+The purpose of these simple exercises is to develop an intuition the sensor's response to motion.  For those who develop their own clever demonstration ideas, post them in the [[ez>community/mems|Engineer Zone-MEMS Community]].
 ====Accelerometer Demonstration, Gravity==== ====Accelerometer Demonstration, Gravity====
-''The [[adi>ADIS16448|ADIS16448]] accelerometers response to gravity, in a manner that is consistent with Figure 17, on page 12 of the [[adi>ADIS16448|ADIS16448]] datasheet.  Use the Waveform Recorder to verify the accelerometer responses in six different orientations.  In this exercise, place the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] flat on a table, or in a small vice, as shown in the following picture.  Then, click on **Read**, wait for the curves to reach two divisions and then click on **Stop**.  Repeat this process, using the following pictures, which represent a total of six orientations, including **#1**''+The [[adi>ADIS16448|ADIS16448]] accelerometers response to gravity, in a manner that is consistent with Figure 17, on page 12 of the [[adi>ADIS16448|ADIS16448]] datasheet.  Use the Waveform Recorder to verify the accelerometer responses in six different orientations.  In this exercise, place the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] flat on a table, or in a small vice, as shown in the following picture.  Then, click on **Read**, wait for the curves to reach two divisions and then click on **Stop**.  Repeat this process, using the following pictures, which represent a total of six orientations, including **#1**
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-imu-eval-accel-static-p01.png?nolink&130|}} {{:resources:eval:user-guides:inertial-mems:imu:448-imu-eval-accel-static-p01.png?nolink&130|}}
Line 175: Line 133:
 {{:resources:eval:user-guides:inertial-mems:imu:448-imu-eval-accel-static-p06.png?nolink&130|}} {{:resources:eval:user-guides:inertial-mems:imu:448-imu-eval-accel-static-p06.png?nolink&130|}}
  
-''Complete the exercise by returning to orientation **#1** for the final two divisions on the waveform recorder screen and the final result will look like this.''+Complete the exercise by returning to orientation **#1** for the final two divisions on the waveform recorder screen and the final result will look like this.
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-imueval-tutex-accel-staticresponse-01.png?nolink&600|}} {{:resources:eval:user-guides:inertial-mems:imu:448-imueval-tutex-accel-staticresponse-01.png?nolink&600|}}
Line 181: Line 139:
  
 ====Accelerometer Demonstration, Dynamic==== ====Accelerometer Demonstration, Dynamic====
-''Note that this exercise is just an example of how to develop an understanding of how the accelerometers will respond to dynamic motion.  There are an infinite number of ways to do this.  Keep in mind that the sample rate for the waveform recorder is fairly low, so keep your motion slow, so that you do not miss a leading edge of your motion and get fooled into thinking that the orientation is the opposite of what you expect.  While this exercise uses the waveform recorder, the **Data Capture** function will provide higher sample rates and time resolution for transient movements.''+Note that this exercise is just an example of how to develop an understanding of how the accelerometers will respond to dynamic motion.  There are an infinite number of ways to do this.  Keep in mind that the sample rate for the waveform recorder is fairly low, so keep your motion slow, so that you do not miss a leading edge of your motion and get fooled into thinking that the orientation is the opposite of what you expect.  While this exercise uses the waveform recorder, the **Data Capture** function will provide higher sample rates and time resolution for transient movements.
  
-''Click on **Read** and hold the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] flat in your hand, with the USB cable pointed to the right and the [[adi>ADIS16448|ADIS16448]] pointed up.  Swing the device in a clock wise direction, in a manner that is similar to a big wave to someone.  At the end of the clockwise wave, you will want the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] to be pointed down. Then swing the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] back in a counter-clockwise direction and when the device is back in its original orietnation, click on **Stop**. The following picture provides an example of what the waveform recorder will look like during this exercise. Notice the positive z-axis response on the leading edge of the response (blue curve) of the clockwise rotation.  On the backswing, the rotation is counter-clockwise and the z-axis response leads with a negative transient.''+Click on **Read** and hold the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] flat in your hand, with the USB cable pointed to the right and the [[adi>ADIS16448|ADIS16448]] pointed up.  Swing the device in a clock wise direction, in a manner that is similar to a big wave to someone.  At the end of the clockwise wave, you will want the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] to be pointed down. Then swing the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] back in a counter-clockwise direction and when the device is back in its original orietnation, click on **Stop**. The following picture provides an example of what the waveform recorder will look like during this exercise. Notice the positive z-axis response on the leading edge of the response (blue curve) of the clockwise rotation.  On the backswing, the rotation is counter-clockwise and the z-axis response leads with a negative transient.
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-imueval-tutex-accel-dynamicresponse-02.png?nolink&600|}} {{:resources:eval:user-guides:inertial-mems:imu:448-imueval-tutex-accel-dynamicresponse-02.png?nolink&600|}}
 ====Gyroscope Bias Correction==== ====Gyroscope Bias Correction====
-''The [[adi>ADIS16448|ADIS16448]] datasheet (page 19, revision 0) offers a three-step process for gyroscope bias correction. This exercise implements these steps, using the [[adi>ADIS16448|ADIS16448]]/[[adi>AEVAL-ADIS|EVAL-ADIS]].''+The [[adi>ADIS16448|ADIS16448]] datasheet (page 19, revision 0) offers a three-step process for gyroscope bias correction. This exercise implements these steps, using the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]].
  
-''**__STEP #1: Set SENS_AVG = 0x0104__**''+**__STEP #1: Set SENS_AVG = 0x0104__**
  
-''From the **Main Window**, click on the **Register Access** option. Once this window is open, select the **SENS_AVG** regsiter and write "104" in the **New Hex Value** box, as shown in the following figure. Then click on **Write Register**. Notice that the register contents box changes at the conclusion of the write cycle.''+From the **Main Window**, click on the **Register Access** option. Once this window is open, select the **SENS_AVG** regsiter and write "104" in the **New Hex Value** box, as shown in the following figure. Then click on **Write Register**. Notice that the register contents box changes at the conclusion of the write cycle.
  
-{{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-gyrosens-sens_avg-setting-01.png?nolink&600|}} +{{:resources:eval:user-guides:inertial-mems:imu:imu_eval_registeraccess_gbcex-01.png?600|}} 
-{{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-gyrosens-sens_avg-setting-02.png?nolink&600|}}+{{:resources:eval:user-guides:inertial-mems:imu:imu_eval_registeraccess_gbcex-02.png?600|}}
  
-''APPLICATION TIP: When writing to the SENG_AVG register, using an embedded processor, write to the upper byte first, using DIN = 0xB801 (SENS_AVG[15:8] = 0x01) and the [[adi>ADIS16448|ADIS16448]] will automatically update the lower byte to 0x04.''  +APPLICATION TIP: When writing to the SENG_AVG register, using an embedded processor, write to the upper byte first, using DIN = 0xB801 (SENS_AVG[15:8] = 0x01) and the [[adi>ADIS16448|ADIS16448]] will automatically update the lower byte to 0x04.
  
-''**__STEP #2: Set SMPL_PRD = 0x0x1001__**''+**__STEP #2: Set SMPL_PRD = 0x0401__**
  
-''Stay in the **Register Access** window and click on SMPL_PRD, type 1001 into the **New Hex Value** box and then click on **Write Register**. Notice that the register contents box changes at the conclusion of the write cycle.''+Stay in the **Register Access** window and click on SMPL_PRD, type 1001 into the **New Hex Value** box and then click on **Write Register**. Notice that the register contents box changes at the conclusion of the write cycle.
  
-{{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-gyrosens-smpl-prd-setting-02.png?nolink&600|}}+{{:resources:eval:user-guides:inertial-mems:imu:imu_eval_registeraccess_gbcex-02a.png?600|}}
  
-''**__STEP #3: Set GLOB_CMD = 0x0001 (Start Auto-null)__**''+**__STEP #3: Set GLOB_CMD = 0x0001 (Start Auto-null)__**
  
-''Wait 3 minutes for the internal bias estimate to stabilize and stay in the **Register Access** window. Once the 3 minute waiting period has completed, click on the **Write** button, located next to the **AutoNull**, on the right side of the screen.''+Click on the **Write** button, located next to the **AutoNull**, on the right side of the screen.
  
-{{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-gyrosens-glob_cmd-auto-null-01.png?nolink&600|}}+{{:resources:eval:user-guides:inertial-mems:imu:imu_eval_registeraccess_gbcex-04.png?600|}}
  
-''After the calibration function completes, all of the register values on the screen will automatically refresh. Click on the **Calibration** register category to observe the updated values in the xGYRO_OFF registers.'' 
  
-''WAITING FOR SOFTWARE UPDATE TO PROVIDE THIS FIGURE''+After the calibration function completes, all of the register values on the screen will automatically refresh. Click on the **Calibration** register category to observe the updated values in the xGYRO_OFF registers.
  
-''APPLICATION TIP: The GLOB_CMD register access is managed in a separate box, to help manage the processing time associated with each single-command. When starting an auto-null function with an embedded processor, set DIN = 0xBE01 (GLOB_CMD[7:0] = 0x01) and wait at least 75ms before writing another commmand to the SPI interface.''+WAITING FOR SOFTWARE UPDATE TO PROVIDE THIS FIGURE 
 + 
 +APPLICATION TIP: The GLOB_CMD register access is managed in a separate box, to help manage the processing time associated with each single-command. When starting an auto-null function with an embedded processor, set DIN = 0xBE01 (GLOB_CMD[7:0] = 0x01) and wait at least 75ms before writing another commmand to the SPI interface.
  
  
Line 221: Line 180:
  
 ====Gyroscope Sensitivity==== ====Gyroscope Sensitivity====
-''For extensive characterization of sensitivity or linearity, over a broad range of conditions, a motor stage with encoder feedback offers the most efficient and accurate approach. For limited conditions, one can employ a simpler approach that involves reading the gyroscope output data while rotating it around a fixed angle. After finishing the motion and data collection, one can calculate the displacement angle by adding all of the gyroscope measurements together and then dividing that sum by the sample rate.  Here is a summary of the approach used in this exercise:''+For extensive characterization of sensitivity or linearity, over a broad range of conditions, a motor stage with encoder feedback offers the most efficient and accurate approach. For limited conditions, one can employ a simpler approach that involves reading the gyroscope output data while rotating it around a fixed angle. After finishing the motion and data collection, one can calculate the displacement angle by adding all of the gyroscope measurements together and then dividing that sum by the sample rate.  Here is a summary of the approach used in this exercise:
  
-''1. Use an [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] and the IMU Evaluation software.''+1. Use an [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] and the IMU Evaluation software.
  
-''2. Use the edge of a table as a reference, to rotate the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] 360 degrees around the z-axis, while capturing data.  Since the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] will end up in the same place that it started, it is easy to assure an accurate 360 degree turn.''+2. Use the edge of a table as a reference, to rotate the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] 360 degrees around the z-axis, while capturing data.  Since the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] will end up in the same place that it started, it is easy to assure an accurate 360 degree turn.
  
-''3. Use a range setting of +/-1000 deg/sec (SENS_AVG[15:8] = 0x04).''+3. Use a range setting of +/-1000 deg/sec (SENS_AVG[15:8] = 0x04).
  
-''4. Use a sample rate of 51.2SPS (SMPL_PRD = 0x0401).''+4. Use a sample rate of 51.2SPS (SMPL_PRD = 0x0401).
  
-''5. Capture 10 seconds worth of data.''+5. Capture 10 seconds worth of data.
  
-''Start by using the **Register Access** screen to write the appropriate values to SMPL_PRD (0x0401) and SENS_AVG (>0x0400). After updating these registers, close the **Register Access** screen and open the **Data Capture** screen. Select the ZGYRO_OUT box and duplicate all of the settings in the following picture. The filename and location can be different than shown on in this picture.''+Start by using the **Register Access** screen to write the appropriate values to SMPL_PRD (0x0401) and SENS_AVG (>0x0400). After updating these registers, close the **Register Access** screen and open the **Data Capture** screen. Select the ZGYRO_OUT box and duplicate all of the settings in the following picture. The filename and location can be different than shown on in this picture.
  
 {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-gyrosens-datacapt-02.png?nolink&600|}} {{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-gyrosens-datacapt-02.png?nolink&600|}}
  
-''After the **Data Capture** settings match the settings in the above picture, position the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] so that one of the long PCB edges is in alignment with a table edge. Practice rotating it a full 360 degrees within 10 seconds. Try to avoid rapid changes in the rate of rotation.  This may take a few trials to find the right motion and direction.  Once comfortable with the approach, click on **Capture** and rotate the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] a full 360 degree and make sure it is in alignment with the same edge that it started on.''+After the **Data Capture** settings match the settings in the above picture, position the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] so that one of the long PCB edges is in alignment with a table edge. Practice rotating it a full 360 degrees within 10 seconds. Try to avoid rapid changes in the rate of rotation.  This may take a few trials to find the right motion and direction.  Once comfortable with the approach, click on **Capture** and rotate the [[adi>ADIS16448|ADIS16448]]/[[adi>EVAL-ADIS|EVAL-ADIS]] a full 360 degree and make sure it is in alignment with the same edge that it started on.
  
-''**REFERENCES**''+**REFERENCES**
  
-''For more information on this approach to measuring sensitivity, click on the following technical article link:''+For more information on this approach to measuring sensitivity, click on the following technical article link:
  
-''[[adi>static/imported-files/tech_articles/GyroCalibration_EDN_EU_7_2010.pdf|A Simple Gyroscope Calibration by Mark Looney]]''+[[adi>static/imported-files/tech_articles/GyroCalibration_EDN_EU_7_2010.pdf|A Simple Gyroscope Calibration by Mark Looney]]
  
  
Line 252: Line 211:
  
 ====Gyroscope/Accelerometer Noise===== ====Gyroscope/Accelerometer Noise=====
-''In order to test the full-bandwidth, total noise in the [[adi>ADIS16448|ADIS16448]] gyroscopes and accelerometers, use the **Register Access** menu to set SMPL_PRD = 0x0001 and SENS_AVG = 0x0400.  Then, go into the **Data Capture** menu and duplicate the settings in the following picture.  Click on **Start** to collect the data and then open the data-log file in MS Excell to analyze the total noise for each axis, using the STDEV command inside of Excel.  Make sure that the [[adi>ADIS16448|ADIS16448]] is on a stable surface when performing this exercise.''+In order to test the full-bandwidth, total noise in the [[adi>ADIS16448|ADIS16448]] gyroscopes and accelerometers, use the **Register Access** menu to set SMPL_PRD = 0x0001 and SENS_AVG = 0x0400.  Then, go into the **Data Capture** menu and duplicate the settings in the following picture.  Click on **Start** to collect the data and then open the data-log file in MS Excell to analyze the total noise for each axis, using the STDEV command inside of Excel.  Make sure that the [[adi>ADIS16448|ADIS16448]] is on a stable surface when performing this exercise.
  
 {{:resources:eval:user-guides:inertial-mems:imu:adis16448-gyro-accel-noise-datacapture-setup-01.png?nolink&500|}} {{:resources:eval:user-guides:inertial-mems:imu:adis16448-gyro-accel-noise-datacapture-setup-01.png?nolink&500|}}
  
-''Note that all six sensors display noise that is consistent with the total noise specificaitons in the [[adi>ADIS16448|ADIS16448]] datasheet.''+Note that all six sensors display noise that is consistent with the total noise specificaitons in the [[adi>ADIS16448|ADIS16448]] datasheet.
  
 {{:resources:eval:user-guides:inertial-mems:imu:adis16488-gyro-accel-noise-test-01.png?nolink&500|}} {{:resources:eval:user-guides:inertial-mems:imu:adis16488-gyro-accel-noise-test-01.png?nolink&500|}}
 ====In-run Bias Stability==== ====In-run Bias Stability====
-''For the [[adi>ADIS16448|ADIS16448]] gyroscopes and acceleroemeters, "In-run Bias Stability" refers to the best resolution available, when averaging sequetital, time domain data.  This has a direct impact on the accuracy of a bias correction and therefore, has a direct impact on angle measurement drift.  In reviewing the Allan Variance curve for the gyroscopes ([[adi>http://www.analog.com/static/imported-files/data_sheets/ADIS16448.pdf#Page=08|Figure 7]]), the minima of the the best performance curve (//mean - 1 sigma//) is associated with an integration time of ~100 seconds. However, many of the units (from //mean// and //mean + 1 sigma// curves)) start approaching their minima at ~40 seconds.  While selecting the best settings may require some iteration, this exercise starts with an integration of 40 seconds, an output data rate of 51.2 SPS (SMPL_PRD = 0x0401) and a dyanmic range of +/-250 degrees/second (SENS_AVG = 0x0104).''+For the [[adi>ADIS16448|ADIS16448]] gyroscopes and acceleroemeters, "In-run Bias Stability" refers to the best resolution available, when averaging sequetital, time domain data.  This has a direct impact on the accuracy of a bias correction and therefore, has a direct impact on angle measurement drift.  In reviewing the Allan Variance curve for the gyroscopes ([[adi>static/imported-files/data_sheets/ADIS16448.pdf#Page=08|Figure 7]]), the minima of the the best performance curve (//mean - 1 sigma//) is associated with an integration time of ~100 seconds. However, many of the units (from //mean// and //mean + 1 sigma// curves)) start approaching their minima at ~40 seconds.  While selecting the best settings may require some iteration, this exercise starts with an integration of 40 seconds, an output data rate of 51.2 SPS (SMPL_PRD = 0x0401) and a dyanmic range of +/-250 degrees/second (SENS_AVG = 0x0104). 
 + 
 +Here is a snapshot of the **Data Access** and **Data Capture** screens, which configures the software to take 50 sets of z-axis gyroscope data, that contain 40-second time records each, at a read rate of 51.2SPS. 
 + 
 +{{:resources:eval:user-guides:inertial-mems:imu:imu_eval_registeraccess_sensex-01.png?600|}} 
 +{{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-gyrosens-datacapt-01.png?nolink&600|}} 
 + 
 +Click on the following link, for an example data file, with a manual calculation of the Allan Variance, at 40 seconds of integration time.  In this file, you will find the test unit exhibited ~13 deg/hour of in-run bias stability.  In this file, use the following reference points: 
 + 
 +**Column A** = Sample number 
 + 
 +**Column B** = Gyroscope output data 
 + 
 +**Column C** = 40-second average, starting at row 2053 
 + 
 +**Colum D** = Square of the mean difference 
 + 
 +**Cell F2** completes the Allan Variance computation 
 + 
 +{{:resources:eval:user-guides:inertial-mems:imu:adis16448-avar-examplecalc.xlsx|}}
  
-''Here is a snapshot of the **Data Access** and **Data Capture** screens, which configures the software to take 50 sets of z-axis gyroscope and y-axis acceleroemter data, that contain 40-second time records each, at a read rate of 51.2SPS.'' 
  
-{{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-avar-dataaccess-01.png?nolink&600|}} 
-{{:resources:eval:user-guides:inertial-mems:imu:448-eval-adis-avar-datacapture-01.png?nolink&600|}} 
  
  
 ====Angle Random Walk==== ====Angle Random Walk====
-''Additional details are coming soon.''+Additional details are coming soon.
  
  
resources/eval/user-guides/inertial-mems/imu/adis16448.1343073579.txt.gz · Last modified: 23 Jul 2012 21:59 by Mark Looney