L3G4200陀螺仪学习

L3G4200D传感器学习

L3G4200D是意法(ST)半导体公司推出的一款MEMS运动传感器:三轴数字输出陀螺仪,可测量物体绕XYZ三轴运动夫人角速度的变化,测量范围为±250, ±500, ±1000,  ±2000°/secdps)。通过测量角速度的变化,可以判别出物体的运动状态,所以也称为运动传感器,换句话说,这传感器可以让我们的设备知道自己在哪儿和去哪儿where they are or where they are going,提供16位数据输出,输出值为16位数值的补码,以及可配置的低通和高通滤波器等嵌入式数字功能,支持IICSPI总线两种通讯方式。

 

一、传感器的测量方向和内部引脚图

 

 

引脚说明如下:

Pin

名称

功能

1

Vdd_IO

电源IO

2

SCL/SPC

I2C串行时钟/SPI串口时钟

3

SDA/SDI/SDO

I2C串行数据/SPI串行数据输入/3-wire串行接口数据输出

4

SDO/SA0

SPI串行数据输出/

I2C设备的地址不显着位

5

CS

SPI启用 

I2C / SPI模式选择(1: I2C模式; 0: SPI启用)

6

DRDY/INT2

数据就绪/FIFO中断

7

INT1

可编程中断

8

Reserved

接地

9

Reserved

接地

10

Reserved

接地

11

Reserved

接地

12

Reserved

接地

13

GND

0V供应

14

PLLFILT

锁相环环路滤波器

15

Reserved

连接到Vdd

16

Vdd

电源

 

二、传感器寄存器的配置过程

1、初始化传感器(选择量程、高通滤波模式,设置中断使能等,对相应的控制寄存器进行写操作)

2读取数据(首先读状态寄存器(STATUS_REG),若ZYXDA=1,则可以读数,否则等待。为减小误差,在编写程序时要设置连续读数多次,然后取平均值。)

三、主要寄存器介绍

1、控制寄存器

   ①CTRL_REG1(地址:20H):选择输出数据速率。输出带宽,以及XYZ轴的使能

DR1

DR0

BW1

BW0

PD

Zen

Yen

Xen

DR1-DR0BW1-BW0配置对应的输出速率和带宽如下表(其中:ODR为数据输出频率,Cut_Off为滤除频率)

DR<1:0>

BW<1:0>

ODR{Hz}

Cut_Off

00

00

100

12.5

00

01

100

25

00

10

100

25

00

11

100

25

01

00

200

12.5

01

01

200

25

01

10

200

50

01

11

200

70

10

00

400

20

10

01

400

25

10

10

400

50

10

11

400

110

11

00

800

30

11

01

800

35

11

10

800

50

11

11

800

110

 

 

PD

