作者:齐鲁工业大学 王浩 梁子轩
指导教师:汪宁
作品简介
5.电子指南针模块:采用ZCC212N-TTL-TY1电子罗盘,负责采集姿态角信息。6.无线通信模块:采用蓝牙方式通信,负责将信息实时上传到电脑,电脑部分用串口调试助手来显示。
功能与使用说明:
功能:本项目可显示在室内行动的轨迹,日期、时间、坐标,速度,,姿态角,温度,所经过路径的长度,以及从出发开始所经过的时间,并记录采集的信息,同时实时上传到PC。
使用方法,将路径记录仪放置在小车上,打开电源,小车开始行进,就会在液晶上显示出三维行进轨迹,与此同时,各个模块自动采集实时信息,也将温度,坐标等信息都显示在液晶屏上。
作品特色:
1.操作简单,上电即可在液晶上显示当前采集到的信息,不需要其他操作。
2.大多记录仪只能将轨迹保存下来,而本项目可以无线通信,将信息实时上传到电脑上,如果记录仪内部的SD卡突发故障,丢失了数据,电脑上仍然会保存数据,可以防止数据丢失。
平台选型说明:
本系统采用了MK60DN512ZVLQ10型单片机,具有灵活的工作模式,内核32位ARM Cortex-M4内核,支持DSP指令,拥有嵌套向量中断控制器,异步唤醒中断控制器,外部监控引脚的软件和看门狗,带16个通道的DMA控制器,10种功耗模式的功耗管理控制器,模拟部分有16位SAR ADC,12位DAC和6位DAC的告诉模拟比较器,通信方面支持IEEE 1588的以太网接口,人机接口部分GPIO支持引脚中断。DMA请求,数字滤波和其他引脚控制选项等。
设计说明
一、方案分析与选择
1.轨迹方案的选择
方案一:采用陀螺仪加速度计模块。陀螺仪采集角速度,加速度计采集加速度,两个模块采集到的数据经过互补滤波算法,得出角度,以此为桥梁,将角度的变化转化为液晶屏上x、y、z值的变化,从而在液晶屏上画出轨迹。
方案二:采用指南针模块与加速度计模块融合,ZCC212N-TTL-TY1是一款平面数字罗盘模块,其工作原理是基于X,Y两个方向的磁阻传感器感应地球的次分量,从而得出方位角度,并融合加速度计,经过互补滤波算法得出角度,以此为桥梁,将角度的变化转化为液晶屏上x、y、z值的变化,从而在液晶屏上画出轨迹。
综上所述,方案二对于方案一来说,比较容易上手,串口通信线直接与单片机串口线相连即可读出角度值,故采用方案二。
2.单片机的选择
方案一:采用IAP15F2K60S2款单片机,此款单片机不需要外部晶振和复位,双串口,三路PWM,价格较低,性能也比较高,适合学生使用。
方案二:采用MK60DN512ZVLQ10款单片机,具有灵活的工作模式,内核32位ARM Cortex-M4内核。
综上所述,因为记录仪需要的引脚数目大于方案一单片机的引脚数目,所以选择方案二。
3.液晶的选择
方案一:采用1.8寸TFT液晶屏,分辨率160×128。
方案二:采用5寸TFT液晶屏,分辨率800×460。
综上所述,因为要显示温度、轨迹、气压、姿态角等信息,小液晶屏无法满足题目要求,且题目要求不小于VGA分辨率。故选择方案二。
4.采集日期时间信息方式的选择
方案一:采用ds1302芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单地串行接口即可与单片机进行通信。
方案二:采用内部时钟,k60芯片内部自带时钟,只需接上一块3.3V的电池,即可开始工作,且掉电不丢失。
综上所述,方案二相比方案一来说,更为简单容易,故选择方案二。
二、硬件部分
本系统采用单片机作为核心控制模块,并包括数字气压传感器、电源模块、显示模块(液晶)、电子指南针模块、无线通信模块。如图一所示为路径记录仪各个结构组成部分。
图1 路径记录仪结构组成
1.控制模块
采用采用了MK60DN512ZVLQ10款单片机。
功能:负责向各个模块发送指令,以及收集并处理各个模块发回的数据。
图2 单片机的原理图
2.数字气压传感器
采用了bmp085数字气压传感器。
功能:采集大气压强和温度的信息,将数字气压传感器的SDA和SCL引脚连接到单片机的PB2和PB3引脚即可使用,SDA是双向数据线,SCL是时钟线,bmp085会不断地向单片机发送温度和气压数据,温度单位0.1摄氏度,气压单位1Pa。
图3 数字气压传感器的原理图
3.电源模块
采用了7805稳压芯片。
功能:将电压稳定在5V。
图4 稳压电路原理图
4.显示模块
采用TFT 5寸液晶屏,其分辨率为800*480,大于VGA分辨率。
功能:将采集到的信息、数据显示在液晶屏上。
5.电子指南针模块
采用ZCC212N-TTL-TY1电子罗盘。TXD和RXD接单片机的串口0的两个串口引脚C16和C17相连。
功能:采集姿态角值,并根据互补滤波算法,融合出角度值,然后根据角度值的变化转化为液晶屏上坐标的变化,具体转化关系如下所示:
设融合出的角度值是α,斜边给出一个固定的值,那么根据勾股定理:
图5
6.无线通信模块
采用蓝牙传输,题目中要求室内路径记录仪需要将数据实时的传到电脑上,而最简单的无线通信方式就是蓝牙通信了,而在电脑这一部分,我们使用了串口调试助手,将实时采集到的坐标,日期与实践,温度,气压信息显示在电脑上。
7.日期时间显示模块
为了保证日期与时间的数据掉电后不丢失,所以使用到了RTC内部实时时钟,当开启了RTC初始化后,会开启一个RTC内部中断,每一秒会进入一次,通过这个计时,此时给单片机赋一次日期与实践的初始值,即可得到当前的时间了,而且即使断电也不会丢失。
如图6所示为RTC时钟电路图,右边两个引脚分别接单片机的XT/EXT,并且使用它还需要外接一个32.768K的晶振和3.3V电池.。
图6
软件部分
主程序流程图如图7所示:
图7
相关语句简介:中断采用时间片轮计数,开启定时器中断,五轮为一循环,每一环进行一个任务,好处是程序运行有条理性,当出现问题时,也容易调试。
同时开启串口中断,其中串口0中断负责采集电子指南针采集到的角度值,串口3则用来与电脑通过蓝牙进行通信,按照题目的要求,将各个模块采集到的信息无线发送到电脑的串口调试助手上,并且显示出来。
中断部分函数流程图如图8所示:
图8
性能测试
液晶屏上显示的信息简介:第一排为温度(单位0.1摄氏度),大气压(单位1Pa),第二排为姿态角和坐标值,第三排为当前的日期以及时间。下方的方格即为坐标轴,中间的十字为X、Y值。如图9所示为将温度与气压等信息显示在液晶屏上的截图
图9
2.对温度和大气压检测灵敏度的的测试
方法:现在A处测得温度与大气压,然后到高低B点用手握紧bmp085温度气压传感器,液晶屏上显示的温度是否会产生变化,如图10所示为用手握住传感器之前的数据情况:
图10
握住之后的效果如图11所示:
图11
经过两图比较可知,当手握住之后,温度与大气压值立刻发生改变。
还未实现的功能:
1.三维轨迹的Y坐标未能确定,预想方案是利用超声波测距模块,方向指向天花板,超声波模块会返回二者之间的距离值,然后将这个值转化为三维轨迹Z的值,由于时间原因未能完成。
2.通过无线通信,在电脑上显示的方式取用上位机来显示。而不用串口调试助手。
作品特色:
1.各项数据检测的灵敏度很高,响应时间经测量小于1s。
2.造价低,市面上的路径记录仪价格较高昂,甚至高达上千元,而我做的成本相比起它们来说很低。
3.操作容易,只要打开电源,即可开始正常工作,手持记录仪走动,即可把行进轨迹大致画出来。
4.用途广泛。可当做钟表,温度计等多样用途。