0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用倾斜传感器为视障人士设计水平仪

星星科技指导员 来源:ADI 作者:Simon Bramble 2022-12-16 15:05 次阅读

本文描述了视障人士水平仪的完整设计。它使用ADXL312加速度计测量水平和垂直平面上的重力,并在加速度计完全水平或垂直时发出蜂鸣器。

它还可以用作倾斜传感器,以调平汽车应用中的拖车,其中水平仪可能位于远离骑师轮的地方。它还用作汽车稳定系统或无人机的子电路。

介绍

Amar Latif在出现在名人大厨之后在英国烹饪界引起了轰动。然而,阿马尔不仅是一位好厨师,他还经营着自己的旅游公司,是一位励志演说家,曾徒步穿越南美洲大部分地区,同时也是一名电视名人。这个人的超能力是没有尽头的吗?

可悲的是,有。阿玛尔95%是盲人。随着技术的进步,世界努力跟上它的步伐,对于视障人士来说,战斗更加艰难。大多数技术进步都要求我们在屏幕前花费更多时间。对于视障人士来说,过多的屏幕时间仍然是一个“如果”。

如果技术可以用来丰富视力障碍者的生活,这只能是一件好事。由于只有18%的登记盲人是完全失明(或“黑盲”),这使得绝大多数人即使无法分辨细节,也至少有一些视力。因此,盲人精神水平的想法诞生了。

设计大纲

倾斜传感器设计基于ADXL312,ADXL312是一款低电流加速度计,可在x、y和z轴上测量高达±1.5 g,并通过SPI总线读取数据。该器件采用5 mm×5 mm封装,待机模式下功耗为0.1 μA。它的测量分辨率为10位,因此ADXL312可以检测每个轴上低至±2.9 mg的变化。ADXL312将每个轴的引力数据存储为高达±511的二进制补码值,微控制器读取这些数据并将其显示在单行16个字符的LCD显示屏上。图1显示了ADXL312的检测轴。

figure1.svg?h=270&hash=558A35291CF516310E2678A1B2903041&imgver=1

图1.ADXL312的检测轴。

该部件的满量程读数为 1.5 g,因此 1 g 的重力读数为该读数的 2/3。因此,如果ADXL312正好处于电平,则z轴寄存器应读取2/3满量程,而x和y轴应读取零。同样,当ADXL312完全垂直时,x轴读数应为2/3满量程,而y轴和z轴读数应为零。如果ADXL312开始远离任何轴倾斜,则根据倾斜角度的正弦,最大读数开始减少,而其他轴上的读数开始增加。

ADXL312内部

ADXL312是一款微机电系统(MEMS),由构建在硅晶圆顶部的多晶硅表面微加工结构组成。多晶硅弹簧将结构悬挂在晶圆表面上,并提供对加速力的抵抗力。

固定硅手指与手指交错在移动的防撞质量上,以创建可测量特性的差分电容器。加速度使光束偏转并使差分电容器不平衡,导致传感器输出的幅度与加速度成正比。结构如图2所示。

figure2.svg?h=270&hash=AAD375982321145AE3571ED135A19494&imgver=1

图2.ADXL312的内部工作原理。

ADXL312可以使用I2C 或 SPI,x、y 和 z 数据存储在六个内部 8 位寄存器中。它还具有许多其他功能,包括 32 级 FIFO、两个多功能中断、偏移寄存器、机械自检和自动休眠模式。

灵性关卡设计

倾斜传感器的完整电路图如图3所示。

figure3.svg?h=270&hash=056E6FDB311C5E427873A25718ED9274&imgver=1

图3.视障人士水平仪的完整示意图。

ADXL312的最大电源电压为3.6 V,而LCD显示屏和蜂鸣器需要5 V,因此电路的主输入为5 V,使用3.3 V、150 mA线性稳压器(ADP121)为ADXL312、微控制器和E2存储器供电

微控制器上的端口B引脚2(CAL引脚)由10 kΩ电阻拉高。它还具有跳线,使其能够接地。启动时,微控制器询问CAL引脚的状态,如果该引脚被跳线拉低,则读取x、y和z寄存器,从零中减去这些读数,然后将结果加载到ADXL312内部的失调寄存器中,并将其存储在外部E2存储器25AA040中。ADXL312会自动将失调寄存器的读数添加到任何未来的测量中,无需处理器交互,从而消除校准的失调。

如果移除跳线,则CAL引脚被拉高,并绕过校准程序。失调读数直接从E2存储器读取,并加载到ADXL312的失调寄存器中。因此,在制造过程中,可以将水平仪安装在校准夹具中,CAL引脚保持低电平,可以校准器件,并将偏移值存储在E2存储器中。校准后,移除跳线,在随后上电时,询问E2存储器,并将校准后的失调读数加载到ADXL312的失调寄存器中。

