Home
User Manual
Contents
1.
2. Output HPR During Calibration Degrees OMils S ll Oot Save Enable 3D Model Display Note No settings will be changed in the module until the lt SAVE gt button has been selected 6 3 1 Mounting Options SeaTRAX Studio supports 16 mounting orientations as illustrated previously in Figure 4 2 The descriptions in SeaTRAX Studio are slightly different from those shown in Figure 4 2 and the relationship between the two sets of descriptions is given below PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 22 Table 6 1 Mounting Orientations Studio 42 B n Figure 42 Description Bon Description Description Standard STD 0 Y Sensor Up Y Up 0 Benger 90 Jegen ans Standard 180 sto 180 EET ETH sto 270 FETT pupa X Sensor Up X Up 0 Z Sensor Down Z Down 0 ee frp STE MER SETE Fu 6 3 2 North Reference 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 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
3. gt If the module is in Sync Mode and the user desires to switch back to Normal Mode an FFh string first must be sent followed by some minimum delay time prior to sending the kSetSyncMode 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 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 56 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 3 35 kSetSyncModeResp frame ID 47 a This frame is the response to kSetSyncMode frame The payload contains the Mode ID requested Payload gt Mode ID lt UInt8 gt p 7 3 36 kSyncRead frame ID 49 If t
4. interface It handles sending out the characters 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 UTnt16 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 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 63 if len gt kBuffer Store the total len 2 the frame ID the data len min len is 5 mOutData index mOutData index and the crc Size kPacketMinSize return of the packet including the len bytes 1 2 If no data is sent the count gt gt 8 count
5. The CalOption values are given below along with basic descriptions of the options Full Range Calibration magnetic only 104 OA Recommended calibration method when gt 45 of tilt is possible 2D Calibration magnetic only 204 145 Recommended when the available tilt range is limited to lt 5 Hard lron Only Calibration magnetic only 304 1En 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 281 Recommended calibration method when gt 5 of tilt calibration is available but tilt is restricted to lt 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 1104 6En Selected when magnetic and accelerometer calibration will be done simultaneously 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 MSBs 2D Calibration Heading pitch and roll information is output via the kGetDataResp frame during the calibration process This feature provides guidance during the calibration regarding calibration sample point coverage During calibration in the kGetDataResp frame the number of data components
6. 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 0 void Control I PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 67 7 4 5 SeaTRAX cpp File include SeaTRAX h include TickGenerator h const UInt8 kDataCount 4 We will be requesting 4 components heading pitch roll and temperature ia This object polls the SeaTRAX module once a second for heading pitch roll and temperature SeaTRAX SeaTRAX SerPort serPort Process SeaTRAX Let the CommProtocol know this object will handle any serial data returned by the module mComm new CommProtocol this serPort mTime 0 mStep 1 SeaTRAX SeaTRAX Called by the CommProtocol object when a frame is completely received void SeaTRAX HandleComm UInt8 frameType void dataPtr UInt16 dataLen UInt8 data UInt8 dataPtr switch frameType case CommProtocol kGetDataResp 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 1018154
7. Provides compass heading pitch and roll outputs The heading range is 0 0 to 359 9 the pitch range is 90 0 to 90 0 and the roll range is to 180 0 to 180 0 kTemperature Component ID 74 This value is provided by the device s internal temperature sensor in degrees 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 kCalStatus Component ID 94 This flag indicates the user calibration status False means it is not user calibrated and this is the default value kAccelX kAccelY amp kAccelZ Component IDs 214 224 234 These values represent the accelerometer sensor data for the x y and z axis respectively The values are normalized to g Earth s gravitational force kMagX kMagY amp kMagZ Component IDs 274 284 294 These values represent the magnetic sensor data for the x y and z axis respectively The values are given in uT 7 3 4 kGetData frame ID 44 If the SeaTRAX is configured to operate in Poll Acquisition Mode as defined by kSetAcqParams then this frame requests a single measurement data set The frame has no payload The response is kGetDataResp 1 3 5 kGetDataResp frame ID 54 The response to kGetData kStartContinuousMode and kSyncRead is kGetDataResp The specific data fields that will be output ID 1 Value ID 1 etc should have been previously established by the kSetDataComponents
8. The SeaTRAX measures the total magnetic field within its vicinity which is a combination of Earth s magnetic field and local magnetic sources and distortions While the SeaTRAX s calibration algorithm can compensate for local static magnetic sources it is not possible to compensate for dynamic changes in the magnetic field Consequently it is recommended to keep the SeaTRAX away from dynamic magnetic fields If this is not possible then take measurements only when the state of the magnetic field is known For example if an electric motor is nearby take measurements only when the motor is off Alternatively different sets of magnetic calibration coefficients can be generated in advance for various states and then called when appropriate Using the prior example generate and use one set of coefficients for when the motor is off and another set for when the motor is on The main objective of a magnetic user calibration is to compensate for hard iron and soft iron distortions to the magnetic field caused by components within the user s host system To that end the SeaTRAX needs to be mounted within the host system and the entire host system needs to be moved as a single unit during a user calibration The SeaTRAX allows the user to perform a calibration only in a 2D plane or with limited tilt but provides the greatest accuracy if the user can rotate through 360 of heading and at least 45 of tilt The following subsections provide instruc
9. 45 5 2 Accelerometer Calibration The SeaTRAX uses a MEMS accelerometer to measure attitude This data is output as pitch and roll data Additionally the accelerometer data is critical for establishing an accurate heading reading when the SeaTRAX is tilted as discussed in the PNI white paper Tilt Induced Heading Error in a 2 Axis Compass which can be found on PNI s web site http www pnicorp com technology papers The SeaTRAX algorithms assume the accelerometer only measures the gravitational field If the SeaTRAX is accelerating this will result in the SeaTRAX calculating an inaccurate PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 17 gravitational vector which in turn will result in an inaccurate heading reading For this reason the SeaTRAX should be stationary when taking a measurement As previously mentioned PNI calibrates the accelerometer in its factory prior to shipment But over time the bias and offset of the accelerometer will drift For this reason PNI recommends the accelerometer be recalibrated every 6 to 12 months The user may return the SeaTRAX to PNI for accelerometer calibration or the user may perform a user accelerometer calibration The remainder of this section covers the user accelerometer calibration 5 2 1 Accelerometer Only Calibration The requirements for a good user accelerometer calibration differ significantly from the requirements for a good magnetic calibrati
10. 7 3 24 kSetAcqParams frame ID 24 g eciscincssrcsseveaasvedsaicesenvancavorsancesons 54 7 3 25 kGetAcqParams frame ID 284 55 7 3 26 kSetAcqParamsDone frame ID 264 55 7 3 27 kGetAcqParamsResp frame ID2ia 55 7 3 28 kPowerDownDone frame ID 284 cccccccscccssesssssesssseeseessssssaneas 55 7 3 29 kFactoryMagCoeff frame ID 29 isss sinn 55 7 3 30 kFactoryMagCoeffDone frame ID204 55 7 3 31 kTakeUserCalSample frame ID Zi 56 7 3 32 kFactoryAccelCoeff frame ID2p4 56 7 3 33 kFactoryAccelCoeffDone frame ID 37 4 rrnrrornrnnnnornrrnnnnrrrnnnnn 56 7 3 34 kSetSyncMode frame ID Aa 56 7 3 35 kSetSyncModeResp frame ID 47 4 rrrnorrrrnnnnrvrnnnnnnnrnrrnnnnrnrennnn 57 7 3 36 KSyncRead frame ID 49 q c secescsconssveceoresseadorenadereesesendenysveaeate ene 57 7 4 Code Examples sr a ee 58 7 4 1 Header File 8 CRC 16 tunctlon 58 7 4 2 CommbProtocol Elei sasssa raska cvs aaa 61 7 4 3 CommProtocol cpp File 63 7 4 4 SeaT RAX N Filen ss siste nib SE 67 7 4 5 SeaTRAX cpp File 68 PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page iii List of Tables Table 3 1 Performance Characteristics 3 Table 3 2 Absolute Maximum Ratings 4 Table 3 3 Electrical Requirements 4 Table 3 4 I O Characteristics 4 Table 3 5 Environmental Requirements 5 Table 3 6 Mechanical Characteristics 5 Table 4 1 SEATRAX Pin Descriptions 7 Table 5 1 Magnetic Calibration Mode Summary 13 Table 5 2 12 Point Full Range Calibration Pattern 15
11. Parameter Minimum Maximum Units Supply Voltage 0 3 10 VDC Storage Temperature 40 85 C 4 CAUTION 5 Stresses beyond those listed above may cause permanent damage to the device These are stress ratings only Operation of the device at these or other conditions beyond those indicated in the operational sections of the specifications is not implied Table 3 3 Electrical Requirements Supply Voltage Value 3 8 to 9 VDC Communication Lines High Level Input 2 4 V minimum Low Level Input 0 6 V maximum Output Voltage Swing 5 2 V typ 5 0 V min Tx Output Resistance 300 Q max sample rate 25 mA typical e 8 Hz aE rate 17 mA TE During application of 180 mA pk 60 mA avg Peak Current Draw external power over 10 ms During logical power 135 mA pk 60 mA avg up down or Sync Trigger over 4 ms Sleep Mode Current Draw 0 3 mA typical Table 3 4 I O Characteristics Parameter Value Communication Interface RS232 UART Communication Protocol PNI Binary Communication Rate 300 to 115200 baud Maximum Sample Rate 50 samples sec Time to Initial Initial power up lt 210 ms Good Data Sleep Mode recovery lt 80 ms Footnotes 1 The maximum sample rate is dependent on the strength of the magnetic field 2 FIR taps set to 0 PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 4 Table 3 5 Environme
12. Table 5 3 12 Point 2D Calibration Pattern 16 Table 5 4 12 Point Limited Tilt Calibration Pattern 16 Table 5 5 6 Point Hard Iron Only Calibration Pattern 17 Table 6 1 Mounting Orientations 23 Table 7 1 UART Configuration 35 Table 7 2 SeaTRAX Command Set 38 Table 7 3 Component Identifiers 40 Table 7 4 Configuration Identifiers 43 Table 7 5 Sample Points 44 Table 7 6 Recommended FIR Filter Tap Values 50 List of Figures Figure 3 1 SeaTRAX Mechanical Drawing 6 Figure 4 1 Positive amp Negative Roll and Pitch Definition 9 Figure 4 2 Mounting Orientations 10 Figure 5 1 12 Point Full Range Calibration 14 Figure 5 2 Accelerometer Calibration Starting Orientations 19 Figure 7 1 Datagram Structure 35 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page iv 1 Copyright amp Warranty Information O Copyright PNI Sensor Corporation 2012 All Rights Reserved Reproduction adaptation or translation without prior written permission is prohibited except as allowed under copyright laws Revised July 2013 For most recent version visit our website at www pnicorp com PNI Sensor Corporation 2331 Circadian Way Santa Rosa CA 95407 USA Tel 707 566 2260 Fax 707 566 2261 Warranty and Limitation of Liability PNI Sensor Corporation PNI manufactures its SEATRAX products Products from parts and components that are new or equivalent to new in performance PNI warrants that each Product to be delivered hereu
13. amp OxFF wu store the frame ID mOutData indext copy the data while len mOutData index frameTyp to be sent datatt compute and add the cre crc CRC mOutData mOutData index 4 mOutData index 4 index oR gt 8 3 crc amp OxFF wu r Write block w mSerialPort gt Write Call the functions ill copy and send the data out the serial port Block mOutData index in serial port necessary to change the baud rate void CommProtocol Set mSerialPort gt Setl mSerial clear any data that Update the CRC for CCITT 16bit algorit UInt16 CommProtocol C UInt8 dataPtr UInt32 index 0 UIntl6 cre while len 0 Port gt InC1 Baud UInt32 baud BaudRate baud lear was already waiting in the buffer transmitted and received data using the hm XS 26 sb KOT kb KOG la RC void data UInt32 len UInt8 data r cre unsigned char cre gt gt 8 cre lt lt 8 cre dataPtr index cre unsigned char cre amp Oxff gt gt 4 cre cre lt lt 8 lt lt 4 PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 64 cre iere 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
14. 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 1018154 r02 SeaTRAX User Manual Page 1 2 Introduction Thank you for purchasing PNI Sensor Corporation s SeaTRAX 3 axis tilt compensated heading sensor pn 13457 with Sen Z shield or pn 13118 without Sen Z shield SeaTRAX is a high performance low power consumption tilt compensated heading sensor incorporating PNI s advanced magnetic distortion compensation and calibration scoring algorithms to provide industry leading heading accuracy SeaTRAX combines PNI s patented magneto inductive sensors and measurement circuit technology with a 3 a
15. Acquisition Settings Module is in POLL mode Poll delay is 0 seconds Acquisition delay is 0 seconds Filters are NOT flushed Module Output is in Degrees Sync Read Roll 000 5 Sync Mode 6 5 1 Current Reading Log Data Graph System Log 3D Model 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 6 5 2 3D Model The helicopter will follow the movement of the SeaTRAX and give a visual representation of the module s orientation assuming the Enable 3D Model Display box is selected on the Configuration tab 6 5 3 Acquisition Settings These indicators mimic the pertinent selections made on the Configuration tab PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 30 6 5 4 Sync Mode Sync Mode enables the module to stay in Sleep Mode until the user s system sends a trigger to report data When so triggered the SeaTRAX 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
16. DOC 1018154 r02 SeaTRAX User Manual Page 14 Table 5 2 12 Point Full Range Calibration Pattern Sample Yaw Pitch Roll First Circle 1 0 5 30 to 40 2 90 5 30 to 40 3 180 5 30 to 40 4 270 59 30 to 40 Second Circle 5 30 gt 45 30 to 40 6 120 gt 45 30 to 40 7 210 gt 45 30 to 40 8 300 gt 45 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 Footnote 1 Yaw listings are not absolute heading directions but rather relative heading referenced to the first sample 5 1 2 2D Calibration A 2D Calibration is intended for very low tilt operation lt 5 where calibrating the SeaTRAX with greater tilt is not practical This 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 12 point calibration pattern is a circle of evenly spaced points as given in Table 5 3 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 15 Footnote Table 5 3 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 max positive 5 120 0 0 6 15
17. 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 gt 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 6 3 10 Default Clicking this button reverts SeaTRAX Studio program to the factory default settings 6 3 11 Retrieve Clicking on this button causes SeaTRAX Studio to read the settings from the module and display them on the screen PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 26 6 4 Calibration Tab SSeal hax studio Ver 100 File Edit
18. accelerometer gradually changes over time and the user either will need to periodically perform a user accelerometer calibration or return the unit to PNI for recalibration As a rule of thumb the accelerometer should be recalibrated every 6 to 12 months Unlike a magnetic calibration the accelerometer may be calibrated outside the host system Accelerometer calibration is more sensitive to noise or hand jitter than magnetic calibration especially for subsequent use at high tilt angles Because of this a stabilized fixture is suggested for accelerometer calibration although resting the unit against a stable surface often is sufficient Key Points e Magnetic calibration o Requires incorporating the SeaTRAX into the user s host system such that the magnetic components of the user s system can be compensated for o Allows for 4 different methods of calibration Full Range Calibration provides the highest heading accuracy but requires 245 of pitch 2D and Limited Tilt Calibration allow for good calibration when the range of allowable motion is limited Hard Iron Only Calibration updates the hard iron compensation coefficients with a relatively easy procedure e Accelerometer calibration requires rotating the SeaTRAX through a full sphere of coverage but it does not need to be incorporated in the user s system during calibration e If the SeaTRAX will experience different states during operation such as operating with a nearby shut
19. ea Skree R R ie 33 6 8 System Log Ta Daron nenea aa a a a EARRA 34 7 OPERATION WITH PNI BINARY PROTOCOL 0000000 0 00 sess essa rns 35 7 1 Datagram Structure 00000 00 000 ester a aa Eaa a a A a 35 7 2 P r met r FORNA LS sins rs dpi aa levee 36 7 3 Commands amp Communication Frames rrrnnnnnorrrvrnrrnnnnnnnnrnrvnnennsnnnnnr 38 7 3 1 kGetModlinfo frame ID Lal 39 7 3 2 kGetModInfoResp frame ID 24 rorrrrrnnnrornrnnonnrrrrnnnnrrrnnnnnnnnnrr 39 7 3 3 kSetDataComponents frame ID 34 ccc 40 7 3 4 kGetData frame ID A4 41 7 3 5 kGetDataResp frame ID Ss EEN 41 7 3 6 kSetConfig frame ID 6g E 42 7 3 7 kGetConfig frame E rasere GE 46 7 3 8 kGetConfigResp frame ID Sa 46 7 3 9 kSave frame ID Ou 47 7 3 10 kStartCal frame ID Ia 47 7 3 11 kStopCal frame ID 49 7 3 12 kSetFIRFilters frame ID 129 49 7 3 13 kGetFIRFilters frame ID 134 51 7 3 14 kGetFIRFiltersResp frame ID L Al 51 7 3 15 kPowerDown frame ID 154 ccc 51 7 3 16 kSaveDone frame ID 164 eeen 52 7 3 17 kUserCalSampleCount frame IDUia 52 7 3 18 kCalScore frame ID Ia 52 7 3 19 kSetConfigDone frame ID 195 sssisssssnsisnasks dissa 53 7 3 20 kSetFIRFiltersDone frame ID 204 errvnrnrrrnnnnnrnrrnnnnrnnersnnnnrrnnenne 53 7 3 21 kStartContinuousMode frame ID 2ia 53 7 3 22 kStopContinuousMode frame ID22al 53 7 3 23 kPowerUpDone frame ID 224 54 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page ii
20. follow the recommended 12 point Full Range Calibration pattern but substituting the gt 45 of pitch with whatever pitch can be achieved and the 30 to 40 or roll with whatever roll can be achieved up to these limits See Section 5 1 1 5 1 4 Hard lron Only Calibration It is not uncommon for the hard iron magnetic distortions around the SeaTRAX to change Some reasons for this include significant temperature change or temperature A Hard Iron Only Calibration allows for quick recalibration of the SeaTRAX for hard iron effects and shock to a system as well as gradual aging of components generally is effective for operation and calibration in the tilt range of 3 or more 245 is preferred The recommended 6 point calibration pattern given below is a circle of alternately tilted evenly spaced points with as much tilt as expected during use Table 5 5 6 Point Hard Iron Only Calibration Pattern Sample Yaw Pitch Roll 1 0 max negative max negative 2 60 max positive max positive 3 120 max negative max negative 4 180 max positive max positive 5 240 max negative max negative 6 300 max positive max positive Footnote 1 For best results the tilt experienced during calibration should match that experienced in service For example if the SeaTRAX will be subject to 45 of pitch and roll when in service then max negative should be 45 and max positive should be
21. indicates if the SeaTRAX experienced sufficient tilt during a magnetic calibration taking into account the calibration method The score should be 0 In the event of an aborted calibration the score will be 179 84 or in the event of an accel only calibration the score will be 99 994 TiltRange For a magnetic calibration this reports the larger of either half the full pitch range or half the full roll range of sample points For example if the device is pitched 10 to 20 and rolled 25 to 15 the TiltRange value would be 20 which represents half the roll range For Full Range Calibration and Hard Iron Only Calibration this should be gt 45 For 2D Calibration ideally this should be 2 For Limited Tilt Range Calibration the value should be as large a possible given the user s constraints In the event of an aborted calibration the score will be 179 8 or in the event of an accel only calibration the score will be 99 994 7 3 19 kSetConfigDone frame ID 19 4 This frame is the response to kSetConfig frame The frame has no payload 7 3 20 kSetFIRFiltersDone frame ID 204 This frame is the response to kSetFIRFilters The frame has no payload 7 3 21 kStartContinuousMode frame ID 214 If the SeaTRAX is configured to operate in Continuous Acquisition Mode as defined by kSetAcqParams then this frame initiates the outputting of data at a relatively fixed data rate where the data rate is established by the SampleD
22. 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 case 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 gt ReadBlock amp mInData 2 mExpectedLen 2 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 65 in CRC verification don t include the CRC in the recalculation 2 cre CRC mInData mExpectedLen 2 CRC is also ALWAYS transmitted in big endian crcReceived mInData mExpectedLen
23. old data This can be useful if a significant change in heading has occurred since the last reading as the old heading data would be in the filter Once the taps are cleared it is necessary to fully repopulate the filter before data is output For example if 32 FIR taps is set 32 new samples must be taken before a reading will be output The length of the delay before outputting data is directly correlated to the number of FIR taps AcquireDelay When operating in Continuous Acquisition Mode the AcquireDelay sets the time between samples taken by the module in seconds The default is 0 0 seconds which means 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 AcquireDelay is either set to 0 in which case the SeaTRAX is constantly sampling or set to equal the SampleDelay value PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 54 The advantage of running with an AcquireDelay 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 AcquireDelay is power consumption can be reduced assuming the SampleDelay is no less than the AcquireDelay SampleDelay The SampleDelay is relevant when the Continuous Acquisition Mode is selected Itis the time delay in seconds between completion of the SeaTRAX
24. on your latitude and longitude http www ngdc noaa gov geomagmodels Declination jsp 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 6 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 for additional information PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 23 6 3 4 Output The SeaTRAX 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 I degree 17 7778 mils and 1 mil 0 05625 degree 6 3 5 Enable 3D Model SeaTRAX Studio s Test tab includes a live action 3 D rendering of a helicopter Some computer systems may not have the graphics capability to render the 3D Model for this reason it may be necessary to turn off this feature 6 3 6 Filter Setting Taps The SeaTRAX 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 sele
25. sending one set of data and the start of sending the next data set The default is 0 seconds which means the SeaTRAX will send new data as soon as the previous data set has been sent Note that the inverse of the SampleDelay is somewhat greater than the actual sample rate since the SampleDelay does not include actual acquisition time 7 3 25 kGetAcqParams frame ID 254 This frame queries the unit for the acquisition parameters The frame has no payload 7 3 26 KkSetAcqParamsDone frame ID 264 This frame is the response to kSetAcqParams frame The frame has no payload 7 3 27 KkGetAcqParamsResp frame ID 274 This frame is the response to kGetAcqParams frame The payload has the same structure as kSetAcqParams 7 3 28 kPowerDownDone frame ID 28 This frame confirms the SeaTRAX received a command to power down The frame has no payload 7 3 29 kFactoryMagCoeff frame ID 29 4 For the current designated kMagCoeffSet this frame clears the magnetometer calibration coefficients and loads the original factory generated coefficients The frame has no payload This frame must be followed by the kSave frame to save the change in non volatile memory 7 3 30 kFactoryMagCoeffDone frame ID 30 4 This frame is the response to kFactoryMagCoeff frame The frame has no payload PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 55 7 3 31 kTakeUserCalSample frame ID 314 This frame commands the SeaTRAX to take a samp
26. sensors Byte I should be set to 3 and Byte 2 should be set to 1 Payload Byte 1 Byte 2 Ulnt8 Ulnt8 7 3 14 kGetFIRFiltersResp frame ID 144 This is the response to kGetFIRFilters and it has the same payload definition as kSetFIRFilters 7 3 15 kPowerDown frame ID 154 This frame is used to power down the module which puts the module in Sleep Mode The frame has no payload The command powers down all peripherals including the sensors microprocessor and RS 232 driver However the driver chip has a feature to keep the Rx line enabled The SeaTRAX will power up when it receives any signal on the native UART Rx line PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 51 7 3 16 kSaveDone frame ID 164 This frame is the response to kSave frame The payload contains a Ulnt16 error code 0 indicates no error 1 indicates an error when attempting to save data to memory Payload Ulnt16 7 3 17 kUserCalSampleCount frame ID 174 This frame is sent from the SeaTRAX after taking a calibration sample point The payload contains the sample count with the range of to 32 Payload SampleCount Ulnt32 7 3 18 kCalScore frame ID 184 The calibration score is automatically calculated and sent after taking the final calibration point although it may take gt 1 minute for the score to be calculated The payload is defined below and the payload components are discussed after this Payload
27. 0 kUserCalNumPoints 12 Ulnt32 4 32 12 kUserCalAutoSampling 13 Boolean True or False True kBaudRate 14 Ulnt8 0 300 1 600 2 1200 3 1800 4 2400 5 3600 6 4800 7 7200 8 9600 9 14400 10 19200 11 28800 12 38400 13 57600 14 115200 12 kMilOutput 15 Boolean True or False False kHPRDuringCal 16 Boolean True or False True kMagCoeffSet 18 Ulnt32 CET kAccelCoeffSet Note 19 Ulnt32 0 2 1 Refer to Figure 4 2 for additional information on mounting orientations PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 43 kDeclination Config ID 1d This sets the declination angle to determine True North heading Positive declination is easterly declination and negative is westerly declination This is not applied unless 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 2 for additional information kUserCalNumPoints Config ID 124 The user must select the number of points to take during a cal
28. 0 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 1 For best results the tilt experienced during calibration should match that experienced in service For example if the SeaTRAX is restrained to a level plane in service then calibration should be in a plane where max positive and max negative are 0 5 1 3 Limited Tilt Calibration A Limited Tilt Calibration 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 12 point calibration pattern given below is a series of 3 circles of evenly spaced points with as much tilt variation as expected during use Table 5 4 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 5 gt 5 8 135 gt 5 gt 5 11 225 gt 5 gt 5 12 315 gt 5 gt 5 Third Circle 13 45 lt 5 lt 5 14 135 lt 5 lt 5 17 225 lt 5 lt 5 18 315 lt 5 lt 5 PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 16 Note that a similar and acceptable alternative pattern would be to
29. 0 00 14 5C F9 ByteCount Frame ID CalOption CalOption Checksum 2D Calibration PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 35 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 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 Z 0 15 8 23 1631 24 Isb msb Little Endian PNI Sensor Corporation DOC 1018154
30. 2 lt lt 8 mInData mExpectedLen 1 if crc crcReceived the cre is correct so pass the frame up for processing if mHandler mHandler gt HandleComm mInData 2 amp mInData 3 mExpectedLen kPacketMinSize else cre 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 1018154 r02 SeaTRAX User Manual Page 66 7 4 4 SeaTRAX h File pragma once include Processes h include CommProtocol h This file contains the object providing communication to the SeaTRAX It will set up the module and parse packets received Process is a base class that provides SeaTRAX with cooperative parallel processing The Control method will be called by a process manager on a continuous basis class SeaTRAX public Process public CommHandler public SeaTRAX SerPort serPort SeaTRAX protected
31. 4500864832660e 2 01 2710056429342e 2 02 0737124095482e 3 3 04 5329134234467e 1 01 6637325898141e 1 02 5971390034516e 2 03 2757326624196e 3 4 04 6708657655334e 2 02 4925036373620e 1 04 6451949792704e 2 05 3097803863757e 3 5 02 4925036373620e 1 07 1024151197772e 2 08 3414139286254e 3 6 01 6637325898141e 1 09 5354386848804e 2 01 2456836057785e 2 7 06 4500864832660e 2 01 1484431942626e 1 01 7646051430536e 2 8 01 9875512449729e 2 01 2567124916369e 1 02 3794805168613e 2 9 01 2567124916369e 1 03 0686505921968e 2 10 01 1484431942626e 1 03 8014333463472e 2 11 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 7373451424187e 2 16 07 9724971069144e 3 06 9231186101853e 2 17 06 9231186101853e 2 18 06 7373451424187e 2 19 06 3781858267530e 2 DOC 1018154 r02 Page 50 PNI Sensor Corporation SeaTRAX User Manual 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 01 482372595881 8e 3 7 3 13 kGetFIRFilters frame ID 134 This frame queries the FIR filter settings for the
32. Accelerometer Only Calibration pattern discussed in Section 5 2 1 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 SeaTRAX to be removed from the host system in order to perform the Accelerometer Only Calibration PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 19 6 Operation with SeaTRAX Studio SeaTRAX Studio puts an easy to use graphical user interface GUI onto the binary command language used by the SeaTRAX SeaTRAX Studio is intended for evaluating demonstrating and calibrating the SeaTRAX module The program includes the ability to log and save the outputs from the SeaTRAX to a file for off line evaluation Check the PNI website for the latest SeaTRAX Studio updates at www pnicorp com The SeaTRAX Studio evaluation software communicates with the SeaTRAX through the RS232 serial port of a computer 6 1 installation SeaTRAX Studio is provided as an executable program which can be downloaded from PNI s website It will work with Windows XP Window
33. MagCalScore AccelCalScore Depu TiltError TiltRange Float32 Float32 Float32 Float32 Float32 Float32 MagCalScore MagCalScore provides an over riding quality indicator of the magnetometer calibration Acceptable scores will be lt 1 for Full Range Calibration lt 2 for other methods Note that it is possible to get acceptable scores for DistError and TiltError and still have a rather high MagCalScore value The most likely reason for this is the SeaTRAX is close to a source of local magnetic distortion that is not fixed with respect to the device In the event of an aborted calibration the score will be 179 8d or in the event of an accel only calibration the score will be 99 99d AccelCalScore This score represents the over riding quality of the accelerometer calibration An acceptable score is lt 1 In the event of an aborted calibration the score will be 179 84 or in the event of a mag only calibration the score will be 99 994 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 52 DistError For a magnetic calibration this score indicates if the distribution of sample points is sufficient with an emphasis on the heading distribution The score should be 0 Significant clumping or a lack of sample points in a particular section can result in a poor score In the event of an aborted calibration the score will be 179 84 or in the event of an accel only calibration the score will be 99 994 TiltError This score
34. Module SeaTRAX Connected e N I Firmware Version s901 Serial Number PCA Version Connection Configuration Calibration Test Log Data Graph System Log Samples Calibration Results versa Dist Error Tilt Error Tilt Range Accel CalScore Take Sample Current Configuration Options Limited Tilt Cal v Audible Feedback Automatic Sampling Hard Iron Only Cal Number of samples is 12 P Accel Only Cal 2D Only Cal Heading Pitch Rall Accel Cal with Mag Full Range Cal 000 0 000 0 000 0 Clear Accel Cal to Factory Clear Mag Cal to Factory Save j Note The default settings are recommended for the highest accuracy and quality of calibration 6 4 1 Samples Before proceeding refer to Section 5 for the recommended calibration procedure corresponding to the calibration method selected on the Configuration tab Clicking the lt Start gt button begins the calibration process and immediately takes the first sample If Automatic Sampling is not checked on the Configuration tab it is necessary to click the lt Take Sample gt button to take a calibration sample point This should be repeated until the total number of samples as set on the Configuration tab are taken while changing the orientation of the module between samples as discussed in Section 5 If Automatic Sampling is checked the module will need to be held steady for a short time and then a sample aut
35. User Manual SeaTRAX High Accuracy Heading Sensor INT SENSOR CORPORATION Table of Contents 1 COPYRIGHT amp WARRANTY INFORMATION cccccssssceccessssececcsssecsecesssees 1 2 INTRODUCTION siss a reer oini sess ursi neso sri oit swE vs 2 3 SPECIFICATIONS vis csics scssistcsssncusccdatenncnins oki eiinekaiik skeiv de rusu ie SSUV EVNE 3 3 1 Characteristics amp Requirements rrrrnnrrrnrannrrvnrsnennvnnnnennrrnnssnnrrensennnnenee 3 3 2 Mechanical Drawing s 6 GC WE TE 7 4 1 EAS aj Egeheg 7 4 2 Installation E e E 7 4 2 1 Operate within the SeaTRAX s dynamic range 000 8 4 2 2 Locate away from changing magnetic fields rrrrnnrorrrrrrnennrnnn 8 4 2 3 Mount in a physically stable Jocaton 8 4 2 4 Location verification testing rrrrrrrrnnnnnnnnrrrvrnrrnnnnnnnnnnrrnnrnnsnnnnnn 8 4 3 Mechanical Mounting sorcier 9 4 3 1 Pitch and Roll Conventions asian saa n a 9 4 3 2 Mounting Orientation 10 5 USER CALIBRATION sis assa ee 11 5 1 Magnetic Callas sadda nina 12 5 1 1 Full Range Caltbraton sanns rasan 14 5 1 2 FO AA a RRE 15 5 1 3 Limited Tilt Calibration aassids nas sida a 16 5 1 4 Hard lron Only Calibration ssrvrrronnrrvnrannrrrnnnrrnnrrensennrrensensnnnne 17 5 2 Accelerometer Calbratton E 17 5 2 1 Accelerometer Only Calibration sessnssssosssennesssssserenersnssssenne 18 5 2 2 Mag and Accel Calibration rorrrnrrnnnnnnnnrnrvnnrrnonnnnnnnnrsn
36. Version s901 a Serial Number 1031797 Serial Number 1031797 PCA Version RO113179 PCA Version RO113179 Connection Configuration Calibration Test Log Data Graph SystemLog Connection Configuration Calibration Test Log Data Graph System Log GraphData w oUserCal O with User Cal MX Dusch Das OwoUserCal Zeg User Cal MX 27 69 2081 MX Fit MY Fit MX Cal MY Cal MX Fit Wm MX Cal MY Cal a Bae met N Je k 7 Y CR I Go Auto Scroll 200 1364 728 The Graph Tab provides a 2 axis X Y plot of the measured field strength If w o User Cal graph data is selected the plot and data provide magnetic field strength measurements after the FIR taps are applied but prior to applying the user calibration coefficients If with User Cal graph data is selected the plot and data provide data after applying the FIR filter and the user calibration coefficients The two sample plots shown above are for the same 360 rotation in the horizontal plane of a SeaTRAX with a battery mounted next to it For the w o User Cal plot the data is slightly ellipsoid with an offset of about 4 uT in both the MX and MY direction The with User Cal plot is more clearly a circle and is properly centered The plots can be used to visually see hard and soft iron effects within the environment measured by the SeaTRAX as well as corrected output after a user calibr
37. aTRAX User Manual Page 70 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 SEATRAX Control switch mStep case 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 kPitch pkt 3 CommProtocol kRoll 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 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 71 Message No response from the module Check connection and try again r n mStep 0 break default break PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 72
38. ate for the module e Click the lt Power Down gt button The button will change to read lt Power Up gt e Inthe Computer window select same baud rate for the computer e Click the lt Power Up gt button The button will revert back to lt Power Down gt Note While the SeaTRAX can operate at a baud rate of 230400 a PC serial port normally will not operate this fast PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 21 6 2 3 Changing Modules Once a connection has been made SeaTRAX Studio will recall the last settings If a different module is used click the lt Connect gt button once the new module is attached This will reestablish a connection assuming the module baud rate is unchanged 6 3 Configuration Tab pa Seairax studio Vers 0 Module SeaTRAX Connected Firmware Version s901 Serial Number PCA Version Connection Configuration Calibration Test Log Data Graph System Log Mounting Options Filter Settings ibration Settings RER ES l Taps Automatic Sampling North Reference Acquisition Settings Calibration Points 12 Full Range Calibration OHI Only Calibration Declination Poll Delay 0 O Limited Tilt Range Calibration Acquire Delay 0 2D Calibration Magnetic True Mode Pall Continuous Endianess O Accel only Calibration S t Sample Delay 0 Big O Little O Accel Calibration with Mag Flush Filters
39. ation has been performed Note that if the calibration score is relatively poor then the with User Cal plot may not be a circle PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 33 6 8 System Log Tab na Seairax Studio Ver 10 File Edit Module Sea TRAX Connected lt 5 N I Firmware Version s901 ses Serial Number 1031797 PCA Version R0113179 Connection Configuration Calibration Test Log Data Graph System Log Time Stamp Event 2012 11 28 13 40 14 Checking preference file 2012 11 28 13 40 14 Preferences file not found using defaults 2012 11 28 13 40 14 Enabled audible feedback 28 13 40 14 Disabled high contrast 28 13 40 14 Enabled auto scroll 28 13 40 14 Enabled 3D Model 1 28 13 40 22 Changed computer serial port to COM1 1 28 13 40 22 Opened serial port COM1 28 13 40 26 Changed computer baud rate to 38400 1 28 13 40 27 Opened serial port COM1 1 28 13 40 27 Extracted module configuration 28 13 40 27 Changed endianess to big endian 28 13 40 27 Extracted module information 28 13 40 27 Changed taps to 8 1 28 13 40 27 Changed acquisition mode to poll mode 1 28 13 40 27 Disabled filter flushing 28 13 40 27 Changed mounting to Standard 28 13 40 27 Changed north reference to magnetic north 1 28 13 40 27 Disabled stability checking 1 28 13 40 Enabled automatic sampling 28 13 40 Changed calibration points to 12 40 Changed output to be in Degrees Changed HPR duri
40. ave the calibration coefficient set and coefficient values to volatile memory assuming the calibration was not aborted e Ifthe calibration was not good either perform another calibration procedure reboot to restore the prior coefficients recall another coefficient set kMagCoeffSet or recall the factory coefficients kFactoryMagCoeff e Ifthe calibration was good and you want to save the calibration coefficients to non volatile memory send the kSave command 7 3 11 kStopCal frame ID 114 This command aborts the 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 is 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 They will not be saved however unless the kSave command is sent 7 3 12 kSetFIRFilters frame ID 124 The SeaTRAX 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 and directly affects the time fo
41. be implemented immediately Save the coefficient set to non volatile memory by sending kSave When the SeaTRAX is powered down and back up again it will load the last saved coefficient set 7 3 7 kGetConfig frame ID 74 This frame queries the SeaTRAX for the current internal configuration value The payload contains the configuration ID requested Payload Config ID Ulnt8 1 3 8 kGetConfigResp frame ID 84 The response to kGetConfig is given below and contains the configuration ID and value Payload Ulnt8 ID Specific Example If a request to get the set declination angle the payload would look like Payload Declination ID Declination Angle Float32 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 46 7 3 9 kSave frame ID 94 This frame commands the SeaTRAX to save internal configurations and user calibration coefficients to non volatile memory Internal configurations and user calibration coefficients are restored on power up The frame has no payload This is the ONLY command that causes the device to save information to non volatile memory 7 3 10 kStartCal frame ID 10 Before proceeding with this section ensure you are familiar with Section 5 Also note the following e Multiple sets of calibration coefficients can be saved using kMagCoeffSet and kAccelCoeffSet These different coefficient sets can be used for storing coefficients for varying conditions such as when a door is open or c
42. command frame Payload ID Count Value ID 1 Value ID 2 Value ID 3 Ulni8 Ulnt8 ID Specific Ulni8 ID Specific Ulni8 ID Specific PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 41 Example If heading and pitch are set to be output per the kSetDataComponents command the payload would look like Payload ID Count Heading ID Heading Pitch ID Pitch Output Float32 Float32 7 3 6 KkSetConfig frame ID 64 This frame sets internal configurations in the SeaTRAX 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 To save these in non volatile memory the kSave command must be issued Payload Ulnt8 ID Specific Example To configure the declination the payload would look like Payload Declination ID Declination Angle Float32 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 42 Settings kDeclination Table 7 4 Configuration Identifiers Config ID4 Format Float32 Values Range 180 to 180 Default 0 kTrueNorth Boolean True or False False kBigEndian 1 2 6 Boolean True or False True kMountingRef 10 Ulnt8 1 STD 0 2 X UP 0 SEV UP OS 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 UP 12 Y UP 180 13 Y UP 270 14 Z DOWN 90 15 Z DOWN 180 16 Z DOWN 27
43. cting 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 6 3 7 Acquisition Settings Mode When operating in Continuous Acquisition Mode the SeaTRAX continuously outputs data to the host system The rate is set by the Sample Delay When operating in Poll Mode SeaTRAX Studio simulates a host system and polls the SeaTRAX for a single measurement but SeaTRAX Studio makes this request at a fixed rate which is set by the Polling Delay In both cases data is continuously output but in Continuous Mode the SeaTRAX controls the data rate while in Poll Mode the SeaTRAX Studio program controls the data rate Poll Mode is the default Poll Delay The Poll Delay is relevant when Poll Mode is selected It represents the time delay in seconds between the completion of SeaTRAX Studio receiving one set of sampled data and requesting the next sample set If the delay is set to 0 then SeaTRAX Studio requests new data as soon as the previous request is fulfilled Note that the inverse of the Poll Delay is greater than the sample rate since the Poll Delay does not include the actual measurement acquisition time The default is 0 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 24 Acquire Delay The Acquire Delay sets the time between samples taken by the module in seconds This is an internal setting that
44. ds Note it is possible to get acceptable scores for Dist Error and Tilt Error and still have a high Mag CalScore value The most likely reason for this is the SeaTRAX is close to a source of local magnetic distortion that is not fixed with respect to 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 lt 1 and close to 0 Tilt Error Indicates the contribution to the Mag CalScore caused by tilt or lack thereof and takes into account the calibration method The score should be lt 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 gt 45 For 2D Calibration this ideally should be 2 For Limited Tilt 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 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 28 6 4 3 Current Configuration These indicators mim
45. ea However the effect of the soft iron distortion changes as the host system s orientation changes Because of this it is more difficult to compensate for soft iron materials Temperature Effects While the hard iron and soft iron distortion of a system may remain quite stable over time normally the distortion signature will change over temperature As a general rule the hard iron component will change 1 per 10 C temperature change Exactly how this affects heading depends on several factors most notably the hard iron component of the system and the inclination or dip angle Consider the example of a host system with a 100 uT hard iron component This is a fairly large hard iron component but not completely uncommon A 10 C temperature change will alter the magnetic field by 1 uT in the direction of the hard iron component Around San Francisco with an inclination of 60 this results in up to a couple of degrees of heading change over 10 C Consequently no matter how stable a compass is over temperature it is wise to recalibrate over temperature since the magnetic signature of the host system will change over temperature The SeaTRAX helps accommodate this issue by allowing the user to save up to 8 sets of magnetic calibration coefficient sets so different calibration coefficients can be generated and loaded at different temperatures PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 12 Other Considerations
46. edges taking one calibration sample on each edge Then place the SeaTRAX flat on the surface and take a calibration sample then flip it over roll it 180 and take another sample Next starting with the SeaTRAX as shown on the right take a calibration point with it being vertical 0 Now tilt the SeaTRAX back 45 and take another calibration point 45 then tilt the device forward 45 and take another calibration point 45 Repeat this 3 point calibration process for the SeaTRAX with it resting on each of its 4 corners Note that it is possible to perform an Accelerometer Calibration with as few as 12 sample PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 18 points although it generally is more difficult to obtain a good calibration with just 12 sample points Also the maximum number of calibration points is 18 Note While the SeaTRAX is shown removed from the host system the Accelerometer Calibration may be performed with the SeaTRAX mounted in the host system Figure 5 2 Accelerometer Calibration Starting Orientations 5 2 2 Mag and Accel Calibration The SeaTRAX allows for a simultaneous magnetometer and accelerometer calibration This requires a 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 The
47. elay parameter The frame has no payload The response is kGetDataResp 7 3 22 kStopContinuousMode frame ID 22 This frame commands the SeaTRAX to stop data output when in Continuous Acquisition Mode The frame has no payload PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 53 7 3 23 kPowerUpDone frame ID 234 This frame confirms the SeaTRAX received a command to power up The SeaTRAX will power up when it receives any signal on the native UART Rx line 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 3 24 kSetAcqParams frame ID 244 This frame sets the sensor acquisition parameters in the SeaTRAX The payload should contain the following Payload AcquisitionMode FlushFilter AquireDelay SampleDelay UInt8 Ulnt8 Float32 Float32 AcquisitionMode This flag sets whether output will be presented in Continuous or Polled Acquisition Mode Continuous Mode is TRUE and is the default Polled Mode should be selected when the host system will poll the SeaTRAX for each data set Continuous Mode should be selected if the user will have the SeaTRAX output data to the host system at a relatively fixed rate FlushFilter Setting this flag to TRUE results in the FIR filter being flushed cleared after every measurement The default is FALSE Flushing the filter clears all tap values thus purging
48. he SeaTRAX is configured to operate in Sync Mode as defined by kSetSyncMode then this frame wakes up the module requests a measurement outputs the results then powers down again This frame has no payload The response is kGetDataResp with heading pitch and roll automatically set as the 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 kSetSyncMode PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 57 7 4 Code Examples The following example files CommProtocol h CommProtocol cp SeaTRAX h and SeaTRAX cp would be used together for proper communication with a SeaTRAX 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 4 1 Header File amp CRC 16 Function type declarations typedef struct UInt8 Ac
49. ibration Table 7 5 provides the Minimum Recommended number of sample points as well as the full Allowable Range The Minimum Recommended number of samples normally is sufficient to meet the SeaTRAX s heading accuracy specification while less than this may make it difficult to meet specification See Section 5 for additional information Table 7 5 Sample Points Number of Samples Calibration Mode Allowable Minimum Range Recommended Full Range 10 to 32 12 2D Calibration 10 to 32 12 Limited Tilt 10 to 32 12 Hard lron Only 4 to 32 6 Accelerometer Only 12 to 32 18 Mag and Accel 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 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 44 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 kMilOutpu
50. ic the pertinent selections made on the Configuration tab 6 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 SeaTRAX Studio will give an audible signal whenever a calibration sample point is taken 6 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 accelerometer 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 1018154 r02 SeaTRAX User Manual Page 29 6 5 Test Tab Et ak odo Ver File Edit E Module SeaTRAX es N I Firmware Version s901 Serial Number PCA Version Connection Configuration Calibration Test Current Reading Contrast Sync Trigger Heading Connected 213 8 Pitch 000 1
51. 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 near the bottom of the screen 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 first reading as the module is already awake PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 31 6 6 Log Data Tab Elte studio Ver 10 File Edit Module SeaTRAX Connected N l Firmware Version s901 Serial Number PCA Version e Connection Configuration Calibration Test Log Data Graph S
52. ilters increases the delay until data is output with the length of the delay being directly correlated to the number of FIR taps The default is not to Flush Filters 6 3 8 HPR During Calibration When the lt On gt button is selected heading pitch and roll will be output on the Calibration tab during a calibration 6 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 lt Take Sample gt button on the Calibration tab will be active Selecting PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 25 the lt Take Sample gt 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 rotated through at least 180 degrees in the horizontal plane with a minimum of at least 1 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
53. ing 5 5 type Float32 kTemperature 7 7 type Float32 kDistortion 8 type boolean kAccelX 21 21 type Float32 kAccelY 22 type Float32 kAccelZ 23 type Float32 kPitch 24 type Float32 kRoll 25 type Float32 kMagX 27 27 type Float32 kMagY 28 type Float32 kMagZ 29 type Float32 Configuration Parameter IDs kDeclination 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 type Boolean kDataCal 16 type Boolean PNI Sensor Corporation SeaTRAX User Manual 19 20 21 22 23 24 25 26 27 28 29 30 31 36 37 46 47 49 loat32 loat32 loat32 loat32 10 type 20 type 30 type 40 type Ia AY bi ra 100 type Float32 3 AxisID UInt8 Count UInt8 DOC 1018154 r02 Page 59 kCoeffCopySet 18 18 type UInt32 kAccelCoeffCopySet 19 type UInt32 Mounting Reference IDs kMountedStandard 1 1 kMountedXUp 2 kMountedYUp 3 kMountedStdPlus90 4 kMountedStdPlus180 ZS kMountedStdPlus270 6 kMountedZDown fit kMountedXUpPlus90 8 kMountedXUpPlus180 PL 29 kMountedXUpPlus270 10 kMountedYUpPlus90 11 kMountedYUpPlus180 12 kMountedYUpP
54. is NOT tied to the time with which the module transmits data to SeaTRAX Studio or the host system Generally speaking the Acquire Delay is either set to 0 in which case the SeaTRAX is constantly sampling or set to equal either the Poll Delay or Sample Delay values The advantage of running with an Acquire Delay of 0 is 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 power consumption can be reduced assuming the Sample or Poll Delay are no less than the Acquire Delay Sample Delay The Sample Delay is relevant when Continuous Mode is selected It is the time delay in seconds between completion of the SeaTRAX sending one set of data and the start of sending the next sample set If the delay is set to 0 then the SeaTRAX will begin sending new data as soon as the previous data set has been sent Note that the inverse of the Sample Delay is greater than the sample rate since the Sample Delay does not include the actual measurement acquisition time The default is 0 Flush Filters Flushing the FIR filter clears all the filter values so it is necessary to fully repopulate the filter before a good reading can be given For example if 32 FIR taps is set then 32 new samples must be taken to provide a good reading It is particularly prudent to flush the filter if the Sample Delay is set to a non zero value as this will purge old data Note that flushing the f
55. is set to be 3 and then followed by the data component ID value pairs The sequence of the component IDs are kHeading kPitch and kRoll The steps below provide an example of the steps to perform a user calibration e Using the kSetConfig command set kUserCalAutoSampling FALSE allows for more direct control but TRUE may be more convenient e Using the kSetConfig command establish the coefficient set number for the new calibration coefficient by setting the value for KMagCoeffSet value 0 7 and or kAccelCoeffSet value 0 2 e Using the kSetConfig command again set kUserCalNumPoints to the appropriate number of calibration points PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 48 e Initiate a calibration using the kStartCal command Note that this command requires indentifying the type of calibration procedure for example Full Range Calibration or 2D Calibration e Follow the appropriate calibration procedure as discussed in Section 5 If kUserCalAutoSampling was set to FALSE send kTakeUserCalSample 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 SeaTRAX and this can be monitored using kGetDataResp e When the final calibration point is taken the device will present the calibration score using kCalScore and s
56. le during user calibration The frame has no payload 7 3 32 kFactoryAccelCoeff frame ID 36 4 For the current designated kAccelCoeffSet this frame clears the accelerometer calibration coefficients and loads the original factory generated coefficients The frame has no payload This frame must be followed by the kSave frame to save the change in non volatile memory 7 3 33 kFactoryAccelCoeffDone frame ID 37 4 This frame is the response to kFactoryAccelCoeff frame The frame has no payload 7 3 34 kSetSyncMode frame ID 46 4 When the SeaTRAX operates 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 SeaTRAX will wake up report data once and then return to Sleep Mode One application of this is to reduce 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 Note When Sync Mode is selected the SeaTRAX 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 The payload contains the Mode ID requested as given below Payload gt Mode ID Normal Mode 0 Mode ID Sync Mode 100 lt UInt8
57. losed or when the temperature varies since the magnetic signature of the host system may change over temperature e Immediately after performing a successful calibration the new calibration coefficients will be will be stored in volatile memory and immediately applied Save this coefficient set to non volatile memory by sending kSave If you do not want to use this new coefficient set either reboot the SeaTRAX which will restore the prior coefficients switch to a different coefficient set or reload the factory coefficients e On powering up the last saved calibration coefficients will be loaded This frame commands the module to start a user calibration After sending this command the module ensures a PNI established 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 5 for more information on the various calibration procedures Note The payload needs to be 4 bytes If no payload is entered or if less than 4 bytes are entered the unit will default to the previous calibration method vw Payload Cal Option lt UlInt32 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 47
58. lus270 13 kMountedZDownPlus90 14 kMountedZDownP1lus180 15 kMountedZDownPlus270 16 Result IDs kErrNone 0 0 kErrSave 1 I 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 X 16 X 12 X 5 1 UIntl6 cre 0 while len cre unsigned char cre gt gt 8 cre lt lt 8 cre dataPtr index cre unsigned char cre bk Oxff gt gt 4 cre cre lt lt 8 lt lt 4 cre crc amp Oxff lt lt 4 lt lt 1 return crc PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 60 7 4 2 CommProtocol h File pragma once include SystemSerPort h include Processes h CommHandler is a base class that provides a callback for incoming messages class CommHandler public Call back to b virtual void HandleComm UInt8 frameType NULL UIntl6 dataLen 0 3 I CommProtocol handles the actual serial communicati module implemented in derived class void dataPtr on with the Process is a base class that provides CommProtocol with cooperative parallel processing The Control method will be called by a process manager on a continuous basis class CommProt
59. nder 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 PURPOSE 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 P
60. nfo 3 kSetDataComponents Sets the data components to be output 4 kGetData Queries the SeaTRAX for data 5 kGetDataResp Response to kGetData 6 kSetConfig Sets internal configurations in SeaT RAX 7 kGetContig Queries SeaTRAX for the current internal configuration 8 kGetConfigResp Response to kGetConfig Saves the current internal configuration and any 9 kSave new user calibration coefficients to non volatile memory 10 kStartCal Commands Sea TRAX to start user calibration 11 kStopCal Commands SeaTRAX to stop user calibration Sets the FIR filter settings for the magnetometer 12 SERR ai amp accelerometer sensors Queries for the FIR filter settings for the Ua KE magnetometer amp accelerometer sensors 14 kGetFIRFiltersResp Contains the FIR filter settings for the magnetometer amp accelerometer sensors 15 kPowerDown Powers down the module 16 kSaveDone Response to kSave PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 38 Sent from the SeaTRAX after taking a 17 kUserCalSampleCount calibration sample point 18 kCalScore Contains the calibration score 19 kSetConfigDone Response to kSetConfig 20 kSetFIRFiltersDone Response to kSetFIRFilters Commands the SeaTRAX to output data at a 21 kStartContinuousMode fixed interval 22 kStopContinuousMode Stops data output when in Continuous Mode Confirms the SeaTRAX has received a signal to 23 kPowerUpDone power
61. ng Calibration Calibration started Calibration completed Calibration started The System Log tab shows all communication between SeaTRAX Studio and the SeaTRAX module since launching SeaTRAX Studio Closing SeaTRAX 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 SeaTRAX User Manual DOC 1018154 r02 Page 34 7 Operation with PNI Binary Protocol The SeaTRAX utilizes a binary communication protocol where the communication parameters should be configured as follows Table 7 1 Port 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 1 4092 Ulnt8 Ulnt16 gc e Payload Uints 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 0
62. nnnnsnnnnnn 19 6 OPERATION WITH SEATRAX STUDIO i resevvrvvnnnnvvennnnnunvnnnnnnnnvvnnnnnunennnnnnneee 20 6 1 Te lo EE a 20 6 2 Connection Ta Disa nia aga at an aan a 21 6 2 1 Initial TOR i an siasii keniana ineen 21 6 2 2 Changing Baud Rate 21 6 2 3 Changing MOGs snara A nds ai je 22 6 3 Configuration lab ir sja RA 22 6 3 1 Mounting Options annann 22 6 3 2 North REPEC C G2 oases ciel da viaacesderaecesdedeaccnusicaosunedbdeosdixadsnssbetiegedus 23 6 3 3 EI ERE RE EAE AE ENNEK EEEak 23 6 3 4 GJE EE EE EN EE 24 6 3 5 Efta 3D Model Lausanne 24 6 3 6 Fer Setting Taps eee 24 6 3 7 ACQUISITION Settings rrnernnnnrvnnnnnnnnennrnnvvnrnnnnanensrnnvnnrnnnnnneneseee 24 6 3 8 HPR During Calibration cccccccccccccscssssssececeeeeeesssessaeeeeeeeens 25 6 3 9 Calibration ep vu assa a 25 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page i BOLO DENG AR a 26 E e EN dE 26 6 4 Calibration Tab eegne stees klaner 27 6 4 1 SaMplesi ann eeh neet 27 6 4 2 Calibration Results mastri saka ar raska A Zeen 28 6 4 3 Current Configurationsssassrvauassamsskenakantendn xe 29 6 4 4 OPON Saniora aa are eaa a aAA AE aE ERE EAEE O Eana 29 6 4 5 EE 29 6 5 Test Takt Senden ZA deeg 30 6 5 1 Current Reading 30 6 5 2 3D Mo delsaraka gege ee gett else g ie 30 6 5 3 ACQUISITION Setting Seines naii a aiiiar 30 6 5 4 Syne Modenersisins iiaei n a a a n a aaa 31 6 6 tog Data TaD neri A E A a ee 32 6 7 Gra
63. ntal Requirements Parameter Value Operating Temperature 40C to 85C Storage Temperature 40C to 85C Footnote 1 To meet performance specifications across this range Parameter recalibration will be necessary as the temperature varies Table 3 6 Mechanical Characteristics Value Dimensions w o shield 70 x 11 8 x 9 8 mm Ix wx h with shield 70 x 11 8 x 10 3 mm Weight 4 3 gm Connector 4 pin Molex pn 53780 0470 PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 5 3 2 Mechanical Drawings DIMENSIONS IN MM and NOMINAL UNLESS OTHERWISE NOTED 8 11 8 10 8 max i Occupied PCB i W O SHIELD 2 3 4X R1 11 Molex PN 53780 0470 Mates with PN 51146 0400 i a Through hole Solder Pads for Direct Wire Connection 4 places 0 94 mm ID holes 20 AWB max 3 Sei F poH o o WITH SHIELD 2 3 a gt The SeaTRAX with the shield is PNI pn 13457 while without the shield the it is pn 13118 The default orientation is for the arrowhead to point in the forward direction Note The full radius cut outs along the long sides are intended for test fixturing and not as the mechanical mount in the user s system PNI recommends using an adhesive to secure the long edge of the PCB to a shelf or lip in the user s system Typically SeaTRAX would be potted in the user s system Figure 3 1 Sea TRAX Mechanical Drawing PNI Sensor Cor
64. ocol public Process public enum Frame IDs Commands kGetModInfo 1 kGetModInfoResp 2 kSetDataComponents 3 kGetData 4 kGetDataResp 5 Data Component IDs kHeading 5 5 type Float32 kTemperature 7 7 type Float32 kAccelX 21 21 type Float32 kAccelY 22 type Float32 kAccelZ 23 type Float32 kPitch 24 type Float32 kRoll 25 type Float32 I enum kBufferSize 512 max size of input buffer PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 61 kPacketMinSize 5 min size of 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 1018154 r02 SeaTRAX User Manual Page 62 7 43 CommProtocol cpp File include CommProtocol h import an object that will provide a 10mSec tick count through a function called Ticks finclude TickGenerator h SerPort is an object that controls the physical serial
65. omatically 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 DOC 1018154 r02 SeaTRAX User Manual Page 27 6 4 2 Calibration Results Once a calibration is complete the Calibration Results window will indicate the quality of the calibration This may take a minute or more to populate The primary purpose of these scores is to confirm the calibration was successful as indicated by a low Mag and or Accel CalScore The other scores provide information that may assist in improving the CalScore should it be unacceptably high If either CalScore is too high click the lt Start gt button to begin a new calibration If the calibration is acceptable click the lt Save gt button to save the calibration to the module s flash If the lt Save gt button is not selected then the module will need to be recalibrated after a power cycle Note If a calibration is aborted all the score s will read 179 80 and the calibration coefficients will not be changed Clicking the lt Save gt button will not change the calibration coefficients Mag CalScore Represents the over riding indicator of the quality of the magnetometer calibration Acceptable scores will be lt 1 for Full Range Calibration lt 2 for other metho
66. on Specifically a good accelerometer calibration involves the SeaTRAX experiencing a wide range of pitch and roll values preferably seeing both 180 of pitch and 180 of roll Also it is necessary for the SeaTRAX to be very still during an accelerometer calibration If possible PNI recommends using a fixture to hold the device during calibration although resting the SeaTRAX on a hard surface normally is sufficient The accelerometer either can be calibrated while mounted in the host system or it may be removed and calibrated outside the system The advantage of performing the calibration while mounted in the host system is the user does not need to remove the SeaTRAX from the system which can be burdensome and a simultaneous Mag and Accel Calibration may be appropriate The advantage of performing the calibration outside of the system is it may be much simpler to obtain the desired range of pitch and roll Note While the SeaTRAX is shown removed from the host system the Accelerometer Calibration may be performed with the SeaTRAX mounted in the host system Figure 5 2 shows the two basic starting positions for the recommended 18 point calibration pattern Starting with the SeaTRAX as shown on the left in Note While the SeaTRAX is shown removed from the host system the Accelerometer Calibration may be performed with the SeaTRAX mounted in the host system Figure 5 2 rotate the device about its z axis such that it sits on each of its 4
67. points are based on the white silk screened arrow on the top side of the board The orientation should be programmed in the SeaTRAX using the kSetConfig command and the kMountingRef setting as described in Section7 3 6 The default orientation is STD 0 X UP 90 HEADING X UP 180 HEADING HEADING Figure 4 2 Mounting Orientations PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 10 5 User Calibration The magnetic sensor in the SeaTRAX is calibrated at PNI s factory in a magnetically controlled environment However sources of magnetic distortion positioned near the SeaTRAX in the user s system will distort Earth s magnetic field and should be compensated for in the host system with a user calibration Examples of such sources include ferrous metals and alloys ex iron nickel steel etc batteries audio speakers current carrying wires and electric motors Compensation is accomplished by mounting the SeaTRAX in the host system and performing a user calibration It is expected the sources of magnetic distortion remain fixed relative to the SeaTRAX s position within the host system By performing a calibration the SeaTRAX identifies the local sources of magnetic distortion and negates their effects from the overall reading to provide an accurate heading As with the magnetic sensor the accelerometer in the SeaTRAX is calibrated at PNI s factory But the
68. poration DOC 1018154 r02 SeaTRAX User Manual Page 6 4 Set Up This section describes how to configure the SeaTRAX in your host system To install the SeaTRAX into your system follow these steps e Make electrical connections to the SeaTRAX e Evaluate the SeaTRAX using SeaTRAX Studio or a binary terminal emulation program such as RealTerm or Tera Term to ensure the heading sensor generally works correctly e Choose a mounting location e Mechanically mount the SeaTRAX in the host system e Perform a user calibration 4 1 Electrical Connections The SeaTRAX incorporates a 4 pin Molex connector part number 53780 0470 which mates with Molex part 51146 0400 or equivalent and alternatively allows the user to directly solder to the board using the 4 through holes directly in front of the connector The pin out is given below in Table 4 1 Table 4 1 SEATRAX Pin Descriptions Pin Number Description 1 UART Rx 2 UART Tx 3 Vin 4 GND Footnote 1 Pin 1 is located per Figure 3 1 After making the electrical connections it is a good idea to perform some simple tests to ensure the SeaTRAX is working as expected See Section 6 for how to operate the SeaTRAX with SeaTRAX Studio or Section 7 for how to operate the SeaTRAX using the PNI binary protocol 4 2 Installation Location The SeaTRAX s wide dynamic range and sophisticated calibration algorithms allow it to operate in many environments For optimal pe
69. quisitionMode typedef struct loat32 MagCalScore loat32 reservel oat32 AccelCalScore oat32 DistError loat32 TiltError Float32 TiltRange SS FlushFilter Float32 AcquireDelay SampleDelay attribute packed AcqParams attribute packed MagCalScore enum Frame IDs Commands kGetModInfo 1 kGetModInfoResp kSetDataComponents kGetData kGetDataResp kSetConfig kGetConfig kGetConfigResp kSave kStartCal kStopCal kSetFilters kGetFilters kGetFiltersResp kPowerDown kSaveDone kUserCalSampCount kMagCalScore PNI Sensor Corporation SeaTRAX User Manual f ie E 0 00 JO OD s WD OO JO OG O At LA A ps po LA LA DOC 1018154 r02 Page 58 kSetConfigDone kSetFiltersDone kStartContinuousMode kStopContinuousMode kPowerUp kSetAcqParams kGetAcqParams kAcqParamsDone kGetAcqParamsResp kPowerDoneDown kFactoryUserCal kFactoryUserCalDone kTakeUserCalSample kFactoryInclCal 36 kFactorylnclCalDone kSetSyncMode 46 kSetSyncModeDone kSyncRead 49 Cal Option IDs kFullRangeCal 10 k2DCal 20 kHIOnlyCal 30 kLimitedTiltCal 40 kAccelCalOnly 100 kAccelCalwithMag 110 110 type Float32 Param IDs kSetDataComponents 3 Value Float64 Data Component IDs kHead
70. r the initial sample reading as all the taps must be populated before data is output The SeaTRAX can be configured to clear or flush the filters after each measurement Flushing the filter clears all tap values thus purging old data This can be useful if a significant change in heading has occurred since the last reading as the old heading data PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 49 would be in the filter Once the taps are cleared it is necessary to fully repopulate the filter before data is output For example if 32 FIR taps is set 32 new samples must be taken before a reading will be output The length of the delay before outputting data is directly correlated to the number of FIR taps The payload for kSetFIRFilters is given below Payload Ulnt8 Ulnt8 Ulnt8 ID Specific ID Specific ID Specific ID Specific Byte 1 should be set to 3 and Byte 2 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 where 0 to 32 total Values can be in the payload and with each Value being a Float64 with suggested values given in Table 7 6 Table 7 6 Recommended FIR Filter Tap Values 4 Tap Filter 8 Tap Filter 16 Tap Filter 32 Tap Filter 1 04 6708657655334e 2 01 9875512449729e 2 07 9724971069144e 3 01 4823725958818e 3 2 04 5329134234467e 1 06
71. r02 SeaTRAX User Manual Page 36 Signed 16 Bit Integer Sint16 SInt16 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 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 37 Unsigned 8 Bit Integer Ulnt8 UInt8 based parameters are unsigned 8 bit numbers 7 0 byte Boolean Boolean is a 1 byte parameter that MUST have the value 0 FALSE or 1 TRUE 7 0 byte 7 3 Commands amp Communication Frames Table 7 2 below provides the SeaTRAX s command set Table 7 2 SeaTRAX Command Set Command Description 1 kGetModinfo Queries the device s type and firmware revision 2 kGetModInfoResp Response to kGetModI
72. r02 SeaTRAX User Manual Page 68 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 count 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 kPitch 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 kRoll 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
73. revision 7 3 3 kSetDataComponents frame ID 34 This frame defines what data is output when kGetData is sent Table 7 3 summarizes the various data components and more detail follows this table Note that this is not a query for the device s model type and software revision see kGetModInfo The first byte of the payload indicates the number of data components followed by the data component IDs Note that the sequence of the data components defined by kSetDataComponents will match the output sequence of kGetDataResp Payload pom or er Pe Je Ulnt8 Ulnt8 Ulnt8 Ulnt8 Example To query for heading and pitch the payload should contain Payload 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 Table 7 3 Component ldentifiers Component gd Format kHeading 5 Float32 degrees kPitch 24 Float32 degrees kRoll 25 Float32 degrees kTemperature 7 Float32 Celsius True or False kDistortion 8 Boolean Default True or False kCalStatus 9 Boolean Default kAccelX 21 Float32 G kAccelY 22 Float32 G kAccelZ 23 Float32 G kMagX 27 Float32 uT kMagY 28 Float32 uT kMagZ 29 Float32 uT PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 40 Component types are listed below All are read only values kHeading kPitch kRoll Component IDS 54 244 254
74. rformance however you should mount the SeaTRAX with the following considerations in mind PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 7 4 2 1 Operate within the SeaTRAX s dynamic range The SeaTRAX can be user calibrated to correct for static magnetic fields created by the host system However each axis of the SeaTRAX has a calibrated dynamic range of 125 uT If the total field exceeds this value for any axis the SeaTRAX may not perform to specification When mounting the SeaTRAX consider the effect of any sources of magnetic fields in the host environment that when added to Earth s field may take the SeaTRAX out of its dynamic 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 SeaTRAX 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 will move Make sure the SeaTRAX 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 SeaTRAX works best when stationar
75. roduct 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 1 OEM promptly notifies PNI in writing that such Product is defective and furnishes an explanation of the deficiency 11 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 personal injury PNI shall have no liability for any indirect or speculative damages including but not limited to consequential incidental punitive and special damages
76. s 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 PNIStudio msi file onto your computer Then open the file and step through the Setup Wizard For Mac computers copy the PNIStudio 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 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 20 6 2 Connection Tab gd Vere 10 File Edit Module SeaTRAX Connected r N l Firmware Version s901 l Serial Number PCA Version Connection Configuration Calibration Test Log Data Graph System Log Computer SerialPort COM1 Baud Rate REZU Module Baud Rate 6 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 lt Connect gt 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 header section 6 2 2 Changing Baud Rate To change the baud rate e Inthe Module window select the new baud r
77. sizeof roll increase the pointer to point to the next data element type pntr sizeof roll break PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 69 case CommProtocol kTemperature 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 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 f Pitch f Roll St 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 received r n UInt16 frameType break Have the CommProtocol build and send the frame to the module void SEATRAX SendComm UInt8 frameType void dataPtr UIntl16 dataLen PNI Sensor Corporation DOC 1018154 r02 Se
78. t is set to FALSE and the heading pitch and roll output are in degrees Note that 360 degrees 6400 mils such that I 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 SeaTRAX is being calibrated The default is TRUE such that heading pitch and roll are output during calibration FALSE disables simultaneous output kMagCoeffSet Config ID 184 This setting provides the flexibility to store up to eight 8 sets of magnetometer calibration coefficients in the module These different coefficient sets can be used for storing coefficients for varying conditions such as when a door is open or closed near the sensor or when the temperature varies since the magnetic signature of the host system may change over temperature Also if the existing coefficients are acceptable but not great and you want to recalibrate you should recalibrate to a different set number so you can retrieve the old set if necessary If you don t do this then you will need to reboot the SeaTRAX to retrieve the old set The initial default is set 0 To store a new set of coefficients first establish the set number 0 to 7 using kMagCoeffSet then perform the magnetometer calibration The new coefficient values and coefficient set number will be stored in volatile memory and will be applied immediately Save the coefficient set to non volatile memory b
79. ted in the field if desired We re sure the SeaTRAX will help you to achieve the greatest performance from your system Thank you for selecting the SeaTRAX PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 2 3 Specifications 3 1 Characteristics amp Requirements Table 3 1 Performance Characteristics Parameter Value lt 65 of pitch after full range calibration lt 0 3 rms lt 80 of pitch after full range calibration lt 0 5 rms Accuracy lt 5 of pitch after 2D calibration lt 2 0 rms h i using mied titcalbraton lt 2 0 Ms Resolution 0 1 Repeatability 0 05 rms Barge Pitch 90 Roll 180 Pitch 0 2 rms Attitude Accuracy as Dee 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 125 Magnetometers Resolution 0 05 uT Repeatability 0 1puT Footnotes 1 Specifications are subject to change Assumes the SeaTRAX is motionless and the local magnetic field is clean relative to the user calibration 2 For example if the calibration was performed over 10 of tilt then the SeaTRAX would provide lt 2 rms accuracy over 20 of tilt 3 Performance at maximum operational dip angle will be somewhat degraded PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 3 Table 3 2 Absolute Maximum Ratings
80. tep by step example of how to perform a calibration using the PNI protocol 5 1 1 Full Range Calibration A Full Range Calibration is appropriate when the SeaTRAX can be tilted 45 or more This method compensates for hard and soft iron effects in three dimensions and allows for the highest accuracy readings The recommended 12 point calibration pattern is a series of 3 circles of evenly spaced points as illustrated in Figure 5 1 and listed in Table 5 2 The pitch used in the second and third circles of the calibration should at least match the maximum and minimum pitch the device is expected to encounter in use Top Views Side Views Minimum 12 good user calibration points Additional points can be added including NS e upside down if possible Ze e 1 N d Little Ea X D 4 Pitch 2 a 3 N 4 UR las ca LY 12 5 as 4 x gt ge J 8 9 AN a Z d 8 NL Large Positive 2 S x W s Pitch i FYR N 7 S 7 11 6 INAN Y d WAS sg A By Mrs 7 10 ad 3 gt 4 sch k Alternate Roll between 12 KP P points odd number points positive roll even negative roll Large Negative vafi Pitch KR ov Figure 5 1 12 Point Full Range Calibration Note While Figure 5 1 shows the location of the device changing this is for illustration purposes and it is best for the location of the device to remain constant while only the orientation is changed PNI Sensor Corporation
81. ter sometimes closed and sometimes open or operating over a broad temperature range then different sets of calibration coefficients can be saved for the various states Up to 8 magnetic calibration coefficient sets and 3 accelerometer calibration coefficient sets can be saved PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 11 5 1 Magnetic Calibration Two fundamental types of magnetic distortion exist hard iron distortion and soft iron distortion These are discussed in the following two paragraphs plus a discussion on how temperature also effects magnetic distortions For more information on magnetic distortion and calibration see PNI s white paper Local Magnetic Distortion Effects on 3 Axis Compassing at PNI s website http www pnicorp com technology papers Hard iron Effects Hard iron distortions are caused by permanent magnets and magnetized objects in close proximity to the sensors These distortions add or subtract a fixed component to each axis of the magnetic field reading Hard iron distortions usually are unchanging and in a constant location relative to the sensors for all heading orientations Soft Iron Effects Magnetically soft materials effectively bend the magnetic field near them These materials have a high magnetic permeability meaning they easily serve as a path for magnetic field lines Unlike hard iron effects soft iron effects do not increase or decrease the total field in the ar
82. tions for performing a magnetic calibration of a SeaTRAX system Several calibration mode options exist as summarized in Table 5 1 To meet the accuracy specification the number of samples should be the Minimum Recommended value or greater Calibration may be performed using Studio or using the PNI binary protocol and up to 8 sets of magnetic calibration coefficients may be saved The recommended calibration patterns described in the following subsections provide a good distribution of sample points Also PNI recommends the location of the SeaTRAX remain fairly constant while only the orientation is changed Table 5 1 Magnetic Calibration Mode Summary Minimum Calibration A Tilt Range Allowable Static Accuracy 2 Recommended Mode during Cal of Samples of Samples Full Range 0 3 rms gt 459 12 10 32 2D Calibration lt 2 lt t5 12 10 32 S lt 2 over 2x tilt 6 o Limited Tilt range 5 to 45 12 10 32 Hard lron Only Restores prior 39 6 4 32 accuracy PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 13 Before proceeding with a calibration ensure the SeaTRAX is properly installed in the host system The device should be installed as discussed in Section 4 and the software should be properly configured with respect to mounting orientation Endianness north reference etc Section 6 4 outlines how to perform a calibration using Studio while Section 7 3 10 provides a s
83. unting method does not introduce stresses on the board as this can affect the performance of the accelerometer and therefore also negatively affect heading accuracy 4 3 1 Pitch and Roll Conventions The SeaTRAX uses a MEMS accelerometer to measure the tilt angle of the heading sensor 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 SeaTRAX utilizes Euler angles as the method for determining accurate orientation This method is the same used in aircraft orientation where the outputs are heading also called yaw or azimuth 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 rotation 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 As shown in Figure 4 1 for the SeaTRAX 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 Fei of Travel or Line of Sight y best Negative ae PITCH Negative Positive AXIS Figure 4 1 Positive amp Negative Roll and Pitch Definition PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 9 4 3 2 Mounting Orientation The SeaTRAX can be mounted in various orientations as shown in Figure 4 2 All reference
84. up 24 kSetAcqParams Sets the sensor acquisition parameters 25 kGetAcqParams Queries for the sensor acquisition parameters 26 kSetAcqParamsDone Response to kSetAcqParams 27 kGetAcqParamsResp Response to kGetAcqParams 28 kPowerDownDone Response to kPowerDown Resets magnetometer calibration coefficients to a preity Meg Cee original factory established values 30 kFactoryMagCoeffDone Response to kFactoryMagCoeff Commands the SeaTRAX to take a sample E EE during user calibration Resets accelerometer calibration coefficients to SS SE original factory established values 37 kFactoryAccelCoeffDone Respond to kFactoryAccelCoeff 46 kSetSyncMode ea the SeaTRAX is in normal or Sync 47 kSetSyncModeResp Response to kSetSyncMode 49 kSyncRead Queries the module for data in Sync Mode 7 3 1 kGetModinfo frame ID 14 This frame queries the device s type and firmware revision number The frame has no payload 7 3 2 kGetModinfoResp frame ID 24 The response to kGetModInfo is given below The payload contains the device type identifier followed by the firmware revision number Payload Ulnt32 Ulnt32 Note the model type and firmware revision can be decoded using the ASCII standard For example the hex string 00 OD 02 54 43 54 41 73 39 30 31 C7 87 can be PNI Sensor Corporation SeaTRAX User Manual DOC 1018154 r02 Page 39 decoded to read TCTA s901 where TCTA indicates the device is the SeaTRAX and s901 indicates the firmware
85. xis MEMS accelerometer for unparalleled cost effectiveness and performance SeaTRAX was designed with oceanology markets in mind Specifically the narrow form factor makes it ideal for inclusion in streamers and towed arrays Compared to fluxgate sensors that tend to dominate these markets the SeaTRAX requires much less power is smaller and provides a variety of calibration options And the accuracy of the SeaTRAX surpasses most fluxgate heading sensors While designed with oceanology markets in mind SeaTRAX can be ideal for non oceanology applications that desire its narrow form factor such as for sighting on laser range finders and far target locaters 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 gt 45 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 lt 45 but gt 5 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 heading sensor So the SeaTRAX incorporates Hard Iron Only Calibration to easily account for gradual changes in the magnetic signature of the host system And the accelerometer can be recalibra
86. y 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 heading sensor in a fixed position then move or energize suspect components while observing the output to determine when they are an influence Determine if the magnetic field is within the dynamic range of the heading sensor With the heading sensor 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 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 8 4 3 Mechanical Mounting For the SeaTRAX the full radius cut outs along the long sides are intended for test fixturing and not as the mechanical mount in the user s system PNI recommends securing the long edge of the PCB to a shelf or lip in the user s system using an adhesive Ideally the SeaTRAX also would be fully potted in the user s system to reduce or eliminate shock and vibration effects Refer to Section 3 2 for dimensions hole locations and the reference frame orientation Note Ensure that when attaching the SeaTRAX to the host system the mo
87. y sending kSave When the SeaTRAX is powered down and back up again it will load the last saved coefficient set and apply its coefficient values For example assume e the kSetConfig frame is sent with kMagCoeffSet 2 e acalibration is performed e the kSave frame is sent e the kSetConfig frame is sent again but with kMagCoeffSet 3 and e acalibration is performed PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 45 After this second calibration the coefficients values from the second calibration are immediately applied even thought kSave has not been sent If the SeaTRAX is now powered down and powered back up again kMagCoeffSet 2 would be recalled and its coefficient values would be applied since kMagCoeffSet 3 was not saved and kMagCoeffSet 2 was the last saved calibration set kAccelCoeffSet Config ID 194 This setting provides flexibility to store up to three 3 sets of accelerometer calibration coefficients in the module As with kMagCoeffSet this can be useful for storing coefficients under a variety of conditions such as different temperature settings or if you want to fine tune the coefficient values but not lose the current set The initial default is set 0 To store a new set of coefficients first establish the set number 0 to 2 using kAccelCoeffSet then perform an accelerometer calibration The new coefficient values will be stored in volatile memory in the defined set number and will
88. ystem Log _ Ticks is 1 60th of a second Data Ticks Heading Heading 000068682 214 5 Pitch 000068686 214 9 Roll 000068691 215 5 Magx 000068696 213 6 MagY 000068700 207 4 MagZ 000068706 199 0 Accelx 000068711 192 2 AccelY 000068715 189 2 Accelz 000068720 188 4 Temperature 000068725 189 5 Distortion 000068730 194 0 000068734 199 9 000068739 204 5 000068745 210 1 000068749 217 5 000068753 224 8 Heading 2248 Pitch 00 Poll 03 Auto Scroll SeaTRAX Studio can capture measurement data and then export it to a text file To acquire data and export it follow the procedure below e Select the parameters you wish to log in the Data window Use Shift Click and Ctrl Click to select multiple items In the screen shot above Heading Pitch and Roll 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 PNI Sensor Corporation DOC 1018154 r02 SeaTRAX User Manual Page 32 6 7 Graph Tab MOD Ver 10 Fie Edt Module SeaTRAX Connected Connect Module Sea TRAX Connected Connect ER IN Firmware Version s301 EE Firmware
Download Pdf Manuals
Related Search
Related Contents
VE280X/VE281X/VE282X/ VE280/VE281/VE282 Reconfigurable Computing Page 1 Page 2 Page 3 N 生まれ変わりました。 CR型カッ夕の特徴 LaCie 131102EK X431 Pro user`s manual(2nd edition)_en PRESSROOM TROUBLESHOOTING CHART TEAK OIL Copyright © All rights reserved.
Failed to retrieve file