0% found this document useful (0 votes)
6 views

High-Precision Sensor Modbus Protocol

The document describes the register table for a high-precision sensor Modbus protocol. It lists over 70 registers including their name, address, type, bit configuration and function for settings like calibration, baud rates, filters and more.

Uploaded by

alireza.str1995
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

High-Precision Sensor Modbus Protocol

The document describes the register table for a high-precision sensor Modbus protocol. It lists over 70 registers including their name, address, type, bit configuration and function for settings like calibration, baud rates, filters and more.

Uploaded by

alireza.str1995
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 53

High-precision sensor Modbus protocol

Instructions for use:


The serial port sending command must be completed within 10S, otherwise it will be
automatically locked. To avoid automatic locking, you can perform the following steps first.

1. Enter the unlock command

2. Enter the command that needs to modify or read the data

3. Save the command

Register table
ADD ADD
R R SERI
REGISTER Bit1 Bit1 Bit1 Bit1 Bit1 Bit1 Bit Bit Bit Bit Bit Bit Bit Bit Bit
FUNCTION AL Bit0
NAME 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1
(Hex (Dec
) ) I/F

save/reboot/r
00 00 SAVE R/W SAVE[15:0]
eset

calibration
01 01 CALSW R/W CALSW[3:0]
mode

Serial port
04 04 BAUD R/W BAUD[3:0]
baud rate

Acceleration
05 05 AXOFFSET R/W AXOFFSET[15:0]
X offset

Acceleration
06 06 AYOFFSET R/W AYOFFSET[15:0]
Y offset

Acceleration
07 07 AZOFFSET R/W AZOFFSET[15:0]
Z offset
Angular
08 08 GXOFFSET velocity X R/W GXOFFSET[15:0]
zero bias

Angular
09 09 GYOFFSET velocity Y R/W GYOFFSET[15:0]
zero bias

Angular
0A 10 GZOFFSET velocity Z R/W GZOFFSET[15:0]
zero bias

Magnetic
0B 11 HXOFFSET Field X Zero R/W HXOFFSET[15:0]
Bias

Magnetic field
0C 12 HYOFFSET R/W HYOFFSET[15:0]
Y zero bias

Magnetic field
0D 13 HZOFFSET R/W HZOFFSET[15:0]
Z zero bias

Z-axis
WORKMOD
0E 14 operation R/W WORKMODE[15:0]
E【1】
mode

GYROPTP Z-axis static


10 16 R/W GYROPTP[15:0]
【1】 peak-to-peak

Z-axis peak-
GPTPTIME to-peak
11 17 R/W GPTPTIME[15:0]
【1】 acquisition
time

GYROBAIS Z axis zero


12 18 R/W GYROBAIS[15:0]
【1】 bias value

Z axis zero
GBAISTIME bias
13 19 R/W GBAISTIME[15:0]
【1】 acquisition
time
GSTATICTH Z axis static
14 20 R/W GSTATICTHRE[15:0]
RE【1】 threshold

Z axis
GSTATICTIM
15 21 stabilization R/W GSTATICTIME[15:0]
E【1】
time

Z-axis
PGSCALE
16 22 calibration R/W PGSCALE[15:0]
【1】
factor P

Z-axis
GSCALERA
18 24 calibration R/W GSCALERANGE[15:0]
NGE【1】
angle

device
1A 26 IICADDR R/W IICADDR[7:0]
address

Turn off the LEDO


1B 27 LEDOFF R/W
LED lights FF

Magnetic
Field X
1C 28 MAGRANGX R/W MAGRANGX[15:0]
Calibration
Range

Magnetic
Field Y
1D 29 MAGRANGY R/W MAGRANGY[15:0]
Calibration
Range

Magnetic
Field Z
1E 30 MAGRANGZ R/W MAGRANGZ[15:0]
Calibration
Range

BANDWIDTH[3:0
1F 31 BANDWIDTH bandwidth R/W
]

GYRORANG Gyroscope GYRORANGE[3:


20 32 R/W
E range 0]
Acceleration
21 33 ACCRANGE R/W ACCRANGE[3:0]
range

SLEE
22 34 SLEEP sleep R/W
P

Installation ORIE
23 35 ORIENT R/W
direction NT

24 36 AXIS6 algorithm R/W AXIS6

Dynamic
25 37 FILTK R/W FILTK[15:0]
filtering

GPS baud
26 38 GPSBAUD R/W GPSBAUD[3:0]
rate

27 39 READADDR read register R/W READADDR[7:0]

acceleration
2A 42 ACCFILT R/W ACCFILT[15:0]
filter

version
2E 46 VERSION R VERSION[15:0]
number

30 48 YYMM year/mouth R/W MOUTH[15:8] YEAR[7:0]

31 49 DDHH day/hour R/W HOUR[15:8] DAY[7:0]

minutes/seco
32 50 MMSS R/W SECONDS[15:8] MINUTE[7:0]
nds

