您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页基于单片机的无线环境探测小车设计与实现

基于单片机的无线环境探测小车设计与实现

来源:爱够旅游网
龙源期刊网 http://www.qikan.com.cn

基于单片机的无线环境探测小车设计与实现

作者:郭啸宇 张建荣

来源:《电子技术与软件工程》2013年第23期

龙源期刊网 http://www.qikan.com.cn

龙源期刊网 http://www.qikan.com.cn

龙源期刊网 http://www.qikan.com.cn

龙源期刊网 http://www.qikan.com.cn

摘 要:本文主要介绍基于STCC52RC单片机、DS18B20温度检测芯片、PCF8591T模/数转换芯片、光敏电阻、LCD1602以及RF24L01无线芯片组成的环境探测信息的发送接收装置。本设计可以搭载于无线小车以及其他移动可载工具上,实现目标环境的温度以及光照度的探测,可实现无人环境探测,本设计具有实时环境数据采集迅速,通过后期开发可加入网点功能实现网点实环境监测等实用功能。 【关键词】单片机 无线传输 环境探测

龙源期刊网 http://www.qikan.com.cn

1 引言

1971年,美国出现了一个新事物,它几乎完全改变了当时人们对数字电路的认识,它就是单片机。而其中,最成功的就是当今CPU大鳄INTEL开发的8031,之后的产品都是在8031MCS-51基础发展出来,乃至到现在的16位、32位以至于最新的位。虽然当时的8位单片机距离现在貌似有点遥远,但现在仍然被市场中各类消费产品应用,正是处于方兴未艾的时期 [1]。而目前,在危险作业或是人难以到达的地方,需要机器人去做人难以完成的任务,这就需要对探测类机器人进行相应的研究,其实现的意义,不仅可以在特殊的作业中取代人,而且一般的生产、事务和家务也可全部由探测机器人去处理。因此,探测机器人的研究具有重要的战略意义。而单片机对其而言,就是灵魂对于身体的作用,所以,对于单片机的研究可想而知是多么重要了。

1.1 机器人的现实应用范围 1.1.1 行星探测机器人

基于行星探测机器人的研究,在发展行星类科学以及提高国防能力等方面均有较为重要的意义,因为:(1)机器人是行星类科学研究中着陆探测和样品取回的有力工具;(2)太空中停留数月之久的同时人类会严重丢失磷和钙,这可能意味着人类不可以在无重力的状态下飞行6-9个月或更久的时间,可是机器人却不存在这类问题。所以对行星探测机器人的研究是人类对行星进行实地考察的前提;(3)相当程度的节省了探测成本。以火星探测为例,根据大略的估计,一次有人参与的探测所需要支出的经费要比无人参与的探测会多50-100倍。因此,光基于科学上的探索来说,用机器人执行无人探测飞行任务是相当合算的;(4)对提高国家国防自动化的水平和国际地位有相当的作用。所以,行星探测机器人的研究受到世界各国的高度重视。

1.1.2 海洋探测机器人

关于海洋,大家的映象多是广阔无垠、波涛汹涌,有着大量的可用资源,但仅仅是基于皮毛的了解。所以,为了可以对海洋进行更深一步的探索,海洋机器人应用而生。海洋机器人不仅可以代替人去各种危险的地方去探测其环境,还在水下考古、沉船打捞以及海洋生物观察与科研都有非常大的作用。因此,能使机器人更好的完成人类下达的任务已经成为一个重要的研究课题。

1.1.3 陆地环境探测机器人

山西作为中国的产煤大省,也是国内煤矿事故高发地区,需要非常重视煤矿生产的安全。这种探测机器人可在危险发生前对隐患进行准确及时的检测与预防,灾后进行施救等重要的危

龙源期刊网 http://www.qikan.com.cn

险任务。关于探测机器人应用范围比我们想象的要广泛的多,在军事方面,已经研究出了反坦克雷探测机器人,还有医学探测机器人等。 1.2本设计的研究内容

本设计采用STCC52RC单片机、DS18B20温度检测芯片、PCF8591T模/数转换芯片、光敏电阻、LCD1602以及RF24L01无线芯片、AMS1117稳压芯片,来实现发送与接收双发的硬件,是属于环境探测机器人的分支。主要的研究的是小车上的传感器接收数据并通过无线传输芯片将数据传输到被控端,通过不同的搭载工具,配合无线摄像功能,可远距离对人难以到达的地方进行各项环境数据采集。 2 硬件的选用及介绍 2.1 8051单片机

关于8051单片机,前面对其已经有了简单的介绍,更具体一点来说,它就是兼容8031指令的单片机。随着科技日新月异的发展,单片机也变的更加实用,成本也被压缩的非常低,所以大量的产品皆采用了8051系列单片机。与此同时,许多其他公司都对其推出了兼容的、性能更加优越的单片机。

