L3G4200D传感器学习

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

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

引脚说明如下:

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):选择输出数据速率。输出带宽,以及X、Y、Z轴的使能

DR1

DR0

BW1

BW0

PD

Zen

Yen

Xen

DR1-DR0和BW1-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:普通模式或者休眠模式(默认为0 )

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脚中断使能(0:Disable,1:Enable)默认0

I1_Boot

INT1脚引导状态可用(0:Disable,1:Enable)默认0

H_Lactive

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

PP_OD

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

I2_DRDY

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

I2_WTM

DRDY/INT2的FIFO WaterMark中断(0: Disable; 1: Enable)默认0

I2_ORun

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

I2_Empty

DRDY/INT2的FIFO空中断(0: Disable; 1: Enable)默认0

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

BDU

BLE

FS1

FS0

-

ST1

ST0

SIM

相关配置如下表:

BDU

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

BLE

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

FS1-FS0

满量程选择(00:250dps;01:500dps;10:2000dps;11:2000dps)(默认00)

ST1-ST0

自检使能(00:普通模式;01:Self test 0 (+);10:--;11:Self 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

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

HPen

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

INT1_Sel1- INT1_Sel0

INT1选择配置 ,默认0

Out_Sel1- Out_Sel0

外部选择配置,默认0

⑥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轴角速度 高位

L3G4200陀螺仪学习相关推荐

  1. ardupilot BMI088加速度陀螺仪学习

    目录 文章目录 目录 摘要 1.BMI088简介 1.加速度特性 2.陀螺仪特性 3.安装方向及接线 4.常用的寄存器 1.加速度寄存器 2.陀螺仪寄存器 2.BMI088代码学习 1.BMI088初 ...

  2. 基于STC15W408AS单片机的陀螺仪显示器设计

    提示:本文属于技术的交流,如有抄袭请联系删除. 文章目录 前言 一.STC15W408AS单片机 二.总体设计 1.硬件设计 (1)原理图设计 a.MCU设计 b.传感器接口设计 c.液晶显示 d.电 ...

  3. iOS 重力感应 学习1 陀螺仪 水平仪 指南针

    小球可以随着重力感应 四处乱撞. 放大了坐标位移 就可以看见小球动了. 然后规定小球的路径 当滑到中间时候 弹出一张图片 作为提示. 我做了一个小demo 效果不错哦 CMMotionManager ...

  4. 学习记录--陀螺仪模块(MPU6050:IIC通信,us延时函数)

    一,mpu6050模块基础(参考HAL库开发指南) 二,CUBEMX配置 用模拟IIC,只需要打开一个串口打印数据就行,IO口的配置直接写在板级支持包的init里了 三,keil中代码(参考正点原子与 ...

  5. Pixhawk学习5.2——传感器标定之陀螺仪

    相对于加速度计,Pixhawk中陀螺仪的校准比较简单. 陀螺仪的主要量测量为角速度,其安装在飞控中之后的量测模型如下: Wm = K * Mi * Wb + delta + n 其中: Wm[3] 为 ...

  6. 安卓开发陀螺仪!首发10万字Android开发实战文档,进阶学习资料!

    Gradle是什么? Gradle是一种构建语言,目前是Android的默认构建工具,我们编写的编译脚本,其实就是玩Gradle的API,所以从它更底层的意义上看,是一个编程框架. 因为涉及的内容很多 ...

  7. 【学习随记】js获取手机陀螺仪

    // 使用vue<div id="app"><ul><li>设备是否提供绝对定位(absolute)数据: {{absolute}}</l ...

  8. 机器人带陀螺仪走钢丝_Sphero RVR 一个无所不能的可编程机器人!

    2019年Kickstarter宣传视频 https://www.zhihu.com/video/1200749647498735616 有史以来功能最全面的编程机器人 Sphero RVR 延续了S ...

  9. 深度学习在三维环境重建中的应用

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉联盟 最经典的计算机视觉问题是3-D重建.基本 ...

  10. 由粗到精学习LVI-SAM基础:多传感器内外参标定原理

    作者丨Alvin一路向东@知乎 来源丨https://zhuanlan.zhihu.com/p/462759422 编辑丨3D视觉工坊 一.最小二乘法 1.1 线性最小二乘 遇到线性问题通常采用最小二 ...

最新文章

  1. Vector:动态数组的使用和说明
  2. 扒网站:模板小偷 单页模板扒手
  3. 目标检测之两阶段算法--Fast R-CNN详解
  4. java web 三层架构
  5. 出埃及记:摩西劈开红海
  6. 深度学习(花书)+ 动手学深度学习(李沐)资料链接整理
  7. JVM垃圾回收机制,万字详解
  8. Android SystemServer 进程
  9. 组合排列中重复数问题
  10. “我爱淘”冲刺阶段Scrum站立会议8
  11. 2018入门微单相机推荐
  12. linux12k8s --> 03二进制安装
  13. html5饼图颜色渐变,Highcharts 渐变饼图
  14. 在私有云上创建虚拟机
  15. Windows10和Ubuntu双系统如何卸载Ubuntu系统
  16. 2020年编程语言排行榜!
  17. LCD段码液晶屏开模过程参数
  18. linux qt自带例子无法,出现Qt_5未在文件libQt5Widgets.so.5中定义导致软件无法使用的解决...
  19. 前端代码规范工具ESLint和Prettier
  20. navicat登录oracle问题

热门文章

  1. 尚硅谷大数据课程flink1.13代码实现与笔记记录
  2. Monkey 命令 基本参数介绍
  3. IPQ8072开机wifi crash问题
  4. EPT DATA数据库能查到1998-2013年工业企业数据库
  5. 信号与线性系统分析(吴大正,郭宝龙)(2-冲激函数)
  6. log4j日志设置error级别以上
  7. clover写入efi_MAC 10.14 安装教程10-基于黑果小兵大神EFI文件的修改过程
  8. B站(IT速成之JAVA速成班 300分钟算法面试)跟做笔记
  9. 【交换机在江湖】第十二章 VLAN基础篇
  10. oracle 转换日期的函数,Oracle日期常用函数转换教程