33 51 MS millisecond R/W MS[15:0]

acceleration
34 52 AX R AX[15:0]
X

acceleration
35 53 AY R AY[15:0]
Y

36 54 AZ acceleration R AZ[15:0]
Z

Angular
37 55 GX R GX[15:0]
velocityX

Angular
38 56 GY R GY[15:0]
velocityY

Angular
39 57 GZ R GZ[15:0]
velocity Z

Magnetic
3A 58 HX R HX[15:0]
FieldX

Magnetic field
3B 59 HY R HY[15:0]
Y

Magnetic field
3C 60 HZ R HZ[15:0]
Z

X-axis angle
3D 61 LRoll R LRoll[15:0]
low

X-axis angle
3E 62 HRoll R HRoll[15:0]
high

Y-axis angle
3F 63 LPitch R LPitch[15:0]
low

Y-axis angle
40 64 HPitch R HPitch[15:0]
high

Z-axis angle
41 65 LYaw R LYaw[15:0]
low

Z-axis angle
42 66 HYaw R HYaw[15:0]
high

Module
43 67 TEMP R TEMP[15:0]
temperature

61 97 GYROCALIT Gyro R/W GYROCALITHR[15:0]


HR Calibration
Threshold

Gyro
GYROCALTI
63 99 calibration R/W GYROCALTIME[15:0]
ME
time

69 105 KEY unlock R/W KEY[15:0]

Gyroscope
6A 105 WERROR R/W WERROR[15:0]
change value

Z-axis still
6E 110 WZTIME time R/W WZTIME[15:0]
threshold

Z-axis static
6F 111 WZSTATIC R/W WZSTATIC[15:0]
threshold

485 data
74 116 MODDELAY response R/W MODDELAY[15:0]
delay

Device No.1-
7F 127 NUMBERID1 R ID2[15:8] ID1[7:0]
2

80 128 NUMBERID2 Device No3-4 R ID4[15:8] ID3[7:0]

81 129 NUMBERID3 Device No5-6 R ID6[15:8] ID5[7:0]

82 130 NUMBERID4 Device No7-8 R ID8[15:8] ID7[7:0]

Device No9-
83 131 NUMBERID5 R ID10[15:8] ID9[7:0]
10

Device No11-
84 132 NUMBERID6 R ID12[15:8] ID11[7:0]
12

ROLL angle
95 149 LREFROLL R/W LREFROLL[15:0]
zero is low

ROLL angle
96 150 HREFROLL R/W HREFROLL[15:0]
zero bias
high

PITCH corner
97 151 LREFPITCH R/W LREFPITCH[15:0]
zero bias low

PITCH corner
98 152 HREFPITCH zero bias R/W HREFPITCH[15:0]
high

explanation:

1. The callout register is only applicable to HWTX073

Protocol format

Read register format

 Data is sent in hexadecimal, not ASCII.

 Each register address, the number of read registers, and the read data are represented
by two bytes. The high and low bits of the register address are represented by ADDRH
and ADDRL, the high and low bits of the number of registers to be read are represented
by LENH and LENL, and the high and low bits of the read data are represented by
DATA1H and DATA1L.

 The last two bits of the read command are standard CRC check bits. It can be calculated
using the CRC check digit calculation tool.

command send

Modbus function registers high 8 registers Read length Read length Check digit Check digit
address code bits lower 8 bits high 8 bits lower 8 bits high 8 bits lower 8 bits

0x03
ID ADDRH[15:8] ADDRL[7:0] LENH[15:8] LENL[7:0] CRCH[15:8] CRCL[7:0]
(read)

Data return
Data
Data Data Data Check
Modbus function read Data high 8 Data lower 8 high Check digit
lower high 8 lower 8 digit lower
address code length bits bits 8 high 8 bits
8 bits bits bits 8 bits
bits

0x03
ID LENL[7:0] DATA1H[15:8] DATA1L[7:0] …… …… DATAnH DATAnL CRCH[15:8] CRCL[7:0]
(read)

Example:Read acceleration, angular velocity, magnetic field

Read register format

 Data is sent in hexadecimal, not ASCI.

 For each register address, the write data is represented by two bytes. The high and low
bits of the register address are represented by ADDRH and ADDRL, and the high and
low bits of the written data are represented by DATAH and DATAL.

command send

Modbus function register high 8 register Data high 8 Data lower 8 Check digit Check digit
address code bits lower8 bits bits bits high 8 bits lower 8 bits

0x06
ID ADDRH[15:8] ADDRL[7:0] DATAH[15:8] DATAL[7:0] CRCH[15:8] CRCL[7:0]
(write)

Data return

Modbus function register high 8 register Data high 8 Data lower 8 Check digit Check digit
address code bits lower8 bits bits bits high 8 bits lower 8 bits

0x06
ID ADDRH[15:8] ADDRL[7:0] DATAH[15:8] DATAL[7:0] CRCH[15:8] CRCL[7:0]
(write)
Register Description
All the following examples are commands when the Modbus address is 0x50 (default). If you
change the Modbus address, you need to change the address and CRC check bit in the
command accordingly.