本设计采用的是一款由宏晶公司生产的基于8051单片机的STCC52RC,这是一款具有高性能CMOS的8位微控制器,具有低功耗、8K在系统可编程的FLASH。虽然是8位单片机,但宏晶公司对其做了非常多的优化,使得其在嵌入式开发具有高度的灵活性以及可以提供更有效的解决方案。 2.2 无线传输芯片

关于无线模块,本设计采用的是RF24L01无线传输芯片,其工作频率属于2.4Ghz-2.5GhzISM国际免费频段。其具有一般芯片不具备的增强“SchockBurst”模式控制器,高达2MBPS的高传输速率,并且可多通道传输,非常方便的达到一对多以及多对多的模式,通过采用SPI协议接口几乎可先连接到各种MCU。而在其强大的功能下能耗却是非常低,在发送模式下,发射功率为0DBM时电流消耗11.2毫安,而接受模式为12.3毫安,可以长时间的运行而不用担心其能耗。尤其实在掉电模式和待机模式下,电流消耗几乎可以忽略不计。在各类使用无线功能的领域都被大量使用。 2.3 温度检测芯片DS18B20

在选择温度传感器时,网友给我推荐了DS18B20。经过大量的资料查询,我发现它具有接线方便,环境适应力强等特点,对于设计是绰绰有余了。DS18B20可用于各种非极端温度

龙源期刊网 http://www.qikan.com.cn

下的温度测量,不要要外围电路就可以直接与MCU连接来达到温度测量的目的,而且可以多器件并联对多点温度测试,所在各种密闭空间以及控制领域都可以发现其身影。 2.4 PCF8591T模/数转换芯片以及光敏电阻

在设计中关于光强度的检测,采用了PCF8591数/模转换芯片和光敏电阻来组成测量电路。PCF8591芯片是具有单独供电、8位CMOS数据获取的器件,具有1个模拟输出以及4个模拟输入和1个I2C总线通讯接口,3个地址引脚可用于硬件地址编程,可以在一条总线上接入8个PCF8591芯片,而不需其他额外的硬件。在PCF8591上输出输入的地址、数据信号以及控制信号都是通过双线双向的I2C总线以串行方式进行传输。PCF8591最大转换速率是由I2C总线的最大速率决定的,而光敏电阻采用通用型。 2.5 显示装置LCD1602

设计之初我选择了几种显示数据的设备,像数码管,LED点阵屏,TFT真彩屏,但最终选用了1602字符液晶屏。1602液晶屏具有其他显示设备不具有的低功耗,显示字符多以及显示稳定等优点,关于1602液晶屏的名字,这是因为它可以显示两行,每行16个字母、数字、符号或图形点阵。本液晶屏为了更方便的显示字符,采用了HD44780控制芯片来达到对1602液晶屏的驱动,市场上大多数产品亦是应用此芯片来控制1602液晶屏。 2.6 AMS1117稳压芯片

设计中由于有3V和5V的供电芯片,所以在电源模块采用了AMS1117系列线性稳压芯片,其有3.3V和5V两个版本,可以提供将近1A的输出电流和稳定的输出电压。其具有输入输出压差较低,输出电压误差较小等优点,对于设计中需要的器件可以提供稳定的电源。而AMS1117对电流也进行了调整,亦减少负载电压和电流的过载引起的各种问题。AMS1117器件引脚兼容他三端SCSI稳压器,三端口可调节或固定输出电压1.5V, 1.8V, 2.5V,2.85V,3.3V 和5.0V输出电流1A工作压差低至1V线荷载调节:0.2% Max。负载调节:0.4% Max。 3 主要电路设计

本设计的电路原理图以及PCB制作采用的是Altium Designer Winter 09[3],因为设计是基于实验室内的产品,所以在选用器件上条件放的比较宽松,通过设计的目的选用相关器件后,便针对性的设计了相关原理图[4]。 3.1 STCC52RC单片机

龙源期刊网 http://www.qikan.com.cn

单片机采用的是STCC52RC,电路系统采用的是最小系统,如图1所示,本设计采用的是PQFP44的封装,由于需要多次对芯片烧写程序进行测设,所以除了P3.0、P3.1都加了上拉电阻,提高数据输入的稳定性以及令其具有足够的输出能力。 3.2 无线传输芯片

为了调试方便,本设计中RF24L01采用的是已经将外围电路设计完成的模块,引脚已经引出,所以设计给HEADER 5*2的插座,如图2所示。 3.3 温度检测芯片DS18B20

由于本设计采用3pin通用封装芯片,所以设计为3pin插座,如图3所示。 3.4 PCF8591T模/数转换芯片以及光敏电阻

