zoukankan      html  css  js  c++  java
  • MEMS之重力加速计mma7660,与陀螺仪

    参考地址:http://home.eeworld.com.cn/my/space.php?uid=306328&do=blog&id=42866

    这两天调好了3轴g-sensor ,mma7660, 可以用了. 倾斜晃动或改变板子的方向, mma7660就会产生中断, 并给出当前板子的姿态(水平/垂直, 上下,左右等).

          1. 重力加速度计 mma7660 
          1.1 作用: 
                mma7660只是一个3轴g-sensor, 它主要用于测量倾斜角,惯性力,冲击力及震动. 

          1.2 工作原理:
              mma7660是一种电容式g-sensor. 电容式g-sensor大多为欧美厂商, 其技术是在wafer的表面做出梳状结构, 当产生动作时,由侦测电容差来判断变形量, 反推出加速度的值.
            与压阻式不同的是, 电容式很难在同一个结构中同时感测到三个轴(X,Y,Z)的变化, 通常都是X,Y和Z分开来的, (这也就是为什么当板子水平放置时,无论如何改变X,Y的位置,都不会有中断产生,因为这时它只能检测Z轴的变化,X,Y的变化它检测不到, 只有当我们将板子倾斜一个角度后才能检测X,Y的变化) . 而压阻式在同一个结构就能感测到三个轴的变化. 

           1.3 工作模式:
             mma7660主要有三种工作模式.(通过设置MODE寄存器) 
             1).  Standby(待机)模式
                   此时只有I2C工作,接收主机来的指令. 该模式用来设置寄存器. 也就是说, 要想改变mma7660的任何一个寄存器的值,必须先进入Standby模式. 设置完成后再进入Active或Auto-Sleep模式.

             2). Active and Auto-Sleep (活动并且Auto-Sleep) 模式 
                   mma7660的工作状态分两种, 一种是高频度采样, 一种是低频度采样. 为什么这样分呢, 为了节省功耗,但是在活动时又保持足够的灵敏度. 
                   所以说mma7660的Active模式其实又分两种模式,一种是纯粹的Active模式, 即进了Active模式后一直保持高的采样频率,不变. 还有一种是Active & Auto-Sleep模式, 就是说系统激活后先进入高频率采样,经过一定时间后,如果没检测到有活动,它就进入低频率采样 ,所以就叫做Auto-Sleep, Sleep并不是真的Sleep , 只是说降低采样频率.
    低频率采样模式又叫Auto-Wake摸式, 即自动唤醒模式.它不是睡眠模式, 它只是降低采样频率.
     
             3). Auto-Wake (自动唤醒) 模式 
                  Auto-Sleep后就进入低频率采样模式,这种模式就叫做Auto-Wake摸式, 即自动唤醒模式.它不是睡眠模式, 它只是降低采样频率.

               1.4 初始化:
                                         Init 
                                           | 
                                           |   MODE=(0)           进入  Standby 模式,设置寄存器
                                           |
                                           |   SRST=0x03, 

                  |   SR=(2,2,1), 

                  |   INTSU中,asint=1,plint=1,fbint=1
                                           |   MODE=(0, 1, 0, 1, 1, 0, 1)
                                           |
                          Active & Auto-Sleep   (64 Samples/Sec)   
                            ^                                 |
                            | state changes             |  SPCNT=0xA0 timeout
                            | interrupt                     |
                            |                                  v
                       Auto-Wake ( = Half Sleep)  (8 Samples/Sec)
                   

               2. 陀螺仪

                   用过g-sensor后就很好奇它跟陀螺仪的关系.                

                   在动作感应方面, 加速度计对有变化量的动作感应还不错, 但是对均匀的动作变化, 精度就不够了,陀螺仪则刚好弥补了这一点. 
                  陀螺仪的原理是, 对一个旋转的物体, 旋转轴所指的方向在不受外力影响时, 是不会改变的. 人们根据这个原理,用它来保持方向.  陀螺仪在工作时要给它一个力, 使它快速旋转起来, 然后用多种方法读取轴所指的方向,并自动将数据信号传给系统. 
                  物体在高速旋转后,其轴心就存在指向的稳定性.
                  陀螺仪是一种在立体空间内,全方位的角度偏移检测仪器.

               2.1 模型直升机上陀螺仪的功用

                  直升机飞行的基本原理是利用主旋翼可变角度产生反向推力而上升, 但对机身会产生扭力作用, 于是需要加设一个尾旋翼来抵消扭力,平横机身. 但怎样使尾旋翼利用合适的角度来平衡机身呢? 这就用到陀螺仪了, 它可以根据机身的摆动多少,自动作出补偿讯号给伺服器,去改变尾旋翼的角度,产生推力平衡机身.以前,模型直升机是没有陀螺仪的, 油门, 主旋翼角度很难配合, 起动后便尽快往上空飞(因为飞行时较易控制),如要悬停就要控制杆快速灵敏的动作,所以很容易撞毁,现在已有多种直升机模型使用的陀螺仪,分别有机械式,电子式,电子自动锁定式.

              2.2  智能手机上陀螺仪的使用

                  关注IPHONE4的都知道,它的超强卖点就是内置了陀螺仪, 既有陀螺仪,又有重力加速计. 陀螺仪的主要用途有:
             1).导航.  陀螺仪自被发明以来, 就用于导航, 如果配合GPS, 手机的导航能力将达到前所未有的水准(电子惯导, 但是不能长时间没有GPS校正, 否则会随时间出现偏差). 事实上, 目前很多专业手持式GPS也装了陀螺仪, 如果手机上安装了相应的软件, 其导航能力不亚于目前很多船舶,飞机上的导航仪.
             2).摄像防抖. 配合手机上的摄像头
             3).各类游戏的传感器. 陀螺仪完整检测游戏者手的移动,从而实现个种游戏操作的效果.
             4).可以用作输入设备, 陀螺仪相当于一个立体的鼠标.

             对于安装了陀螺仪,摄像头,以及各种传感器的手机来说,它已经由通讯工具转为娱乐中心,再提升为高效率的生产工具.

  • 相关阅读:
    LeetCode 137. Single Number II
    LeetCode 16. 3Sum Closest
    LeetCode 18. 4Sum
    LeetCode 15. 3Sum
    LeetCode 166. Fraction to Recurring Decimal
    LeetCode Anagrams
    Java: Difference between ArrayList and LinkedList
    LeetCode 242. Valid Anagram
    LeetCode 204. Count Primes
    Java Class Variable/Static Variable
  • 原文地址:https://www.cnblogs.com/inteliot/p/2651074.html
Copyright © 2011-2022 走看看