SAVE(save/reboot/reset)

Register Name: SAVE

Register Address: 0 (0x00)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

Save: 0x0000

15:0 SAVE[15:0] Reboot: 0x00FF

Factory reset: 0x0001

example:

send:50 06 00 00 00 FF C4 0B(reboot)

return:50 06 00 00 00 FF C4 0B
CALSW

Register Name: CALSW

Register Address: 1 (0x01)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

15:4

To set the calibration mode:

0000(0x00): normal working mode

0001(0x01): Auto adder calibration

0011(0x03): height reset


3:0 CAL[3:0]
0100(0x04): Set the heading angle to zero

0111(0x07): Magnetic Field Calibration (Spherical Fitting)

1000(0x08): set angle reference

1001(0x09): Magnetic Field Calibration (Dual Plane Mode)

example:

send:50 06 00 01 00 04 D4 48(Heading angle set to zero)

return:50 06 00 01 00 04 D4 48

BAUD RATE

Register Name: BAUD RATE


Register Address: 4 (0x04)

Read and write direction: R/W

Default: 0x0002

Bit NAME FUNCTION

15:4

Set serial port baud rate:

0001(0x01): 4800bps

0010(0x02): 9600bps

0011(0x03): 19200bps

0100(0x04): 38400bps

0101(0x05): 57600bps
3:0 BAUD[3:0]

0110(0x06): 115200bps

0111(0x07): 230400bps

1000(0x08): 460800bps(Only
supportWT931/JY931/HWT606/HWT906)

1001(0x09): 921600bps(Only support


WT931/JY931/HWT606/HWT906)

example:

send:50 06 00 04 00 06 45 88(Set serial port baud rate 115200)

return:50 06 00 04 00 06 45 88
AXOFFSET~HZOFFSET(Zero bias setting)

Register Name: AXOFFSET~HZOFFSET

Register Address: 5~13 (0x05~0x0D)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

Acceleration X-axis offset, actual acceleration


15:0 AXOFFSET[15:0]
offset=AXOFFSET[15:0]/10000(g)

Acceleration Y-axis offset, actual acceleration


15:0 AYOFFSET[15:0]
offset=AYOFFSET[15:0]/10000(g)

Acceleration Z-axis offset, actual acceleration


15:0 AZOFFSET[15:0]
offset=AZOFFSET[15:0]/10000(g)

Angular velocity X-axis offset, actual angular velocity


15:0 GXOFFSET[15:0]
offset=GXOFFSET[15:0]/10000(°/s)

Angular velocity Y-axis offset, actual angular velocity


15:0 GYOFFSET[15:0]
offset=GYOFFSET[15:0]/10000(°/s)

Angular velocity Z-axis offset, actual angular velocity


15:0 GZOFFSET[15:0]
offset=GZOFFSET[15:0]/10000(°/s)

15:0 HXOFFSET[15:0] Magnetic field X-axis zero bias

15:0 HYOFFSET[15:0] Magnetic field Y-axis zero bias

15:0 HZOFFSET[15:0] Magnetic field Z-axis zero bias


example:

send:50 06 00 05 03 E8 94 F4(Set acceleration X-axis zero

bias0.1g),0x03E8=1000,1000/10000=0.1(g)

return:50 06 00 05 03 E8 94 F4
WORKMODE(Z-axis operation mode)

Register Name: WORKMODE

Register address: 14(0x0E)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

15:4

Set the Z-axis operation mode:

0000(0x00): normal data mode

3:0 WORKMODE[3:0] 0001(0x01): peak-to-peak mode

0010(0x02): seek zero bias mode

0011 (0x03): find scale factor mode

example:

send:50 06 00 0E 00 01 24 48(Automatically obtain zero bias)

return:50 06 00 0E 00 01 24 48
GYROPTP(Z-axis static peak-to-peak)

Register Name: GYROPTP

Register address: 16(0x10)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

Parameters used in calculating zero offset, no need to


15:0 GYROPTP[15:0]
set for sensor automatic acquisition

Write 0x01 to the "WORKMODE" register to enter the "peak-to-peak mode", in this mode
the sensor automatically calculates the maximum and minimum values of the Z-axis
angular velocity within the time set by "GPTPTIME" and records them in "GYROPTP". In
"Zero Offset Mode", this data will be used to calculate and filter the zero offset.

Z-axis static peak-to-peak value = GYROPTP/1000 (°/s)

eaxmple:

send:50 03 00 10 00 01 88 4E(read Z-axis static peak-to-peak)

return:50 03 02 00 64 44 63

0x0064=100,Z-axis static peak-to-peak = 100/1000=0.1(°/s)


GPTPTIME(Z-axis peak-to-peak acquisition time)

Register name: GPTPTIME

Register address: 17(0x11)

read and write direction: R/W

Defaults: 0x000A