本设计中发送部分在实验板上,如图4所示,光敏电阻与AIN1连接。 3.5 显示装置LCD1602

本设计采用的是具有字符芯片的1602,如图5所示,为了调试方便采用了插座。 3.6 电源部分

本设计中芯片有5V供电和3.3V供电的,所以电源部分采用了AMS1117系列来提供稳定的电源,其如图6所示。 3.7 PCB的设计与实现

在设计PCB中,为了避免不必要的浪费,于是将小组成员的设计集成在了同一块PCB上,虽然增加了设计的难度,亦是对自己的一种锻炼,在设计过程中我参考了大量资料,归纳了一些需要注意的:

关于电源部分:1.选择合适的电源;尽量加宽电源线;2.保证VCC,底线走向与信号传输线相同;3.首选具有抗干扰功能的元器件;4.VCC与GND之间添加去耦电容。

关于地线部分:1.模拟地和数字地分开;2.尽量采用单点接地(高频除外);3.地线尽量加宽;4.对敏感电路连接到稳定的接地参考源;5.尽量减少接地环路的面积。

关于其他规则:平行信号线尽量缩短;晶振与MCU尽量接近并远离其它器件(尤其是芯片);元器件应该与核心器件接近,不要使用太长的引线;不同功能分区设计;对PCB在成

龙源期刊网 http://www.qikan.com.cn

品中的位置和方向进行规划;缩短高频元器件直接的引线;器件的未使用引脚要通过电阻接GND或VCC;总线使用上拉电阻提高其稳定性;使用全译码提高稳定性;总线尽量短,尽量保持一样长度;上下层布线尽量垂直;发热器件与敏感元件分开布局。 4 程序设计与实现

本设计所使用的基于C51的C语言[5],采用keil uvision3实现程序的编写以及生成程序烧录文件,编程文件分为发送端和接收端,为了程序阅读以及后期维护和升级,皆采用了模块化编程思想,各功能分块编辑,采用统一的编程思想[6],经过市场调研和修改可直接生成相关产品。

4.1 主程序流程图的设计 如图7是接收端的程序流程图: (1)程序开始;

(2)单片机初始化,使用标准双向I/O口,12MHZ晶振,不使用WDT;

(3)LCD初始化,使用双行显示,不显示光标。无线芯片频道0自动,ACK应答允许允许接收地址只有频道0,设置信道工作为2.4GHZ,设置接收数据长度,本次设置为20字节,设置发射速率为1MHZ,发射功率为最大值0dB; (4)发送欢迎文字到LCD;

(5)利用无线芯片接受数据并存到数据缓存器;

(6)将数据缓存器中的数据发送到LCD中,发送完毕跳到第五步继续接受数据。 8 发送端程序流程图 (1)程序开始;

(2)单片机初始化,使用标准双向I/O口,12MHZ晶振,不使用WDT。18b20设定温度上限和下限值分别为0x19、0x1a。PCF8591T使用单总线传输数据,使用模拟1来接光敏电阻。无线芯片频道0自动,ACK应答允许允许接收地址只有频道0,设置信道工作为2.4GHZ,设置接收数据长度,本次设置为20字节,设置发射速率为1MHZ,发射功率为最大值0dB;

(3)从18B20和PCF8591T取得温度数据和光强数据;

龙源期刊网 http://www.qikan.com.cn

(4)从无线芯片得到的数据进行初步处理并传入发送缓存器;

(5)将发送缓存器的数据通过无线芯片发送出去,发送完毕跳到第三步。 4.2 程序采用的方法

由于篇幅有限,下面就仅仅对相关器件的驱动程序设计理念进行说明。 4.2.1 无线芯片RF24L01相关程序设计理念

无线芯片RF24L01采用的是SPI总线来传输数据和命令,所以程序先设计了SPI总线的驱动程序,SPI发送和接收采用了一个函数来实现功能,提高了对芯片的驱动能力,根据芯片的数据手册,编写了相应的驱动程序,由于是模块编程,发送端和接收端皆采用了同一段代码。如果投入商用可选择不同天线封装来达到产品设计目的。 4.2.2 DS18B20相关程序设计理念

DS18B20只是用一根数据线来达到数据的发送和接收,可采用数据线寄生电源来驱动,本设计采用的是外部供电,通过对数据手册的阅读以及网上驱动程序的参考,写出以下驱动程序,可以成功驱动DS18B20,使工作更稳定,如投入商用,本芯片亦适合。 4.2.3 PCF8591T芯片的相关程序设计理念

