找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7386|回复: 2
收起左侧

MPU6050加速度测量显示电路+单片机程序设计

[复制链接]
ID:463841 发表于 2019-1-14 03:32 | 显示全部楼层 |阅读模式
这是是我这学期做的课程设计,题目是:加速度测量显示电路设计花了两个星期的时间,刚刚学习单片机所以进度有点慢。做的课设给大家借鉴一下,这里包含报告,源程序,以及原理图

重点是全部原创哦!!

    出现的问题及解决方法
1、在实践过程中,我们发现从STM32单片机送到51单片机的数据总是不正确,最后发现32单片机和51单片机不共地,导致了数据的传输不正确。而后我们使用一根杜邦线使二者共地,问题得以解决。
2、在显示数据时,一开始我们直接将小数点显示在对应的显示屏坐标上,可是发现此时的数据被小数点覆盖。于是我们将数据通过求整取余运算将整数与小数分开,并与小数点一起逐位显示,从而使问题解决。
3、由于本次课设中所配置的MPU6050的精度是±2g,所以送过来的原始数据中有正数也有负数。一开始我们并未考虑到这个问题,导致传送过来的数据读出来后不正确。后来我们发现,串口通信时,所传送的数据只能是正整数,所以我们将所获得的数据(串口通信前)乘以100,以获得精度为0.01的整数。此时考虑到单倍最大的负整数值为-100g,如果按照g=9.8m/s2来看的话,就是-980,所以±2g中最大的负整数值为-1960。为了保证传送的数据是正数,我们将传送的数统一加上2000后,用串口的方式传送,再在屏显程序中,减去2000,再除以100,以获得实际加速度值。最终发现,这个方法可行。
电路原理图如下:
153627cjjiiqjcxixyjb7x.png

一、    题目名称    1
二、    课设目的    1
三、    课设内容及要求    1
四、    器件选择:    2
(一)MPU6050    2
(二)STM32    3
(三)JLX12864G-086    5
五、    方案选择    6
(一)方案一:    6
(二)方案二:    6
(三)方案三:    6
六、    原理框图    7
七、    软件流程图及硬件原理图    8
(一)主程序流程图    8
(二)硬件原理图    9
1、51单片机最小系统板mdm-3 原理图    9
2、STM32-PZ6806L原理图    10
3、MPU6050原理图    11
八、    器件清单及经费统计    12
(一)器件清单    12
(二)经费统计    12
九、    程序清单及注释    13
(一)32部分主程序    13
(二)51部分屏显主程序    14
(三) usart串口通信程序    22
(四)MPU6050配置程序    25
(五) IIC配置程序    27
十、    出现的问题及解决方法    34

一、    题目名称

加速度测量显示电路设计


二、    课设目的

1.通过团队协作完成课题,锻炼组员之间的团队协作能力,沟通能力。
2.使组员对所学相关课程有更深入的了解。
3.增强组员的动手实践与解决问题的能力。
4.针对学生就业时处理项目的方式进行目的性引导。
5.加深学生对软硬件电路的设计的熟练程度。
6.提前模拟毕业设计及答辩流程,对学生进行预热。
7.提高学生就PPT及报告的撰写能力。
8.丰富课程内容,加深理论与实践的结合。

  
三、    课设内容及要求
  
查阅资料,选择具有XYZ三方向的加速度传感器芯片,设计信号调理电路,将XYZ三方向的加速度转变为0-5V电压信号,并显示出来。可以使用单片机方案,也可以使用模拟电路方案,设计显示电路时显示*.*米/秒2,传感器种类较多,如A7261,MPU6050。

要求:
设计以测量显示部分电路为主;
2) 要绘制原理框图;
3) 绘制原理电路;
4) 要有必要的计算及元件选择说明;
5) 提供元器件清单;
6) 设计印刷线路板;
7) 如果采用单片机,必须绘制软件流程图。

