• 发文
  • 评论
  • 微博
  • 空间
  • 微信

【技术分享】九轴传感器之加速度计

润欣科技 2019-09-19 10:42 发文

导语

随着人工智能技术的多元化快速发展,各种智能场景应用不断涌出,“motion detect”作为最有效而直接的空间信息感知单元,在人工智能应用场景中也被赋予了非常重要的角色。九轴姿态传感器,包括了加速度计、陀螺仪和磁力计,为“motion detect”提供了必需的传感数据。本篇主要讲述九轴姿态传感器中的加速度计部分

受地心引力的影响,物体都有一个重力加速度,大家应该都知道它的值是1g=9.8米/秒^2。关于这个单位,简单的用公式介绍一下,如果一个物体在t秒时间内速度从V1米/秒加速到V2米/秒,则这个物体的加速度a是多少,计算为a=(V2-V1)/t,所以a的单位是(米/秒)/秒,为米/秒^2。对于一个数学概念上的点的重力加速度,只有空间位置,而没有方向,不过对于一个具有立体形状的物体的重力加速度,会有X/Y/Z三轴方向性,九轴传感器里面的加速度计就是指对X/Y/Z的三轴加速度感知。

如图1所示,加速度传感器的输出包括Xout表示X轴的传感数据分量,Yout表示Y轴的传感数据分量,Zout表示Z轴的传感数据分量,如果Xout/Yout/Zout分别是加速度矢量V在X/Y/Z三轴的投影,则根据图示里面的三维空间的勾股定理,我们可以得出

“V^2 = Xout^2 + Yout^2 + Zout^2”(长方体:对角线^2 = 长^2 + 宽^2 + 高^2)

如果物体此时只受重力影响,我们就可以根据以上数据得出物体在X/Y/Z轴上面的倾斜角度了,假设三轴对应的倾斜角分别是Ax/Ay/Az,则根据直角三角形的斜边公式“cos(A)=(∠A的)邻边/斜边”可以得出

cos(Ax) = Xout / V 对应的 Ax = arcos(Xout / V)

cos(Ay) = Yout / V 对应的 Ay = arcos(Yout / V)

cos(Az) = Zout / V 对应的 Az = arcos(Zout / V)

图1

以上内容是基于数字传感器的数据处理,而有时候我们会选择模拟传感器,如图2所示,对于模拟传感器我们需要对ADC数据进行前期处理才能得到对应的Xout/Yout/Zout。图2中所示为12位ADC模块,所以其输出值最大为2^12-1=4095,我们可以根据以下公式得出Xout/Yout/Zout的值

Xout = ((ADCx/4095) * Vref  – V0g) / Sens

Yout = ((ADCy/4095) * Vref  – V0g) / Sens

Zout = ((ADCz/4095) * Vref  – V0g) / Sens

其中等式中的ADCx/ADCy/ADCz为ADC输出值,Vref为参考电压,V0g为零加速度电压值,Sens为加速度计的灵敏度(即单位重力发生变化后引起的电压变化值)。如此,得到Xout/Yout/Zout的值后即可参考前面内容计算物体倾斜角。

图2


文章来源:润欣科技Fortune微信公众号

声明:本文为OFweek维科号作者发布,不代表OFweek维科号立场。如有侵权或其他问题,请及时联系我们举报。
2
评论

评论

    相关阅读

    暂无数据

    润欣科技

    润欣科技是一家半导体芯片和解决方...

    举报文章问题

    ×
    • 营销广告
    • 重复、旧闻
    • 格式问题
    • 低俗
    • 标题夸张
    • 与事实不符
    • 疑似抄袭
    • 我有话要说
    确定 取消

    举报评论问题

    ×
    • 淫秽色情
    • 营销广告
    • 恶意攻击谩骂
    • 我要吐槽
    确定 取消

    用户登录×

    请输入用户名/手机/邮箱

    请输入密码