Home
User Manual - Willow Technologies
Contents
1. Result IDs kErrNone 0 0 kErrSave 1 bi function to calculate CRC 16 UInt16 CRC void data UInt32 len UInt8 dataPtr UInt8 data UInt32 index 0 Update the CRC for transmitted and received data using the CCITT 16bit algorithm UIntl16 cre 0 while len crc unsigned char crc gt gt 8 crc dataPtr index crc unsigned char crc amp Oxff crc cro lt lt 8 lt lt 4 crc crc amp Oxff lt lt 4 return crc PNI Sensor Corporation TCM User Manual June 2011 crc 8 X L6 ft X Ll2 4 X 5 c Ll DOC 1014688 r05 Page 59 7 5 2 fpragma once CommProtocol h File include SystemSerPort h provides a callback for implemented in derived class include Processes h CommHandler is a base class that incoming messages class CommHandler public Call back to b virtual void HandleComm UInt8 frameType NULL UInt16 dataLen 0 void dataPtr CommProtocol handles the actual serial communication with the module Process is a base cl cooperative parallel class CommProtocol public enum ti enum TCM User Manual r05 Frame IDs public Process kGetModInfo 1 kModInfoResp kGetData kDataResp kHeading 5 kTemperatur kPAligned RAligned IZAligned PAngle 7 21 aN
2. User Manual FieldForce TCM High Accuracy Electronic Compass Module on SENSOR CORPORATION Table of Contents 1 COPYRIGHT amp WARRANTY INFORMATION ee eere eee eene 1 AE p iere 2 3 SPECIFICATIONS e K ENVE 3 3 1 Performance Specifications ecce nnnnnns 3 3 2 Operating Characteristics 1 2i necati spe basate bea tdasdentdeadogededessausces 4 3 3 Mechanical Drawlnhg osi te E a e eet ese EE 5 Eds eer 7 4 1 Electrical Connections ennemis 7 4 2 Installation Location tec te a e REUS 8 4 2 1 Operate within sensors linear regime sssseeesssss 8 4 2 2 Locate away from changing magnetic fields 8 4 2 3 Mount in a physically stable location srrreronnrrrnrnvennrrerrennrrenrenn 8 4 2 4 Location verification testing rr rrrrrnnnnnnnnrrrvrnrrnnnnnnnnrnrsnnrnnsnnnnnn 8 4 3 Mechanical VIT 9 5 OPERATION WITH TCM STUDIO icono tooi torno a ero Eoo kF eg uV gone apa rU p SEAN pen 10 5 1 Installation onto a Windows or Mac System 10 5 2 Connection BR E 11 5 2 1 Initial Connection 11 5 2 2 Changing Baud Rate 11 5 2 3 Changing Module 12 5 3 Configuration Tab 12 5 3 1 Mounting OptiOnS eene ennemi 12 5 3 2 North Reference cate ie e iege an ies dece adus 13 5 3 3 Bi IEN 13 5 3 4 GJE GE EE a aa eas a Naia Enei 13 5 3 5 Enable 3D Model rr
3. 5 3 11 Retrieve Clicking on this button causes TCM Studio to read the settings from the module and display them on the screen TCM User Manual r05 Page 16 5 4 Calibration Tab 3e OM Studio Ver 310 File Edit PCA Version SW TESTI Son Connection Configuration Calibration Test Data Logger System Log Graph Module TCM Firmware Version 0605 Serial Number 1020659 Connected 6 Samples M Calibration Results ag CalScore Dist Error 12 Tilt Error Tilt Range Accel CalScore Take Sample Current Configuration Opti DNS Limited Tilt Cal v Audible Feedback Automatic Sampling Accel Only Cal Hard Iron Only Cal 2D Only Cal Accel Cal with Mag Full Range Cal Heading Number of samples is 12 Pitch 000 0 Roll 000 0 000 0 Clear Accel Cal to Factory Clear Maq Cal to Factory Save Note The default settings of the module are recommended for the highest accuracy and quality of calibration 5 4 1 Samples Before proceeding refer to Section 6 2 for the recommended calibration procedure corresponding to the calibration method selected on the Configuration tab Clicking the Start button begins the calibration process If Automatic Sampling is not checked on the Configuration tab it is necessary to click the Take Sample button to take a calibration sample point This should be repeated until the total
4. PNI manufactures its TCM products Products from parts and components that are new or equivalent to new in performance PNI warrants that each Product to be delivered hereunder if properly used will for one year following the date of shipment unless a different warranty time period for such Product is specified 1 in PNI s Price List in effect at time of order acceptance or ii on PNI s web site www pnicorp com at time of order acceptance be free from defects in material and workmanship and will operate in accordance with PNI s published specifications and documentation for the Product in effect at time of order PNI will make no changes to the specifications or manufacturing processes that affect form fit or function of the Product without written notice to the OEM however PNI may at any time without such notice make minor changes to specifications or manufacturing processes that do not affect the form fit or function of the Product This warranty will be void if the Products serial number or other identification marks have been defaced damaged or removed This warranty does not cover wear and tear due to normal use or damage to the Product as the result of improper usage neglect of care alteration accident or unauthorized repair THE ABOVE WARRANTY IS IN LIEU OF ANY OTHER WARRANTY WHETHER EXPRESS IMPLIED OR STATUTORY INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF MERCHANTABILITY FITNESS FOR ANY PARTICULAR PURPO
5. Degrees SR ie 180 Degrees PRD Standard 270 R Y Sensor Up Plus ap 2 Degrees UD 270 Degrees ee X Sensor Up X Up 0 Z Sensor Down Z Down 0 X Sensor Up Plus uy S Z Sensor Down SC s 90 Degrees S ps Plus 90 Degrees A RONN X Sensor Up Plus av 5 Z Sensor Down ver e 180 Degrees A HP ace Plus 180 Degrees EE X Sensor Up Plus uy S Z Sensor Up Plus 4 S 270 Degrees X Up arn 270 Degrees 2 Down a70 5 3 2 North Reference Magnetic When the lt Magnetic gt button is selected heading will be relative to magnetic north True When the lt True gt button is selected heading will be relative to true north In this case the declination needs to be set in the Declination window Refer to Section 6 3 for more information 5 3 3 Endianess Select either the lt Big gt or lt Little gt Endian button The default setting is lt Big gt See Sections 7 2 and 7 3 for additional information 5 3 4 Output The TCM module can output heading pitch and roll in either degrees or mils Click either the lt Degrees gt or lt Mils gt button The default is lt Degrees gt There are 6400 mils in a circle such that 1 degree 17 7778 mils and 1 mil 0 05625 degree PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 13 5 3 5 Enable 3D Model TCM Studios Test tab includes a live action 3 D rendering of a helicopter Some computer systems may not have the graphics capability to render the
6. 1014688 r05 TCM User Manual June 2011 Page 29 Table 6 2 12 Point North Unaware Calibration Pattern Sample Yaw Pitch Roll First Circle 1 0 50 30 to 40 2 90 5 30 to 40 3 180 5 30 to 40 4 270 5 30 to 40 Second Circle 5 30 gt 445 30 to 40 6 120 gt 445 30 to 40 7 210 gt 445 30 to 40 8 300 gt 445 30 to 40 Third Circle 9 60 lt 45 30 to 40 10 150 lt 45 30 to 40 11 240 lt 45 30 to 40 12 330 lt 45 30 to 40 18 Point North Aware Calibration Pattern The pattern consists of three rotations of the module with 6 calibration points taken for each rotation The first rotation starts with the module horizontal and pointing north then rotating about the modules y axis The second rotation starts with the module horizontal and pointing east then rotating about the module s x axis The third rotation starts with the module vertical and pointing north then rotating about the module s z axis First Rotation Second Rotation Third Rotation North North O Axis of ua Axis of Axis of Rotation Rotation Rotation Figure 6 3 Full Range Calibration with 18 Point North Aware Cal Pattern TCM User Manual r05 Page 30 Table 6 3 18 Point North Aware Calibration Pattern Sample Heading
7. 31 Table 6 4 12 Point 2D Calibration Pattern 32 Table 6 5 12 Point Limited Tilt Calibration Pattern 32 Table 6 6 6 Point Hard Iron Only Calibration Pattern 33 Table 6 7 18 Point Accelerometer Calibration Pattern 34 Table 7 1 UART Configuration 36 Table 7 2 Command Set 39 Table 7 3 Component Identifiers 41 Table 7 4 Configuration Identifiers 43 Table 7 5 Sample Points 45 Table 7 6 Recommended FIR Filter Tap Values 49 List of Figures Figure 3 1 TCM XB Mechanical Drawing 5 Figure 3 2 TCM MB Mechanical Drawing 6 Figure 3 3 PNI Pigtailed Cable Drawing 6 Figure 4 1 Mounting Orientations 9 Figure 6 1 Positive amp Negative Roll and Pitch Definition 27 Figure 6 2 Full Range Calibration with 12 Point North Unaware Cal Pattern 29 Figure 6 3 Full Range Calibration with 18 Point North Aware Cal Pattern 30 Figure 6 4 Accelerometer Calibration Starting Orientations 34 Figure 7 1 Datagram Structure 36 TCM User Manual June 2011 Page iv 1 Copyright amp Warranty Information O Copyright PNI Sensor Corporation 2009 All Rights Reserved Reproduction adaptation or translation without prior written permission is prohibited except as allowed under copyright laws Revised May 2011 For most recent version visit our website at www pnicorp com PNI Sensor Corporation 133 Aviation Blvd Suite 101 Santa Rosa CA 95403 USA Tel 707 566 2260 Fax 707 566 2261 Warranty and Limitation of Liability PNI Sensor Corporation
8. 3D Model for this reason it may be necessary to turn off this feature 5 3 6 Filter Setting Taps The TCM incorporates a finite impulse response FIR filter to effectively provide a more stable heading reading The number of taps or samples represents the amount of filtering to be performed The user should select either 0 4 8 16 or 32 taps with zero taps representing no filtering Note that selecting a larger number of taps can significantly slow the time for the initial sample reading and if Flush Filters is selected the rate at which data is output The default setting is 32 5 3 7 Acquisition Settings Mode Poll mode should be selected when the host system will poll the TCM for data TCM Studio allows the user to simulate this on their PC In this case TCM Studio requests data from the TCM module at a relatively fixed basis Push mode should be selected if the user will have the TCM output data at a relatively fixed rate to the host system In this case the TCM module is pushing data out to TCM Studio at a relatively fixed rate Poll Delay The Poll Delay is relevant when Poll Mode is selected and is the time delay in seconds between the completion of TCM Studio receiving one set of sampled data and requesting the next sample set If the time is set to 0 then TCM Studio requests new data as soon as the previous request has been fulfilled Note that the inverse of the Poll Delay is somewhat greater t
9. 55 Payload 5 Mode ID Ulnt8 7 4 35 kSyncRead frame ID 49 a This frame requests a reading from the module when the unit is in Sync Mode This frame has no payload The response to this frame is kDataResp with heading pitch and roll set as the sequence of data component IDs Prior to sending the kSyncRead frame the user s system must first send an FF string which wakes up the system then wait some minimum delay time before sending the kSyncRead frame The minimum delay time is dependent on the baud rate and for a baud rate equal to or slower than 9600 there is no delay The minimum delay is defined by the same formula given for switching from Sync Mode to Normal Mode in kSetMode TCM User Manual r05 Page 56 7 5 Code Examples The following example files CommProtocol h CommProtocol cp TCM h and TCM cp would be used together for proper communication with a TCM module Note The following files are not included in the sample codes and need to be created by the user Processes h amp TickGenerator h The comments in the code explain what is needed to be sent or received from these functions so the user can write this section for the user s platform For example with the TickGenerator h the user needs to write a routing that generates 10 msec ticks 7 5 1 Header File amp CRC 16 Function type declarations typedef struct UInt8 pollingMode flushFilter Float32 sensorAc
10. 7373451424187e 2 16 07 9724971069144e 3 06 9231186101853e 2 17 06 9231 186101853e 2 18 06 7373451424187e 2 19 06 3781858267530e 2 20 05 8693165018301e 2 21 05 2436112653103e 2 22 04 5402682509802e 2 23 03 8014333463472e 2 24 03 0686505921968e 2 25 02 3794805168613e 2 26 01 7646051430536e 2 27 01 2456836057785e 2 28 08 3414139286254e 3 29 05 3097803863757e 3 30 03 2757326624196e 3 31 02 0737124095482e 3 32 PNI Sensor Corporation TCM User Manual June 2011 01 4823725958818e 3 DOC 1014688 r05 Page 49 7 4 12 kGetParam frame ID 134 This frame queries the FIR filter settings for the sensors Parameter ID should be set to 3 and the Axis ID should be set to 1 Payload Parameter ID Axis ID lt Ulnt8 Ulnt8 Lei 7 4 13 kParamResp frame ID 144 This frame contains the current FIR filter settings The format and values will the same as defined by kSetParam 7 4 14 kPowerDown frame ID 15 Payload Parameter ID Axis ID Count Value Value Value Valuecgun Filter Top ID ID ID 4 sinte gis Bini d mine SS Value Specific Specific Specific This frame is used to completely power down the module which is referred to as putting the module in Sleep Mode The frame h
11. are given below along with basic descriptions of the options Full Range Calibration magnetic only 104 D n Recommended calibration method when gt 45 of tilt is possible 2D Calibration magnetic only 204 144 Recommended when the available tilt range is limited to lt 5 Hard Iron Only Calibration magnetic only 304 1E Recalibrates the hard iron offset for a prior calibration If the local field hard iron distortion has changed this calibration can bring the module back into specification Limited Tilt Range Calibration magnetic only 404 28n Recommended calibration method when 5 of tilt calibration is available but tilt 1s restricted to 45 i e full range calibration is not possible Accelerometer Only Calibration 1004 64n Select this when only accelerometer calibration will be performed Accelerometer and Magnetic Calibration 110 6E Selected when magnetic and accelerometer calibration will be done simultaneously Below is a complete sample frame for a 2D Calibration 00 09 0A 00 00 00 14 5C F9 PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 47 Heading pitch and roll information a output via the kDataResp frame during the calibration process This feature provides guidance during the calibration regarding calibration sample point coverage During calibration in the kDataResp frame the number of data components is set to be 3 and then followed by the data
12. bytes are in reverse order LSB first 3130 2322 S Exponent Mantissa The value v is determined as if and only if 0 lt Exponent lt 255 v 1 S 2 Exponent 127 1 Mantissa Signed 32 Bit Integer SInt32 SInt32 based parameters are signed 32 bit numbers 2 s compliment Bit 31 represents the sign of the value 0 positive 1 negative 31 2423 1615 87 0 msb Isb Big Endian 7 0 15 8 23 1631 24 Isb msb Little Endian PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 37 Signed 16 Bit Integer SInt16 SIntl6 based parameters are signed 16 bit numbers 2 s compliment Bit 15 represents the sign of the value O positive 1 negative 15 87 0 7 0 15 8 msb Isb Isb msb Big Endian Little Endian Signed 8 Bit Integer SInt8 UInt8 based parameters are unsigned 8 bit numbers Bit 7 represents the sign of the value O positive 1 negative 7 0 byte Unsigned 32 Bit Integer Ulnt32 UInt32 based parameters are unsigned 32 bit numbers 31 24 23 1615 87 0 msb Isb Big Endian 7 0 15 8 23 1631 24 Isb msb Little Endian Unsigned 16 Bit Integer Ulnt16 UInt16 based parameters are unsigned 16 bit numbers 15 87 0 7 0 15 8 msb Isb Isb msb Big Endian Little Endian Unsigned 8 Bit Integer Ulnt8 UInt8 based para
13. component ID value pairs The sequence of the component IDs are kHeading kPAngle and kRAngle 7 4 10 kStopCal frame ID 11d This command aborts the calibration process and is not required to generally stop a calibration process Assuming the minimum number of sample points for the calibration as defined in Table 7 5 is not acquired prior to sending kStopCal the prior calibration results are retained If the acquired number of sample points prior to sending kStopCal si within the allowable range of kUserCalNumPoints then new calibration coefficients and a new score will be generated For instance if kUserCalNumPoints is set to 32 for a full range calibration and kStopCal is sent after taking the 12 sample point then a new set of coefficients will be generated based on the 12 sample points that were taken 7 4 41 kSetParam frame ID 124 The TCM incorporates a finite impulse response FIR filter to provide a more stable heading reading The number of taps or samples represents the amount of filtering to be performed Selecting a larger number of taps can significantly slow the time for the initial sample reading and if Flush Filters is selected the rate at which data is output Payload Parameter ID Axis ID Count Value Value Value Valuecgun ID ID ID ID Ulnt8 gt Ulnt6 UInt8 Ed sbeciic gt Speciic Specific specific Parameter ID should be set to 3 an
14. eire x roni de a 14 5 3 6 eee 14 5 3 7 Acquisition EE og ul 14 5 3 8 HPR During Calibration E 15 5 3 9 Calibration Settings EN 15 5510 KE EE 16 LIMEN ce nka a e aa E a aae aa 16 5 4 Calibration Tab erue eene araa aa eE ENEE a 17 5 4 1 LU E 17 5 4 2 Calibration Results su apnnosassekk tr e e 18 5 4 3 Current Config atlOft eegene geed 19 5 4 4 OPTIONS 22 ud ccateedisicnnd iant ata aaia a eaan ada paaa iea 19 5 4 5 CIC AM EE E A T E EE 19 5 5 Test Ta ME 20 5 5 1 Cuitent Read ol Eed aaa 20 PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Pagei 5 5 2 KT EE EE 20 5 5 3 Acquisition Setting 20 5 5 4 Sync Mode Ras ene 21 5 6 Data Logger Tab 5 ect e end ER REUS 22 5 7 System Loge Tab hao sr thereto COS 23 5 8 Graph Lab zen ue e E SEET ee Ge Auge ee 24 6 FIELD CALIBRATION tegen k sst gege X ENE NES ETE eer 25 6 1 Magnetic Field Calibration Theory esses 26 6 1 1 Hard and Soft Iron Eftfects 26 6 1 2 Pitch and Roll et edit ee evi teil 26 6 2 Field Calibration Procedures esee enne 27 6 2 1 Full Range Calibration nemenin nte e Tia 28 6 2 2 2D Calibrati rz iuc RED a a 31 6 2 3 Limited Tilt Range Calbration 32 6 2 4 Hard Iron Only Calibration esses 33 6 2 5 Accelerometer Only Calibration rrnrorrnnrnnrnnnnnnnnrrrrrnrrnnnnnnnnrnnn 33 6 2 6 Mag nd Accel Calibration iiu tete tan Dr EEN 35 6 3 Declination Value esses nennen een
15. mExpectedLen kPacketMinSize else crc s don t match so clear everything that is currently in the input buffer since the data is not reliable mSerialPort gt InClear go back to looking for the length bytes mStep 1 else Ticks is a timer function 1 tick 10msec if Ticks gt mTime Corrupted message We did not get the length we were expecting within 1 2sec of receiving the length bytes Clear everything in the input buffer since the data is unreliable mSerialPort gt InClear mStep 1 Look for the next length bytes break default break PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 65 7 5 4 TCM h File pragma once include Processes h include CommProtocol h This file contains the object providing communication to the TCM It will set up the module and parse packets received Process is a base class that provides TCM with cooperative parallel processing The Control method will be called by a process manager on a continuous basis class TCM public Process public CommHandler public TCM SerPort serPort TCM protected CommProtocol mComm UInt32 mStep mTime mResponseTime void HandleComm UInt8 frameType void dataPtr NULL UInt16 dataLen 0 void SendComm UInt8 frameType void dataPtr NULL UInt16 dataLen
16. magnetic The TCM can be mounted in various orientations as shown in Figure 4 1 All reference points are based on the white silk screened arrow on the top side of the board The orientation should be programmed in the TCM using the kSetConfig command and the kMountingRef setting as described in Section 7 4 5 Z DOWN 0 HEADING HEADING Z DOWN 180 HEADING HEADING HEADING Note that the Z axis sensor and Molex connector are on the top surface of the module Figure 4 1 Mounting Orientations PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 9 5 Operation with TCM Studio The TCM Studio evaluation software communicates with the TCM XB through the RS232 serial port of a computer The TCM MB is not compatible with TCM Studio because it is not compatible with an RS232 protocol serial port TCM Studio puts an easy to use graphical user interface GUI onto the binary command language used by the TCM Instead of manually issuing command codes the user can use buttons check boxes and dialog boxes to control the TCM and obtain data It reads the binary responses of the TCM output and formats this into labeled and easy to read data fields TCM Studio also includes the ability to log and save the outputs of the TCM to a file All of this allows you to begin understanding the capabilities of the TCM while using the TCM Studio program s friendly interface Anything that can be performed using TC
17. on a hard surface as shown but the it must be held very still during calibration and holding it against a hard surface is one method to help ensure this Starting with the module as shown on the left in Figure 6 4 rotate the module such that it sits on each of its 6 faces Take a calibration point on each face Starting with the module as shown on the right take a calibration point with it being vertical 0 Now tilt the module back 45 and take another calibration point 45 then tilt the module forward 45 and take another calibration point 45 Repeat this 3 point calibration process for the module with it resting on each of its 4 corners PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 33 Figure 6 4 Accelerometer Calibration Starting Orientations Table 6 7 18 Point Accelerometer Calibration Pattern Sample Yaw Pitch Roll Sides 1 0 0 90 2 0 90 90 3 180 0 90 4 0 90 90 5 0 0 0 6 0 0 180 First Corner 7 0 59 10 to 20 8 90 59 10 to 20 9 180 iHe 10 to 20 Second Corner 10 270 T5 10 to 20 11 30 gt 445 10 to 20 12 120 gt 445 10 to 20 Third Corner 13 210 gt 45 10 to 20 14 300 gt 445 10 to 20 15 60 lt 45 10 to 20 Fourth Corner 16 150 lt 45 10 to 20 17 240 lt 45 10 to 20 18 330 lt
18. range is to 180 0 to 180 0 kXAligned kYAligned kZAligned Component IDs 274 284 294 These values represent Earth s calibrated magnetic field M vector components The Note that up to eight 8 sets of values can be stored using kCoeffCopySet see Section 7 4 5 and this command default values are the factory calibrated values references whichever set currently is being used 7 4 3 kGetData frame ID 44 This frame queries the module for data as established in kSetDataComponents The frame has no payload The complete packet for the kGetData command is 00 05 04 BF71 Where 00 05 is the byte count 04 is the kGetData command and BF 71 is the CRC 16 checksum 7 4 4 kDataResp frame ID 54 This frame is the response to the kGetData frame The first byte of the payload indicates the number of data components followed by the data component ID value pairs The sequence of component IDs follows the sequence set in the kSetDataComponents frame 4 Payload Count ID 1 Value ID 2 Value Count Value count lt 4 Ulnt8 Ulnt8 ID Ulnt8 ID Ulnt8 ID TCM User Manual r05 gt lt 4 gt lt Specific gt L gt Specific gt k Page 42 Specific Example If the response contains heading and pitch the payload would look like 2 5 359 9 24 10
19. the module Dist Error Indicates the quality of the sample point distribution primarily looking for an even yaw distribution Significant clumping or a lack of sample points in a particular section can result in a poor score The score should be 1 and close to 0 Tilt Error Indicates the contribution to the CalScore caused by tilt or lack thereof and takes into account the calibration method The score should be 1 and close to 0 Tilt Range This reports the larger of either half the full pitch range or half the full roll range of sample points For example if the module is pitched 10 to 20 and rolled 25 to 15 the Tilt Range value would be 20 as derived from 25 15 2 For Full Range Calibration and Hard Iron Only Calibration this should be 245 For 2D Calibration this ideally should be 2 For Limited Tilt Range Calibration the value should be as large a possible given the user s constraints Accel CalScore Represents the over riding indicator of the quality of the accelerometer calibration Acceptable scores will be lt 1 If either CalScore is too high click the Start button to begin a new calibration If the calibration is acceptable then click the Save button in the Calibration Results window to save the calibration to the module s flash If this button is not selected then the module will need to be recalibrated after a power cycle TCM User Manual r05 Page 18 Note If a cal
20. the requirements of each calibration are significantly different Magnetometer calibration requires the module be incorporated in the user s system while accelerometer calibration requires full sphere coverage e Full Range magnetometer Calibration provides the highest heading accuracy but often performing a Full Range Calibration is not practical 2D and Limited Tilt Calibration allow for good calibration when the range of allowable motion is limited Hard Iron Only Calibration relatively easily updates the hard iron compensation coefficients e The number of calibration sample points and the calibration pattern is dependent on the calibration method and these are discussed in Section 6 2 e Pay attention to the calibration scores See Section 5 4 2 or Section 7 4 17 PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 25 6 1 Magnetic Field Calibration Theory The main objective of a magnetic field calibration is to compensate for distortions to the magnetic field caused by the host system To that end the TCM needs to be mounted within the host system and the entire host system needs to be moved as a single unit during the calibration The TCM allows the user to perform a calibration only in a 2D plane 2D Calibration Method or with limited tilt but provides the greatest accuracy if the user can rotate through a full sphere 6 1 1 Hard and Soft Iron Effects Hard iron distortions are caused by permanent magne
21. to the default value of 32 any new sample is added to the end with the first sample being dropped In the case where the Acquire Time is set to a value it would be prudent to set the module to flush the filter prior to calculating the heading This flushing will require the module to take 32 new samples to use for the calculation Note If the Flush Filters checkbox is checked it will take longer for the module to output updated data 5 3 8 HPR During Calibration When the On button is selected heading pitch and roll will be output on the Calibration tab during a calibration 5 3 9 Calibration Settings Automatic Sampling When selected the module will take a sample point once minimum change and stability requirements have been satisfied If the user wants to have more control over when the point will be taken then Auto Sampling should be deselected Once deselected the Take Sample button on the Calibration tab will be active Selecting the Take Sample button will indicate to the module to take a sample once the minimum requirements are met Calibration Points The user can select the number of points to take during a calibration The minimum number of points needed for an initial calibration is 10 although a hard iron only re calibration can be performed with only 4 samples The module will need to be PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 15 rotated through at least 18
22. 0 void Control i TCM User Manual r05 Page 66 7 5 5 TCM cpp File include TCM h include TickGenerator h const UInt8 kDataCount 4 We will be requesting 4 componets Heading pitch roll temperature This object polls the TCM module once a second for heading pitch roll and temperature TCM TCM SerPort serPort Process TCM Let the CommProtocol know this object will handle any serial data returned by the module mComm new CommProtocol this serPort mTime 0 mStep 1 TCM TCM Called by the CommProtocol object when a frame is completely received void TCM HandleComm UInt8 frameType void dataPtr UInt16 dataLen UInt8 data UInt8 dataPtr switch frameType case CommProtocol kDataResp Parse the data response UInt8 count data 0 The number of data elements returned UInt32 pntr 1 Used to retrieve the returned elements The data elements we requested Float32 heading pitch roll temperature if count kDataCount PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 67 Message is a function that displays a C formatted string similar to printf Message Received u data elements instead of the Su requested r n UIntl6 count UInt16 kDataCount return loop through and collect th lements while c
23. 0 degrees in the horizontal plane with a minimum of at least I positive and 1 negative Pitch and at least 1 positive and 1 negative Roll as part of the 12 points Calibration Method Buttons Full Range Calibration recommended calibration method when gt 45 of tilt is possible The minimum recommended number of calibration points is 12 Hard Iron Only Calibration serves as a hard iron recalibration to a prior calibration If the hard iron distortion around the module has changed this calibration can bring the module back into specification The minimum recommended number of calibration points is 6 Limited Tilt Range Calibration recommended calibration method when 5 of tilt calibration is available but tilt is restricted to lt 45 i e full range calibration is not possible The minimum recommended number of calibration points is 12 2D Calibration recommended when the available tilt range is limited to lt 5 The minimum recommended number of calibration points is 12 Accel Calibration Only The user should select this when accelerometer calibration will be performed The minimum recommended number of calibration points is 18 Accel Calibration w Mag The user should select this when magnetometer and accelerometer calibration will be performed simultaneously The minimum recommended number of calibration points is 18 5 3 10 Default Clicking this button reverts TCM Studio program to the factory default settings
24. 1 UInt8 pkt kDataCount 1 the compents we are requesting preceded by the number of components being requested pkt 0 kDataCount pkt 1 CommProtocol kHeading pkt 2 CommProtocol kPAngle pkt 3 CommProtocol kRAngle pkt 4 CommProtocol kTemperature SendComm CommProtocol kSetDataComponents pkt kDataCount 1 Ticks is a timer function 1 tick 10msec mTime Ticks 100 Taking a sample in 1s mStep go to next step of process break case 2 Ticks is a timer function 1 tick 10msec if Ticks gt mTime tell the module to take a sample SendComm CommProtocol kGetData mTime Ticks 100 take a sample every second mStep break case 3 Ticks is a timer function 1 tick 10msec if Ticks gt mResponseTime TCM User Manual r05 Page 70 Message No response from the module Check connection and try again r n mStep 0 break default break PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 71
25. 1 4092 Ulnt8 Ulnt16 m e Payload Ulnt8 1 4091 Ulnt8 Figure 7 1 Datagram Structure The ByteCount is the total number of bytes in the packet including the CRC 16 checksum CRC 16 is calculated starting from the ByteCount to the last byte of the Packet Frame The ByteCount and CRC 16 are always transmitted in big Endian Two examples follow Example The complete packet for the kGetModInfo command which has no payload is ByteCount Frame ID Checksum Example Below is a complete sample packet to start a 2D Calibration kStartCal 00 09 00 00 00 14 5C F9 ByteCount Frame ID CalOption CalOption Checksum 2D Calibration TCM User Manual r05 Page 36 7 2 Parameter Formats Note Floating point based parameters conform to ANSI IEEE Std 754 1985 Please refer to the Standard for more information PNI also recommends the user refer to the compiler s instructions to understand how the compiler implements floating point format 64 Bit Floating Point Float64 Below is the 64 bit float format in big Endian In little Endian the bytes are in reverse order in 4 byte groups eg big Endian ABCD EFGH little Endian DCBA HGFE 63 62 5251 S Exponent Mantissa The value v is determined as if and only if 0 lt Exponent lt 2047 v 1 S 2 Exponent 1023 1 Mantissa 32 Bit Floating Point Float32 Shown below is the 32 bit float format in big Endian In little Endian format the 4
26. 1014688 r05 TCM User Manual June 2011 Page 19 5 9 Test Tab Ye fen Studio fer 310 Ele Edit Module TCM Connected N I Firmware Version 0605 c Serial Number 1020659 Dee zaw PCA Version SW TESTI Connection Configuration Calibration Test Data Logger System Log Graph Current Reading 3D Model Heading 230 4 Pitch Roll 000 0 007 1 Contrast Acquisition Settings Module is in POLL mode Poll time is 0 seconds Acquisition time is 0 000 seconds Interval time is 0 000 second Filters are NOT flushed Module Output is in Degrees Sync Trigger Sync Read Sync Mode 5 5 1 Current Reading Once the lt Go gt button is selected the module will begin outputting heading pitch and roll information Selecting the lt Stop gt button or changing tabs will halt the output of the module Contrast Selecting this box sets the Current Readings window to have yellow lettering on a black background rather than black lettering on a white background 5 5 2 3D Model The helicopter will follow the movement of the TCM and give a visual representation of the module s orientation assuming the Enable 3D Model Display box is selected on the Configuration tab 5 5 3 Acquisition Settings These indicators mimic the pertinent selections made on the Configuration tab TCM User Manual r05 Page 20 5 5 4 Sync Mode Sync Mode enables the module to stay in sleep mode
27. 3 44 50 Opened serial port COM1 2009 10 06 13 44 51 Extracted module configuration 2009 10 06 13 44 51 Changed endianess to big endian 2009 10 06 13 44 51 Extracted module information 2009 10 06 13 44 51 Changed taps to 32 2009 10 06 13 44 51 Changed acquisition mode to poll mode 2009 10 06 13 44 51 Disabled filter flushing 2009 10 06 13 44 51 Changed mounting to Standard 2009 10 06 13 44 51 Changed north reference to magnetic north 2009 10 06 13 44 51 Disabled stability checking 2009 10 06 13 44 51 Disabled automatic sampling 2009 10 06 13 44 51 Changed calibration points to 12 2009 10 06 13 44 51 Changed output to be in Degrees 2009 10 06 13 44 51 Changed HPR during Calibration 2009 10 06 13 52 08 Data logging started 2009 10 06 13 52 11 Data logging started 2009 10 06 13 52 17 Cleared data log The System Log tab shows all communication between TCM Studio and the TCM module since TCM Studio was opened Closing TCM Studio will erase the system log Select the lt Export gt button at the bottom right of the screen to save the system log to a text file PNI Sensor Corporation TCM User Manual June 2011 DOC 1014688 r05 Page 23 5 8 Graph Tab SCM Studio Ver 310 Ele Edit Module TCM Connected 7 Connect e N I Firmware Version 0605 kara on Power Down Serial Number 1020659 PCA Version SW TESTI Connection Configuration Calibration Test Data Log
28. 45 10 to 20 TCM User Manual r05 Page 34 6 2 6 Mag and Accel Calibration The TCM allows for a simultaneous magnetometer and accelerometer calibration This requires good calibration pattern stable measurements not handheld and installation in the user s system such that the appropriate local magnetic environment is present PNI recommends 18 to 32 calibration points for a Mag and Accel Calibration although 12 points is acceptable but less likely to yield good results The Accelerometer Only Calibration pattern discussed in Section 6 2 5 will work for a Mag and Accel Calibration Optimal performance is obtained when all rotations of the cube are performed towards magnetic north to achieve the widest possible magnetic field distribution Note that combining calibrations only makes sense if all the host system s magnetic distortions steel structures or batteries for instance are present and fixed relative to the module when calibrating If the Accelerometer Only Calibration is performed the user s system distortions are not relevant which allows the TCM to be removed from the host system in order to perform the Accelerometer Only Calibration 6 3 Declination Value Declination also called magnetic variation is the difference between true and magnetic north It is measured in degrees east or west of true north Correcting for declination is accomplished by storing the correct declination angle and then changing the heading
29. 5 10 to 32 Hard Iron Only Magnetic Sensors Restores prior accuracy gt 3 4 to 32 nr Accelerometers Restores prior accuracy 180 12 to 32 Magnetic Sensors Accel and Mag SE 0 3 rms 180 12 to 32 Before proceeding with a calibration ensure the TCM module is properly installed in the host system The module should be properly installed as discussed in Section 4 and the software should be properly configured with respect to the mounting orientation Endianness magnetic vs true north etc PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 27 Sections 5 3 and 5 4 outline how to perform a calibration using TCM Studio To perform a calibration using the PNI binary protocol follow the steps listed below Refer to Section 7 for information on how to implement the commands listed e Using the kSetParam command set the number of tap filters to 32 e Using the kSetConfig command set kUserCalAutoSampling False is generally recommended but True may be more convenient e Using the kSetConfig command set kCoeffCopySet magnetometer calibration and or kAccelCoeffCopySet accelerometer calibration These fields allow the user to save multiple sets of calibration coefficients 0 is the default e Using the kSetConfig command again set kUserCalNumPoints to the appropriate number of calibration points The number of calibration points should be at least 12 for Full Range Calibration Limi
30. 5 ID Count Heading ID Heading Pitch ID Pitch Output Output Float32 Float32 7 4 5 kSetConfig frame ID 6 This frame sets internal configurations in the module The first byte of the payload is the configuration ID followed by a format specific value These configurations can only be set one at time Payload Config ID Value ID Ulnt8 Specific Example To configure the declination the payload would look like 1 10 0 Declination ID Declination Angle Float32 Table 7 4 Configuration Identifiers Settings Config ID4 Format Values Range Default kDeclination Float32 180 to 4180 0 kTrueNorth Boolean True or False False kBigEndian 1 2 6 Boolean True or False True kMountingRef 10 Ulnt8 1 STD 0 2 XUROS SEV UROS 4 STD 90 5 STD 180 6 STD 270 7 Z DOWN 0 8 X UP 90 9 X UP 180 10 X UP 270 TY UP S02 12 Y UP 180 139 Y UP 270 14 2 Z DOWN 90 15 2 ZDOWN 180 16 Z DOWN 270 kUserCalNumPoints 12 Ulnt32 4 32 12 PNI Sensor Corporation TCM User Manual June 2011 DOC 1014688 r05 Page 43 kUserCalAutoSampling 13 Boolean True or False True 0 300 1 600 2 1200 3 1800 4 2400 5 3600 6 4800 kBaudRate 14 UInt8 7 7200 12 8 9
31. 600 9 14400 10 19200 11 28800 12 38400 13 57600 14 115200 kMilOutput 15 Boolean True or False False kDataCal 16 Boolean True or False True kCoeffCopySet 18 Ulnt32 0 7 0 kAccelCoeffCopySet 19 Ulnt32 0 2 0 Refer to Figure 4 1 for additional information on mounting orientations Configuration parameters and settings for kSetConfig kDeclination Config ID 14 This sets the declination angle to determine True North heading Positive declination is easterly declination and negative is westerly declination This is not applied until kTrueNorth is set to TRUE kTrueNorth Config ID 24 Flag to set compass heading output to true north heading by adding the declination angle to the magnetic north heading kBigEndian Config ID 64 Sets the Endianness of packets TRUE is Big Endian FALSE is Little Endian kMountingRef Config ID 104 This sets the reference orientation for the module Please refer to and Figure 4 1 for additional information kUserCalNumPoints Config ID 124 The user must select the number of points to take during a calibration The number of sample points must be within the listed Allowable Range or the module may not work properly Calibration generally is not as good if less than the Minimum Recommended is selected but may be acceptable See Section 6 2 for additional information TCM User Manual r05 Page 44 Table 7 5 Sample Points Number of Samples Calibrati
32. M Studio can also be performed using the RS232 interface and associated protocol Check the PNI website for the latest TCM Studio updates at www pnicorp com Note TCM Studio version 3 X is compatible with the TCM XB and the legacy TCM 6 but not other legacy TCM models Conversely legacy TCM Studio programs will not function properly with the TCM XB The TCM XB model is the current RS232 version TCM with PNI s binary communication protocol The version number of TCM Studio is identified in the upper left corner of the GUI 5 1 Installation onto a Windows or Mac System TCM Studio is provided as an executable program which can be downloaded from PNI s website It will work with Windows XP Windows Vista Windows 7 and Mac OS X operating systems Check the PNI web page at www pnicorp com for the latest version For Windows computers copy the TCMStudio msi file onto your computer Then open the file and step through the Setup Wizard For Mac computers copy the TCMStudio zip file onto your computer This automatically places the application in the working directory of your computer The Quesa plug in also in the zip file needs to be moved to Library CFMSupport if it is not already there TCM User Manual r05 Page 10 5 2 Connection Tab Ne en Studio for uu File Edit Module TCM Connected N I Firmware Version 0605 PowerDown Serial Number 1020659 PCA Version SW TESTI Connection Configuration Calibration Tes
33. Pitch Roll First Rotation 1 0 0 0 2 0 60 0 3 180 60 180 4 180 0 180 5 180 60 180 6 0 60 0 Second Rotation 7 90 0 0 8 90 0 60 9 90 0 120 10 90 0 180 11 90 0 120 12 90 0 60 Third Rotation 13 0 0 90 14 0 60 90 15 180 60 90 16 180 0 90 17 180 60 90 18 0 60 90 6 2 2 22D Calibration This calibration procedure is used for very low tilt operation 5 where calibrating the module with greater tilt is not practical The 2D Calibration procedure calibrates for hard and soft iron effects in only two dimensions and in general is effective for operation and calibration in the tilt range of 5 to 5 The recommended calibration pattern is a circle of evenly spaced points Results will be optimized if the tilt in the calibration procedure can match the actual tilt experienced when in service For example if the TCM will be restrained to a level plane in service best results are obtained if calibration is exclusively in a plane where maximum tilt below would be 0 PNI recommends 12 to 32 calibration points for 2D Calibration although 10 points are acceptable but less likely to yield good results PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 31 Table 6 4 12 Point 2D Calibration Pattern Sample Yaw Pitch Roll 1 0 0 0 2 30 max negative max negative 3 60 0 0 4 90 max positive
34. SE OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL SPECIFICATION OR SAMPLE PNI NEITHER ASSUMES NOR AUTHORIZES ANY PERSON TO ASSUME FOR IT ANY OTHER LIABILITY If any Product furnished hereunder fails to conform to the above warranty OEM s sole and exclusive remedy and PNI s sole and exclusive liability will be at PNI s option to repair replace or credit OEM s account with an amount equal to the price paid for any such Product which fails during the applicable warranty period provided that i OEM promptly notifies PNI in writing that such Product is defective and furnishes an explanation of the deficiency ii such Product is returned to PNI s service facility at OEM s risk and expense and iii PNI is satisfied that claimed deficiencies exist and were not caused by accident misuse neglect alteration repair improper installation or improper testing If a Product is defective transportation charges for the return of the Product to OEM within the United States and Canada will be paid by PNI For all other locations the warranty excludes all costs of shipping customs clearance and other related charges PNI will have a reasonable time to make repairs or to replace the Product or to credit OEM s account PNI warrants any such repaired or replacement Product to be free from defects in material and workmanship on the same terms as the Product originally purchased Except for the breach of warranty remedies set forth herein or for
35. Section 5 for how to operate the TCM XB with TCM Studio or Section 7 for how to operate the TCM XB or TCM MB via the UART and PNI binary protocol PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 7 4 2 Installation Location The TCM s wide dynamic range and sophisticated calibration algorithms allow it to operate in many environments For optimal performance however you should mount the TCM with the following considerations in mind 4 2 1 Operate within sensors linear regime The TCM can be field calibrated to correct for large static magnetic fields created by the host system However each axis of the TCM has a maximum calibrated dynamic range of 125 uT if the total field exceeds this value for any axis the TCM may not give accurate heading information When mounting the TCM consider the effect of any sources of magnetic fields in the host environment that when added to the earth s field may take the sensors out of their linear regime For example large masses of ferrous metals such as transformers and vehicle chassis large electric currents permanent magnets such as electric motors and so on 4 2 2 Locate away from changing magnetic fields It is not possible to calibrate for changing magnetic anomalies Thus for greatest accuracy keep the TCM away from sources of local magnetic distortion that will change with time such as electrical equipment that will be turned on and off or ferrous bodies that wi
36. alibration scoring algorithms to provide industry leading heading accuracy The TCM combines PNI s patented magneto inductive sensors and measurement circuit technology with a 3 axis MEMS accelerometer for unparalleled cost effectiveness and performance PNI recognizes not all applications allow for significant tilt during calibration so multiple calibration methods are available to ensure optimized performance can be obtained in the real world These include Full Range Calibration when 745 of tilt is possible during calibration 2D Calibration when constrained to calibration in a horizontal or near horizontal plane and Limited Tilt Calibration when tilt is constrained to 45 but 55 of tilt is possible PNI also recognizes conditions may change over time and to maintain superior heading accuracy it may be necessary to recalibrate the compass So the TCM incorporates Hard Iron Only Calibration to easily account for gradual changes in the local magnetic distorting components And the accelerometers can be recalibrated in the field if desired These advantages make PNI s TCM the choice for applications that require the highest accuracy and performance anywhere in the world under a wide range of conditions Applications for the TCM include e Unmanned vehicles underwater UUV ground UGV amp aerial UAV e Far target locaters and laser range finders e Dead reckoning systems e Systems in which the tilt angles used for calibration a
37. and provides the flexibility to store up to eight 8 sets of magnetometer calibration coefficients in the module The default is set number 0 To store a set of coefficients first establish the set number number 0 to 7 using kCoeffCopySet then perform the magnetometer calibration The coefficient values will be stored in the defined set number This feature is useful if the compass will be placed in multiple locations that have different local magnetic field properties PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 45 kAccelCoeffCopySet Config ID 194 This command provides the flexibility to store up to three 3 sets of accelerometer calibration coefficients in the module The default is set number 0 To store a set of coefficients first establish the set number number 0 to 2 using kAccelCoeffCopySet then perform the accelerometer calibration The coefficient values will be stored in the defined set number 7 4 6 KkGetConfig frame ID 74 This frame queries the module for the current internal configuration value The payload contains the configuration ID requested Payload gt Config ID Ulnt8 7 4 7 kConfigResp frame ID 84 This frame is the response to kGetConfig frame The payload contains the configuration ID and value Payload Config ID Value ID Specific Ulnt8 Exam
38. as no payload The module will power down all peripherals including the RS 232 driver but the driver chip has the feature to keep the Rx line enabled Any character sent to the module causes it to exit power down mode It is recommended to send the byte oxFFh 7 4 15 kSaveDone frame ID 16 This frame is the response to kSave frame The payload contains a UInt16 error code 0000h indicates no error 0001h indicates error when attempting to save data into non volatile memory Payload gt Error code Ulnt16 gt TCM User Manual r05 Page 50 7 4 16 kUserCalSampCount frame ID 17 4 This frame is sent from the module after taking a calibration sample point The payload contains the sample count with the range of 1 to 32 Payload gt Sample count Ulnt32 7 4 17 kUserCalScore frame ID 18 4 This frame s payload contains the calibration score which is a series of Float32 values CalScore Calparam2 Calparam3 DistErr TiltErr TiltRange Payload gt CalScore Calparam2 Accel CalScore DistErr TiltErr TiltRange lt 4 Float32 Float32 k Float32 9 Float32 gt Float32 gt Float32 CalScore Mag CalScore Represents the over riding indicator of the quality of the magnetometer calibration Acceptable scores will be lt 1 for full range ca
39. ation around an axis through the center of the wings These two rotations are independent of each other since the rotation axes rotate with the plane body For the TCM a positive pitch is when the front edge of the board is rotated upward and a positive roll is when the right edge of the board is rotated downward TCM User Manual r05 Page 26 NORTH HEADING OR DIRECTION OF TRAVEL NEGATIVE Y WOHL 5 AXIS POE NEGATIVE ER POSITIVE PITCH AXIS Figure 6 1 Positive amp Negative Roll and Pitch Definition 6 2 Field Calibration Procedures Below are instructions for performing both magnetic and accelerometer field calibrations of the TCM module Calibration of the TCM XB may be performed using TCM Studio or using the PNI binary protocol while the calibration of the TCM MB must be performed using the PNI binary protocol The calibration sequences described in the following sections demonstrate a good distribution of the recommended minimum sample points Note that during calibration it is recommended that the location of the module remains fairly constant while the orientation is changed Table 6 1 Calibration Mode Summary Calibration Sensors Accurac Tilt Range during Number of Mode Calibrated y Calibration Samples Full Range Magnetic Sensors 0 3 rms gt 459 10 to 32 2D Calibration Magnetic Sensors 2 SEDE 10 to 32 Limited Tilt Range Magnetic Sensors 2 over 2x tilt range 5 to 4
40. calibration score 19 kSetConfigDone Response to kSetConfig 20 kSetParamDone Response to kSetParam 21 kStartIntervalMode Commands the module to output data at a fixed interval 22 kStoplntervalMode Commands the module to stop data output at a fixed interval 23 kPowerUp Sent after wake up from power down mode 24 kSetAcqParams Sets the sensor acquisition parameters PNI Sensor Corporation TCM User Manual June 2011 DOC 1014688 r05 Page 39 25 kGetAcqParams Queries for the sensor acquisition parameters 26 kAcqParamsDone Response to kSetAcqParams 27 kAcqParamsResp Response to kGetAcqParams 28 kPowerDownDone Response to kPowerDown 29 kFactoryUserCal Clears user magnetometer calibration coefficients 30 kFactorUserCalDone Response to kFactoryUserCal Commands the module to take a sample during user 31 kTakeUserCalSample calibratiain 36 kFactorylncICal Clears user accelerometer calibration coefficients 37 kFactorylncICalDone Respond to kFactorylncICal 46 kSetMode Sets the mode of operation of the system 47 kSetModeResp Response to kSetMode 49 kSyncRead Queries the module for data in Sync Mode ZA kGetModlnfo frame ID 1d This frame queries the module s type and firmware revision number The frame has no payload 7 4 1 kModinfoResp frame ID 2d This frame is the response to kGetModInfo frame The payload contains the module type identifier followed by the firmware revision number Payload Uln
41. constraints 7 4 18 kSetConfigDone frame ID 194 This frame is the response to kSetConfig frame The frame has no payload 7 4 19 kSetParamDone frame ID 20 This frame is the response to kSetParam frame The frame has no payload 7 4 20 kStartintervalMode frame ID 21 This frame commands the module to output data at a fixed time interval otherwise known as Push mode See kSetAcqParams The frame has no payload 7 4 21 kStoplntervalMode frame ID 22 4 This frame commands the module to stop data output when in Push mode The frame has no payload 7 4 22 kPowerUp frame ID 23 This frame is sent from the module after waking up from Sleep Mode The frame has no payload Since the module was previously powered down which drives the RS 232 driver TX line low break signal it is recommended to disregard the first byte 7 4 23 kSetAcqParams frame ID 24 4 This frame sets the sensor acquisition parameters in the module The payload should contain the following lt Payload gt PollingMode FlushFilter SensorAcqTime IntervalRespTime lt 4 Ulnt8 Ulnt8 Float32 PIE Float32 gt TCM User Manual r05 Page 52 PollingMode This flag sets whether output will be presented in Poll or Push mode Poll mode is TRUE and is the default Poll mode should be selected when the host system will poll the TCM for data Push mode should be selected if the user will have the TCM output
42. d export it follow the procedure below e Select the parameters you wish to log in the Data window Use Shift Ctrl Click and Ctrl Click to select multiple items In the screen shot above Heading MX kXAligned MY kY Aligned and MZ kZAligned were selected e Click the lt Go gt button to start logging The lt Go gt button changes to a lt Stop gt button after data logging begins e Click the lt Stop gt button to stop logging data e Click the lt Export gt button to save the data to a file e Click the lt Clear gt button to clear the data from the window Note The data logger use ticks for time reference A tick is 1 60 second TCM User Manual r05 Page 22 5 7 System Log Tab JCM Studio Ver 910 Module TCM Connected e N I Firmware Version 0605 ege lt aaranaiion Power Down Serial Number 1020659 PCA Version SW TESTI Connection Configuration Calibration Test Data Logger System Log Graph Time Stamp Event 2009 10 06 13 44 39 Checking preference file 2009 10 06 13 44 39 Preferences file not found using defaults 2009 10 06 13 44 39 Enabled audible feedback 2009 10 06 13 44 39 Disabled high contrast 2009 10 06 13 44 39 Disabled auto scroll 2009 10 06 13 44 39 Enabled 3D Model 2009 10 06 13 44 46 Changed computer serial port to COMI 2009 10 06 13 44 46 Opened serial port COM1 2009 10 06 13 44 50 Changed computer baud rate to 38400 2009 10 06 1
43. d the Axis ID should be set to 1 The third payload byte indicates the number of FIR taps to use which can be 0 no filtering 4 8 16 or 32 This is followed by the tap values 0 to 32 total Values can be in the payload with each Value being a Float64 and suggested values given in Table 7 6 TCM User Manual r05 Page 48 Table 7 6 Recommended FIR Filter Tap Values 4 Tap Filter 04 6708657655334e 2 8 TapFilter 01 9875512449729e 2 16 Tap Filter 07 9724971069144e 3 32 Tap Filter 01 4823725958818e 3 04 5329134234467e 1 06 4500864832660e 2 01 2710056429342e 2 02 0737124095482e 3 04 5329134234467e 1 01 66373258981 41 e 1 02 5971390034516e 2 03 2757326624196e 3 04 6708657655334e 2 02 4925036373620e 1 04 6451949792704e 2 05 3097803863757e 3 02 4925036373620e 1 07 1024151197772e 2 08 3414139286254e 3 01 6637325898141e 1 09 5354386848804e 2 01 2456836057785e 2 06 4500864832660e 2 01 1484431942626e 1 01 7646051430536e 2 01 9875512449729e 2 01 2567124916369e 1 02 3794805168613e 2 01 2567124916369e 1 03 0686505921968e 2 gt l OO Qo NO AJOJN 01 1484431942626e 1 03 8014333463472e 2 09 5354386848804e 2 04 5402682509802e 2 12 07 1024151197772e 2 05 2436112653103e 2 13 04 6451949792704e 2 05 8693165018301e 2 14 02 5971390034516e 2 06 3781858267530e 2 15 01 2710056429342e 2 06
44. data at a relatively fixed rate to the host system See kStartIntervalMode for starting a Push Mode command FlushFilter Setting this flag to TRUE will result in the FIR filters being flushed reset after every sample The default is FALSE no flushing The filtering is set to only update the filter with the last sample taken for example once the initial 32 samples are taken assuming FIR Taps is set to the default value of 32 any new sample is added to the end with the first sample being dropped In the case where SensorAcqTime is set to a value it would be prudent to set the module to flush the filter prior to calculating the heading This flushing will require the module to take 32 new samples to use for the calculation SensorAcqTime The SensorAcqTime sets the time between samples taken by the module in seconds The default is 0 0 seconds which means that the module will reacquire data immediately after the last acquisition This is an internal setting that is NOT tied to the time with which the module transmits data to the host system Generally speaking the SensorAcqTime is either set to 0 in which case the TCM is constantly sampling or set to equal the IntervalRespTime value The advantage of running with an SensorAcqTime of 0 is the FIR filter can run with a relatively high FIR Tap value to provide stable and timely data The advantage of using a greater SensorAcqTime is power consumption can be reduced assuming the IntervalRe
45. e destination pointer Store the heading Move amp data pntr amp temperature sizeof temperature increase the pointer to point to the next data element type pntr sizeof temperature break default Message is a function that displays a formatted string similar to printf Message Unknown type 02X r n data pntr 1 unknown data type so size is unknown so skip everything return break count One less element to read in Message is a function that displays a formatted string similar to printf Message Heading Sf Pitch Sf Roll Sf Temperature f r n heading pitch roll temperature mStep send next data request break default Message is a function that displays a formatted string similar to printf Message Unknown frame 02X receivedNr Mn UInt16 frameType break Have the CommProtocol build and send the frame to the module void TCM SendComm UInt8 frameType void dataPtr UIntl6 dataLen PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 69 if MComm mComm gt SendData frameType dataPtr dataLen Ticks is a timer function 1 tick 10msec mResponseTime Ticks 300 Expect a response within 3 seconds This is called each time this process gets a turn to execute void TCM Control switch mStep case
46. e 1 wait for length bytes to be received by the serial object if inLen gt 2 Read block will return the number of requested or available bytes that are in the serial objects input buffer read the byte count mSerialPort gt ReadBlock mInData 2 byte count is ALWAYS transmitted in big endian copy byte count to mExpectedLen to native endianess mExpectedLen mInData 0 lt lt 8 mInData 1 Ticks is a timer function 1 tick 10msec wait up to 1 2s for the complete frame mExpectedLen to be received mTime Ticks 50 mStep goto the next step in the process break case 2 wait for msg complete or timeout if inLen gt mExpectedLen 2 UIntl6 crc crcReceived calculated and received crcs Read block will return the number of requested or available bytes that are in the serial objects input buffer mSerialPort 5ReadBlock amp mInData 2 mExpectedLen 2 TCM User Manual r05 Page 64 in CRC verification don t include the CRC in the recalculation 2 crc CRC mInData mExpectedLen 2 CRC is also ALWAYS transmitted in big endian crcReceived mInData mExpectedLen 2 lt lt 8 mInData mExpectedLen 1 if crc crcReceived the crc is correct so pass the frame up for processing if mHandler mHandler gt HandleComm mInData 2 amp mInData 3
47. e A RAngle kBufferSize 512 processing kSetDataComponents lass that provides CommProtocol with The Control method will be called by a process manager on a continuous basis Commands 1 2 3 4 5 Data Component IDs 5 type Float32 7 type Float32 21 22 23 24 ZZ 25 type Float32 type Float32 type Float32 type Float32 type Float32 Page 60 maximum size of our input buffer kPacketMinSize 5 minimum size of a serial packet i SerPort is a serial communication object abstracting the hardware implementation CommProtocol CommHandler handler NULL SerPort serPort NULL void Init UInt32 baud 38400 void SendData UInt8 frame void dataPtr NULL UInt32 len 0 void SetBaud UInt32 baud protected CommHandler mHandler SerPort mSerialPort UInt8 mOutData kBufferSize mInData kBufferSize UInt16 mExpectedLen UInt32 mOutLen mOldInLen mTime mStep UInt16 CRC void data UInt32 len void Control i PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 61 7 5 3 CommProtocol cpp File include CommProtocol h import an object that will provide a 10mSec tick count through a unction called Ticks finclude TickGenerator h SerPort is an object that controls the physical serial interface It handles sending out the c
48. e ennt 35 6 4 Other Considerations ifie eto i vires 35 7 OPERATION WITH PNI BINARY PROTOCOL e ee eene eene eene 36 7 1 Datagram Structure eene eene nennen enses nnn nnns 36 7 2 Parameter FOttriats 5 c Deet eet ees cop des eui Eege Cro ded epi nae d eva DER dog ed dota 37 7 3 Commands amp Communication Frames essen 39 7 4 kGetModInfo frame Did 40 7 4 1 kModInfoResp frame ID 20 40 7 4 2 kSetDataComponents frame ID 324 40 7 4 3 kGetData frame ID A4 42 7 4 4 kDataResp frame ID SJ ae 42 7 4 5 kSetConfig frame ID 4 NEE 43 7 4 6 kGetConfig frame EE EE 46 7 4 7 kConfigResp frame DE Juana senaste 46 7 4 8 kSave frame ID 9 4 eee nnn 46 7 4 9 kStartCal frame ID 10d 47 7 4 10 kStopCal frame ID ET sassucecmospavvdns geen 48 7 4 41 kSetParam frame DIANA 48 7 4 12 kGetParam frame ID IA 50 7 413 kParamResp frameID 14 4 mier rnt enn 50 7 4 44 kPowerDown frame DIANA 50 7 4 15 kSaveDone frame ID 16 4 eeeeenn mnn 50 7 4 16 kUserCalSampCount frame ID 17 eese 51 7 4 17 kUserCalScore frame ID ISAL 51 7 4 18 kSetConfigDone frame IDI94 essen 52 7 4 19 kSetParamDone frame ID 20 4 52 TCM User Manual June 2011 Page ii 7 4 20 kStartintervalMode frame ID 21 4 eem 52 7 4 21 kStoplntervalMode frame ID 22 gJ rrrnnrvrrrnnnrrrrnnnnnvrnrrnnnnrnrnnnnn 52 7422 kPowerUp frame ID 23 s sutor odd S alor ed de
49. ean True or False Sn kPAligned 21 Float32 G 1 0 to 1 0 KRAligned 22 Float32 G 1 0 to 1 0 kIZAligned 23 Float32 G 1 0 to 1 0 kPAngle 24 Float32 degrees 90 0 to 90 0 kRAngle 25 Float32 degrees e D KXAligned 27 Float32 uT KYAligned 28 Float32 uT KZAligned 29 Float32 uT Component types are listed below All are read only values kHeading Component ID 54 Provides compass heading i e yaw or azimuth output The units default to degrees but can be set to mils using kMilOutput kTemperature Component ID 74 This value is provided by the module s internal temperature sensor Its value is in Celsius and has an accuracy of 3 C kDistortion Component ID 84 This flag indicates at least one magnetometer axis reading is beyond 125 uT PNI Sensor Corporation TCM User Manual June 2011 DOC 1014688 r05 Page 41 kCalStatus Component ID 94 This flag indicates the user calibration status False default not calibrated kPAligned kRAligned amp kIZAligned Component IDs 214 224 234 These values represent Earth s calibrated acceleration vector G components The default values are the factory calibrated values Up to three 3 sets of values can be stored using kAccelCoeffCopySet see Section 7 4 5 and this command references whichever set currently is being used kPAngle kRAngle Component IDs 244 254 These outputs provide pitch and roll angles The pitch range is 90 0 to 90 0 and the roll
50. ection Configuration Calibration Test Data Logger System Log Graph Mounting Options Filter Settings Calibration Settings m Standard Taps 32 Automatic Sampling North Reference Acquisition Settings Calibration Points ER BR Full Range Calibration _ OHI Only Calibration Declination 05 Poll Delay 0 O Limited Tilt Range Calibration Magnetic O True Mode Poll Push Acquire Delay 0 000 2D Calibration ntervel Delay 0000 O Accel only Calibration 9 Big O Little HE O Accel Calibration with Mag Flush Filters Endianess Output HPR During Calibration Degrees OMils bel Oot Default Retrieve Save Enable 3D Model Display Note No settings will be changed in the module until the lt SAVE gt button has been selected 5 3 1 Mounting Options TCM Studio supports 16 mounting orientations as illustrated previously in Figure 4 1 The descriptions in TCM Studio are slightly different from those shown in Figure 4 1 and the relationship between the two sets of descriptions is given below TCM User Manual r05 Page 12 Table 5 1 Mounting Orientations TCM Studio Figure 4 1 TCM Studio Figure 4 1 Description Description Description Description Standard STD 0 Y Sensor Up Y Up 0 Standard 90 E Y Sensor Up Plus up 5 Degrees sr 90 Degrees DE Standard 180 Y Sensor Up Plus up o
51. ed during use This calibration pattern does not require knowing which direction the module is facing nor does it require turning the module upside down The 18 Point North Aware Calibration Pattern can provide TCM User Manual r05 Page 28 superior results especially at high dip angles associated with high latitudes but is more complicated and requires 1 knowing the direction of north prior to calibration 2 turning the module upside down and 3 18 calibration points 12 Point North Unaware Calibration Pattern Move the module to the following positions noting that these are not absolute heading directions but rather relative heading changes referenced to your first heading sample You do not need to know actual true or magnetic north While Figure 6 2 shows the location of the module changing this is for illustration purposes and it is best for the location of the module to remain fairly constant while only the orientation is changed Top Views Side Views Minimum 12 good user calibration points Additional points can be added including t e upside down if possible in 1 N Little D Pitch 2 H u 3 7 we al Er ca Large Positive Pitch m Alternate Roll between points odd number points positive roll even negative roll Large Negative Lodi Pitch l v S 10 4 Figure 6 2 Full Range Calibration with 12 Point North Unaware Cal Pattern PNI Sensor Corporation DOC
52. ger System Log Graph Graph Data Filtered O User Cal MX 41 11 MX Filt MY Filt MX Cal 18703 3481 Jer 18 67 Jee 2871 18 61 Come Clear Auto Scroll The graph provides a 2 axis X Y plot of the measured field strength The graph can be used to visually see hard and soft iron effects within the environment measured by the TCM module as well as corrected output after a user calibration has been performed The screen shot shows the MX and MY readings as the module was held horizontally and rotated through 360 in the horizontal plane then held in a vertical orientation and rotated 360 in the vertical plane TCM User Manual r05 Page 24 6 Field Calibration The magnetic sensors and accelerometers in the TCM are calibrated at PNI s factory However this is done in a magnetically controlled environment Consequently sources of magnetic distortion positioned near the TCM in the user s system will distort Earth s magnetic field and should be compensated for in the host system Examples of such sources include ferrous metals and alloys ex iron nickel non stainless steel etc batteries audio speakers current carrying wires and electric motors Compensation is accomplished by calibrating the module while mounted in the user s system It is expected that the sources of magnetic disto
53. han the sample rate since the Poll Delay does not include actual acquisition time Interval Delay The Interval Delay is relevant when Push Mode is selected and is the time delay in seconds between completion of the TCM module sending one set of sampled data and the start of sending the next sample set If the time is set to 0 then the TCM will begin sending new data as soon as the previous data set has been sent Note that the inverse of the Interval Delay is somewhat greater than the sample rate since the Interval Delay does not include actual acquisition time TCM User Manual r05 Page 14 Acquire Delay The Acquire Delay sets the time between samples taken by the module in seconds This is an internal setting that is NOT tied to the time with which the module transmits data to TCM Studio or the host system Generally speaking the Acquire Delay is either set to 0 in which case the TCM is constantly sampling or set to equal either the Poll Delay or Interval Delay values The advantage of running with an Acquire Delay of 0 is that the FIR filter can run with a relatively high Tap value to provide stable and timely data The advantage of using a greater Acquire Delay is that power consumption can be reduced assuming the Interval or Poll Delay are no less than the Acquire Delay Flush Filters The filtering is set to only update the filter with the last sample taken for example once the initial 32 samples are taken assuming Taps is set
54. haracters and buffers the characters read in until we are ready for them CommProtocol CommProtocol CommHandler handler SerPort serPort Process CommProtocol mHandler handler store the object that will parse the data when it is fully received mSerialPort serPort Init Initialize the serial port and variables that will control this process void CommProtocol Init UInt32 baud SetBaud baud mOldInLen 0 no data previously received mStep 1 goto the first step of our process Put together the frame to send to the module void CommProtocol SendData UInt8 frameType void dataPtr UInt32 len UInt8 data UInt8 dataPtr the data to send UInt32 index 0 our location in the frame we are putting together UIntl6 ere the CRC to add to the end of the packet UInt16 count the total length the packet will be count UInt16 len kPacketMinSize exit without sending if there is too much data to fit inside our packet TCM User Manual r05 Page 62 if len gt kBufferSize kPacketMinSize return Store the total len of the packet including the len bytes 2 the frame ID 1 the data len and the crc 2 If no data is sent the min len is 5 mOutData index mOutData index count gt gt 8 count amp OxFF mmn store the frame ID mOutData index frameType co
55. ibration is aborted all the score s will read 179 80 and the calibration coefficients will not be changed Clicking the Save button will not change the calibration coefficients 5 4 3 Current Configuration These indicators mimic the pertinent selections made on the Configuration tab 5 4 4 Options This window indicates how many samples are to be taken and provides real time heading pitch and roll information if HPR During Calibration is set to lt On gt both as defined on the Configuration tab Audible Feedback If selected TCM Studio will give an audible signal once a calibration point has been taken Note that an audible signal also will occur when the Start button is clicked but no data will be taken 5 4 5 Clear Clear Mag Cal to Factory This button clears the user s calibration of the magnetometers Once selected the module reverts to its factory magnetometer calibration To save this action in nonvolatile memory click the lt Save gt button It is not necessary to clear the current calibration in order to perform a new calibration Clear Accel Cal to Factory This button clears the user s calibration of the accelerometers Once selected the module reverts back to its factory accelerometer calibration To save this action in non volatile memory click the lt Save gt button It is not necessary to clear the current calibration in order to perform a new calibration PNI Sensor Corporation DOC
56. irst reading as the module is already awake PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 21 5 6 Data Logger Tab CM Studio VE uu File Edit Module TCM Connected e N I Firmware Version 0605 Serial Number 1020659 PCA Version SW TESTI Ticks is 1 60th of a second Data Ticks Heading MX kXAligned MY KYAligned MZ kZAligned Heading 001281317 155 7 31 53 4 74 26 83 Pitch kPAngle 001281322 153 3 30 39 5 04 28 63 Roll kRAngle 001281326 150 3 29 36 5 74 30 14 Temperature 001281330 1471 28 56 6 59 31 26 MX kXAligned 001281334 144 7 28 06 7 34 31 98 MY KYAligned 001281339 1435 27 81 7 88 32 36 MZ kZAligned 001281343 143 6 27 79 8 15 32 51 GX kPAligned 001281346 144 6 27 89 8 20 32 49 GY KRAligned 001281351 146 0 28 06 8 11 32 38 GZ klZAligned 001281356 1475 28 24 7 96 32 27 Distortion 001281360 148 8 28 38 7 80 32 16 001281363 150 0 28 48 7 66 32 08 001281368 150 9 28 54 7 52 32 04 001281373 151 8 28 56 7 33 32 02 001281376 152 6 28 56 7 05 32 05 001281380 153 4 28 49 6 67 32 13 001281385 154 0 28 33 5 24 32 30 001281389 1542 28 00 5 89 32 58 001281392 153 6 27 44 5 80 32 98 001281397 151 9 26 60 6 11 33 52 001281402 148 9 25 49 6 90 34 15 Heading 1489 Pitch 96 Rall i Auto Scroll Cla 75 TCM Studio can capture measurement data and then export it to a text file To acquire data an
57. le memory 7 4 29 kFactoryUserCalDone frame ID 30 4 This frame is the response to kFactoryUserCal frame The frame has no payload 7 4 30 kTakeUserCalSample frame ID 31 4 This frame commands the module to take a sample during user calibration The frame has no payload 7 4 31 kFactorylnclCal frame ID 36 4 This frame clears the user accelerometer calibration coefficients The frame has no payload This frame must be followed by the kSave frame to change in non volatile memory 7 4 32 kFactorylnclCalDone frame ID 37 4 This frame is the response to kFactoryInclCal frame The frame has no payload TCM User Manual r05 Page 54 7 4 33 kSetMode frame ID 46 Note When Sync Mode is selected the TCM will acknowledge the change in mode and immediately trigger the Sync Mode and send a data frame This frame allows the module to be placed in Sync Mode When in Sync Mode the module will stay in Sleep Mode until the user s system sends a trigger to report data When so triggered the TCM will wake up report data once then return to Sleep Mode One application of this is to lower power consumption Another use of the Sync Mode is to trigger a reading during an interval when local magnetic sources are well understood For instance if a system has considerable magnetic noise due to nearby motors the Synch Mode can be used to take measurements when the motors are turned off The payload contains the Mode ID requested as given be
58. le will be somewhat degraded PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 3 3 2 Operating Characteristics Table 3 2 I O Characteristics Parameter Value Communication TCM XB Binary RS232 UART Interface TCM MB Binary CMOS TTL UART Communication Rate 300 to 115200 baud Maximum Sample Rate 30 samples sec Time to Initial Initial power up 210 ms Good Data Sleep mode recovery 80 ms Footnotes 1 The maximum sample rate is dependent on the strength of the magnetic field and typically will be from 25 to 32 samples sec 2 FIR taps set to 0 Table 3 3 Power Requirements Parameter Value Sidon blass TCM XB 3 6 to 5 VDC unregulated pe TCM MB 3 3 to 5 VDC unregulated max sample rate 20 mA typical ENE 8 Hz sample rate 16 mA typical max sample rate 17 mA typical bs 8 Hz sample rate 13 mA typical Average Current Draw During application of external 120 mA pk 60 mA avg power over 2 ms PRAE GUMENI Diaw During logical power up down or 100 mA pk 60 mA avg Sync Trigger over 4 ms Sleep Mode Current Draw 0 3 mA typical Table 3 4 Environmental Requirements Parameter Value Operating Temperature 40C to 85C Storage Temperature 40C to 85C Footnote 1 To meet performance specifications recalibration may be necessary as temperature varies TCM User Manual r05 Page 4 Table 3 5 Mechanical Characte
59. libration lt 2 for other methods Note that it is possible to get acceptable scores for DistErr and TiltErr and still have a rather high Mag CalScore value The most likely reason for this is the TCM is close to a source of local magnetic distortion that is not fixed with respect to the module Calparam2 Reserved values for PNI use Calparam3 Accel CalScore Represents the over riding indicator of the quality of the accelerometer calibration An acceptable score is lt 1 DistErr Indicates the quality of the sample point distribution primarily looking for an even yaw distribution Significant clumping or a lack of sample points in a particular section can result in a poor score The score should be lt 1 TiltErr Indicates the contribution to the CalScore caused by tilt or lack thereof The score takes into account the calibration method The score should be x1 PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 51 TiltRange This reports the larger of either half the full pitch range or half the full roll range of sample points For example if the module is pitched 10 to 20 and rolled 25 to 15 the Tilt Range value would be 20 as derived from 25 15 2 For Full Range Calibration and Hard Iron Only Calibration this should be gt 45 For 2D Calibration this ideally should be 2 For Limited Tilt Range Calibration the value should be as large a possible given the user s
60. ll move Make sure the TCM is not mounted close to cargo or payload areas that may be loaded with large sources of local magnetic fields 4 2 3 Mount in a physically stable location Choose a location that is isolated from excessive shock oscillation and vibration The TCM works best when stationary Any non gravitational acceleration results in a distorted reading of Earth s gravitational vector which affects the heading measurement 4 2 4 Location verification testing Location verification testing should be performed at an early stage of development to understand and accommodate the magnetic distortion contributors in a host system Determine the distance range of field distortion Place the compass in a fixed position then move or energize suspect components while observing the output to determine when they are an influence TCM User Manual r05 Page 8 Determine if the maximum field is within the linear range of the compass With the compass mounted rotate and tilt the system in as many positions as possible While doing so monitor the magnetometer outputs observing if the maximum linear range is exceeded 4 3 Mechanical Mounting Refer to Section 3 3 for dimensions hole locations and the reference frame orientation The TCM is factory calibrated with respect to its mounting holes It must be aligned within the host system with respect to these mounting holes Ensure any stand offs or screws used to mount the module are non
61. low Payload Mode ID Normal Mode 0 Mode ID Sync Mode 100 Ulnt8 If the module is in Sync Mode and the user desires to switch back to Normal Mode an FF string first must be sent followed by some minimum delay time prior to sending the kSetMode frame The minimum delay time is dependent on the baud rate and for a baud rate equal to or slower than 9600 there is no delay For baud rates greater than 9600 the minimum delay is equal to Minimum delay after sending FF in seconds 7E 3 10 baud rate For example with a baud rate of 38400 the minimum delay after sending FF is Minimum delay at 38400 baud 7E 4 10 38400 4 4E 4 seconds 440 us Sync Mode generally is intended for applications in which sampling does not occur frequently For applications where Sync Mode sampling will be at a frequency of 1 Hz or higher there is a minimum allowable delay between taking samples This minimum delay between samples approximately inverse to the maximum sample rate varies from 100 msec to 1 06 second and is a function of the number of FIR filter taps as defined by the following formula Minimum Delay between Samples in seconds 0 1 0 03 number of Taps 7 4 34 kSetModeResps frame ID 47 a This frame is the response to kSetMode frame The payload contains the Mode ID requested PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page
62. m IDs kFIRConfig 3 3 AxisID UInt8 Count UInt8 Value Float64 Data Component IDs kHeading 5 5 type Float32 kTemperature 7 7 type Float32 kDistortion 8 8 type boolean kPAligned 21 21 type Float32 k k k k RAligned 22 type Float32 IZAligned 23 type Float32 PAngle 24 type Float32 RAngle 25 type Float32 kXAligned 27 27 type Float32 kYAligned 28 type Float32 kZAligned 29 type Float32 rr Hj nj rz Configuration Parameter IDs kDeclination 1 1 type Float32 kTrueNorth 2 type boolean kMountingRef 10 10 type UInt8 kUserCalStableCheck 11 type boolean kUserCalNumPoints 12 type UInt32 kUserCalAutoSampling 13 type boolean kBaudRate 14 UInt8 kMilOutPut 15 15 type Boolean kDataCal 16 type Boolean kCoeffCopySet 18 18 type UInt32 kAccelCoeffCopySet 19 type UInt32 TCM User Manual r05 Page 58 Mounting Reference IDs kMountedStandard 1 1 kMountedXUp 2 kMountedYUp 3 kMountedStdPlus90 4 kMountedStdPlus180 5 kMountedStdPlus270 6 kMountedZDown 1 kMountedXUpPlus90 8 kMountedXUpPlus180 9 kMountedXUpPlus270 10 kMountedYUpPlus90 11 kMountedYUpPlus180 12 kMountedYUpPlus270 13 kMountedZDownPlus90 14 kMountedZDownPlus180 15 kMountedZDownPlus270 16
63. max positive 5 120 0 0 6 150 max negative max negative 7 180 0 0 8 210 max positive max positive 9 240 0 0 10 270 max negative max negative 11 300 0 0 12 330 max positive max positive 6 2 3 Limited Tilt Range Calibration This procedure is recommended when 45 of tilt isn t feasible but gt 5 of tilt is possible It provides both hard iron and soft iron distortion correction The recommended calibration pattern is a series of 3 circles of evenly spaced points with as much tilt variation as expected during use PNI recommends 12 to 32 calibration points for a Limited Tilt Range Calibration although 10 calibration points is acceptable but less likely to yield good results Table 6 5 12 Point Limited Tilt Calibration Pattern Sample Yaw Pitch Roll First Circle 1 0 0 0 2 90 0 0 3 180 0 0 6 270 0 0 Second Circle 7 45 gt 59 gt 59 8 135 gt 45 gt 45 11 225 gt 59 gt 59 12 315 gt 45 gt 5 Third Circle 13 45 lt 5 lt 5 14 135 lt 5 lt 5 17 225 59 5 18 315 lt 5 lt 5 TCM User Manual r05 Page 32 Note that a similar and acceptable alternative pattern would be to follow the recommended 12 point North Unaware Full Range Calibration pattern but substituting the gt 45 of pitch with whatever pitch can be achieved and the 10 to 20 or roll with
64. meters are unsigned 8 bit numbers TCM User Manual r05 Page 38 7 3 byte Boolean Boolean is a 1 byte parameter that MUST have the value 0 FALSE or 1 TRUE 7 0 byte Command Commands amp Communication Frames Table 7 2 Command Set Description 1 kGetModInfo Queries the modules type and firmware revision number 2 kModInfoResp Response to kKGetModInfo 3 kSetDataComponents Sets the data components to be output 4 kGetData Queries the module for data 5 kDataResp Response to kGetData 6 kSetConfig Sets internal configurations in the module 7 kGetConfig Queries the module for the current internal configuration value 8 kConfigResp Response to kGetConfig 9 kSave Commands the module to save internal and user calibration 10 kStartCal Commands the module to start user calibration 11 kStopCal Commands the module to stop user calibration 12 kSetParam Sets the FIR filter settings for the magnetometer amp accelerometer sensors 13 kGetParam Queries for the FIR filter settings for the magnetometer amp accelerometer sensors 14 kParamResp Contains the FIR filter settings for the magnetometer amp accelerometer sensors 15 kPowerDown Used to completely power down the module 16 kSaveDone Response to kSave 17 kUserCalSampCount Sent from the module after taking a calibration sample point 18 kUserCalScore Contains the
65. n 52 7 4 23 kSetAcqParams frame ID 244 52 7 4 24 kGetAcqParams frame ID 25 4 esc ded esti oed itae e 53 7 4 25 kAcqParamsDone frame ID 264 54 7 4 26 kAcqParamsResp frame ID 27 g seen 54 7 4 27 kPowerDownDone frame ID 28 eee 54 7428 kFactoryUserCal frame ID 29 a tasses ege 54 7 4 29 kFactoryUserCalDone frame ID30a 54 7 4 80 kTakeUserCalSample frame ID 31 4 eseesss 54 7 4 31 kFactoryInclCal frame ID 36 4 aces citri br rei Re era cr 54 7 4 32 kFactoryInclCalDone frame ID327a 54 7 4 33 kSetMode frame ID 46 4 nnne 55 7 4 34 kSetModeResps frame ID 47 4 55 7 4 35 kSyncRead frame ID 49 lassi egene EE See eer 56 7 5 Code Examples ec retten RU EP SE Eed 57 7 5 1 Header File amp CRC 16 Function esee 57 7 5 2 CommProtocol h File esses enne 60 7 5 3 CommProtocol cpp File 62 7 5 4 dfe EM 66 7 5 5 TCM p VE 67 PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page iii List of Tables Table 3 1 Performance Specifications 3 Table 3 2 I O Characteristics 4 Table 3 3 Power Requirements 4 Table 3 4 Environmental Requirements 4 Table 3 5 Mechanical Characteristics 5 Table 4 1 TCM Pin Descriptions 7 Table 5 1 Mounting Orientations 13 Table 6 1 Calibration Mode Summary 27 Table 6 2 12 Point North Unaware Calibration Pattern 30 Table 6 3 18 Point North Aware Calibration Pattern
66. number of samples as set on the Configuration tab is taken changing the orientation of the module between samples as discussed in Section 6 2 If Automatic Sampling is checked the modul e will need to be held steady for a short time and then a sample automatically will be taken Once the window indicates the next number the module s orientation should be changed and held steady for the next sample Once the pre set number of samples has been taken as set on the Configuration tab the calibration is complete PNI Sensor Corporation TCM User Manual June 2011 DOC 1014688 r05 Page 17 5 4 2 Calibration Results Once the calibration is complete the Calibration Results window will indicate the quality of the calibration This may take a few seconds The primary purpose of these scores is to demonstrate that the field calibration was successful as demonstrated by a low CalScore The other parameters provide information that may assist in improving the CalScore should it be unacceptably high Mag CalScore Represents the over riding indicator of the quality of the magnetometer calibration Acceptable scores will be 1 for Full Range Calibration 2 for other methods Note that it is possible to get acceptable scores for Dist Error and Tilt Error and still have a rather high Mag CalScore value The most likely reason for this is the TCM is close to a source of local magnetic distortion that is not fixed with respect to
67. on Mode Allowable Minimum Range Recommended Full Range 10 to 32 12 2D Calibration 10 to 32 12 Limited Tilt Range 10 to 32 12 Hard Iron Only 4 to 32 6 Accelerometer Only 12 to 32 18 Accel and Mag 12 to 32 18 kUserCalAutoSampling Config ID 134 This flag is used during user calibration If set to TRUE the module automatically takes calibration sample points once the minimum change requirement is met If set to FALSE the module waits for kTakeUserCalSample to take a sample with the condition that a magnetic field vector component delta is greater than 5 uT from the last sample point If the user wants to have maximum control over when the calibration sample point are taken then this flag should be set to FALSE kBaudRate Config ID 144 Baud rate index value A power down power up cycle is required when changing the baud rate kMilOutput Config ID 154 This flag sets the heading pitch and roll output to mils By default kMilOutput is set to FALSE and the heading pitch and roll output are in degrees Note that 360 degrees 6400 mils such that 1 degree 17 778 mils or 1 mil 0 05625 degree kDataCal Config ID 164 This flag sets whether or not heading pitch and roll data are output simultaneously while the TCM is being calibrated The default is TRUE such that heading pitch and roll are output during calibration FALSE disables simultaneous output kCoeffCopySet Config ID 184 This comm
68. ount The elements are received as type ie kHeading data switch data pntr read the type and go to the first byte of the data Only handling the 4 elements we are looking for case CommProtocol kHeading Move source destination size bytes Move copies th specified number of bytes from the source pointer to the destination pointer Store the heading Move amp data pntr amp heading sizeof heading increase the pointer to point to the next data element type pntr sizeof heading break case CommProtocol kPAngle Move source destination size bytes Move copies th specified number of bytes from the source pointer to the destination pointer Store the pitch Move amp data pntr amp pitch sizeof pitch increase the pointer to point to the next data element type pntr sizeof pitch break case CommProtocol kRAngle Move source destination size bytes Move copies th specified number of bytes from the source pointer to the destination pointer Store the roll Move amp data pntr amp roll sizeof roll increase the pointer to point to the next data element type pntr sizeof roll break TCM User Manual r05 Page 68 case CommProtocol kTemperature Move source destination size bytes Move copies th specified number of bytes from the source pointer to th
69. personal injury PNI shall have no liability for any indirect or speculative damages including but not limited to consequential incidental punitive and special damages relating to the use of or inability to use this Product whether arising out of contract negligence tort or under any warranty theory or for infringement of any other party s intellectual property rights irrespective of whether PNI had advance notice of the possibility of any such damages including but not limited to loss of use revenue or profit In no event shall PNI s total liability for all claims regarding a Product exceed the price paid for the Product PNI neither assumes nor authorizes any person to assume for it any other liabilities Some states and provinces do not allow limitations on how long an implied warranty lasts or the exclusion or limitation of incidental or consequential damages so the above limitations or exclusions may not apply to you This warranty gives you specific legal rights and you may have other rights that vary by state or province PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 1 2 Introduction Thank you for purchasing PNI Sensor Corporation s FieldForce TCM XB pn 12810 or FieldForce TCM MB pn 13095 tilt compensated 3 axis digital compass The TCM is a high performance low power consumption tilt compensated electronic compass module that incorporates PNI s advanced magnetic distortion compensation and c
70. ple If a request to get the set declination angle the payload would look like 1 10 0 Declination ID Declination Angle Float32 7 4 8 kSave frame ID 94 This frame commands the module to save internal configurations and user calibration to non volatile memory Internal configurations and user calibration is restored on power up The frame has no payload This is the ONLY command that causes the module to save information into non volatile memory TCM User Manual r05 Page 46 7 4 9 kStartCal frame ID 10d This frame commands the module to start user calibration with the current sensor acquisition parameters internal configurations and FIR filter settings After sending this command the module ensures the stability condition is met takes the first calibration point and then responds with kUserCalSampCount kUserCalSampCount will continue to be sent after each sample is taken Subsequent samples will be taken when autosampling when the minimum change and stability conditions are met or manually after the kTakeUserCalSample is sent and the stability condition is met See Section 6 2 for more information on the various calibration procedures Note The payload needs to be 32 bit 4 byte If no payload is entered or if less than 4 bytes are entered the unit will default to the previous calibration method Payload Cal Option Ulnt32 9 The CalOption values
71. py the data to be sent while len mOutData index data compute and add the crc crc CRC mOutData index mOutData index crc gt gt 8 mOutData index crc amp OxFF mmn Write block will copy and send the data out the serial port mSerialPort WriteBlock mOutData index Call the functions in serial port necessary to change the baud rate void CommProtocol SetBaud UInt32 baud mSerialPort SetBaudRate baud mSerialPort gt InClear clear any data that was already waiting in the buffer Update the CRC for transmitted and received data using the CCITT 16bit algorithm X 16 X 12 X 5 1 UIntl6 CommProtocol CRC void data UInt32 len UInt8 dataPtr UInt8 data UInt32 index 0 UIntl6 crc 0 while len cre unsigned char cre gt gt 8 cre lt lt 8 crc dataPtr index crc unsigned char crc amp Oxff gt gt 4 crc cro lt lt 8 lt lt 4 PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 63 crc crc amp Oxff lt lt 4 lt lt 1 return crc This is called each time this process gets a turn to execute void CommProtocol Control InLen returns the number of bytes in the input buffer of the serial object that are available for us to read UInt32 inLen mSerialPort gt InLen switch mStep cas
72. qTime intervalRespTime attribute packed AcqParams typedef struct loat32 MagCalScore loat32 reservel loat32 AccelCalScore loat32 DistErr loat32 TiltErr Float32 TiltRange attribute packed CalScore Il Ay Hz fr tj enum Frame IDs Commands kGetModInfo 1 1 kModInfoResp 2 kSetDataComponents 3 kGetData kDataResp kSetConfig kGetConfig kConfigResp 8 kSave 9 kStartCal kStopCal hf kSetParam 1 kGetParam kParamResp kPowerDown kSaveDone 16 kUserCalSampCount 17 kUserCalScore 18 kSetConfigDone 19 kSetParamDone 20 ING SUNE CH PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 57 kStartIntervalMode 21 kStopIntervalMode 22 kPowerUp 23 kSetAcqParams 24 kGetAcqParams 25 kAcqParamsDone 26 kAcqParamsResp 27 kPowerDoneDown 28 kFactoryUserCal 29 kFactoryUserCalDone 30 kTakeUserCalSample 31 kFactoryInclCal 36 36 kFactoryInclCalDone 37 kSetMode 46 46 kSetModeDone 47 kSyncRead 49 49 Cal Option IDs kFullRangeCal 10 10 type Float32 k2DCal 20 20 type Float32 kHIOnlyCal 30 30 type Float32 kLimitedTiltCal 40 40 type Float32 kAccelCalOnly 100 100 type Float32 kAccelCalwithMag 110 110 type Float32 Para
73. re physically constrained With its many applications the TCM incorporates a flexible and adaptable command set Many parameters are user programmable including reporting units a wide range of sampling configurations output damping and more We re sure the TCM will help you to achieve the greatest performance from your system Thank you for selecting the TCM TCM User Manual r05 Page 2 3 Specifications 3 1 Performance Specifications Table 3 1 Performance Specifications lt 65 of tilt after full range calibration 0 3 rms lt 80 of tilt after full range calibration 0 5 rms Accuracy lt 5 of tilt after 2D calibration lt 2 0 rms Headin 2 ti ibration ti i Fe Fon Resolution 0 1 Repeatability 0 05 rms Range Pitch 90 Roll 180 Pitch 0 2 rms Tilt ett lt 65 of pitch 0 2 rms Pitch amp Roll Roll lt 80 of pitch 0 4 rms lt 86 of pitch 1 0 rms Resolution 0 01 Repeatability 0 05 rms Maximum Operational Dip Angle 85 Calibrated Field Range t125 uT Magnetometers Resolution 0 05 uT Repeatability t 0 1 uT Footnotes 1 Specifications are subject to change Assumes the TCM is motionless and the local magnetic field is clean relative to the calibration 2 For example if the calibration was performed over 10 of tilt then the TCM would provide 2 rms accuracy over 20 of tilt 3 Performance at maximum operational dip ang
74. reference from magnetic north to true north Declination angles vary throughout the world and change very slowly over time For the greatest possible accuracy go to the National Geophysical Data Center web page below to get the declination angle based on your latitude and longitude http www ngdc noaa gov geomagmodels Declination jsp 6 4 Other Considerations The TCM measures the total magnetic field within its vicinity and this is a combination of Earth s magnetic field and local magnetic sources The TCM can compensate for local static magnetic sources However a magnetic source which is not static can create errors such as a motor which turns on off and it is not possible to compensate for such a dynamic nature In such cases moving the TCM away from dynamic magnetic fields is recommended or taking measurements only when the state of the magnetic field is know ex only take measurements when a nearby motor is turned off PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 35 7 Operation with PNI Binary Protocol The TCM utilizes a binary protocol that is transmitted over an RS232 UART TCM XB or a TTL UART TCM MB The parameters should be set as follows Table 7 1 UART Configuration Parameter Value Number of Data Bits 8 Start Bits 1 Stop Bits 1 Parity none 7 1 Datagram Structure The data structure is shown below ByteCount Packet Frame CRC 16 Ulnt16
75. ristics Parameter Value Dimensions TCM XB 3 5 x 4 3 x 1 3 cm Ixwxh TCM MB 3 9 x 8 1 x 1 3 cm TCM XB 6 8 gm Wed TCMMB 5 3gm Conector TCM XB 9 pin Molex pn 53780 0970 TCM MB 4 pin MIL MAX pn 850 10 004 10 001000 Mounting Options Screw mounts standoffs horizontal or vertical 3 3 Mechanical Drawing o MILLIMETERS amp DIMENSIONS ARE M LHNETE S HO oo sd 35 000 E 1 378 S os 2 879 051 10 303 Hos 406 Owes CLEARANCE FOR 4 40 UNC FASTENER 43 000 37 00040 025 1 693 1 4574 001 MOUNTING BLOCK STAKING 27 023 1 064 3 000 0 025 t 2X 1184 001 gt 0 29 00040 025 PIN 1 MOLEX P N 53780 0970 P 1 1424 001 MATES WITH MOLEX P N 51146 0900 1 588 0625 The default orientation for the TCM is for the silk screened arrow to point in the forward direction Figure 3 1 TCM XB Mechanical Drawing PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 5 0 079 2 0 MILL MAX P N 850 10 004 10 001000 MATES WITH MILL MAX P N 851 XX 004 10 001000 OR EQUIVALENT 0 002 E 0 0870 002 7 0 05 15 0 3X 2 21 0 00 E 1 142 GE 29 0 The default orientation for the TCM is for the silk screened arrow to point in the forward direction Figure 3 2 TCM MB Mechanical Drawing 457 6 18 00 0 25 he 76 5 Molex PN 51146 0900 GE 2 s dimen
76. rtion will remain fixed relative to the module s position within the user s system By performing a field calibration the TCM identifies the local sources of magnetic distortion and negates their effects from the overall reading to provide an accurate compass heading Additionally the TCM s MEMS accelerometers gradually may change over time and it may be desirable to recalibrate the accelerometers from time to time The accelerometer calibration procedure corrects for changes in accelerometer gain and offset Unlike the magnetometers the accelerometers may be calibrated outside the host system Accelerometer calibration is more sensitive to noise or hand jitter than magnetometer calibration especially for subsequent use at high tilt angles Because of this a stabilized fixture is recommended for accelerometer calibration although resting the unit against a stable surface often is sufficient Alternatively the TCM can be returned to PNI for accelerometer recalibration Key Points e Accelerometer calibration requires rotating the TCM through a full sphere of coverage But the TCM does need to be incorporated into the user s system during calibration e Magnetometer calibration requires incorporating the module into the user s system such that the magnetic components of the user s system can be compensated for e Magnetometer and accelerometer calibrations can be performed simultaneously But it may be easier to perform them separately since
77. sions in mm inches Figure 3 3 PNI Pigtailed Cable Drawing TCM User Manual r05 Page 6 4 Set Up This section describes how to configure the TCM in your host system To install the TCM into your system follow these steps e Make electrical connections to the TCM e Evaluate the TCM using TCM Studio TCM XB only or a terminal emulation program such as HyperTerminal to ensure the compass generally works correctly e Choose a mounting location e Mechanically mount the TCM in the host system e Perform a field calibration 4 1 Electrical Connections The TCM XB incorporates a 9 pin Molex connector part number 53780 0970 which mates with Molex part 51146 0900 or equivalent The TCM MB incorporates a 4 pin Mil Max connector part number 850 10 004 10 001000 which mates with Mill Max part 851 XX 004 10 001000 or equivalent The pin out is given below in Table 4 1 Table 4 1 TCM Pin Descriptions TCM XB TCM MB Number 9 Pin Pigtailed Cable 4 Pin Connector Wire Color Connector Pin 1 GND Black GND 2 GND Gray 5 VDC 3 GND Green UART Tx 4 NC Orange UART Rx 5 NC Violet 6 NC Brown 7 UART Tx Yellow 8 UART Rx Blue 9 5 VDC Red Footnote 1 For the TCM XB pin 1 is indicated on Figure 3 1 For the TCM MB pin 1 is the pin closest to the corner After making the electrical connections it is a good idea to perform some simple tests to ensure the TCM is working as expected See
78. spTime is no less than the SensorAcqTime IntervalRespTime The IntervalRespTime is relevant when Push Mode is selected and is the time delay in seconds between completion of the TCM module sending one set of sampled data and the start of sending the next sample set The default is 0 0 seconds which means the TCM will begin sending new data as soon as the previous data set has been sent Note that the inverse of the IntervalRespTime is somewhat greater than the sample rate since the IntervalRespTime does not include actual acquisition time 7 4 24 kGetAcqParams frame ID 25 This frame queries the unit for acquisition parameters The frame has no payload PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 53 7 4 25 kAcqParamsDone frame ID 26 4 This frame is the response to kSetAcqParams frame The frame has no payload 7 4 26 kAcqParamsResp frame ID 27 a This frame is the response to kGetAcqParams frame The payload should contain the same payload as the kSetAcqParams frame 7 4 27 kPowerDownDone frame ID 28 4 This frame is the response to kPowerDown frame This indicates that the module successfully received the kPowerDone frame and is in the process of powering down The frame has no payload 7 4 28 kFactoryUserCal frame ID 29 4 This frame clears the user magnetometer calibration coefficients The frame has no payload This frame must be followed by the kSave frame to change in non volati
79. t Data Logger System Log Graph Computer TALL m SerialPort COM1 v Baud Rate 38400 v Module 5 2 1 Initial Connection If using the PNI dual connectorized cable ensure the batteries are well charged e Select the serial port the module is plugged into which is generally COM 1 e Select 38400 as the baud rate e Click the Connect button if the connection is not automatic Once a connection is made the Connected light will turn green and the module s firmware version serial number and PCA version will be displayed in the upper left next to the PNIlogo 5 2 2 Changing Baud Rate To change the baud rate e Inthe Module window select the new baud rate for the module e Click the Power Down button The button will change to read Power Up e Inthe Computer window select same baud rate for the computer e Click the Power Up button The button will revert back to Power Down PNI Sensor Corporation DOC 1014688 r05 TCM User Manual June 2011 Page 11 5 2 3 Changing Modules Once a connection has been made TCM Studio will recall the last settings If a different module is used click the Connect button once the new module is attached This will reestablish a connection assuming the module baud rate is unchanged 5 3 Configuration Tab TOM Studio Ver 310 Module TCM Connected Firmware Version 0605 Serial Number 1020659 PCA Version SW TESTI Conn
80. t32 Ulnt32 Note that the Type and Revision can be decoded from the binary format to character format using the ASCII standard For example the hex string 00 OD 02 54 43 4D 35 31 32 30 38 C7 87 can be decoded to read TCM5 1208 Also the TCM XB is referenced as Type TCM6 since the number of Type characters is limited to 4 7 4 2 kSetDataComponents frame ID 34 This frame sets the data components in the module s data output This is not a query for the module s data see kGetModInfo The first byte of the payload indicates the number of data components followed by the data component IDs Payload gt Count ID ID ID IDeount Ulnt8 gt lt Ulnt8 Ulnt8 Ulnt8 ka Ulnt8 TCM User Manual r05 Page 40 Example To query the heading and pitch the payload should contain 4 Payload 3 2 5 24 Frame ID ID Count Heading ID Pitch ID When querying for data kGetData frame the sequence of the data component output follows the sequence of the data component IDs as set in this frame Component Component Table 7 3 Component Identifiers IDa Units degrees default kHeading Float32 or mile 0 0 to 359 9 kTemperature Float32 Celsius 40 to 85 False Default kDistortion Boolean True or False Ho distofllofi False Default kCalStatus 9 Bool
81. ted Tilt Range Calibration and 2D Calibration at least 6 for Hard Iron Only Calibration and at least 18 for Accel Only Calibration and Accel and Mag Calibration e Initiate a calibration using the kStartCal command Note that this command requires indentifying the type of calibration procedure i e Full Range 2D etc e Follow the appropriate calibration procedure discussed in Sections 6 2 1 to 6 2 6 If kUserCalAutoSampling was set to False then send a kTakeUserCalSample command when ready to take a calibration point If KUserCalAutoSampling was set to True then look for kUserCalSampCount to confirm when a calibration point has been taken During the calibration process heading pitch and roll information will be output from the module and this can be monitored using kDataResp e When the final calibration point is taken the module will present the calibration score using kUserCalScore e Ifthe calibration is acceptable see Section 7 4 17 save the calibration coefficients using kSave 6 2 1 Full Range Calibration This calibration method is appropriate when the module can be tilted 45 or more The Full Range Calibration option calibrates out hard and soft iron effects in three dimensions and allows for the highest accuracy readings Two calibration patterns are discussed below The 12 Point North Unaware Calibration Pattern is a series of 3 circles of evenly spaced points with as much tilt variation as expect
82. ts and magnetized steel or iron objects within close proximity to the sensors This type of distortion remains constant and in a fixed location relative to the sensors for all heading orientations Hard iron distortions add a constant magnitude field component along each axis of sensor output Soft iron distortions are the result of interactions between the Earth s magnetic field and any magnetically soft material within close proximity to the sensors In technical terms soft materials have a high permeability The permeability of a given material is a measure of how well it serves as a path for magnetic lines of force relative to air which has an assigned permeability of one Unlike hard iron distortion soft iron distortion changes as the host system s orientation changes making it more difficult to compensate The TCM 3 axis digital compass features both soft iron and hard iron correction 6 1 2 Pitch and Roll The TCM uses MEMS accelerometers to measure the tilt angle of the compass This data is output as pitch and roll data and is also used in conjunction with the magnetometers to provide a tilt compensated heading reading The TCM utilizes Euler angles as the method for determining accurate orientation This method is the same used in aircraft orientation where the outputs are Heading Yaw Pitch and Roll When using Euler angles roll is defined as the angle rotated around an axis through the center of the fuselage while pitch is rot
83. until the user s system sends a trigger to report data When so triggered the TCM will wake up report data once then return to sleep mode One application of this is to lower power consumption Another use of the Sync Mode is to trigger a reading during an interval when local magnetic sources are well understood For instance if a system has considerable magnetic noise due to nearby motors the Synch Mode can be used to take measurements when the motors are turned off Enter Sync Mode On the Test tab above the tabs and 3D model click the Sync Mode check box to enter Sync Mode Sync Mode Output To retrieve the first reading click the lt Sync Read gt button Heading pitch and roll information will be displayed on Current Reading window If the Enable 3D Model Display box is selected on the Configuration tab then the helicopter will follow the movement as well The module will enter sleep mode after outputting the heading pitch and roll information To obtain subsequent readings the user should first click on the lt Sync Trigger gt button to wake up the module and then click on the lt Sync Read gt button to get the readings after which the module will return to sleep Exit Sync Mode Click on the lt Sync Trigger gt button and then uncheck the Sync Mode check box to exit Sync Mode Note that lt Sync Trigger gt sends a OxFF signal as an external interrupt to wake up the module This is not done for the f
84. whatever roll can be achieved up to these limits See Section 6 2 1 6 2 4 Hard Iron Only Calibration Over time the magnetic distortions around the TCM may change for a variety of reasons The Hard Iron Only Calibration allows for quick recalibration of the module for hard iron effects and generally is effective for operation and calibration in the tilt range of 3 or more 245 is preferred The recommended calibration pattern is a circle of alternately tilted evenly spaced points with as much tilt as expected during use PNI recommends 26 calibration points for a Hard Iron Only Calibration although 4 points is acceptable Table 6 6 6 Point Hard Iron Only Calibration Pattern Sample Yaw Pitch Roll 1 0 45 45 2 60 45 45 3 120 45 45 4 180 45 45 5 240 45 45 6 300 45 45 6 2 5 Accelerometer Only Calibration The requirements for a good accelerometer calibration differ from the requirements for a good magnetometer calibration For instance a level yaw sweep no matter how many points are acquired is effectively only 1 accelerometer calibration point PNI recommends 18 to 32 calibration points for accelerometer calibration although 12 calibration points is acceptable Figure 6 4 shows the two basic starting positions for the Accelerometer Only Calibration Calibration can occur within the user s system or with the module alone It is not necessary to place the TCM
Download Pdf Manuals
Related Search
Related Contents
Samsung NX10BH044M Manual de Usuario SentrySafe QE5541 safe 型式 TD-Z110C E-flite C-Ray 180 A C B D fr it en de pt nl es sv no da el cs et lv lt hu pl sl sk fi tr ja ro zh prise en main utilisation avancée annexes LifeSize PassportTM User Guide PDF Copyright © All rights reserved.
Failed to retrieve file