MPU6050是全球首例整合性六轴运动处理组件,俗称六轴陀螺仪(xyz三轴的倾斜角度和三轴方向的加速度)。它是集成了陀螺仪和加速计于一体的芯片,它极大程度上免除了独立使用的陀螺仪和加速计在时间上的误差,而且减少了占用PCB板的空间。
MPU6050对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可测量的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为±250,±500,±1000,±2000°/s(dps),加速度计可测范围为±2,±4,±8,±16g。一个片上1024字节的FIFO,有助于降低系统的功耗。
和所有设备寄存器之间的通信400kHz的iic的接口。另外,片上还内嵌了一个温度传感器和在工作环境下仅有±1%变动的振荡器。芯片尺寸4×4×0.9mm,采用QFN封装(无引线方形封装),可承受最大为10000g的冲击,并有可编程的低通滤波器。关于电源,MPU6050可支持VDD范围为2.5V±5%,3.0V±5%,或3.3V±5%。另外MPU6050还有一个VLOGIC引脚,用来为输出提供逻辑电平。VLOGI电压可取1.8±5%或者VDD。
MPU6050模块内部自带稳压电路,可兼容3.3V/5V的供电电压,采用先进的数字滤波技术,提高精度同时抑制了测量噪声。通讯方面MPU6050保留了iic接口,高级用户能够采样底层测量数据。值得一提的是,芯片集成了DMP(Digital Motion Processor)数字动态处理器,从陀螺仪,加速度计以及外接的传感器接收并处理数据,处理结果可以从DMP寄存器读出或通过FIFO缓冲。(图片为MPU6050模块原理图)

JLX12864G-086可以显示128列*64行点阵单色图片,或显示8个/行*4行16*16点阵的汉字,或显示16个/行*8行8*8点阵的英文、数字、符号。结构轻、薄、带背光。IC采用UC1701X,功能强大,稳定性好。功耗低,10-100mW(不带背光10mW,带背光不大于100mW)。
采用4线SPI串行接口,方便简单。工作温度在-20℃~70℃,寿命为50000小时(工作温度在25℃)。
五、    方案选择
(一)方案一:
考虑直接使用32单片机去实现MPU6050数据的采集以及加速度的显示。其中,32单片机使用IIC通信方式获取MPU6050的三轴加速度数据,通过串口的方式将数据传送至显示屏进行显示。
但是我们发现,数据的采集和加速度的显示如果使用同一个单片机,不易观察显示屏上的数据,所以我们最终并未采用此种方案。

(二)方案二:
考虑使用蓝牙传送数据的模式,并使用32单片机和51单片机。其中,32单片机所完成的工作是获取MPU6050的三轴加速度原始数据,然后通过蓝牙连接的方式将数据发送给51单片机。再通过串口通信的方式,将处理后的数据(此数据的单位是 m/s2)在51单片机的显示屏上显示。
但是在实际操作的时候,有如下两个问题:
在进行模块测试过程中,我们发现购买的蓝牙模块并未正常工作。导致无法实现我们的预期要求。
方案一中所提到的不易观察数据的问题,实际上由于重力加速度的存在,所以在相对缓慢移动MPU6050的情况下依然可以观察到满足精度要求的数据且灵敏度较高。
综上所述,我们并未采用此种方案。

(三)方案三:
由于在方案二中发现的问题,我们放弃使用蓝牙模块,因此我们改用有线传输的方法,将32单片机中的数据传送到51单片机中并进行显示。此种方案思路清晰且较易实现,满足精度和灵敏度的要求。因此,我们最终选择了方案三作为最后的实现方案。
相关计算:
根据手册,MPU6050当测量范围是±2g时,测量精度是16384LSB/g,这个参数的含义就是说当测量值得加速度值是1g时,那么MPU6050的输出值为16384。故  所测加速度  G=x/16384  ,   
显示数据为  G*9.8 (m/s2) 。

完整的Word格式文档51黑下载地址:
测控仪器设计.doc (547.5 KB, 下载次数: 110)
回复

使用道具 举报

ID:558324 发表于 2019-6-9 17:50 | 显示全部楼层
可以吧文档上传到网盘吗,下载不了看不到,感谢楼主

回复

使用道具 举报

ID:353607 发表于 2019-12-22 12:04 | 显示全部楼层
楼主可以发一份完整的资料吗,跪求
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表