0:掉电模式 1:普通模式或者休眠模式(默认为

Zen

Z轴使能 0:不启用 1:启用(默认1

Yen

Y轴使能 0:不启用 1:启用(默认1

Xen

X轴使能 0:不启用 1:启用(默认1

对于PD处于3个模式中的哪一个则看下表:

模式

PD

Zen

Yen

Xen

掉电模式

0

-

-

-

休眠模式

1

0

0

0

普通模式

1

-

-

-

 

②CTRL_REG2(地址:21H):选择高通滤波模式和高通截止频率

0

0

HPM1

HPM0

HPCF3

HPCF2

HPCF1

HPCF0

高通滤波器模式选择配置

HPM1

HPM0

高通滤波器模式

0

0

普通模式(reset reading HP_RESET_FILTER)

0

1

滤波器参考信号

1

0

普通模式

1

1

根据中断自动设定

高通截止频率Hz

HPCF<3:0>

ODR=100Hz

ODR=200Hz

ODR=400Hz

ODR=800Hz

0000

8

15

30

56

0001

4

8

15

30

0010

2

4

8

15

0011

1

2

4

8

0100

0.5

1

2

4

0101

0.2

0.5

1

2

0110

0.1

0.2

0.5

1

0111

0.05

0.1

0.2

0.5

1000

0.02

0.05

0.1

0.2

1001

0.01

0.02

0.05

0.1

 

③CTRL_REG3(地址:22H):中断使能

I1_Int1

I1_Boot

H_Lactive

PP_OD

I2_DRDY

I2_WTM

I2_ORun

I2_Empty

相关功能配置如下:

I1_Int1

INT1脚中断使能(0Disable1Enable)默认

I1_Boot

INT1脚引导状态可用(0Disable1Enable)默认0

H_Lactive

INT1脚中断激活配置(0:高,1:低)默认

PP_OD

Push- Pull / Open drain. (0: Push- Pull; 1: Open drain)默认

I2_DRDY

DRDY/INT2数据准备(0: Disable; 1: Enable)默认0

I2_WTM

DRDY/INT2FIFO WaterMark中断(0: Disable; 1: Enable)默认0

I2_ORun

DRDY/INT2FIFO溢出中断(0: Disable; 1: Enable)默认0

I2_Empty

DRDY/INT2FIFO空中断(0: Disable; 1: Enable)默认

 

④CTRL_REG4(地址:23H):选择量程

BDU

BLE

FS1

FS0

-

ST1

ST0

SIM

相关配置如下表:

BDU

数据块更新.0:持续更新,1:输出寄存器在MSBLSB读时才更新)默认为0

BLE

/ 尾端数据选择(0:数据LSB在地位地址,1:数据LSB在高位地址)默认0

FS1-FS0

满量程选择(00250dps01:500dps10:2000dps11:2000dps)(默认00

ST1-ST0

自检使能(00:普通模式;01Self test 0 (+);10--11Self test 1 (-))

SIM

SPI串行接口模式选择(0:四线接口;1:三线接口)

 

⑤CTRL_REG5(地址:24H):FIFO使能,高通滤波使能

BOOT

FIFO_EN

--

HPen

INT1_Sel1

INT1_Sel0

Out_Sel1

Out_Sel0

相关配置:

BOOT

重启内存内容(0:普通模式; 1:重启内存内容)默认0

FIFO_EN

FIFO0: FIFO disable; 1: FIFO Enable)默认0

HPen

高通滤波器使能(0: HPF disabled; 1: HPF enabled)默认0

INT1_Sel1- INT1_Sel0

INT1选择配置 ,默认0

Out_Sel1- Out_Sel0

外部选择配置,默认

 

⑥STATUS_REG(地址:27H):状态寄存器,数据就绪可读

ZYXOR

ZOR

YOR

XOR

ZXYDA

ZDA

YDA

XDA

相关配置

 

ZYXOR

X,Y,Z轴数据溢出(0:没有溢出1:在读之前,新数据已经将先前的数据覆盖)默认0

ZOR

Z轴数据溢出(0:没有溢出1:在读之前,新数据已经将先前的数据覆盖)默认0

YOR

Y轴数据溢出(0:没有溢出1:在读之前,新数据已经将先前的数据覆盖)默认0

XOR

X轴数据溢出(0:没有溢出1:在读之前,新数据已经将先前的数据覆盖)默认0

ZYXDA

X,Y,Z轴新数据(0:没有获取新数据1:获取新数据)默认0

ZDA

Z轴新数据(0:没有获取新数据1:获取新数据)默认0

YDA

Y轴新数据(0:没有获取新数据1:获取新数据)默认0

XDA

X轴新数据(0:没有获取新数据1:获取新数据)默认0

 

 

2、数据寄存器(共6个,每个轴的角速度由两个字节组成,分成高位和低位,数据以二进制补码形式存储):

             OUT_X_L(地址:28H):X轴角速度 低位  

OUT_X_H(地址:29H):X轴角速度 高位

OUT_Y_L(地址:2AH):Y轴角速度 低位 

OUT_Y_H(地址:2BH):Y轴角速度 高位 

OUT_Z_L(地址:2CH):Z轴角速度 低位

OUT_Z_H(地址:2DH):Z轴角速度 高位

 

  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32 L3G4200D是一种三轴陀螺仪传感器,适用于STM32微控制器的开发和应用。通过使用L3G4200D的例程,我们可以对该传感器进行初始化、配置和数据获取等操作。 在STM32中,我们首先需要包含L3G4200D的头文件和相关的库文件。然后,我们可以通过SPI或I2C总线与传感器进行通信。接下来,我们需要进行传感器的初始化设置,包括配置传感器的采样率、测量范围、滤波器和中断等。这些设置可以根据具体需求进行调整。 一旦传感器正确初始化,我们就可以开始获取传感器的数据。通过读取传感器的各个轴的角速度值,我们可以得到与物体旋转相关的数据。这些数据可以用于姿态控制、导航、动作检测等应用。 除了获取传感器的数据,我们还可以使用L3G4200D的中断功能。传感器可以通过中断引脚来通知微控制器发生了某些事件,比如角速度超过设定的阈值。这样,我们可以及时响应并做出相应的处理。 在实际的应用中,需要根据具体需求对L3G4200D的例程进行适当的修改和扩展。例如,我们可以添加数据处理算法,如滤波、卡尔曼滤波等,对传感器的数据进行优化。此外,还可以将传感器的数据通过串口或其他通信方式发送给其他设备进行进一步处理。 总之,STM32 L3G4200D例程是为了方便开发者使用和应用该陀螺仪传感器而设计的。通过对例程的理解和修改,我们可以根据具体应用需求,快速开发出具有陀螺仪功能的STM32应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值