然后,软件对每个轴执行八个读数,并将结果平均,然后显示在 16 个字符的 LCD 显示屏上。显示每 100 毫秒更新一次。

图4显示,当每个传感器接近其零读数时,可实现最大灵敏度。这是正弦波斜率最陡峭的地方,因此对于倾斜的任何变化,重力读数的最大变化。

figure4.svg?h=270&hash=113564B3340B5B7957547D17E9CD6BE6&imgver=1

图4.显示g力随角度的正弦变化。

幸运的是,当每个传感器完全水平且传感器读数接近于零时,水平仪只需要测量倾斜度。

该软件旨在同时校准 x 轴和 z 轴。很容易将零件放置在水平平台上并校准倾斜传感器的 x 轴。但是,此时z轴将承受1 g的力,因此需要获取z读数,与1 g的满量程计数进行比较,并将任何误差加载到偏移寄存器中。通过在水平和垂直平面上进行校准,可以实现对倾斜传感器每个轴的更精确校准,但这需要两阶段校准和软件修改。

表1显示了二进制补码数据的示例。正数遵循传统的二进制表示法。负数使用最高有效位 (MSB) 作为符号位;因此,正数的 MSB 等于零,负数的 MSB 等于 1。

十进制 二元的
+511 01 1111 1111
+1 00 0000 0001
0 00 0000 0000
-1 11 1111 1111
-511 10 0000 0001

两者的正数补码可以通过反转所有位,然后加 1 来找到。因此,当从计数 0 转换为计数 –1 时,代码从 00 0000 0000 更改为 11 1111 1111。

软件读取 x 和 z 寄存器,如果任一寄存器的值为 0 或 1023 (11 1111 1111),它将端口 B 的位 5 设置为高电平,这将打开晶体管 Q1 并发出 5 V 蜂鸣器的声音。当倾斜传感器完全水平时,x 轴的读数为 0 或 1023,当完全垂直时,z 轴的读数为 0 或 1023。只有当两个寄存器都不等于 0 或 1023 时,蜂鸣器才会停止响起。

准确性和进一步发展

仅考虑一个轴,当重力作用于该轴时,最大读数为1 g,当零件倾斜90°时,该读数降至0 g,如图5所示。

figure5.svg?h=270&hash=FED79E7CDCF042E7AAFBC60C4B986FD9&imgver=1

图5.使用重力读数计算倾斜角度。

因此,施加的引力由方程决定

equation1.svg?la=en&imgver=1

其中 Ø 是相对于水平方向测量的倾斜角度。如果零件可以测量到2.9 mg的分辨率,则可以解析为0.17°的角度。很难确定标准气泡液位的精度数字,因为很难确定气泡的确切位置。然而,从实验中,1.2米水平仪的末端可以移动约3.2毫米(两个未填充的PCB的宽度!),然后气泡看起来偏离中心。这相当于大约 0.15° 的角度,表明我们可以用电子倾斜传感器代替气泡液位,分辨率损失很小。

如果需要更高的精度,ADXL313在1 g范围内提供11位分辨率。接口和寄存器集与ADXL312非常相似,因此软件不需要太多修改。ADXL355具有更低的噪声和更高的分辨率。

ADXL312的噪声密度为340 μg/√Hz,带宽越低噪声越好。该器件的带宽可编程(从3.125 Hz到1600 Hz,默认设置为50 Hz)。虽然降低带宽可以改善噪声,但这也会降低显示器的更新速率。对于此设计,带宽设置为6.25 Hz,这意味着均方根噪声为850 μg。还可以通过获取更多读数并对其进行平均来降低噪声。

进一步的改进是让LCD读数显示度数。但是,如果要将正弦和余弦包含在软件中,这需要使用 C 库中的数学函数。这些功能对于低端微控制器来说占用了太多的代码空间。使用泰勒级数展开可以实现与正弦函数的近似,这应该占用更少的代码空间。

结论

ADXL312提供低成本电子倾斜测量系统,易于与低端微控制器接口。前面描述的设计已经证明,它可以与传统气泡液级的精度相媲美,但具有电子接口。这使其能够用作需要测量倾斜度的大型设计的子系统,例如拖车调平系统、稳定性控制系统和无人机。

更重要的是,它可以用来提高视障人士的独立性,本文展示了一个完整的系统级设计,包括硬件、软件和非易失性存储器,以及音频视频输出。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储器
    +关注

    关注

    38

    文章

    7462

    浏览量

    163663
  • SPI总线
    +关注

    关注

    4

    文章

    103

    浏览量

    27576
  • 加速度计
    +关注

    关注

    6

    文章

    699

    浏览量

    45872