Bit NAME FUNCTION

15:0 GPTPTIME[15:0] Calculate the peak-to-peak time, the default is 10S

Example:

Send: 50 06 00 11 00 0A 54 49 (set the Z-axis peak-to-peak acquisition time to 10S)

Return: 50 06 00 11 00 0A 54 49

After entering the "Peak-to-Peak Mode", obtain the difference between the maximum value
and the minimum value of the Z-axis angular velocity within the "GPTPTIME" time, store it
in "GYROPTP", and use this data for zero bias in the "Zero Bias Mode". calculation filter.
GYROBAIS(Z-axis zero bias value)

Register Name: GYROBAIS

Register address: 18(0x12)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

The zero bias value of the horizontal gyroscope, which


15:0 GYROBAIS[15:0]
can be obtained through the "Zero Bias Mode"

The Z-axis horizontal gyroscope has a certain zero bias value when placed at rest, and the
angular velocity at rest can be eliminated by this zero bias value. The zero offset value can
be automatically calculated by automatically obtaining the zero bias. Enter the "Zero bias
Mode" to automatically calculate the zero bias value according to the peak-to-peak value of
"GYROPTP" and the "GBAISTIME" bias acquisition time.

Z axis zero bias value = GYROBAIS/1000 (°/s)

example:

send:50 03 00 12 00 01 88 4E(Read Z-axis static peak-to-peak value)

return:50 03 02 00 64 B1 0F

0x0064=100,Z-axis static peak-to-peak value = 100/1000=0.1(°/s)


GBAISTIME(Z-axis zero bias acquisition time)

Register Name: GBAISTIME

Register Address: 19(0x13)

Read and write direction: R/W

Default: 0x000A

Bit NAME FUNCTION

Time required to calculate the zero offset value of the


15:0 GBAISTIME[15:0]
horizontal gyroscope

Example:

Send: 50 06 00 13 00 0A 2F5 89 (set the Z-axis zero bias acquisition time to 10S)

Return: 50 06 00 13 00 0A 2F5 89

The time required to obtain the Z-axis zero biast, and the zero bias value is obtained
according to this time when the zero bias is obtained.
GSTATICTHRE(Z-axis static threshold)

Register Name: GSTATICTHRE

Register address: 20(0x14)

Read and write direction: R/W

Default: 0x0032

Bit NAME FUNCTION

The larger the GSTATICTHRE[15:0], the weaker the


seismic performance and the smaller the error

15:0 GSTATICTHRE[15:0] The smaller the GSTATICTHRE[15:0], the better the


seismic performance and the larger the error.

Default value 50

The Z-axis horizontal gyroscope has slight data jitter when it is placed at rest. This
parameter can filter out these slight jitters. When the angular velocity is less than the
"GSTATICTHRE" setting value and continues for the time set by "GSTATICTIME", it is
regarded as stationary, and the Z-axis angular velocity is zero. This parameter can be
appropriately increased when it is used in scenes with jitter and the Z-axis is accumulated
due to jitter, and this parameter can be appropriately decreased in scenes with very slow
and uniform rotation.

Z-axis zero bias value = GSTATICTHRE/1000 (°/s))

example:

send:50 06 00 14 00 64 C5 A4((set Z-axis static threshold0.1g),0x0064=100,

100/10000=0.1(°))

return:50 06 00 14 00 64 C5 A4
GSTATICTIME(Z-axis stabilization time)

Register Name: GSTATICTIME

Register address: 21(0x15)

Read and write direction: R/W

Default: 0x0064

Bit NAME FUNCTION

15:0 GSTATICTIME[15:0] Z-axis judges the still time

Z-axis static judgment time threshold. It is considered stationary when the angular velocity
is less than the value set by "GSTATICTHRE" for the time set by "GSTATICTIME". If the
stabilization time is required to be higher, this parameter can be adjusted appropriately.
Lowering this parameter can speed up settling time but may also increase error.

Z-axis stabilization time = GSTATICTIME/1000 (s)

example:

send:50 06 00 15 00 32 14 5A((Set Z-axis stabilization time 0.05s),0x0032=50,

50/10000=0.05(°))

return:50 06 00 15 00 32 14 5A
PGSCALE(Z-axis calibration factor P)

Register Name: PGSCALE

Register address: 22(0x16)

Read and write direction: R/W

Default: 0x2710

Bit NAME FUNCTION

range:0~20000

15:0 PGSCALE[15:0]
This parameter is written in the factory using a high-
precision turntable, please do not modify it

There is an error in the measurement of the Z-axis gyroscope, and a high-precision


turntable will be used to measure this error when leaving the factory, and this
parameter will be written into the sensor. Do not modify this parameter unless
necessary. This parameter can be automatically calculated in the "scale factor
mode". After entering the "scale factor mode", rotate the sensor by the angle set by
"GSCALERANGE" to calculate the calibration factor.

Z-axis calibration factor P=PGSCALE/10000.0

example:

