Home

Primer User Manual r09

image

Contents

1. Coefaut Revert J Sove E Enable 3D Model Display 5 3 1 Mounting Options StudioPrime supports 6 mounting orientations as detailed below in Figure 5 1 Note that PNT s binary protocol supports 18 more orientations 24 total as shown in Figure 7 2 Standard X Sensor Up Y Sensor Up Standard 90 Degrees Standard 180 Degrees N Figure 5 1 StudioPrime Mounting Orientations PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 12 5 3 2 North Reference Magnetic When the lt Magnetic gt button is selected heading will be relative to magnetic north True When the lt True gt button is selected heading will be relative to geographic true north In this case the declination needs to be set in the Declination box Refer to Section 6 3 for more information 5 3 3 Endianess Select either the lt Big gt or lt Little gt Endian button The default is lt Big gt See Section 7 2 for more information on appropriate data formats 5 3 4 Filter Setting Taps The Prime incorporates a finite impulse response FIR filter to effectively provide a more stable heading reading The number of taps represents the number of measurement readings to be included in the filter The user should select either 0 4 8 16 or 32 taps with zero taps representing no filtering The default setting is 8 taps The Prime is configured to update the filter with each new measu
2. lt Ulnt32 PNI Sensor Corporation Prime User Manual DOC 1014177 r09 Page 44 7 3 18kUserCalScore frame ID 18d This frame contains the calibration score which is presented after completing or aborting a calibration It is a series of Float32 values as shown in the payload diagram below it Payload gt StdDevErr xCoverage yCoverage zCoverage xyzAccelCoverage accelStdDevErr lt 4 Float32 k Float32 rie Float32 rid Float32 Pi Float32 rid Float32 gt Note If a kStopCal command is sent to abort a calibration values that were to be updated will be set to 1 except for xyzAccelCoverage which will be 101 01 Values for parameters that were not being updated will reflect the last calibration values For example if a Magnet Sensor Only Calibration is aborted then StdDevErr xCoverage yCoverage and zCoverage will all report 1 while the xyzAccelCoverage and accelStdDevErr will report values from the last successful accelerometer calibration StdDevErr Provides the magnetic user calibration s standard deviation error and represents the overall quality of the calibration Smaller numbers are better and a reasonable target value 0 1 However acceptable performance can be obtained with somewhat higher scores The possible obtainable score will be a function of the host system the specific Prime module and the execution of the calibration procedure x
3. Time Stamp Event 2009 11 09 14 40 23 A 2009 11 09 14 40 24 2009 11 09 14 40 24 2009 11 09 14 40 24 2009 11 09 14 40 24 2009 11 09 14 40 24 2009 11 09 14 43 06 2009 11 09 14 43 07 2009 11 09 14 43 07 2009 11 09 14 43 07 2009 11 09 14 43 07 2009 11 09 14 43 07 2009 11 09 14 43 07 2009 11 09 14 43 07 2009 11 09 14 43 07 2009 11 09 14 43 07 2009 11 09 14 43 07 2009 11 09 16 40 39 2009 11 09 16 41 17 2009 11 09 16 41 35 2009 11 09 16 41 38 2009 11 09 16 41 38 2009 11 09 16 41 38 2009 11 09 16 41 46 2009 11 09 16 42 11 2009 11 09 16 42 4 Data logging started S Checking preference file Opened serial port COM1 Enabled audible feedback Disabled high contrast Disabled auto scroll Enabled 3D Model Attemping to connectto module Extracted module configuration Changed endianess to big endian Extracted module information Changed taps to 0 Changed acquisition mode to push mode Disabled filter flushing Changed mounting to Standard Enabled stability checking Enabled automatic sampling Changed calibration points to 18 Testing started Testing started Changed taps to 32 Set new module configuration Set configuration Configuration saved to flash memory Testing started Testing stopped The System Log tab shows all communication between StudioPrime and the Prime module since StudioPrime was opened Closing StudioPrime will erase the system log Select the lt Export gt button at the bottom right
4. voi d SendConm Ul nt 8 frameType void dataPtr NULL Ulnt16 dataLen 0 void Control PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 58 8 5 Prime cp File i ncl ude Pri me h i ncl ude Ti ckGener at or h const Ulnt8 kDataCount 4 V will be requesting 4 components Heading pitch roll temperature This obj ect polls the Prime unit once a second for heading pitch roll and temperature a oa o gt Prime Pri me Ser Port ser Port Pr ocess Pri me Let the ConmProtocol know this object wll handle any serial data returned by the unit mConm new ComnPr ot ocol this serPort 0 1 mli me n6t ep Pri me Pri me Called by the ComProtocol obj ect when a fram is completely i recei ved void Pri ne Handl eCom Ul nt 8 frameType void dataPtr Ul nt 16 dat aLen Ulnt8 data Ulnt8 dataPtr sw t ch f rameType case CommPr ot ocol kDat aResp Parse the data response Ul nt8 count data 0O The number of data elements returned Ul nt 32 pntr 1 Used to retrieve the returned el erents The data elements we requested Fl oat 32 heading pitch roll temperature al kDat aCount Message is a function that displays a C formatted string simlar to printf Message Recei ved data elements instead of the requested r n Ul nt 16 count Ul nt 16 kDat aCount return Prime User M
5. User Manual Prime 3 Axis Digital Compass Module Gel ell CORPORATIO 1 2 3 5 Table of Contents COPYRIGHT amp WARRANTY INFORMATION csscccssccsscccssccssccsscsecccecccescnsscnascosscossceeses 1 INTRODUCTION ii ccccstsccsccedceccecectsdsecssoncsnscosecsciescosccvecescscnaveoscuuecssdseceuscsscescceccasctestsncedonceas 2 Kee Le Wei KE 3 3 1 Performance Specifications ccccssssscecececsesesseseeececessesesaeaeeecsceesesaeaeeeeecssesseaaaeeeeecssseseaeaeeeesens 3 3 2 Operating Characteristics cccc cnicacccceeectseensicecetaeeeessdenasecteceesetssuayecedecdestadeeasecdecneeatteeedsecetenteztseeceee 3 3 3 Mechanical NIC TEE 5 ET 6 4 1 le delen dE 6 4 2 Mechanical Installations sasssa an aa ai pn a a aaa il sn ra sal 7 4 2 1 Operate within sensors useable regime cccccccsssssssseceseceseesessaeeeeeescessessaeeeseesseesesnnaeess 7 4 2 2 Locate away from changing magnetic Helde 7 4 2 3 Mount in a physically stable Iocaton ask str Rr EL LELLA 8 4 2 4 L cation verification test gs a ses eech dele sn a ege deeg de iergent 8 4 3 MON TE 8 4 4 Pitch and ROllCotventi Massa aaa ansa aan ga a Deet eER eer kis 8 OPERATION WITH STUDIOPRIME ccsscosccccccsccscnsccescnsccsscnscnccensonsccesescosseessnscustensonses 10 5 1 Installation onto a Windows system 10 5 2 elle ge l ro OO ROTO O ROTTO TORO 10 5 2 1 Initial connect Te TEE 11 5 2 2 Changing baud rate ccccccccccscssssssssece
6. _ gt Parameter ID Axis ID lt Ulnt8 k Prime User Manual r09 1 Ulnt8 gt Page 43 7 3 14kParamResp frame ID 144 This frame is the response to kGetParam and contains the current FIR filter settings The format and values will be the same as defined by kSetParam lt Payload Parameter ID Axis ID Count Value Value Value Values Filter Top ID ID ID lt ants ings dz Ulntg Value Specific Specific Specific 7 3 15kPowerDown frame ID 154 This frame is used to completely power down the module which is referred to as putting the module in Sleep Mode The frame has no payload The module will power down all peripherals including the RS 232 driver but the driver chip has the feature to keep the Rx line enabled Any character sent to the module causes it to exit Sleep Mode It is recommended to send the byte PP 7 3 1 6kSaveDone frame ID 164 This frame is the response to kSave frame The payload contains a UInt16 error code 0000 indicates no error 0001 indicates an error when attempting to save data into non volatile memory lt Payload gt Error code lt Unie 8 7 3 17kUserCalSampCount frame ID 174 This frame is sent from the module after taking a calibration sample point The payload contains the sample count with the range of 1 to 32 lt Payload _ gt Sample count
7. and minimal local magnetic distortions It must be aligned within the host system with respect to the mounting holes Ensure any stand offs or screws used to mount the module are non magnetic The Prime can be mounted in 24 different orientations as called out in Table 7 4 and depicted in Figure 7 2 However StudioPrime only supports 6 mounting configurations as depicted in Figure 5 1 All reference points are based on the white silk screened arrow on the top side of the board The orientation should be programmed in the Prime using the kSetConfig command and the kMountRef setting as described in Section 7 3 6 4 4 Pitch and Roll Convention As shown in Figure 4 1 roll is defined as the angle rotated around the long axis of the module while pitch is rotation around shorter axis of the module Positive pitch is when the front edge of the board is rotated upward and positive roll is when the right edge of the board is rotated downward These two rotations are independent of each other PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 8 ee NORTH HEADING OR DIRECTION OF TRAVEL NEGATIVE ROLL AXIS POSITIVE NEGATIVE N PITCH POSITIVE AXIS Figure 4 1 Positive amp Negative Roll and Pitch Definition Prime User Manual r09 1 Page 9 5 Operation with StudioPrime The StudioPrime evaluation software communicates with the Prime through the RS232 serial port of your computer It puts an easy to use
8. kMountingRef 10 Ulnt8 1 STDO 2 X UP 0 3 Y UP 0 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 11 Y UP 90 12 Y UP 180 13 Y UP 270 14 Z DOWN 90 15 Z DOWN 180 16 Z DOWN 270 17 X DOWN 18 X DOWN 90 19 X DOWN 180 20 X DOWN 270 21 Y DOWN 22 Y DOWN 90 23 Y DOWN 180 24 Y DOWN 270 Prime User Manual r09 1 Page 37 PNI Sensor Corporation kUserCalStableCheck 11 Boolean True or False True kUserCalNumPoints 12 Ulnt32 12 32 12 kUserCalAutoSampling 13 Boolean True or False True 0 300 1 600 2 1200 3 1800 4 2400 5 3600 6 4800 kBaudRate 14 Ulnt8 7 7200 12 8 9600 9 14400 10 19200 11 28800 12 38400 13 57600 14 115200 Configuration parameters and settings for kSetConfig kDeclination Config ID 14 This sets the declination angle to determine True North heading Positive declination is easterly declination and negative is westerly declination This is not applied until kTrueNorth is set to TRUE kTrueNorth Config ID 24 Flag to set compass heading output to true north heading by adding the declination angle to the magnetic north heading kBigEndian Config ID 64 Flag to set the Endianness of packets kMountingRef Config ID 104 This sets the reference orientation for t
9. Connector PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 4 3 3 Mechanical Drawing Dimensions are mm inches TOP VIEW 1 32 Ion 33 6 2 00 0 69 17 60 0 Geet i e0000 n Molex Connector Pin 1 j a underside 1 22 1 06 31 0 27 00 5 Ribbon Connector Pin 1 IG i 5 06 x 9 95 d 3 woe 0 10 1 14 0 05 2 60 29 00 3X 2 21 0 00 SIDE VIEW 16 Pin Ribbon Connector mates to Samtech FFSD 0 30 CLP FLE SFMC amp SFMH az 0 38 l e i 12 9 Pin Molex Connector e Ke mates to Molex P N 51146 0900 Note The default orientation for the Prime is for the silk screened arrow to point in the forward direction Figure 3 1 Prime Mechanical Drawing 1800 25 PN 12415 Figure 3 2 PNI Pigtailed Cable Drawing Prime User Manual r09 1 300 20 4 Page 5 4 Set Up This section describes how to configure the Prime in your host system To install the Prime into your system follow these steps Make electrical connections to the Prime Evaluate the Prime using the included StudioPrime program or terminal emulation software such as Tera Term or RealTerm to ensure the compass generally works correctly Choose a mounting location in the host system Mechanically mount the Prime in the host system Perform a user calibration 4 1 Electrical Connections The Prime incorporates both a 16 pin ribbon connect
10. Figure 3 2 PNI Pigtailed Cable Drawing c ccccccccssssessssesececessesesneseceeecessesesaeaeeeescesseseaaeseeeeecessessaaeaeeeesens 5 Figure 4 1 Positive amp Negative Roll and Pitch Deftnition tessar rss sasssa str 9 Figure 5 1 StudioPrime Mounting Orientations ccccccccccecssssssssececececeeseseaecececeeseseaeaeeeeesessesesaeaeeeeeens 12 Figure 6 1 Magnetic Calibration Patten 26 Figure 6 2 Accelerometer Calibration Starting Boston 28 Figure 7 1 Datagram Structure cccccceceeeesecseceeeceeeeeesaaaeceeeeeeeeeeaaaaeceeeeeeeesaaaeaeceseseeeesaaaaaeceeeseseeaaaeaeeeeeees 30 Figure 7 2 PNI Protocol Mounting Orientations 00eeeteessssst sr st rt k LA LELLA RENA LELLA 39 Prime User Manual r09 1 Page iii 1 Copyright amp Warranty Information Copyright PNI Sensor Corporation 2009 All Rights Reserved Reproduction adaptation or translation without prior written permission is prohibited except as allowed under copyright laws Revised March 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 Prime products Products from parts and components that are new or equivalent to new in performance PNI warrants that each Product to be delivered hereunder if properly used will
11. PNI Sensor Corporation Prime User Manual DOC 1014177 r09 6 2 3 Simultaneous Mag and Accel Calibration The Prime allows for a simultaneous magnetic sensor and accelerometer user calibration This requires a good 18 point calibration pattern stable measurements and installation in the user s system The Accelerometer Calibration Pattern discussed in Section 6 2 2 works well for a simultaneous 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 a Mag and Accel Calibration only makes sense if all the host system s magnetic distortions steel structures or batteries for instance are present and fixed relative to the Prime when calibrating If Accelerometer Only Calibration is performed the user s system distortions are not relevant which allows for the Prime to be removed from the system in order to perform the Accelerometer Only Calibration 6 2 4 Calibration Scores Once calibration is complete the Prime provides calibration scores indicating the quality of the calibration These are found in Calibration Results on the Calibration tab in StudioPrime or in the kUserCalScore payload These apply to both magnetic sensor and accelerometer calibration For magnetic sensor calibration a score of 285 is desirable for the X and Y vectors The only way to get a Z value greater than 50 is to take calibra
12. Ulnt32 rid Ulnt32 gt Note that the Type and Revision can be decoded from the binary format to character format using the ASCII standard For example the hex string 00 OD 02 54 43 4D 35 31 32 30 38 C7 87 can be decoded to read TCMS5 1208 Also the TCM XB is referenced as Type TCM6 since the number of Type characters is limited to 4 7 3 3 kSetDataComponents frame ID 34 This frame sets the data components in the module s data output This is not a query for the module s data see kGetData The first byte of the payload indicates the number of data components followed by the data component IDs PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 34 lt Payload gt Count ID ID ID LH lt 4 Ulnt8 rid Ulnt8 ka Ulnt8 kr Ulnt8 rid Ulnt8 gt Example To query the heading and pitch the payload should contain lt Payload gt 3 2 5 24 Frame ID ID Count Heading ID Pitch ID When querying for data kGetData frame the sequence of the data component output follows the sequence of the data component IDs as set in this frame Table 7 3 Component Identifiers Component Component IDg Format Units Range kHeading 5 Float32 degrees 0 0 to 359 9 l False Default kDistortion 8 Boolean True or False Ber EEN False Default kCalStatus 9 Boolean True or False eat calibrated kPAligned 21
13. X 16 X 12 X 5 1 Ul nt 16 crc 0 while len crc unsigned char crc gt gt 8 crc lt lt 8 crc dat aPtr i ndex 4 crc A unsi gned char crc A Oxff gt gt 4 crc cre lt lt 8 lt lt 4 crc crc amp Oxff lt lt 4 lt lt 1 return crc PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 50 Prime User Manual r09 1 Page 51 8 2 CommProtocol h File Note This file contains objects used to handle the serial communication with the unit Unfortunately these files are not available as the program was written on a non PC computer The comments in the code should explain what is expected to be sent or received from these functions so that you can write this section for your specific platform For example with the TickGenerator h you would need to write a routing that generates 10msec ticks pr agna once 1 ncl ude Syst enSer Port h i ncl ude Processes h 9 CormHandl er is a base class that provides a call back for incom ng messages l ass ConmHandl er publ i c Call back to be i npl erented in derived class virtual void Handl eCom Ul nt 8 frameType void dataPtr NULL Ulnt16 dataLen 0 CormPr ot ocol handles actual serial comuni cation wth the unit Process is a base class that provides CommProtocol wth cooper ati ve parallel processing The Control method will be called by a process manager on a conti nuous basi s zi D M M SMa
14. and BF 71 is the CRC 16 checksum 7 3 5 kDataResp frame ID 54 This frame is the response to kGetData frame The first byte of the payload indicates the number of data components followed by the component ID value pairs The sequence of the components IDs follows the sequence set in the kSetDataComponents frame lt Payload Count ID Value ID Value IDoount Valle nom le UInt8 Ae ints ID Va Uint8 ke ID gt lt Un ke ID n m a Specific Specific Specific Example If the response contains the heading and pitch the payload would look like 2 5 359 9 24 10 5 ID Count Heading ID Heading Pitch ID Pitch Output Output Float32 Float32 DOC 1014177 r09 PNI Sensor Corporation Prime User Manual Page 36 7 3 6 kSetConfig frame ID 64 This frame configures the Prime Configuration values must be set one at time Payload _ gt Config ID Value lt 4 Ulnt8 ka ID Specific Example To configure the declination the payload would look like 1 10 0 Declination ID Settings kDeclination Declination Angle Float32 Table 7 4 Configuration Identifiers Configuration ID Format Float32 Units Range 180 to 180 Default Values kTrueNorth Boolean True or False False kBigEndian Oo NM Boolean True or False True
15. 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 see included C function at end of document transmitted in Big Endian PNI Sensor Corporation Prime User Manual The ByteCount and CRC 16 are always DOC 1014177 r09 Page 30 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 double precision in Big Endian In Little Endian the bytes are in reverse order in 4 byte groups e g Big Endian ABCD EFGH Little Endian DCBA HGFE 63 62 5251 0 S Exponent Mantissa The value v is determined as shown below 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 single precision in Big Endian In Little Endian format all 4 bytes are in reverse order LSB first 3130 2322 0 S Exponent Mantissa The value v is determined as shown below if and only if 0 lt Exponent lt 255 v 1 S 2 Exponent 127 1 Mantis
16. 3 01 6637325898141e 1 09 5354386848804e 2 01 2456836057785e 2 06 4500864832660e 2 01 1484431942626e 1 01 7646051430536e 2 NIOJ Ry OM 01 9875512449729e 2 01 2567124916369e 1 02 3794805168613e 2 o 01 2567124916369e 1 03 0686505921968e 2 lt CH 01 1484431942626e 1 03 8014333463472e 2 09 5354386848804e 2 04 5402682509802e 2 ine 07 1024151197772e 2 05 24361 12653103e 2 wo 04 6451949792704e 2 05 8693165018301e 2 EK A 02 5971390034516e 2 06 3781858267530e 2 ol 01 2710056429342e 2 06 7373451424187e 2 O 07 9724971069144e 3 06 9231186101853e 2 N 06 9231186101853e 2 06 7373451424187e 2 oO 06 3781858267530e 2 ba CH 05 8693165018301e 2 N 05 2436112653103e 2 N N 04 5402682509802e 2 N wo 03 8014333463472e 2 bi K 03 0686505921968e 2 b i ol 02 3794805168613e 2 ye o gt 01 7646051430536e 2 IW N 01 2456836057785e 2 Il co 08 3414139286254e 3 N Kei 05 3097803863757e 3 CO CH 03 2757326624196e 3 wo 02 0737124095482e 3 CA N 7 3 13kGetParam frame ID 134 01 4823725958818e 3 This frame queries the FIR filter settings for the sensors Parameter ID should be set to 3 and the Axis ID should be set to 1 lt ___ Payload
17. Communication Frames The Prime s command set is given below and descriptions of each command follow Table 7 2 Command Set Frame Command Description ID 1 kGetModinfo Queries the modules type and firmware revision number 2 kModInfoResp Response to kGetModinfo 3 kSetDataComponents Sets the data components to be output 4 kGetData Queries the module for data 5 kDataResp Response to kGetData 6 kSetConfig Sets internal configurations in the module 7 kGetConfig Queries the module for the current internal configuration value 8 kConfigResp Response to kGetConfig 9 kSave Commands the module to save internal and user calibration 10 kStartCal Commands the module to start user calibration 11 kStopCal Commands the module to stop user calibration 12 kS Sets the FIR filter settings for the magnetic sensor amp etParam accelerometer sensors Queries for the FIR filter settings for the magnetic sensor amp 13 GE accelerometer sensors 14 kP Contains the FIR filter settings for the magnetic sensor amp aramResp accelerometer sensors 15 kPowerDown Used to completely power down the module 16 kSaveDone Response to kSave 17 kUserCalSampCount Sent from the module after taking a calibration sample point 18 kUserCalScore Contains the calibration score 19 kSetConfigDone Response to kSetConfig 20 kSetParamDone Response to kSetParam 21 kStartlntervalMode Commands the module to outp
18. Corporation s Prime the choice for applications that require a low price with unmatched performance The Prime s advantages make it suitable for a variety of applications including e Sonobuoys e Seismic monitoring systems e Acoustic Doppler current profilers ADCPs e Robotic systems With its many potential applications the Prime provides a command set designed with flexibility and adaptability in mind Many parameters are user programmable including reporting units a wide range of sampling configurations output damping and more We believe the Prime will help you achieve great performance from your system PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 2 3 Specifications 3 1 Performance Specifications Table 3 1 Specifications Parameter Value Range 360 Headin Accuracy tilt lt 45 1 rms 9 Resolution 0 1 Repeatability 0 05 rms Bane Pitch 90 ang Roll 180 Tilt Pitch amp Roll Accuracy 1 rms Resolution 0 1 Repeatability 0 05 rms Maximum Functional Dip Angle 85 Usable Field Range 100 uT Magnetometer Resolution 0 05 uT Repeatability 0 1 uT Footnotes 1 Specifications are subject to change Assumes the Prime is motionless and the local magnetic field is clean relative to the calibration 2 Performance will degrade somewhat as the maximum functional dip angle is approached 3 2 Operating Characteristics Table 3 2 I O Characteris
19. Float32 G 1 0 to 1 0 kRAligned 22 Float32 G 1 0 to 1 0 kIZAligned 23 Float32 G 1 0 to 1 0 kPAngle 24 Float32 degrees 90 0 to 90 0 kRAngle 25 Float32 degrees a t9 KXAligned 27 Float32 uT KYAligned 28 Float32 uT KZAligned 29 Float32 T Component types for kSetDataComponents amp kDataResp frames kHeading Component ID 54 Compass heading output in degrees kDistortion Component ID 84 Read only flag that indicates that at least one magnetic sensor axis reading is beyond 100 pT kCalStatus Component ID 94 Read only flag that indicates user calibration status False Default Not calibrated Prime User Manual r09 1 Page 35 kPAligned kRAligned amp kIZAligned Component IDs 214 224 234 User calibrated Earth s gravity vector G component output kPAngle kRAngle Component IDs 244 254 The outputs provide pitch and roll angles The pitch range is 90 0 to 90 0 and the roll range is 180 0 to 180 0 See Figure 4 1 for the pitch and roll conventions kXAligned kYAligned kZAligned Component IDs 274 284 294 Represent the user calibration Earth s magnetic field M vector components 7 3 4 kGetData frame ID 44 The frame has no payload The complete packet for the kGetModInfo command would be This frame queries the module for data as established in kSetDataComponents 00 05 04 BF71 Where 00 05 is the byte count 04 is the kGetData command
20. S TI ass CommProtocol public Process publ i c enum Frame IDs Commands kGet Mdl nfo 1 II kMbdl nf oResp 2 kSet Dat aConponent s 3 kGet Dat a II 4 kDat aResp 3 Data Component IS kHeadi ng 5 5 type FI oat 32 kPAI i gned 21 21 type FI oat 32 kRAI i gned 22 type FI oat 32 kl ZAI i gned 23 type FI oat 32 kPAngl e 24 type FI oat 32 kRAngl e 25 type FI oat 32 enum PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 52 maxi mum si ze of our input buffer kBuf ferSi ze 512 m ni mm size of a serial packet kPacket M nSi ze 5 SerPort is a serial communication object abstracting the hardware i ml erent ati on ComnmPr ot ocol ConmHandl er handler NULL SerPort ser Port NULL void Init Ul nt 32 baud 38400 void SendDat a Ul nt 8 frame void dataPtr NULL Ulnt32 len 0 void Set Baud Ul nt 32 baud pr ot ect ed CormHandl er mHandl er Ser Port mert al Port Ul nt 8 mOut Dat al kBuf f er Si ze m nDat al kBuf f er Si ze Ul nt 16 mExpect edLen Ul nt 32 mQutLen nA dl nLen mli me n6t ep Ul nt 16 CRO void data Ulnt32 en void Control Prime User Manual r09 1 Page 53 8 3 CommProtocol cp File i ncl ude ComPr ot ocol h import an obj ect that wll provide a 10mSec tick count through a function called Ti cks i ncl ude Ti ckGener at or h fi II SerPort is an obj ect t
21. lt 1 Little D EI E n 3 ca K erg Ze af S de K 5 NY F 8 Large Positive Pitch gt Ze 9 l ff Alternate Roll between points odd number points positive roll even negative roll Large Negative Pitch Figure 6 1 Magnetic Calibration Pattern PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 26 Table 6 1 Magnetic 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 5 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 6 2 2 Accelerometer Calibration Procedure The requirements for a good accelerometer calibration differ from the requirements for a good magnetic sensor calibration For example a level yaw sweep no matter how many points are acquired is effectively only 1 accelerometer calibration point PNI recommends 18 32 calibration points for Accelerometer Only Calibration Figure 6 2 shows the two basic starting positions for Accelerometer Only Calibration Calibration can occur within the user s system or with the module alone It is not neces
22. m nDat af 21 em nData 3 mExpect edLen kPacket MnSi ze el se PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 56 el se break def ault break Prime User Manual r09 1 erc s don t match so clear everything that is currently in the input buffer since the data is not reliable nSeri al Port gt l nQ ear go page to looking for the ength bytes nBtep 1 Ticks is a timer function 1 tick 10msec if Ticks gt mlime Corrupted message V did not get the length we were expecting wthin 1 2sec of receiving the length bytes Gear everything in the input buffer since the data is unreliable ner i al Port gt l nQ ear Look ror the next length bytes nStep 1 E DH Page 57 8 4 Prime h File pr agna once i ncl ude Processes h i ncl ude ComPr ot ocol h This file contains the obj ect providing conmuni cation to the Prime It wll set up the unit and parse packets recei ved Process is a base class that provides Prime wth cooperati ve parallel processing The Control method wll be called by a process manager on a continuous basis mee ass Prime public Process public ConmHandl er zi T D D i i i Miia publ i c Pr i me Ser Port ser Port Prine pr ot ect ed CormPr ot ocol mConm Ul nt 32 nSt ep mli me mResponseTi me voi d Handl eCom Ul nt 8 framelype void dataPtr NULL Ulnt16 dataLen 0
23. of the screen to save the system log to a text file Prime User Manual r09 1 Page 21 5 8 Graph Tab Studio Prime 5 File Edit Connection Configuration Calibration Test Data Logger System Log Graph GraphData Filtered User Cal MX 37 80 MX Filt _ MY Filt MX Cal MY Cal J 31 67 25 54 19 41 13 28 715 1 02 5 10 LS Dau Scroll 36 11 11 59 0 67 The graph provides a 2 axis X Y plot of the measured field strength The graph can be used to visually see hard and soft iron effects within the environment measured by the Prime module as well as corrected output after a user calibration has been performed The screen shot shown shows the MX and MY readings as the module was held horizontally and rotated through 360 in the horizontal plane then held in vertical orientation and rotated 360 in the vertical plane PNI Sensor Corporation Prime User Manual DOC 1014177 r09 Page 22 6 User Calibration Sources of magnetic distortion that are positioned near the Prime in the user s system will distort Earth s local magnetic field and need to be compensated for before implementing the Prime in the host system Examples of such sources include ferrous metals and alloys ex iron nickel magnetized or non stainless steel etc batteries permanent magnets wires and electri
24. 2 i nLen nSeri al Port gt I nLen swi t ch n6t ep Prime User Manual r09 1 Page 55 wait for length bytes to be received by the serial obj ect f inLen gt 2 Read block wll return the nunber of requested or available bytes that are in the serial objects input buffer read the byte count ner i al Port gt ReadBl ock m nat a 2 byte count is ALWAYS transmtted in big Endi an copy byte count to mExpect edlLen to native Endi aness nExpect edLen mnData 0 lt lt 8 mnData 1 y Ticks is a timer function 1 tick 1 wait up to 1 2s for the conplete frame mExpect edLen to be received mli me Ticks 50 nStep go to next step in the process break case 2 wait for msg complete or timeout if inLen gt mExpectedLen 2 calculated and received crcs Ul nt 16 crc crcRecei ved Read block wll return the nunber of requested or available bytes that are in the serial objects input buffer nSer i al Port gt ReadBl ock Amt nDat al 2 mExpectedLen 2 in CRC verification don t include the CRC in the recalculation 2 crc CRO mnData mExpectedLen 2 CRC is also ALWYS transmtted in big Endi an crcRecei ved m nDat al mExpectedLen 2 lt lt 8 mnDatal mExpectedLen 1 if crc crcRecei ved the crc is correct so pass the frame up for processi ng i f mHandl er mHandl er gt Handl eComm
25. Coverage yCoverage amp zCoverage Provides the percentage of the X Y or Z magnetic sensor axis covered by the sampling Note that the only way to get a zCoverage value greater than 50 is to take some points with the module upside down xyzAccelCoverage Provides the percentage of the accelerometer axes covered by the sampling formatted as XXYY ZZ XX is the X axis coverage YY is the Y axis coverage and ZZ is the Z axis coverage For example xyzAccelCoverage 8590 67 means accelerometer X coverage 1s 85 Y coverage is 90 and Z coverage is 67 accelStdDevErr Similar to StdDevErr except this is for accelerometer calibration A reasonable target accelStdDevErr value is 2 but acceptable compass performance can be obtained with somewhat higher scores 7 3 19kSetConfigDone frame ID 194 This frame is the response to kSetConfig frame The frame has no payload Prime User Manual r09 1 Page 45 7 3 20kSetParamDone frame ID 204 This frame is the response to kSetParam frame The frame has no payload 7 3 21kStartlntervalMode frame ID 214 This frame commands the module to output data at a fixed time interval otherwise known as Push Mode See kSetAcqParams The frame has no payload 7 3 22kStopintervalMode frame ID 224 This frame commands the module to stop data output when in Push Mode The frame has no payload 7 3 23 kPowerUp frame ID 234 This frame is sent from the module after waking up from Sleep Mode The f
26. TA be TRAN Sege eS 43 7 3 14 kParam Resp frame ID LA 44 73 15 kPowerDown frame ID 15i rea aein skanna 44 7 33 16 kSaveDone frame ID 164 siss isss asksins ka R krani ARA EAr 44 7 3 17 kUserCalSampCount frame ID 174 ccccccccssssceessssececssssececsesaececeesaececsesaececsesaececsesaeeeeseaaes 44 7 3 18 kUserCalScore frame ID L d 45 7 3 19 kSetConfigDone frame ID 194 45 7 3 20 kSetParamDone frame ID 204 46 7 3 21 kStartintervalMode frame ID 214 cccccccesssccecsessececssssececsesaececessaececeesaeceesesaeceesesaeeeeseaaes 46 7 3 22 kStoplntervalMode frame ID 234 46 13 23 kKPowerU 6 frame ID 23a its 46 7 3 24 kSetAcqParams frame ID 244 cccccccesssscecssssececsssaececessaececsesaececsessececsesaececeesaeceesesaeeeeseaaes 46 7 3 25 kGetAcgParams frame ID 256 seisne e a ANEA A NEAS e NEA 47 7 3 26 kAcgParamsDone frame ID 264 sanieren i a a a 47 7 3 27 kAcgParamsResp frame ID 274 ccccccsssscecsssseceessssececsessececsesaeeecseaaeceeseasececeesaeeeesesaeeseseaaes 47 7 3 28 kPowerDownDone frame ID 284 cccsscceesssseceesseececsessececsesaececsessececeesaeeecsesaeeeeseaaeeeeseaaes 48 7 3 29 kFactoryUserCal frame ID 294 48 7 3 30 kFactoryUserCalDone frame ID 304g cccccssccccssssececssssececsesaececsesseceesssaeeeesesaeeeesesaeeeeseaaes 48 7 3 31 kTakeUserCalSample frame DZ 48 7 3 32 kFactorylnclCal frame ID 264 48 7 3 33 kFactorylnclCalDone frame ID 27 48 PNI Senso
27. User Manual r09 1 Page 61 mResponseTi me Ticks 300 Expect a response wthin 3 seconds This is called each time this process gets a turn to execute void Pri me Control swi t ch mot ep case 1 the compents we are requesting preceded by the number of Ul nt 8 pkt kDat aCount 1 components being request ed pkt 0 kDat aCount pkt 1 Com ot ocol kHeadi ng pkt 2 ConmPr ot ocol kPAngl e pkt 3 ConmPr ot ocol kRAngl e SendConm ConmPr ot ocol kSet Dat aConponent s pkt kDataCount 1 Ticks is a timer function 1 tick 10msec nli me Ticks 100 Taking a sample in s n6t ep go to next step of process br eak case 2 Ticks is a timer function 1 tick 10msec if Ticks gt ni me tell the unit to take a sanple SendConm ConmPr ot ocol kGet Data mli me Ticks 100 take a sample every second nt ep br eak case 3 Ticks is a timer function 1 tick 10sec if Ticks gt mResponseTi me Message No response fromthe unit Check connection and try again r n nSt ep 0 br eak def aul t br eak PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 62
28. anual r09 1 Page 59 PNI Sensor Corporation Prime User Manual whi d op through and collect the elements lo e count The elements are received as type ie kHeading data sw t ch dat al pnt r read the type and go to the first byte of the data Qly handling the 4 elements we are ooki ng for case CommPr ot ocol kHeadi ng Move source destination size bytes Move copies the specified number of bytes from the source pointer to the destination pointer Store the headi ng Move Ai dat al pntr amp headi ng si zeof headi ng increase the pointer to point to the next data element type pntr si zeof headi ng br eak case CommPr ot ocol kPAngl e Move source destination size bytes Move copies the specified nunber of bytes from the source pointer to the destination pointer Store the pitch Move Ai dat al pntr amp pitch si zeof pitch o S D D OS Mig increase the pointer to point to the next data element type pntr si zeof pitch br eak case CommPr ot ocol kRAngl e Move source destination size bytes Move copies the specified nunber of bytes from the source pointer to the destination pointer Store the roll Move amp dat a pntr Ar ol si zeof roll o D D D D increase the pointer to point to
29. c motors Compensation is accomplished by calibrating the Prime s magnetic sensors while mounted in the user s system In the user s system it is expected the sources of magnetic distortion will remain fixed relative to the Prime s position When performing a user calibration the Prime identifies the local sources of magnetic distortion and subtracts these effects from the overall reading to provide an accurate compass heading Additionally the Prime s MEMS accelerometers gradually may change over time and it may be desirable to recalibrate the accelerometers from time to time The accelerometer calibration procedure corrects for changes in accelerometer gain and offset Unlike the magnetic sensors the accelerometers may be calibrated outside the host system Accelerometer calibration is more sensitive to noise or hand jitter than magnetic sensor calibration especially for subsequent use at high tilt angles Because of this a stabilized fixture is recommended for accelerometer calibration although resting the unit against a stable surface often is sufficient Alternatively the Prime can be returned to PNI for recalibration Since change in the accelerometers is gradual and relatively small accelerometer calibration is optional Key Points e Magnetic calibration requires incorporating the module in the user s system such that the magnetic components of the user s system can be compensated for Full sphere coverage during calibratio
30. cted SensorAcqTime The SensorAcqTime sets the time between samples taken by the module in seconds The default is 0 0 seconds which means that the module will reacquire data immediately after the last acquisition This is an internal setting that is NOT tied to the time with which the module transmits data to the host system Generally speaking the SensorAcqTime is either set to 0 in which case the TCM is constantly sampling or set to equal the IntervalRespTime value The advantage of running with a SensorAcqTime of 0 is that the module can run with a relatively high FIR filter tap value thus providing stable and timely data But using a greater SensorAcqTime can reduce power consumption IntervalRespTime The IntervalRespTime is relevant when Push Mode is selected and is the time delay in seconds between completion of the Prime sending one set of sampled data and the start of sending the next sample set The default is 0 0 seconds which means the TCM will begin sending new data as soon as the previous data set has been sent Note that the inverse of the IntervalRespTime is somewhat greater than the sample rate since the IntervalRespTime does not include actual acquisition time Also if IntervalRespTime is less than SensorAcqTime then repeated data will be sent which normally is undesirable 7 3 25kGetAcqParams frame ID 254 This frame queries the Prime for its acquisition parameters The frame has no payload 7 3 26kAcqPara
31. e deselected In this case the lt Take Sample gt button on the Calibration tab will be active Clicking the lt Take Sample gt button indicates 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 A minimum of 12 sample points are needed for a successful magnetic sensor calibration while 18 samples are recommended for either accelerometer only calibration or simultaneous magnetic sensor and accelerometer calibration Mag Only Calibration Select when only magnetic sensor calibration will be performed Accel Only Calibration Select when only an accelerometer calibration will be performed Accel and Mag Calibration Select when magnetic sensor and accelerometer calibrations will be performed simultaneously 5 3 7 Default Clicking this button reverts the StudioPrime program to the factory default settings 5 3 8 Revert This button will have the StudioPrime program read the settings from the unit and display them on the screen 5 3 9 Enable 3D Model StudioPrime 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 and for this reason it may be desirable to turn off this feature Prime User Manual r09 1 Page 15 5 4 Calibration Tab Studio Prime gl Connect__ DEENS Connection Configuratio n Test Data Logg
32. e time delay in seconds between completion of the Prime module sending one set of sampled data and the start of sending the next sample set If the time is set to 0 then the Prime will begin sending new data as soon as the previous data set has been sent Note that the inverse of the Interval Delay is somewhat greater than the sample rate since the Interval Delay does not include actual acquisition time Acquire Delay The Acquire Delay sets the time between samples taken by the module in seconds This is an internal setting that is NOT tied to the time with which the module transmits data to StudioPrime or the host system Generally speaking the Acquire Delay is either set to 0 in which case the Prime is constantly sampling or set to equal either the Poll Delay or Interval Delay values The advantage of running with an Acquire Delay of 0 is that the FIR filter can run with a relatively high Tap value to provide stable and timely data The advantage of using a greater Acquire Delay is that power consumption can be reduced assuming the Interval or Poll Delay are no less than the Acquire Delay Flush Filters Selecting this box results in the FIR filters being flushed voided out after each measurement reading This can be useful if a single accurate reading is desired and there is sufficient time to re populate the filters The default is not to flush the filters Note If Flush Filters is selected the rate at which the output is updat
33. ecessary to clear the current calibration in order to perform a new calibration Clear Accel Cal to Factory This button clears the user s calibration of the accelerometers Once selected the module reverts to its factory default values To save this action in non volatile memory click the lt Save Cfg gt button It is not necessary to clear the current calibration in order to perform a new calibration Save Cfg This button is only used in conjunction with either of the two buttons detailed above PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 18 5 5 Test Tab Studio Prime vi y Connection Configuration Calibration Test Data Logger System Log Graph Current Reading 3D Model Heading 221 6 Pitch Roll 003 5 008 6 C Contrast Es Acquisition Settings Module is in PUSH mode Poll time is 0 seconds Acquisition time is 0 000 seconds Interval time is 0 000 seconds Filters are NOT flushed 5 5 1 Current Reading Once the lt GO gt button is selected the unit will begin outputting heading pitch and roll information The lt GO gt button then turns to a lt Stop gt button Selecting the lt Stop gt button or changing tabs will halt the output Contrast Selecting this box sets the Current Readings window to have yellow lettering on a black background rather than black lettering on a white background 5 5 2 Acquisition Settings These indicators mimic the pertinent sel
34. ections made on the Configuration tab 5 5 3 3D Model The helicopter will follow the movement of the attached module and give a visual representation of the module s orientation assuming the Enable 3D Model Display box is selected on the Configuration tab Prime User Manual r09 1 Page 19 5 6 Data Logger Tab Studio Prime vi y File Edit Connection Configuration Calibration Test Ticks is 1 60th of a second Data Heading Pitch kPAngle Roll kRAngle MX kxAligned MY kYAligned MZ kZAligned GX kPAligned GY kRAligned GZ klZAligned Distortion ee El Heading 000 0 Pitch 000 0 Roll 000 0 El Auto Scroll StudioPrime 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 data to log in the Data window Use Shift Ctrl Click and Ctrl Click to select multiple items e Click on 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 e Click the lt Export gt button to save the data to a text file e Click the lt Clear gt button to clear the data from the window PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 20 5 7 System Log Tab Studio Prime vi y Connection Configuration Calibration Test Data Logger System Log Graph
35. ed will be inversely proportional to the number of taps For example if 8 taps and flush filters are selected the output will be updated at 3 5 Hz while it will be updated at 1 Hz if 32 taps is selected 5 3 6 Calibration Settings The Prime supports both magnetic sensor and accelerometer calibration These calibrations can be performed independently or simultaneously The relevant StudioPrime inputs for these calibrations are discussed below See Section 6 2 for information on how to perform a calibration Stability Checking By default when calibrating the module a measurement must be stable for 3 consecutive readings prior to saving the sample for use in the calibration This is why the module must be held steady between points during the user calibration This stability helps to ensure a proper heading and allow for higher accuracy but it also PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 14 takes more time If this checkbox is deselected then the module will NOT wait for a stable reading and will immediately take a reading once the minimum change between points threshold has been met Automatic Sampling When this checkbox is selected the module automatically takes a calibration point once the minimum change between points requirement and the stability check requirement if selected have been satisfied If the user wants direct control over when a calibration point is taken then Automatic Sampling should b
36. eecessessseseeeeecsssesesaeseceeecesseseeaeseeeeesesseseuaeseeeessessessaaees 11 5 2 3 Changing Msn 0 ska a aa Rd NR BARA Ag iE a EEEE EEEE SEE 11 5 3 Configuration Tab BE 12 5 3 1 MOUNTING s de EE 12 5 3 2 ele gn BET 13 5 3 3 go EAS RN ORRI RANA AR SERENA 13 5 3 4 Filter Setting Tapsasssssia assa ee EEN 13 5 3 5 ACQUISITION dl 13 5 3 6 CH ele gef EC 14 5 3 7 BT 1 AR RANA A RA 15 5 3 8 ROVE EE 15 5 3 9 Enable 3D M del E 15 5 4 Calibration TAD EE 16 5 4 1 Ke EE 16 5 4 2 Calibration R SultSaasssds disin s n aa RN dk En a R ECKE NEISES EEE ag Enda 17 5 4 3 Current Contigur ti isss assa a a kau a aa BAR auch tose AE a SA AE 17 5 4 4 le e EE 18 5 4 5 E E E SONR RS SO 18 5 5 Test TaD E 19 5 5 1 Curent Reading EE 19 5 5 2 ACQUISITION dl 19 5 5 3 BD MOG el EE 19 5 6 Data Logger Tab EE 20 5 7 Systemi Log Ta a ease Me eor Ni eeteeN eae 21 5 8 Grap BE EE 22 Prime User Manual r09 1 Page i 6 USER CALIBRATION ccccseccccsecccseecccceecceneeccesceccnsceccsscccceeeceseescesesscensesensseccnsceccseeeos 23 6 1 Magnetic Calibration OVE O Wii aa si ki i i aa sa Sisto eT earla 24 6 1 1 Hard lron and Soft lron Eftfects neee E ENE AEO RE AEE E A 24 6 1 2 Magnetic Calibration Limitations c ccccccccsssssssececececsesecseceeeeecesseseeaeeeeeescessesneaeeeeeesseesegs 24 6 2 User calibration Procedures ss si ar A ARA A a eda a 24 6 2 1 Magnetic Calibration Procedure str aieiaa aeaa apesares iai 25 6 2 2 Acceleromet
37. er System Log Graph Samples Calibration Results Mag Score Accel Score Field Std Dev 00 0 uT 00 0 mg X Dist Coverage 00 0 00 0 YDistCoverage 00 0 00 0 Z Dist Coverage 00 0 00 0 Take Sample Save Current User Cal Current Configuration Options Stability checking H Accel and Mag Calibration H Audible Feedback Automatic Sampling Accel Only Calibration Number of samples is 18 D Mag Only Calibration Clear Mag Cal to Factory Clear Accel Cal to Factory Save Oo 5 4 1 Samples Before proceeding refer to Section 6 2 for the recommended calibration procedure corresponding to the calibration method selected on the Configuration tab Clicking the lt Start gt button begins the calibration process 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 is taken changing the orientation of the module between samples as discussed in Section 6 2 If Automatic Sampling is checked the module will need to be held steady for a short time and then a sample automatically will be taken Once the window indicates the next number the module s orientation should be changed and held steady for the next sample Once the pre set number of samples has been taken as set on the Configuration tab the calibration is com
38. er Calibration Procedure ee 0t eeen erase snara ars ra snara sr rr 27 6 2 3 Simultaneous Mag and Accel Calibration 0 00000t sest essa nr sasssa r krans 29 6 2 4 Calibration Scores i sn ka id dal Fiska N i 29 6 3 Decine onee a Ag ee gat chats EE ARA takes 29 7 OPERATION WITH PNI BINARY PROTOCOL ccsscssccssccsecsccescnscssscnsccssessossceesescoseeesens 30 7 1 Datagram Structure caitein aaa a aa aae a aaa a a a a aaa aaa a aaah iaiaaeaia 30 7 2 Parameter eiA n E Ae EE anna gl akka 31 7 3 Commands amp Communication Frames ccccssccecssssececsesneeececcnececseqneeecseqeeecsequeeeceequeeeeesseeeeeeee 33 7 3 1 kGetModinfo frame DL 34 7 3 2 kModInfoResp frame ID2al nr tra a a A T 34 7 3 3 kSetDataComponents frame ID 24 34 7 3 4 kGetData frame ID 4 4 renret eB oeeesdevessihetee ical ska a teed eege 36 7 3 5 kDataRespi frame D D Aler rage egene a aN ee 36 7 3 6 kSetConfig frame ID Bassi coscccivecsed cesvssacsessscadeetessacsusveacdacsvecadeesdeccdsedvscsdsesseaessedvbceceesveceds 37 7 3 7 kGetContig frame ID 7 4 si i diska saa dala a a da deed a ni a 40 7 3 8 kConfigResp frame ID SI 41 7 3 9 KSave frame ID 93 st Seier ue A EE NEN enee et TOS 41 1 3 10 KStartCal frame ID 10g sit laga va aa gs ASS 41 1 3 11 kStoptal fr fie ID Tr eelste eegene 42 7 3 12 kSetParami frame ID 12 siss aa siss ad A gr nah a ks evs ees 42 7 3 13 KGetParam frame ID T3 orenen a ENE
39. et and the change in the magnetic field from the prior calibration point exceeds 30 uT for at least one axis If set to FALSE the Prime waits for the kTakeUserCalSample frame to take a calibration point kBaudRate Config ID 144 The baud rate index value sets the baud rate A power down power up cycle is required when changing the baud rate 7 3 7 kGetConfig frame ID 74 This frame queries the module for the current internal configuration value The payload contains the configuration ID requested lt lt Payload gt Config ID lt Ulnt8 _ PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 40 7 3 8 kConfigResp frame ID 84 This frame is the response to kGetConfig frame The payload contains the configuration ID and value lt Palad gt Config ID Value ID lt Ulnt8 kr Specific Example If a request to get the set declination angle the payload would look like 1 10 0 Declination ID Declination Angle Float32 7 3 9 kSave frame ID 94 This frame commands the module to save internal configurations and user calibration to non volatile memory Internal configurations and user calibration is restored on power up The frame has no payload This is the ONLY command that causes the module to save information into non volatile memory 7 3 10kStartCal frame ID 104 This frame commands the module to star
40. fixed location relative to the sensors for all heading orientations Hard iron distortions add a constant magnitude field component along each axis of sensor output Soft iron distortions are the result of interactions between the Earth s magnetic field and any magnetically soft material within close proximity to the sensors In technical terms soft materials have a high permeability The permeability of a given material is a measure of how well it serves as a path for magnetic lines of force relative to air which has an assigned permeability of one Unlike hard iron distortion soft iron distortion changes as the host system s orientation changes making it more difficult to compensate The Prime features both hard and soft iron correction For more information see PNI s website for the white paper Local Magnetic Distortion Effects on 3 Axis Compassing 6 1 2 Magnetic Calibration Limitations The Prime measures the total magnetic field within its vicinity and this is a combination of Earth s magnetic field and local magnetic sources The Prime can compensate for local static magnetic sources However a magnetic source which is not static such as a motor which turns on off can create errors and it is not possible to compensate for such a dynamic nature In such cases moving the Prime away from dynamic magnetic fields is recommended or taking measurements only when the state of the magnetic field is known ex only take meas
41. for one year following the date of shipment unless a different warranty time period for such Product is specified i 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 Product furnished hereunder fails t
42. g the kStartCal command Note that this command requires indentifying the type of calibration procedure i e Magnetic Sensor Only etc e Follow the appropriate calibration procedure discussed in Sections 6 2 1 to 6 2 3 If kUserCalAutoSampling is FALSE then send a kTakeUserCalSample command when ready to take a calibration point If kUserCalAutoSampling is TRUE then look for kUserCalSampCount to confirm when a calibration point has been taken e When the final calibration point is taken the module will present the calibration score using kUserCalScore e If the calibration is acceptable see Section 6 2 4 save the calibration coefficients using kSave 6 2 1 Magnetic Calibration Procedure The following procedure is recommended for magnetic sensor calibration Additional sample points with the module flipped upside down are also desirable if possible Move the module to the following positions noting that these are not absolute heading directs but rather relative headings referenced to your initial heading sample i e yaw is relative to the starting orientation and does not need to be North Note Once a calibration procedure is started with auto sampling enabled pausing between desired calibration points can cause unintentional points to be taken Prime User Manual r09 1 Page 25 Top Views Side Views Minimum 12 good user re calibration points Additional points can be added including i upside down if possible po
43. ge 49 kPower DoneDown kFact or yUser Cal kFact or y User Cal Done kTakeUser Cal Sanpl e kFact ory ncl Cal kFact or yl ncl Cal Done Param Ds kSet Dat aConponents 3 o T D D D D o D D D 3 Axi sl D Ul nt 8 Count Ul nt 8 Val ue Fl oat 64 Data Component Ds kHeadi ng 5 5 type Fl oat 32 kDi stortion 8 8 type bool ean kPAI i gned 21 21 type FI oat 32 kRAI i gned 22 type FI oat 32 kl ZAI i gned 23 type Fl oat 32 kPAngl e 24 type Fl oat 32 kRAngl e 25 type Fl oat 32 kXAl i gned 27 27 type Fl oat 32 kYAI i gned 28 type Fl oat 32 kZAl i gned 29 type Fl oat 32 Configuration Parameter Ds kDecli nation 1 1 type Fl oat 32 kTr ueNor t h 2 type bool ean kMountingRef 10 10 type Ulnt8 kUser Cal St abl eCheck 11 type bool ean kUser Cal NunPoi nt s 12 type Ulnt 32 kUser Cal AutoSanpling 13 type bool ean kBaudRat e 14 Unt8 Mounting Reference Ds kMountedSt andard 1 1 kMbunt edXUp 2 kMbunt ed YUp 3 kMbunt edSt dn us90 II 4 kMbunt edSt dn us180 CT 5 kMbunt edSt dn us270 6 Result IDs kErr None 0 II 0 kErr Save 1 function to calcul ate CRC 16 nt nt16 CRO void data Ulnt 32 en SES U nt8 dataPtr Unt8 data Ul nt 32 index 0 Update the CRC for transmitted and received data using the CCITT 16bit algorithm
44. gged 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 automatically made Once a connection is made the Connected light will turn green and the module s firmware version and serial number will be displayed in the upper left 5 2 2 Changing baud rate To change the baud rate e Inthe Module box select the new desired baud rate for the module e Click the lt Power Down gt button The button will change to read lt Power Up gt e Inthe Computer box select same baud rate for the computer e Click on the lt Power Up gt button The button will revert back to lt Power Down gt 5 2 3 Changing modules Once a connection has been made StudioPrime 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 baud rate is unchanged Prime User Manual r09 1 Page 11 5 3 Configuration Tab Studio Prime vis Mounting Options Filter Settings Taso B Calibration Settings Standard Fl Stability Checking M Automatic Sampling North Reference Acquisition Settings Made OPoll OPush Calibration Points Poll Time 0 Mag Only Calibration 0000 O Accel Only Calibration il Interval Time 0 000 Big O Little O Flush Filters O Accel and Mag Calibration Magnetic O True Declination 0 0
45. graphical user interface GUI onto the binary command language used by the Prime Instead of manually issuing command codes the user can use buttons check boxes and dialog boxes to control the Prime and obtain data It reads the binary responses of the Prime output and formats this into labeled and easy to read data fields StudioPrime also includes the ability to log and save the outputs of the Prime to a file This allows you to begin understanding the capabilities of the Prime while using StudioPrime s friendly interface Anything that can be performed using StudioPrime can also be performed using the RS232 interface and associated protocol 5 1 Installation onto a Windows system StudioPrime is provided as an executable program which can be downloaded from PNI s website at www pnicorp com It runs on Windows XP Vista and Windows 7 operating systems To get started download the StudioPrime msi file onto your computer then open the file and step through the Setup Wizard 5 2 Connection Tab Stuerm Computer Serial Port COM1 H BaudRate 38400 g Module Baud Rate 38400 H PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 10 5 2 1 Initial connection When initially launching StudioPrime e If using the PNI dual connecterized cable ensure the batteries are well charged and the cable is securely attached to the Prime and the PC s serial port e Select the serial port the module is plu
46. hat controls the physical serial interface It handles sending out the characters and buffers the characters read in until we are ready for them CormPr ot ocol ConmPr ot ocol CommHandl er handler SerPort serPort Process ComPr ot ocol store the obj ect that wll parse the data when it is fully II recei ved mHandl er handler mSeri al Port ser Port Init Initialize the serial port and variables that wll control 7 this process voi d ConmPr ot ocol Ini t UI nt 32 baud Set Baud baud nA di nLen 0 no data previously recei ved mt ep 1 goto the first step of our process Put together the fram to send to the unit voi d ComPr ot ocol SendDat ai Unt 8 frameType void dataPtr Ulnt 32 en Unt8 data Unt8 dataPtr the data to send Ul nt 32 index 0 our location in the frame we are putting t oget her Ul nt 16 crc e CRC to add to the end of the packet th Ul nt 16 count the total length the packet w II be count Ulnt16 l en kPacket MnSi ze exit wthout sending if there is too much data to fit inside our packet if len gt kBufferSi ze kPacketMnSi ze return Store the total len of the packet including the len bytes 2 the frame ID 1 the data len and the crc 2 If no data is sent the mn lenis 5 mOut Dat ali ndex count gt gt 8 mOut Dat ali ndex count OxFF PNI Sensor Corp
47. he module See Figure 7 2 for the comprehensive schematic of available orientations with labels corresponding to those listed in Table 7 4 DOC 1014177 r09 Prime User Manual Page 38 Figure 7 2 PNI Protocol Mounting Orientations Prime User Manual r09 1 Page 39 kUserCalStableCheck Config ID 114 This flag is used during user calibration If set to FALSE a calibration point can be taken if the magnetic field is stable to lt 23 uT for each axis If set to TRUE a calibration point can be taken if the magnetic field is stable to lt 5 uT for each axis kUserCalNumPoints Config ID 124 The user must select the number of points to take during a user calibration The number of points must be within Allowable Range Performance may suffer somewhat but still be acceptable for the application if the number of calibration points is less than the Minimum Recommended value Table 7 5 Number of Calibration Points Number of Calibration Points Calibration Mode Allowable Minimum Range Recommended Magnetic Sensor Only 10 to 32 12 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 until the kUserCalNumPoints number of calibration points is taken When auto sampling a new calibration point is taken when the kUserCalStableCheck condition is m
48. is not mounted close to cargo or payload areas that may be loaded with large sources of local magnetic fields Prime User Manual r09 1 Page 7 4 2 3 Mount in a physically stable location Choose a location that is isolated from excessive shock oscillation and vibration The Prime works best when stationary Any non gravitational acceleration results in a distorted reading of Earth s gravitational vector which affects the heading measurement 4 2 4 Location verification testing Location verification testing should be performed at an early stage of development to understand and accommodate the magnetic distortion contributors in a host system The data logger in StudioPrime see Section 5 6 can be used to perform the following tests Determine the distance range of field distortion Place the compass in a fixed position then move or energize suspect components while observing the output to determine when they are an influence Determine if the maximum field is within the linear range of the compass With the compass mounted rotate and tilt the system in as many positions as possible While doing so monitor the magnetic sensor outputs observing if the maximum useable range is exceeded 4 3 Mounting Refer to Figure 3 1 for dimensions mounting holes and reference frame orientation The Prime is pre loaded with calibration coefficients so it nominally indicates north per the arrow on the PCB assuming a standard orientation STD 0
49. msDone frame ID 26 This frame is the response to kSetAcqParams frame The frame has no payload 7 3 27kAcqParamsResp frame ID 274 This frame is the response to kGetAcqParams frame The payload should be the same as for the kSetAcqParams frame Prime User Manual r09 1 Page 47 7 3 28kPowerDownDone frame ID 284 This frame is the response to kPowerDown frame This indicates that the Prime successfully received the kPowerDone frame and is in the process of powering down The frame has no payload 7 3 29kFactoryUserCal frame ID 294 This frame clears the magnetic sensor user calibration coefficients and returns to the factory loaded coefficients The frame has no payload This frame must be followed by the kSave frame to change in non volatile memory 7 3 30kFactoryUserCalDone frame ID 30 This frame is the response to kFactoryUserCal frame The frame has no payload 7 3 31 kTakeUserCalSample frame ID 314 This frame commands the unit to take a sample during user calibration assuming kUserCalAutoSampling is set to FALSE Note that the kUserCalStableCheck condition must be met for the sample to be taken The frame has no payload 7 3 32kFactorylnclCal frame ID 364 This frame clears the user accelerometer calibration coefficients The frame has no payload This frame must be followed by the kSave frame to change in non volatile memory 7 3 33 kFactorylnclCalDone frame ID 374 This frame is the response to kFactor
50. n is ideal but not necessary to obtain a good calibration e Even though heading is only specified to a tilt angle of lt 45 calibrating at gt 45 of tilt generally will improve accuracy when operating near the specification limit of 45 e Accelerometer calibration requires that the module essentially be rotated through a full sphere of coverage However it does not require that the module be incorporated into the user s system to perform the calibration e Magnetic and accelerometer calibration can be performed simultaneously However it generally is easier to perform them separately since the requirements of each calibration are significantly different Magnetic calibration requires the module be incorporated in the user s system while accelerometer calibration requires full sphere coverage e Pay attention to the calibration scores See Section 7 3 18 for the score meanings Prime User Manual r09 1 Page 23 6 1 Magnetic Calibration Overview The main objective of a magnetic user calibration is to compensate for distortions to the magnetic field caused by the host system To that end the Prime needs to be mounted within the host system and the entire system must be moved as a single unit during calibration 6 1 1 Hard lron and Sott lron Effects Hard iron distortions are caused by permanent magnets and magnetized steel or iron objects within close proximity to the sensors This type of distortion remains constant and in a
51. nnector on the other end to mate with a computer s serial port This cable primarily is intended for basic evaluation of the Prime with a computer 4 2 Mechanical Installation The Prime s wide dynamic range and sophisticated calibration algorithms allow it to operate in many environments For optimal performance however you should mount the Prime with the following considerations in mind 4 2 1 Operate within sensors useable regime The Prime can be user calibrated to correct for large static magnetic fields created by the host system However each axis of the Prime has a maximum useable range of 100 uT If the total field exceeds this value for any axis the Prime may not give accurate heading information When mounting the Prime consider the effect of any sources of magnetic fields in the host environment that when added to the earth s field may take the sensors out of their linear regime For example distortions can be caused by large masses of ferrous metals such as transformers and vehicle chassis large electric currents permanent magnets contained within 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 Prime 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 Prime
52. o conform to the above warranty OEM s sole and exclusive remedy and PNI s sole and exclusive liability will be at PNI s option to repair replace or credit OEM s account with an amount equal to the price paid for any such Product which fails during the applicable warranty period provided that i OEM promptly notifies PNI in writing that such Product is defective and furnishes an explanation of the deficiency ii such Product is returned to PNI s service facility at OEM s risk and expense and iii PNI is satisfied that claimed deficiencies exist and were not caused by accident misuse neglect alteration repair improper installation or improper testing If a Product is defective transportation charges for the return of the Product to OEM within the United States and Canada will be paid by PNI For all other locations the warranty excludes all costs of shipping customs clearance and other related charges PNI will have a reasonable time to make repairs or to replace the Product or to credit OEM s account PNI warrants any such repaired or replacement Product to be free from defects in material and workmanship on the same terms as the Product originally purchased Except for the breach of warranty remedies set forth herein or for personal injury PNI shall have no liability for any indirect or speculative damages including but not limited to consequential incidental punitive and special damages relating to the use of or inabili
53. or topside of PCB and a 9 pin Molex connector bottom side of PCB for connecting the unit to the user s system The user should decide which connector they want to use and only use this connector The Prime will not function properly if commands are sent on both connectors The pin out for both connectors is given below in Table 4 1 Pin 1 for both connectors is indicated in Figure 3 1 Table 4 1 Prime Pin Descriptions 16 pin Ribbon 9 pin Molex PNI Cable Pin Connector Connector Wire Color 1 Black 2 NC NC Gray 3 GND GND Green 4 CS NC Orange 5 GND NC Violet 6 NC NC Brown 7 GND RS232 TxD Yellow 8 NC RS232 RxD Blue 9 GND 5 VDC Red 10 NC 11 GND 12 RS232 RxD 13 GND 14 RS232 TxD 15 GND 16 5 VDC PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 6 The Prime Interface Kit includes the PNI 45 cm 18 custom pigtailed cable see Figure 3 2 One end of the cable mates with the Prime s 9 pin Molex connector while the other end is not connectorized and has 9 wires accessible These wires are intended to mate with the user s system The cable s wires are color coded as indicated in Table 4 1 The Prime Evaluation Kit includes the same PNI pigtailed cable as provided in the Interface Kit plus a 1 8 m 6 custom dual connectorized cable This cable incorporates the Molex 51146 0900 connector on one end that mates to the Prime and a 9 pin sub D co
54. oration DOC 1014177 r09 Prime User Manual Page 54 store the frame ID mOut Dat a i ndex frameType copy the data to be sent whil e l en mQut Dat a i ndex dat a compute and add the crc crc OO mut Data i ndex mOut Dat a i ndex crc gt gt 8 mOut Dat ali ndex crc amp OxFF Wite block wll copy and send the data out the serial port ner i al Port gt Wi t eBl ock mQut Data index Call the functions in serial port necessary to change the baud rate voi d ComPr ot ocol Set Baud Ul nt 32 baud nSer i al Port gt Set BaudRat ei baud clear any data that was already waiting in the buffer nSer al Port gt l nC ear Update the CRC for transmtted and received data using the COATT 16bit al gorithm X 16 X12 X 5 1 U nt 16 ComPr ot ocol CR amp void data Ulnt 32 en Unt8 dataPtr Unt8 data Ul nt 32 index 0 Ul nt 16 cre 0 whi e 1 en crc unsigned char crc gt gt 8 crc lt lt 8 crc dat aPtr i ndex 4 crc unsigned char crc Oxff gt gt 4 crc crc lt lt 8 lt lt 4 crc crc amp Oxff lt lt 4 lt lt 1 return crc This is called each time this process gets a turn to execute id ConmPr ot ocol Control InLen returns the number of bytes in the input buffer of the serial obj ect that are available for us to read Ul nt 3
55. pecific gt Specific RIs Specific Parameter ID should be set to 3 and the Axis ID should be set to 1 The third payload byte indicates the number of taps to use which can be 0 no filtering 4 8 16 or 32 This is followed by the tap values 0 to 32 total Values can be in the payload with each Value being a Float64 and suggested values given below in Table 7 6 Note Selecting a large number of taps will significantly slow the time for the initial heading reading since the filter must be fully populated before the Prime will output a heading reading And if Flush Filters is selected the rate at which the output is updated will be inversely proportional to the number of taps For example if 8 taps and flush filters are selected the output will be updated at 3 5 Hz while it will be updated at 1 Hz if 32 taps is selected PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 42 Table 7 6 Recommended FIR Filter Tap Values Count 4 Tap Filter 04 6708657655334e 2 8 Tap Filter 01 9875512449729e 2 16 Tap Filter 07 9724971069144e 3 32 Tap Filter 01 482372595881 8e 3 04 5329134234467e 1 06 4500864832660e 2 01 2710056429342e 2 02 0737124095482e 3 04 5329134234467e 1 01 6637325898141e 1 02 5971390034516e 2 03 2757326624196e 3 04 6708657655334e 2 02 4925036373620e 1 04 6451949792704e 2 05 3097803863757e 3 02 4925036373620e 1 07 1024151197772e 2 08 3414139286254e
56. plete PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 16 5 4 2 Calibration Results Once calibration is complete the Calibration Results window will indicate the quality of the calibration This applies to both magnetic sensor and accelerometer calibration The X Y and Z Dist Coverage values show a percentage of each vector that has been covered during the calibration The only way to get a Z value greater than 50 would be to take some points with the module upside down The Field Std Dev values for Mag Score and Accel Score indicate the overall quality of the calibration The target value for the Field Std Dev Mag Score is 0 1 and the Accel Score value should be 2 where a lower score is better Note that acceptable compass performance can be obtained with somewhat higher scores and the obtainable score will be a function of the host system the specific Prime module and the execution of the calibration procedure See Section 6 2 for additional information If a Mag Only Calibration is performed the Mag Score will reflect the new magnetic sensor calibration while the Accel Score will be grayed out and represent the last saved Accel Score values Similarly if an Accel Only Calibration is performed the Accel Score will reflect the new accelerometer calibration and the Mag Score will be grayed out and reflect the last saved Mag Score values If the lt Stop gt button is clicked during a calibration
57. process prior to taking the minimum required samples this will abort the calibration The lt Start gt button turns into the lt Stop gt button once the calibration process is started The scores associated with the calibration method that was aborted will be 1 while scores unassociated with the aborted calibration method will be grayed out and represent their last saved values If the calibration is acceptable click the lt Save Current User Cal gt button to save the calibration If this button is not selected then the unit will need to be recalibrated after it is turned off Note The values in uT or mg refer to the quality of the calibration and NOT the accuracy of the heading It is possible to have a good calibration but poor heading accuracy if the local magnetic field changes after calibration 5 4 3 Current Configuration These indicators mimic the pertinent selections made on the Configuration tab Prime User Manual r09 1 Page 17 544 Options Audible Feedback If selected StudioPrime gives an audible signal when a calibration point is taken Note that an audible signal also will occur when the lt Start gt button is clicked but no data will be taken 5 4 5 Clear Clear Mag Cal to Factory This button clears the user s calibration of the magnetic sensors Once selected the module reverts to its factory default values To save this action in non volatile memory click the lt Save Cfg gt button It is not n
58. r Corporation DOC 1014177 r09 Prime User Manual Page ii 8 EODEESOMRLESG ege eeeee geed aE Ea aa aiaa 49 8 1 Header File amp CRC 16 FUN CH OM es ccesceciscsececvesuuteceseagtetdeegudeceseceibeccacbeecees su ri kv rak hik ai a sk 49 8 2 COMMPPOtOCOl h Flessen iA EAE NANA EAE 52 8 3 COMMPr tLDCOL Cp HUT 54 8 4 gl Eug UE 58 8 5 PRINS File a a a a a a SR A A SR 59 List of Tables Table Een legt Lu EE 3 Table 3 2 I O Characteristics eeen re err N LANE RANA 3 Table 3232 Power REQUIREMENTS esseere eet i a iee a al a da sal aa Bi 4 Table 3 4 Environmental Regultergentez e asksins knus id seabed ls a as EN RA AFA ala as gn 4 Table 3 5 Mechanical Characteristics v cccccscscuctvacavcsciecs aski kA i Eg as kA RF lE ar a 4 Table Achs Prime Pin Destfipti Sa aa ge DEE SE 6 Table 6 1 Magnetic Calibration Patten 27 Table 6 2 Accelerometer Calibration Patten 28 Table 7 1 Configuration WEE 30 Table 7 2 Command Set EE 33 Table 7 3 Component Identifiers ssrin aai EEE aN E aA REEE EEE 35 Table 7 4 Configuration Identifiers cccccsscccccecessssscaececececesseseeaececeescessesasaesesecssessesasaeseeseesseseaeaeeeesens 37 Table 7 5 Number of Calibration Points 40 Table 7 6 Recommended FIR Filter Tap Values ssssccccccecessssssecesecsceeseseaeceeecesesseaeaeeeeseeseesssaeaeeeesens 43 List of Figures Figure 3 1 Prime Mechanical Drawing tsk str str R ALLA LALA A REAL A REAL RA LEA RAR 5
59. rame 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 24kSetAcqParams frame ID 244 This frame sets the sensor acquisition parameters in the unit The payload should contain the following lt Payload gt PollingMode FlushFilter SensorAcqTime IntervalRespTime lt 4 Ulnt8 k Ulnt8 ka Float32 kr Float32 gt PollingMode This flag sets whether output will be presented in Poll or Push Mode Poll Mode is TRUE and is the default Poll Mode should be selected when the host system will poll the TCM for data Push Mode should be selected if the user will have the TCM output data at a relatively fixed rate to the host system See kStartIntervalMode for starting a Push Mode command FlushFilter Setting this flag to TRUE results in the FIR filters being flushed voided out after each measurement reading This can be useful if a single accurate reading is desired and there is sufficient time to re populate the filters The default is FALSE PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 46 Note If Flush Filters is selected the rate at which the output is updated will be inversely proportional to the number of taps For example if 8 taps and flush filters are selected the output will be updated at 3 5 Hz while it will be updated at 1 Hz if 32 taps is sele
60. rement reading When a new reading is added to the filter the oldest reading in the filter is dropped For example if 8 taps is selected the 8 most recent readings will populate the filter Note Selecting a large number of taps will significantly slow the time for the initial heading reading since the filter must be fully populated before the Prime will output a heading reading 5 3 5 Acquisition Settings Mode Poll mode should be selected when the host system will poll the Prime for data StudioPrime allows the user to simulate this on their PC In this case StudioPrime requests data from the Prime module at a relatively fixed basis Push mode should be selected if the user will have the Prime output data at a relatively fixed rate to the host system In this case the Prime module is pushing data out to StudioPrime at a relatively fixed rate Poll Delay The Poll Delay is relevant when Poll Mode is selected and is the time delay in seconds between the completion of StudioPrime receiving one set of sampled data and requesting the next sample set If the time is set to 0 then StudioPrime requests Prime User Manual r09 1 Page 13 new data as soon as the previous request has been fulfilled Note that the inverse of the Poll Delay is somewhat greater than the sample rate since the Poll Delay does not include actual acquisition time Interval Delay The Interval Delay is relevant when Push Mode is selected and is th
61. sa Signed 32 bit Integer SInt32 SInt32 based parameters are signed 32 bit numbers 2 s compliment Bit 31 represents the sign of the value O positive 1 negative 31 24 23 1615 87 0 msb Isb Big Endian 7 0 15 8 23 1631 24 Isb msb Little Endian Prime User Manual r09 1 Page 31 Signed 16 bit Integer SInt16 SIntl6 based parameters are signed 16 bit numbers 2 s compliment Bit 15 represents the sign of the value O positive 1 negative 15 87 0 7 0 15 8 msb Isb Isb msb Big Endian Little Endian Signed 8 bit Integer Sint8 UInt8 based parameters are unsigned 8 bit numbers Bit 7 represents the sign of the value O positive 1 negative 7 0 byte Unsigned 32 bit Integer Ulnt32 UInt32 based parameters are unsigned 32 bit numbers 31 24 23 1615 87 0 msb Isb Big Endian 7 015 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 1014177 r09 Prime User Manual Page 32 Unsigned 8 bit Integer UInt8 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
62. sary to place the Prime on a hard surface as shown but it must be held very still during calibration and holding it against a hard surface is a way to help ensure this e Starting with the Prime as shown on the left in Figure 6 2 rotate the module such that it sits on each of its 6 faces Take a calibration point on each face e Starting with the Prime as shown on the right take a calibration point with it being vertical 0 Tilt the module back 45 and take another calibration point 45 then tilt the module forward 45 and take another calibration point 45 Repeat this 3 point process by holding the module on each of its 4 corners Prime User Manual r09 1 Page 27 Figure 6 2 Accelerometer Calibration Starting Positions Table 6 2 Accelerometer Calibration Pattern Sample Yaw Pitch Roll Sides 1 0 0 90 2 0 90 90 3 180 0 90 4 0 90 90 5 0 0 0 6 0 0 180 First Corner 7 0 5 10 to 20 8 90 5 10 to 20 9 180 5 10 to 20 Second Corner 10 270 5 10 to 20 11 30 gt 45 10 to 20 12 120 gt 45 10 to 20 Third Corner 13 210 gt 45 10 to 20 14 300 gt 45 10 to 20 15 60 lt 45 10 to 20 Fourth Corner 16 150 lt 45 10 to 20 17 240 lt 45 10 to 20 18 330 lt 45 10 to 20
63. t user calibration with the current sensor acquisition parameters internal configurations and FIR filter settings See Section 6 2 for more information on the various calibration procedures Note The payload needs to be 32 bit 4 byte If no payload is entered or if less than 4 bytes are entered the unit will default to the previous calibration method t _ Payload _ gt Cal Option lt Ulnt32 The CalOption values are given below for the 3 different calibration methods e Magnetic Sensor Only Calibration Og or On e Accelerometer Only Calibration 1004 or 64 e Mag and Accel Calibration 1104 or 6E Prime User Manual r09 1 Page 41 Below is a complete sample frame for an Accelerometer Only Calibration 00 09 OA 00 00 00 64 5C F9 7 3 11kStopCal frame ID 114 This command aborts the calibration process The prior calibration results are retained 7 3 12kSetParam frame ID 124 The Prime incorporates a finite impulse response FIR filter to provide a more stable heading reading The number of taps or samples represents the amount of filtering to be performed Selecting a larger number of taps can significantly slow the time for the initial sample reading and if Flush Filters is selected the rate at which data is output lt Payload Parameter ID Axis ID Count Value Value Value Values ID ID ID ID lt SS da Sng gt lt Sng xs Specific d S
64. the next data element type pntr sizeof roll br eak DOC 1014177 r09 Page 60 E COmPr ot ocol kKTenper at ur e Move source destination size bytes Move copies the specified nunber of bytes from the source pointer to the destination pointer Store the headi ng Move A data pntr t enperature si zeof t enper at ure o D D increase the pointer to point to the next data element type pntr si zeof t enper at ure br eak def aul t Message is a function that displays a formatted string simlar to printf Message Unknown type Y 2xX r n data pntr 1 unknown data type so size is unknown so skip everything return br eak count Qe less element to readin Message is a function that displays a formatted string simlar to printf Message Head ng Pitch Poll Tenperature r n heading pitch roll t emper at ure n6t ep send next data request br eak def aul t Message is a function that displays a formatted string simlar to printf Message Unknown frame 2X recei ved r n Ul nt 16 framelype br eak e Have the ConmProtocol build and send the frame to the unit void Pri me SendCom Ul nt 8 frameType void dataPtr Ulnt16 dat aLen if mConm mom gt SendDat a frameType dataPtr dat aLen Ticks is a timer function 1 tick 10msec Prime
65. tics Value Binary RS232 300 to 115 200 baud 10 samples second 30 V Parameter Communication Interface Communication Rate Maximum Sample Rate Maximum Receive Voltages Threshold Voltages Receive Low 0 6 V maximum Receive High 2 4 V minimum Transmit Low 5 0V maximum Transmit High 5 0 V minimum Time to Initial Good Data Footnotes Initial power up lt 180 ms Sleep mode recovery lt 60 ms 1 Transmit lines with 23k Q load to ground 2 FIR Taps set to 0 Prime User Manual r09 1 Page 3 Table 3 3 Power Requirements Parameter Value DC Supply Voltage 3 6 5 V unregulated Average Current Draw 10 Hz sample rate 18 mA During external power up 120 mA pk 75 mA over 2 ms Peak Current Draw During logical power 110 mA pk 85 mA over 1 ms up down 60 mA over 2 ms Sleep Mode Current Draw 0 25 mA Footnote 1 Tested at 3 6 V Table 3 4 Environmental Requirements Parameter Operating Temperature 40C to 85C Storage Temperature 40C to 85C Footnote 1 To meet performance specifications recalibration may be necessary as temperature varies Table 3 5 Mechanical Characteristics Parameter Dimensions x wx h 3 3 x 3 1 x 1 3 cm see Figure 3 1 Weight 5 gm Mounting Options Screw mount standoff horizontal or vertical 16 pin ribbon or 9 pin Molex Same functionality use only one
66. tion points with the unit upside down as well as right side up For accelerometer calibration a score of 295 is desirable for the X and Y vectors and 290 for Z vector The value for Mag Score should be lt 1 0 and the value for the Accel Score should be lt 2 6 3 Declination Declination is the angle between true north and magnetic north where a positive value means true north is east of magnetic north As such declination depends on geographic location It also changes very slowly over time The Prime s default is to output magnetic heading To output true heading use the kSetConfig command to set the kTrueNorth parameter to TRUE and to store the correct declination angle kDeclination See Section 7 3 6 For the greatest accuracy PNI recommends checking the National Geophysical Data Center website below to get the declination angle based on your latitude and longitude http www ngdc noaa gov geomagmodels Declination jsp Prime User Manual r09 1 Page 29 7 Operation with PNI Binary Protocol The Prime utilizes a binary protocol that is transmitted over an RS232 interface The configuration parameters should be set as follows Table 7 1 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 UInt16 1 4092 Ulnt8 Ulnt16 Giel Payload Uints
67. ty 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 Prime User Manual r09 1 Page 1 2 Introduction Thank you for purchasing PNI s Prime 3 axis electronic compassing module Incorporating 3 axis magnetic field sensing and 3 axis tilt sensing the Prime provides accurate and precise tilt compensated heading measurements at up to 45 of tilt The Prime utilizes PNI s advanced magnetic distortion correction algorithms to provide accurate heading information when incorporated into a user s system even when the compass is being tilted With its small size the Prime is capable of fitting into today s size sensitive systems These advantages make PNI Sensor
68. urements when a nearby motor is turned off 6 2 User Calibration Procedures The following sub sections provide instructions for obtaining calibration points when performing either magnetic sensor or accelerometer user calibrations Before proceeding with a calibration the Prime should be properly installed in the host system as discussed in Section 4 and the software should be properly configured with respect to the mounting orientation Endianness magnetic vs true north etc PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 24 The calibration procedures can be executed using StudioPrime or the Prime s binary protocol Sections 5 3 and 5 4 outline how to configure and perform a calibration in StudioPrime The steps below provide an example sequence of commands to perform a calibration using the PNI binary protocol Refer to Section 7 for information on how to implement the binary protocol commands e Using the kSetParam command set the number of filter taps 8 is typical e Using the kSetConfig command set kUserCalAutoSampling FALSE allows for more control over the process while TRUE may simplify the procedure e Using the kSetConfig command again set kUserCalNumPoints to the appropriate number of calibration points The recommended number of calibration points is at least 12 for Magnetic Sensor Only Calibration and at least 18 for Accel Only Calibration or Mag and Accel Calibration e Initiate a calibration usin
69. ut data at a fixed interval 22 kStoplntervalMode Commands the module to stop data output at a fixed interval Prime User Manual r09 1 Page 33 23 kPowerUp Sent after wake up from power down mode 24 kSetAcqParams Sets the sensor acquisition parameters 25 kGetAcqParams Queries for the sensor acquisition parameters 26 kAcqParamsDone Response to kSetAcqParams 27 kAcqParamsResp Response to kGetAcqParams 28 kPowerDownDone Response to kPowerDown 29 kFactoryUserCal Clears user magnetic sensor calibration coefficients kFactorUserCalDone Response to kFactoryUserCal 31 kTakeUserCalSample Commands the unit to take a sample during user calibration 36 kFactorylncICal Clears user accelerometer calibration coefficients 37 kFactorylnclCalDone Response to kFactorylInclCal 7 3 1 kGetModinfo frame ID 14 This frame queries the module s type and firmware revision number The frame has no payload The complete packet for the kGetModInfo command would be 0005 01 EFD4 Where 0005 is the byte count 01 is the kGetModInfo command and EFD4 is the CRC 16 checksum 7 3 2 kModinfoResp frame ID 24 This frame is the response to kGetModInfo frame The payload contains the module type identifier followed by the firmware revision number Frame ID gt q Payload _ gt 2 Type Revision lt 4 kUlnt8 k
70. yInclCal frame The frame has no payload PNI Sensor Corporation DOC 1014177 r09 Prime User Manual Page 48 8 Code Examples The following example files CommProtocol h CommProtocol cp Prime h and Prime cp would be used together for proper communication with a Prime module NOTE The user also needs to create the following SystemSerPort h Processes h TickGenerator h 8 1 Header File amp CRC 16 Function type declarati ons typedef struct Ul nt 8 poll ingMode fl ushFil ter Fl oat 32 sensor AcqTi me interval RespTi me _ attribute packed AcqPar ans typedef struct Fl oat 32 st dDevErr Fl oat 32 xCover age Fl oat 32 yCover age Fl oat 32 zCover age Fl oat 32 xyzAccel Cover age Fl oat 32 accel St dDevErr _attribute__ packed Cal Score enum Frame Ds Commands kGet Mdl nfo 1 kMbdl nf oResp kSet Dat aConponent s kGet Dat a kDat aResp kSet Config kGet Conf i g kConf i gResp kSave kSt art Cal kSt opCal kSet Param kGet Param kPar arResp kPower Down kSaveDone kUser Cal SampCount kUser Cal Score kSet Conf i gDone kSet Par ant one kSt art Int er val Mode kSt opl nt er val Mode kPower Up kSet AcqPar ans kGet AcqPar ans kAcqPar ans Done kAcqPar ans Resp lt zk sch SH sch zk sch sch ch OONOORWD sch wesch OONDOIRWNM O 20 o D D D D D D SSS SSS ae D D D D ee D o D D D D D D D D D D D D D D D D D D D D D D D D D Prime User Manual r09 1 Pa

Download Pdf Manuals

image

Related Search

Related Contents

conseils_de__codage_cim-pdf - Le Département d`Information    Polycom TRAPEZE NETWORKS 1725-36060-001 User's Manual  Guia do usuário - Resteq  Salsbury Industries 4350GRN Installation Guide  

Copyright © All rights reserved.
Failed to retrieve file