单片机 > 单片机程序设计 > 详情

基于ARM倾角和加速度的检测装置的设计

发布时间:2020-06-06 发布时间:
|

课程设计背景及设计意义


现代工业生产设备的发展正在朝着向大型化,高速化,连续化和自动化的方向发展。其复杂程度日益增加,所涉及的知识范围广泛,不但包括机械设计、材料科学,现在又加入了计算机技术、光学、电路技术等,其不但价格昂贵,维护也同样麻烦。面对如此庞大的机械设备,我们必须需要一些仪器仪表来进行辅助检查与测试,我们希望这些仪器仪表具有一定的智能,不但要具有实时检测、自动报警、结果显示与保存等功能,还要具有体积小、重量轻、便于携带等优点。然而传统的机电仪表虽然具备某些优点,但其本身也是机、电、光、算的结合物,其使用与维护也相当的复杂,不利于当今机械设备的发展。


随着现代网络技术的发展和企业规模的快速扩大,功能独立的近距离的传统仪器测量已不能满足工业需求,远距离且大规模的测量仪器群将是未来发展的趋势。由于传统的仪器是模拟信号,不利于计算机的控制与运算,将不可能胜任现代企业管理及技术发展的需要。


由上分析,我们意识到传统的测量仪器在成本价格、制作技术、操作简便性等方面存在着不足,不能满足社会的需要。而近年来发展起来的虚拟仪器技术则在成本价格、制作技术、操作简便性方面有着不俗的表现,能很好的满足现代科学技术发展的需要,是仪器仪表未来发展的的重要方向。


六轴传感器MPU6050近年来广泛应用于各个领域,是未来智能设备中不可或缺的重要元件智能型手机、平板装置设备、手持型游戏产品、游戏机、3D遥控器、可携式导航设备。


设计采用软件及设计规划


本课程设计是在MDK环境下完成的,采用C语言进行编程,完全采用面向对象的开发思想,具有很大的个人发挥空间,完成同一种功能可以从不同方面下手解决。MDK源自德国的KEIL公司,是RealView MDK的简称。在全球MDK被超过10万的嵌入式开发工程师使用。目前最新版本为:MDK5.14,该版本为 uVision5 IDE集成开发环境,是目前针对ARM处理器,尤其是Cortex M内核处理器的最佳开发工具。


设计规划:

针对此次课程设计,设计如下规划,如图2.1所示。


图2.1 课程设计规划


  • 本章小结

本章主要对课程设计的背景进行了介绍并对设计进行规划,制定出合理的工作流程。


3  硬件系统设计


    •   总体设计方案

倾角加速度检测系统,主要要完成对温度、加速度、倾斜角的采集、显示等工作。传统上采集加速度利用的是三轴加速度传感器而采集倾斜角利用的是三轴陀螺仪,针对本次课程设计要求成本相对较高。鉴于上述原因,本系统采用MPU6050六轴陀螺仪作为核心传感器。外部数据信号经 MPU6050将输入的模拟信号转换成数字信号,并通过IO口传送到单片机系统( STM32RCT6)。单片机系统将接收的数字信号译码处理,通过TFTLCD将温度及各个方向倾角显示出来,如图3.1说所示。


图3.1 设计整体架构(见附件)



    •   元器件的选型及分析

3.2.1MCU的选型及分析

STM32F103RCT6是ST公司推出的一款以CortexM3为核心设计的32位单片机,远超8位51单片机,能出色完成设计任务。STM32的优异性体现在以下几个方面。

1.超低的价格。以8位机的价格,得到32位机,是STM32最大的优势。

2.超多的外设。STM32拥有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等众多外设及功能,具有极高的集成度。

3.丰富的型号。STM32仅M3内核就拥有F100、F101、F102、F103、F105、F107、F207、F217等8个系列上百种型号,具有QFN、LQFP、BGA等封装可供选择。同时STM32还推出了STM32L和STM32W等超低功耗和无线应用型的M3芯片。

4.优异的实时性能。84个中断,16级可编程优先级,并且所有的引脚都可以作为中断输入。

5.杰出的功耗控制。STM32各个外设都有自己的独立时钟开关,可以通过关闭相应外设的时钟来降低功耗。

6.极低的开发成本。STM32的开发不需要昂贵的仿真器,只需要一个串口即可下载代码,并且支持SWD和JTAG两种调试口。SWD调试可以为你的设计带来跟多的方便,只需要2个IO口,即可实现仿真调试。


STM32F103RCT6原理图,如图3.2所示。

图3.2 MCU原理图

3.2.2 传感器的选型及分析

设计要求完成对倾斜角、加速度和温度的检测,完成以上要求分别需要3轴陀螺仪、3轴加速度传感传感器、温度传感器考虑到成本等各方面因素本次课程设计选用具有多种功能的6轴传感器(MPU6050)来完成对数据的检测。


MPU6050 是 InvenSense 公司推出的全球首款整合性 6 轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之轴间差的问题,减少了安装空间。MPU6050 内部整合了 3 轴陀螺仪和 3 轴加速度传感器,并且含有一个第二 IIC 接口,可用于连接外部磁力传感器,并利用自带的数字运动处理器(DMP: Digital Motion Processor)硬件加速引擎,通过主 IIC 接口,向应用端输出完整的 9 轴融合演算数据。有了 DMP,我们可以使用InvenSense 公司提供的运动处理资料库,非常方便的实现姿态解算,降低了运动处理运算对操作系统的负荷,同时大大降低了开发难度。