send:50 03 00 16 00 01 68 4F(Read Z-axis calibration factor P)

return:50 03 02 27 74 24 48

0x2774 = 10100,Read Z-axis calibration factor P= 10100/10000=1.01


GSCALERANGE(Z-axis calibration angle)

Register Name: GSCALERANGE

Register address: 24(0x18)

Read and write direction: R/W

Default: 0x02D0

Bit NAME FUNCTION

When calibrating factors, it is necessary to calibrate


15:0 GSCALERANGE[15:0]
according to this parameter

example:

send:50 06 00 18 01 68 04 32((Set the Z-axis calibration angle to 360),

0x0168=360)

return:50 06 00 18 01 68 04 32

The angle of rotation required in the Z-axis "scale factor mode", generally set to an integer
multiple of 360°.
IICADDR(Device address)

Register Name: IICADDR

Register Address: 26 (0x1A)

Read and write direction: R/W

Default: 0x0050

Bit NAME FUNCTION

15:8

Set the device address for I2C and Modbus


communication
7:0 IICADDR[7:0]

0x01~0x7F

example:

send:50 06 00 1A 00 02 24 4D(Set the device address to0x02)

return:50 06 00 1A 00 02 24 4D
LEDOFF(turn off LED light)

Register Name: LEDOFF

Register Address: 27 (0x1B)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

15:1

1: turn off LED light


0 LEDOFF
0: turn on LED light

example:

send:50 06 00 1B 00 01 35 8C(turn off LED light )

return :50 06 00 1B 00 01 35 8C
MAGRANGX~MAGRANGZ(Magnetic Field Calibration
Range)

Register Name: MAGRANGX~MAGRANGZ

Register Address: 28~30 (0x1C~0x1E)

Read and write direction: R/W

Default: 0x01F4

Bit NAME FUNCTION

15:0 MAGRANGX[15:0] Magnetic field calibration X-axis range

15:0 MAGRANGY[15:0] Magnetic Field Calibration Y-axis Range

15:0 MAGRANGZ[15:0] Magnetic field calibration Z-axis range

example:

send:50 06 00 1C 01 F4 45 9A(Set the magnetic field calibration X-axis range to 500)

return:50 06 00 1C 01 F4 45 9A
BANDWIDTH(bandwidth)

Register Name: BANDWIDTH

Register Address: 31 (0x1F)

Read and write direction: R/W

Default: 0x0004

Bit NAME FUNCTION

15:4

set bandwidth

0000(0x00): 256Hz

0001(0x01): 188Hz

0010(0x02): 98Hz
3:0 BANDWIDTH[3:0]
0011(0x03): 42Hz

0100(0x04): 20Hz

0101(0x05): 10Hz

0110(0x06): 5Hz

Example:

Send: 50 06 00 1F 00 01 74 4D (set the bandwidth to 188Hz)

Return: 50 06 00 1F 00 01 74 4D

GYRORANGE(Gyroscope range)

Register Name: GYRORANGE


Register Address: 32 (0x20)

Read and write direction: R/W

Default: 0x0003

Bit NAME FUNCTION

15:4

Set the gyro range

3:0 GYRORANGE[3:0] 0011(0x03): 2000°/s

The default is 2000°/s, fixed and cannot be set

Example:

Send: 50 06 00 20 00 03 C5 80 (set the gyro range to 2000°/s)

Return: 50 06 00 20 00 03 C5 80
ACCRANGE(Accelerometer range)

Register Name: ACCRANGE

Register Address: 33 (0x21)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

15:4

Set the accelerometer range

0000(0x00): ±2g

3:0 ACCRANGE[3:0] 0011(0x03): ±16g

This parameter cannot be set. The internal adaptive


acceleration range of the product will automatically
switch to 16g when the acceleration exceeds 2g.

example:

send:50 06 00 21 00 03 94 40(Set the accelerometer range to 16g)

return:50 06 00 21 00 03 94 40
SLEEP(sleep)

Register Name: SLEEP

Register Address: 34 (0x22)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

15:1

set sleep

0 SLEEP 1(0x01): sleep

Any serial port data, can wake up

example:

send:50 06 00 22 00 01 E5 81(enter sleep)

return:50 06 00 22 00 01 E5 81
ORIENT(Installation direction)

Register Name: ORIENT

Register Address: 35 (0x23)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

15:1

Set the installation direction

0 (0x00): horizontal installation


0 ORIENT
1(0x01): vertical installation (the Y-axis arrow of the
coordinate axis must be upward)

example:

send:50 06 00 23 00 01 B4 41(Set up vertical installation)

return:50 06 00 23 00 01 B4 41
AXIS6(algorithm)

Register Name: AXIS6

Register Address: 36 (0x24)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

15:1

set algorithm

0(0x00): 9-axis algorithm (magnetic field solution navigation


0 AXIS6 angle, absolute heading angle)

1(0x01): 6-axis algorithm (integral solution navigation angle,


relative heading angle)

Example:

