1.绪论
1.1课题背景
在当今信息快速发展的社会,智能手机从2010年开始迅猛普及,尤其是Android手机凭借良好的客户体验,低廉的价格,迅速占领移动操作系统的80%多。智能手机拥有较小的体积,丰富的传感器,多种数据传输方式,高效成熟的开发环境,强大的数据处理能力,这些优点是普通单片机不能比拟的,但是其带硬件能力不足。
单片机自诞生以来,就迅速在工业上使用,现在我们周围的各种电子产品都采用了单片机,大到洗衣机、冰箱,小到玩具汽车、电子表,现在单片机的功能越来越强大,带硬件能力越来越强,有些单片机自带AD转换,PWM等,这极大的降低了产品的设计难度,减小了产品体积。
现在可以说是人手一部智能手机,硬件不是问题,如何将智能手机和单片机应用到普通的数据采集上来,将是本课题的研究内容。
1.2智能手机的数据采集研究现状
智能手机的硬件越来越强大,应用范围越来越广,可以应用到日常生活,农业,工业甚至自然灾害的预警上。
上海海洋大学仇天月等人,开发了Android智能手机的农业物联网信息采集及发布系统。具有简便,数据实时采集上传,非常适合于野外数据采集,并结合GIS技术,物联网技术将农田作物等农业资源在手机端可视化,满足了工作者对农业资源实时,便捷,可视化的需求,提高了管理效率[1]。
南昌大学朱洪涛的研究小组开发了一种基于蓝牙通信技术及Android移动终端的无线数据采集方案:上位机使用Android移动终端来做上位机,下位机采用传感器与单片机组合,数据传输采用蓝牙串口模块,实验表明此方式采集到的数据比较可靠[2]。
1.3设计的目的及意义
鉴于智能手机不但屏幕比较大,显示的内容比较多,显示效果比较好,而且耗电量比较少,体积小,可以用于野外测量和夜间测量。
实验室里的一些测量设备,如:普通的万用表,显示界面不够直观,不能进行多通道测量与显示。如果在一些数据量较小,要求精度不高的场合,用电脑来采集与显示,实在是大材小用,用智能手机就足够了。如果能够利用智能手机进行数据采集,这样既可以降低开发成本,又能够加强操作体验,提高数据采集效率。
一些测量设备去除显示部分和操作部分,增加一个能与智能手机相连接的模块(WiFi或蓝牙),数据显示与处理,各种操作交给手机就行了,这样设备的体积可以做的比较小,节约了硬件成本。
现在随着3G、4G网络的普及,网速越来越快,在数据量比较大的情况下,智能手机随时可以通过数据上传到网络,做到跨地区实时数据采集。
1.4设计的主要内容
本设计针对于实验数据采集设计,设置有三种采集模式,实时采集,定时采集及随机采集,并且每种模式都支持双通道采集和设置多种采集速率。1.手机端采用Android平台开发,平台是开源的,开发方便,主要功能有:采集指令的发送,数据的接收及显示,波形的绘制。采集的数据可以已txt格式保存在内存卡上。
2.硬件方面采用STC12C5A60S2高性能8位单片机,主要实现了采用AD转换采集、存储、发送数据。采用蓝牙模块 HC-05传输数据。
3.调用MathStudio处理数据。
工作流程如下图:
系统工作原理图
2.上位机的设计
2.1 Android系统介绍及开发
安卓系统英文称为Android,是目前全球手机用户使用最多的操作系统,市场占有率超过80%。由谷歌公司开发,是一个以Linux为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,现在Android已发布的最新版本为Android 5.1。
Android的有许多平台优势:1.开放性,Android平台首先就是其开发性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者和越来越多的用户。2.方便开发,Android平台提供给开发者一个十分宽泛、自由的环境,不会受到各种条条框框的制约,大量的软件随之产生。
本次开发使用最常用的开发工具eclipse,eclipse是一个著名的跨平台的自由集成开发环境,有着丰富的开发插件。不过现在官方推荐Android Studio进行开发。本次开发的eclipse如下图:
在软件调试时,使用真机调试,手机型号为:Lenovo A706,Android 版本号为:4.1.2。
省略中间开发过程。
2.4 Android UI界面设计
开发的软件截图
Android端UI界面
Android端程序框图
3下位机的设计
3.1 单片机简单介绍及型号选择
单片机又称单片微控制器它将普通计算机的CPU,ROM,RAM,IO都集中到一小片集成电路上,相当于一个微型的计算机。它有体积小、质量轻、价格便宜、便于学习、应用和开发。广泛应用于智能仪表,工业控制,日常生活中的各种电器上,可以说我们的生产与生活已经离不开单片机了。
STC单片机作为本土厂商,有着比较高的性价比,指令集完全兼容传统的8051,并且学习资料多,便于开发现在STC最新型号为STC15系列。支持ISP在线编程,烧写特别方便,超强抗干扰,有的型号自带高速AD转换,自带硬件看门狗电路及PWM。因此本设计便采用STC12C5A60S2。
3.4 单片机的连接电路图及程序框图
单片机原理工作图
由于没有设计基准电源,AD转换的参考电源为电源电压,因此AD转换的准确度与电源有关。电源拟采用移动电源供电。蓝牙模块的电源可以与单片机一个电源,也可另外供电。
单片机部分程序框图
手机发送给单片机的指令为7个字节,指令数组的第一个数确定工作方式,第二个数为选择通道。当工作方式为实时采集时,第三个数为采集速率,后面面四个数全为0,没有意义,起到填充作用;当工作方式为定时采集时,第三、四、五个数为采集时间,单位为ms,第六、七个数为采集个数;当工作方式为随机采集时,后面五个数全为0,没有意义,起到填充作用,降低程序的复杂度。
实时采集模式时,单通道采集速率范围为:1-25个/秒,为保证准确性,双通道最大采集速率为1-10个/秒,时间间隔由单片机定时,精度10us。
定时采集时,通道1采集速率最快为30us/个,通道2采集速率不能低于100us/个,双通道采集时不能低于200us/个。单片机计时精度为10us,由于使用单片机的外部扩展的1K RAM,单片机AD转换的精度为10位,一个数据需要两个字节来存储,外部扩展RAM前512个字节分配给通道1,后512个字节分配给通道2,所以通道1的最大采集数量为512个,此时通道1的已经超出范围,将通道2的全占了,虽然数组越界了,但是数据仍然有效,但是在通道2采集和双通道采集时不能超过256个数据。
随机采集,就是采用中断触发进行控制采集,时间由单片机计时,控制信号由P3.2或P3.3输入,控制信号为下降沿触发,单片机将数据发送到手机上,每发送六个字节为一组数据,前四个字节为时间,后两个字节为信号值大小。
未完,待续!明天不要错过呦。