MPU6050 的特点包括:
① 以数字形式输出 6 轴或 9 轴(需外接磁传感器)的旋转矩阵、四元数(quaternion)、欧拉角格式的融合演算数据(需 DMP 支持)。

② 具有 131 LSBs/° /sec 敏感度与全格感测范围为±250、±500、±1000 与±2000° /sec的 3 轴角速度感测器(陀螺仪)。

③ 集成可程序控制,范围为±2g、±4g、±8g 和±16g 的 3 轴加速度传感器。

④ 移除加速器与陀螺仪轴间敏感度,降低设定给予的影响与感测器的飘移。

⑤ 自带数字运动处理(DMP: Digital Motion Processing)引擎可减少 MCU 复杂的融合演算数据、感测器同步化、姿势感应等的负荷。

⑥ 运作时间偏差与磁力感测器校正演算技术,免除了须另外进行校正的需求

⑦ 自带一个数字温度传感器。

⑧ 带数字输入同步引脚(Sync pin)支持视频电子影像稳定技术与GPS。

⑨ 可程序控制的中断(interrupt),支持姿势识别、摇摄、画面放大缩小、滚动、快速下降中断、 high-G 中断、动作感应、触击感应、摇动感应功能。

⑩ VDD 供电电压为 2.5V±5%、 3.0V±5%、 3.3V±5%; VLOGIC 可低至 1.8V

⑪ 陀螺仪工作电流: 5mA,陀螺仪待机电流: 5uA;加速器工作电流: 500uA,加速器省电模式电流: 40uA@10Hz。

⑫ 自带 1024 字节 FIFO,有助于降低系统功耗。

⑬ 高达 400Khz 的 IIC 通信接口。

⑭ 超小封装尺寸: 4x4x0.9mm(QFN)。


MPU6050传感器实物图如3.3所示,其检测轴如图3.4所示。


3.3 MPU6050实物图


图3.4 MPU605检测轴方向


MPU6050的内部框图如图3.5所示。

图3.5 MPU内部框图

其中SCL和SDA是连接MCU的IIC接口,MCU通过这个IIC接口控MPU6050,另外还有一个IIC接口:AUX_CL和AUX_DA,这个接口可用来连接外部从设备,比如磁传感器,这样就可以组成一个9轴传感器。VLOGIC是IO口电压,该引脚最低可以到1.8V,我们一般直接接VDD即可。AD0是从IIC接口(接MCU)的地址控制引脚,该引脚控制IIC地址的最低位。如果接GND,则MPU6050的IIC地址是:0X68,如果接VDD,则是0X69。MPU6050外围电路如图3.6所示。


图3.6 MPU6050外围电路图

MPU6050工作原理:


陀螺仪检测也不是完全精确的,存在一定的误差。由于陀螺仪测量角度时使用积

图3.7 积分误差


分,会存在积分误差,如图3.7所示,若积分时间Dt越小,误差就越小。这十分容易理解,例如计算路程时,假设行车时间为 1 小时,我们随机选择行车过程某个时刻的速度Vt乘以1小时,求出的路程误差是极大的,因为行车的过程中并不是每个时刻都等于该时刻速度的,如果我们每5分钟检测一次车速,可得到Vt1、Vt2、Vt3-Vt12这12个时刻的车速,对各个时刻的速度乘以时间间隔(5分钟),并对这12个结果求和,就可得出一个相对精确的行车路程了,不断提高采样频率,就可以使积分时间Dt变小,降低误差。


同样地,提高陀螺仪传感器的采样频率,即可减少积分误差,目前非常普通的陀螺仪传感器的采样频率都可以达到8KHz,已能满足大部分应用的精度要求。


更难以解决的是器件本身误差带来的问题。例如,某种陀螺仪的误差是0.1度/秒,当陀螺仪静止不动时,理想的角速度应为0,无论它静止多久,对它进行积分测量得的旋转角度都是0,这是理想的状态;而由于存在0.1度/秒的误差,当陀螺仪静止不动时,它采样得的角速度一直为0.1度/秒,若静止了1分钟,对它进行积分测量得的旋转角度为6度,若静止了1小时,陀螺仪进行积分测量得的旋转角度就是360度,即转过了一整圈。只有当正方向误差和负方向误差能正好互相抵消的时候,才能消除这种累计误差。

三轴加速度传感器检测原理:


由于直接用陀螺仪测量角度在长时间测量时会产生累计误差,引入了检测倾角的传感器。测量倾角最常见的例子是建筑中使用的水平仪,在重力的影响下,水平仪内的气泡能大致反映水柱所在直线与重力方向的夹角关系,利用图3.8中的T字型水平仪,可以检测出横滚角与俯仰角,而偏航角是无法以这样的方式检测的。在电子设备中,一般使用加速度传感器来检测倾角,它通过检测器件在各个方向的形变情况而采样得到受力数据,根据F=ma转换,传感器直接输出加速度数据,因而被称为加速度传感器。由于地球存在重力场,所以重力在任何时刻都会作用于传感器,当传感器静止的时候(实际上加速度为0),传感器会在该方向检测出加速度g,不能认为重力方向测出的加速度为g,就表示传感器在该方向作加速度为g的运动。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
PIC单片机基础知识之二