Send: 50 06 00 24 00 01 05 80 (set the 6-axis algorithm mode)

Return: 50 06 00 24 00 01 05 80
FILTK(K value filter)

Register Name: FILTK

Register Address: 37 (0x25)

Read and write direction: R/W

Default: 0x001E

Bit NAME FUNCTION

Range: 1~10000, the default is 30 (it is not recommended


to modify, once modified, if the angle does not meet the
requirements for use, please modify it to 30)

15:0 FILTK[15:0] The smaller the FILTK[15:0], the stronger the seismic
performance and the weaker the real-time performance.

The larger the FILTK[15:0], the weaker the seismic


performance and the stronger the real-time performance.

example:

send:50 06 00 25 00 1E 15 88(Set the K value filter to 30)

return:50 06 00 25 00 1E 15 88
ACCFILT(acceleration filter)

Register Name: ACCFILT

Register Address: 42 (0x2A)

Read and write direction: R/W

Default: 0x01F4

Bit NAME FUNCTION

Range: 1~10000, the default is 500 (it is not


recommended to modify, once modified, if the angle does
not meet the requirements for use, please modify it to
500)

The smaller the ACCFILT[15:0], the stronger the seismic


performance and the weaker the real-time performance.

The larger the ACCFILT[15:0], the weaker the seismic


15:0 ACCFILT[15:0]
performance and the stronger the real-time performance.

This parameter is an empirical value, which needs to be


debugged according to different environments. In the
tractor environment,

ACCFILT[15:0] can be adjusted to 100, because the


vibration of the tractor is serious and the anti-vibration
performance needs to be improved

Example:

Send: 50 06 00 2A 01 F4 A5 94 (set acceleration filter 500)

Return: 50 06 00 2A 01 F4 A5 94
VERSION(version number)

Register Name: VERSION

Register Address: 46 (0x2E)

Read and write direction: R

Default: none

Bit NAME FUNCTION

15:0 VERSION[15:0] Different products, different version numbers

Example:

Send: 50 03 00 2E 00 01 E9 82 (read version number)

Return: 50 03 00 02 VH VL CRCH CRCL

VERSION[15:0]=(short)(((short)VH<<8)|VL)
YYMM~MS(on-chip time)

Register Name: YYMM~MS

Register address: 48~51 (0x30~0x33)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

15:8 YYMM[15:8] mouth

7:0 YYMM[7:0] year

15:8 DDHH[15:8] hour

7:0 DDHH[7:0] day

15:8 MMSS[15:8] second

7:0 MMSS[7:0] munite

15:0 MS[15:0] millisecond

Example:

Send: 50 06 00 30 03 16 05 7A (set year 22-03)

Return: 50 06 00 30 03 16 05 7A

Send: 50 06 00 31 09 0C D3 D1 (set date 12-09)

Return: 50 06 00 31 09 0C D3 D1

Send: 50 06 00 32 3A 1E B7 2C (set minutes and seconds 30:58)

Return: 50 06 00 32 3A 1E B7 2C
Send: 50 06 00 33 01 F4 74 53 (set milliseconds 500)

Return: 50 06 00 33 01 F4 74 53
AX~AZ(acceleration)

Register Name: AX~AZ

Register address: 52~54 (0x34~0x36)

Read and write direction: R

Default: 0x0000

Bit NAME FUNCTION

acceleration X=AX[15:0]/32768*16g (g is the gravitational


15:0 AX[15:0]
acceleration, preferably 9.8m/s2)

acceleration Y=AY[15:0]/32768*16g (g is the gravitational


15:0 AY[15:0]
acceleration, preferably 9.8m/s2)

acceleration Z=AZ[15:0]/32768*16g (g is the gravitational


15:0 AZ[15:0]
acceleration, preferably 9.8m/s2)

Example:

Send: 50 03 00 34 00 03 49 84 (read three-axis acceleration)

Return: 50 03 06 AXH AXL AYH AYL AZH AZL CRCH CRCL

AX[15:0]=((short)AXH <<8)|AXL;

AY[15:0]=((short)AYH <<8)|AYL;

AZ[15:0]=((short)AZH <<8)|AZL;
GX~GZ(Angular velocity)

Register Name: GX~GZ

Register address: 55~57 (0x37~0x39)

Read and write direction: R

Default: 0x0000

Bit NAME FUNCTION

15:0 GX[15:0] Angular velocityX=GX[15:0]/32768*2000°/s

15:0 GY[15:0] Angular velocityY=GY[15:0]/32768*2000°/s

15:0 GZ[15:0] Angular velocityZ=GZ[15:0]/32768*2000°/s

Example:

Send: 50 03 00 37 00 03 B9 84 (read triaxial angular velocity)

Return: 50 03 06 GXH GXL GYH GYL GZH GZL CRCH CRCL

GX[15:0]=((short)GXH <<8)|GXL;

GY[15:0]=((short)GYH <<8)|GYL;