PCF8591T是A/D和D/A双转换芯片,使用I2C总线协议传送数据[7],在对I2C总线驱动编写过程中参考了大量经典程序来编写了驱动。本设计只采用了A/D功能通过光敏电阻[8]来达到光强数据的采集,如果需要其他环境数据的检测亦可以使用此芯片扩展;如果想收集更精确的数据可以采用TSL2561光强数字芯片投入商用。 4.2.4 LCD1602液晶屏相关程序设计理念

此次设计采用通用屏,程序采用的是非常成熟的厂家程序驱动,屏幕数据显示稳定。 5 系统测试与评价

(1)在电路板设计好后发送到了PCB制作厂家,根据要求厂家进行了简单的短路、断路检测以及PCB抗震检测。

(2)由于设计中以贴片器件为主,所以在焊接过程中使用了拉焊等辅助手法,其中最需要注意的就是要认清芯片的1脚以及其他元器件的引脚布局,以防焊错。将各器件焊接于PCB

龙源期刊网 http://www.qikan.com.cn

板上后,使用万用表对各引脚的短路、断路问题进行全面检测,在检测过程中发现STCC52中的2脚与3脚短路,使用吸锡线将多余焊锡吸出后单片机正常起振。

(3)经过前面的检测,接收端将LCD插入实验插槽后成功点亮LCD并显示欢迎字幕。 (4)将无线芯片接到发送与接收端,并将传感器与发送端相连接,接入电源后发现不能成功将数据发送与接收,经过检测发现,是发送缓存器没有成功清洗,经过程序更改,加入对发送缓存器的清洗指令后,成功实现了数据的发送与接收。

(5)经过初步测试,系统已基本运行,然后测试温度与光照度的敏感度,经过多次调试程序,成功实现了环境数据实时显示,并成功过滤无用数据,可以实现设计的初步需求。 (6)对系统稳定性进行测试,将系统多地点以及长时间运行,由于采用了较大的滤波电容,系统耗电量较大,如投入商用可采用小容量滤波电容,可将能耗进一步降低。

(7)由于设计是基于实验目的,所以没有进行抗震的进一步测试,无线干扰由于是低频板且布局时进行了相关考虑,所以干扰较小,可以稳定的长时间运行。

经过上面的各项测试,本设计稳定的达到了设计的预期目的,可以长时间的运行在实验要求的环境下,如果要投入实用,必须经过抗震防潮等极端环境的测试。由于采用的是PCB天线[9],只能在50米左右范围内接收到发送端的环境数据,本设计亦可以根据实际要求添加其他环境数据测量[10],如图9是设计成品照片: 6 结语

该小车的设计初衷就是为了探测那些人本身去不了的地方的环境,仅仅是一个抛砖引玉的作用,在现在科技发达的前提下,实际应用时可以将其设计的非常小,也可以在其基础上添加无线摄像头、湿度、土壤采集等功能,来达到真正的使用目的,天线可以采用更远传输距离的大功率模拟天线。

本设计不仅仅可以在移动中的环境探测中使用以及扩展,还可以在目前非常热门的物联网方面进行进一步扩展。现如今人类对自身环境的要求日益提高,所以需要对周边环境进行相关的监测,而本设计可以在现有基础之上扩展成星状网络或是线状网络布局来实现一个区域的无线环境数据监测,通过采用实际大功率天线可以实现各远距离更大范围的环境监测。在中小型环境监测中可以使用星状网络,采用一个接收端和多个发送端来组成;在大型环境监测中可以采用线状中继模式来达到使用要求。如果需要接入目前需要的互联网,还可以编写相关协议的驱动程序,如TCP/IP等网络协议,继而可以接入互联网来方便的达到远程数据接收。 参考文献

龙源期刊网 http://www.qikan.com.cn

[1]李晓林,阎高伟.单片机原理与接口技术[M].北京:电子工业出版社,2011(16). [2]杨美仙.单片机的发展及其应用[J].科技信息(学术研究),2007(35). [3]史久贵.认识Altium Designer Winter 09[M].北京:机械工业出版社,2010. [4]阎石.数字电子技术基础[M].北京:高等教育出版社,2006(79).

[5]宋戈,黄鹤松.51单片机应用开发范例大全[M].北京:人民邮电出版社,2010(39). [6]赵山林,高媛.C程序设计[M].北京:人民邮电出版社,2004(78).

[7]Raj Kamal.Embedded systems Architecture Programming and Design[M].北京:清华大学出版社,2010.

[8]张媛媛,何怡刚等. 基于C8051F020的温湿度控制箱设计[J].国外电子元器件,2004(10).

[9]张志利.基于RS232协议的单片机多机通信网络研究[J].自动化技术与应用,2009(04). [10]Meehan Joanne,Muir Lindsey.SCM in Merseyside SMEs:Benefits and barriers[J].TQM Journal,2008. 作者单位

山西大学商务学院 山西省太原市 030031

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务