收藏 人收藏

    评论

    相关推荐

    Android的传感器开发水平仪

    详细介绍了如何利用Android 系统的传感器开发水平仪应用的全过程。
    发表于 04-28 09:45 8119次阅读
    Android的<b class='flag-5'>传感器</b>开发<b class='flag-5'>水平仪</b>

    【OK210申请】物联网智能水平仪

    ,结合物联网相关技术,拟设计并开发一款集水平测量,自动校正,倾角调整一体的低功耗自平衡水准.本作品是基于传感器、模拟信号处理、单片机技术的数字
    发表于 07-05 22:57

    苹果利用多种传感器制作模型可以帮助人士

    苹果已经在考虑如何向人士提供帮助,它将利用多种传感器制作本地环境模型,然后利用触觉反馈告诉用户他们周围存在哪些物体。
    发表于 08-03 07:14

    差动电容式传感器在智能电子水平仪中的应用

    提出了差动式倾角电容传感器在分辨力0. 001 mm/ m 的智能电子水平仪的应用方案,采用ICL8038 集成芯片作为差动电容电桥的激励电源,使用两片LF398 同时对两路电压进行采样及AD7706 对
    发表于 06-22 13:53 46次下载

    数字水平仪的设计与应用

    高精度低功耗数字水平仪的设计原理,叙述了其关键芯片ADXL202的结构和原理以及使用方法,给出了详细的设计电路图和程序流程。关键词: 高精度 微功耗 ADXL202 数字水平仪
    发表于 08-25 14:59 50次下载

    基于差动电容传感器和89C51单片机的电子水平仪

    针对原有的气泡式水平仪功能存在的不足进行了改进,改进后的仪器采用了变介质差动电容传感器,设计了电容传感器变换电路,将传感器电容的变化转换为信号频率的变化,用89C51 单片机对
    发表于 09-06 14:34 169次下载
    基于差动电容<b class='flag-5'>传感器</b>和89C51单片机的电子<b class='flag-5'>水平仪</b>

    声音水平仪电路

    声音水平仪电路使用LM3915 VU表LED栅极驱动可以驱动十个LED灯。一个简单的音频放大驱动电路,LM3915提供直流驱动
    发表于 12-22 16:26 2922次阅读
    声音<b class='flag-5'>水平仪</b>电路

    合象水平仪的工作原理和使用方法的介绍及其技术要求的分析

    合像水平仪的工作原理和技术要求 工作原理 合象水平仪是利用棱镜将水准中的气象符合放大,来提高读数的精确度,利用杠杆、微动螺杆这一套传动机构来提高读数的灵敏度。所以被测量件倾斜0.01
    发表于 09-28 17:32 3次下载

    苹果利用多种传感器制作环境模型,人士提供福利

    美国专利和商标局公布了苹果2015年7月提交的一件专利申请——“面向人士的引导设备”。这件专利申请描述了一款系统,其核心是一台采用“输入/输出触摸表面”的设备。硬件还包含能获取与周围环境有关的数据
    发表于 07-05 11:07 607次阅读

    倾角传感器的应用

    倾角传感器的应用领域 倾角传感器又称作倾斜仪、测斜水平仪、倾角计,经常用于系统的水平角度变化
    发表于 03-18 17:12 2329次阅读

    高精度倾角传感器的应用-传感器

    高精度倾角传感器的应用 倾角传感器的应用领域倾角传感器又称作倾斜仪、测斜水平仪、倾角计,经常
    发表于 04-26 14:55 1849次阅读

    倾角传感器的应用有哪些

    倾角传感器又称作倾斜仪、测斜水平仪、倾角计,经常用于系统的水平角度变化测量,水平仪从过去简单
    发表于 07-17 17:55 4440次阅读

    使用轴角度传感器制作的水平仪程序和工程文件免费下载

    本文档的主要内容详细介绍的是使用轴角度传感器制作的水平仪程序和工程文件免费下载,12864显示,软件提高稳定性。
    发表于 09-14 08:00 1次下载
    使用轴角度<b class='flag-5'>传感器</b>制作的<b class='flag-5'>水平仪</b>程序和工程文件免费下载

    人士设计的支持Arduino的PCB设备

    电子发烧友网站提供《人士设计的支持Arduino的PCB设备.zip》资料免费下载
    发表于 10-26 11:12 0次下载
    <b class='flag-5'>为</b><b class='flag-5'>视</b><b class='flag-5'>障</b><b class='flag-5'>人士</b>设计的支持Arduino的PCB设备

    电子水平仪开源分享

    电子发烧友网站提供《电子水平仪开源分享.zip》资料免费下载
    发表于 10-28 09:53 3次下载
    电子<b class='flag-5'>水平仪</b>开源分享