GZ[15:0]=((short)GZH <<8)|GZL;
HX~HZ(magnetic field)

Register name: HX~HZ

Register Address: 58~60 (0x3A~0x3C)

Read and write direction: R

Default: 0x0000

Bit NAME FUNCTION

15:0 HX[15:0] magnetic field X=HX[15:0] (unit:LSB)

15:0 HY[15:0] magnetic field Y=HY[15:0] (unit:LSB)

15:0 HZ[15:0] magnetic field Z=HZ[15:0] (unit :LSB)

example:

send:50 03 00 3A 00 03 28 47(Read the three-axis magnetic field)

return:50 03 06 HXH HXL HYH HYL HZH HZL CRCH CRCL

HX[15:0]=((short)HXH <<8)|HXL;

HY[15:0]=((short)HYH <<8)|HYL;

HZ[15:0]=((short)HZH <<8)|HZL;
Roll~Yaw(angle)

Register Name: Roll~Yaw

Register address: 61~66 (0x3D~0x42)

Read and write direction: R

Default: 0x0000

Bit NAME FUNCTION

15:0 LRoll[15:0] Roll Angle X Low

Roll angle X high position, roll angle


15:0 HRoll[15:0]
X=(((int)HRoll<<16)| LRoll)/1000°

15:0 LPitch[15:0] Pitch angle Y low

Pitch angle Y high position, pitch angle


15:0 HPitch[15:0]
X=(((int)HPitch<<16)| LPitch)/1000°

15:0 LYaw[15:0] Heading Angle Z Low

Heading angle Z high position, heading angle


15:0 HYaw[15:0]
Z=(((int)HYaw<<16)| LYaw)/1000°

example:

send:50 03 00 3D 00 06 59 85(Read the 3-axis angle)

return:50 03 0C LRollH LRollL HRollH HRollL LPitchH LPitchL HPitchH HPitchL LYawH
LYawL HYawH HYawL CRCH CRCL

roll angle(x-axis)Roll=((HRollH<<24)|(HRollL<<16)|( LRollH<<8)|LRollL)/1000°

pitch angle(y-axis)
Pitch=((HPitchH<<24)|(HPitchL<<16)|(LPitchH<<8)|LPitchL)/1000°
yaw angle(z-asix)
Yaw=((HYawH<<24)|(HYawL<<16)|( LYawH<<8)|LYawL)/1000°
TEMP(temperature)

Register Name: TEMP

Register Address: 67 (0x43)

Read and write direction: R

Default: 0x0000

Bit NAME FUNCTION

15:0 TEMP[15:0] temperature=TEMP[15:0]/100℃

example:

send:50 03 00 67 00 01 38 54(Read Triaxial Magnetic Fields)

return:50 03 02 TEMPH TEMPL CRCH CRCL

TEMP[15:0]=((short)TEMPH <<8)|TEMPL ;
q0~q3(Quaternion)

Register Name: q0~q3

Register Address: 81~84 (0x51~0x54)

Read and write direction: R

Default: 0x0000

Bit NAME FUNCTION

15:0 q0[15:0] Quaternion0=q0[15:0]/32768

15:0 q1[15:0] Quaternion1=q1[15:0]/32768

15:0 q2[15:0] Quaternion2=q2[15:0]/32768

15:0 q3[15:0] Quaternion3=q3[15:0]/32768

example:

send:50 03 00 51 00 04 18 59(read quaternion)

return:50 03 08 q0H q0L q1H q1L q2H q2L q3H q3L CRCH CRCL

q0[15:0]=((short)q0H <<8)|q0L ;

q1[15:0]=((short)q1H <<8)|q1L ;

q2[15:0]=((short)q2H <<8)|q2L ;

q3[15:0]=((short)q3H <<8)|q3L ;

GYROCALITHR(Gyro Still Threshold)

Register Name: GYROCALITHR


Register Address: 97 (0x61)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

set Gyro Still Threshold:

15:0 GYROCALITHR[15:0]
Gyro Still Threshold
value=GYROCALITHR[15:0]/1000(°/s)

example:

send:50 06 00 61 00 32 54 40(Set the gyro static threshold to 0.05°/s)

return:50 06 00 61 00 32 54 40

When the angular velocity change is less than 0.05°/s and lasts for the time of
"GYROCALTIME", the sensor recognizes it as stationary and automatically resets the
angular velocity less than 0.05°/s to zero

The setting rule of the static threshold of the gyroscope can be determined by reading the
value of the "WERROR" register. The general setting rule is:
GYROCALITHR=WERROR*1.2, unit: °/s.

This register needs to be used in conjunction with the GYROCALTIME register


GYROCALTIME(Gyro auto calibration time)

Register Name: GYROCALTIME

Register Address: 99 (0x63)

Read and write direction: R/W

Default: 0x03E8

Bit NAME FUNCTION

15:0 GYROCALTIME[15:0] set gyro auto calibration time

example:

send:50 06 00 63 01 F4 74 42(Set gyroscope auto-calibration


time500ms,0x01F4=500(ms))

return:50 06 00 63 01 F4 74 42

When the angular velocity change is less than "GYROCALITHR" and lasts for 500ms, the
sensor recognizes that it is stationary and automatically resets the angular velocity less
than 0.05°/s to zero

This register needs to be used in conjunction with the GYROCALITHR register


KEY(unlock)

Register Name: KEY

Register Address: 105 (0x69)

Read and write direction: R/W

Default: 0x0000

Bit NAME FUNCTION

Unlock register: When performing a write operation, you


15:0 KEY[15:0]
need to set this register first

Example:

Send: 50 06 00 69 B5 88 22 A1 (unlocked)

Return: 50 06 00 69 B5 88 22 A1

Unlock, write 0xB588 to this register (other values are invalid)


WERROR(Gyroscope change value)

Register Name: WERROR

Register Address: 106 (0x6A)

Read and write direction: R

Default: 0x0000

Bit NAME FUNCTION

Gyroscope change
value=WERROR[15:0]/1000*180/3.1415926(°/s)
15:0 WERROR[15:0]
When the sensor is stationary, the "GYROCALITHR" register
can be set by changing this register
WZTIME(Angular velocity continuous rest time)

Register Name: WZTIME

Register Address: 110 (0x6E)

Read and write direction: R/W

Default: 0x01F4

Bit NAME FUNCTION

15:0 WZTIME[15:0] Angular velocity continuous rest time

Example:

Send: 50 06 00 6E 01 F4 E5 81 (set the angular velocity continuous static time 500ms,


0x01F4=500(ms))

Return: 50 06 00 6E 01 F4 E5 81

When the angular velocity is less than "WZSTATIC" and lasts for 500ms, the angular
velocity output is 0, and the Z-axis heading angle is not integrated

This register needs to be used in conjunction with the "WZSTATIC" register


WZSTATIC(Angular velocity integral threshold)

Register Name: WZSTATIC

Register Address: 111 (0x6F)

Read and write direction: R/W

Default: 0x012C

Bit NAME FUNCTION

Angular velocity integral


15:0 WZSTATIC[15:0]
threshold=WZSTATIC[15:0]/1000(°/s)

Example:

Send: 50 06 00 6F 01 F4 E5 81 (set the angular velocity integration threshold to 0.5°/s,


0x01F4=500, 500/1000=0.5(°/s))

Return: 50 06 00 6F 01 F4 E5 81

When the angular velocity is greater than 0.5°/s, the Z-axis heading angle starts to
integrate the acceleration

When the angular velocity is less than 0.5°/s, and the duration set by the register
"WZTIME", the angular velocity output is 0, and the Z-axis heading angle is not integrated

This register needs to be used in conjunction with the "WZTIME" register


MODDELAY(485 data response delay)

Register Name: MODDELAY

Register Address: 116 (0x74)

Read and write direction: R/W

Default: 0x0BB8

Bit NAME FUNCTION

15:0 MODDELAY[15:0] Set 485 data response delay, default 3000, unit: us

Example:

Send: 50 06 00 74 03 E8 C4 EF (set 485 data response delay 1000us)

Return: 50 06 00 74 03 E8 C4 EF

When the sensor receives the Modbus read command, the sensor delays 1000us and
returns data

This register only supports Modbus version of the sensor


NUMBERID1~NUMBERID6(device number)

Register Name: NUMBERID1~NUMBERID6

Register address: 127~132 (0x7F~0x84)

Read and write direction: R

Default: none

Bit NAME FUNCTION

15:0 NUMBERID1[15:0]

15:0 NUMBERID2[15:0]

15:0 NUMBERID3[15:0]

15:0 NUMBERID4[15:0]

15:0 NUMBERID5[15:0]

15:0 NUMBERID6[15:0]

Device number:WT4200000001
XREFROLL~YREFPITCH(Angle zero reference value)

Register Name: LREFROLL~HREFPITCH

Register address: 149~152 (0x95~0x98)

Read and write direction: R/W

Default: 0x00000

Bit NAME FUNCTION

15:0 LREFROLL[15:0] Roll angle zero reference value low

Roll Angle Zero Reference Value High, Roll Angle Zero


15:0 HREFROLL[15:0]
Reference =

15:0 LREFPITCH[15:0] (((int)HREFROLL<<16)| LREFROLL)/1000(°)

15:0 HREFPITCH[15:0] Pitch angle zero reference value low

Example: The current roll angle is 2°, set the roll angle zero, subtract 2°, then
REFROLL[31:0]=2*1000=2000=0x07D0

LREFROLL[15:0]=0x07D0, HREFROLL[15:0]=0;

Send: 50 06 00 95 07 D0 97 CB (set "LREFROLL")

Return: 50 06 00 95 07 D0 97 CB

Send: 50 06 00 96 00 00 64 67 (set "HREFROLL")

Return: 50 06 00 96 00 00 64 67

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy