摘 要
红外测距系统是一种无线测量系统,用于测量任务中的设备,它是提高工厂测量效率的必要设备之一。为了满足测量近距离且高精度的需求,本文设计了一款操作简单、可靠性高、可以保证完成测量的红外测距系统。
本设计主要采用单片机作为系统处理器,并将红外传感器、液晶显示模块、蜂鸣器模块结合起来,完成红外测距功能。系统可以随时进行测量,可以把测量到的距离数值在液晶屏上显示出来。该系统的测量距离一般在几十厘米之内,超出极限测量范围则会发生报警。
硬件设计介绍了实现红外测距的一般想法,并制作了红外电路原理图,说明了工作原理,报警模块,液晶显示模块,STC89C51单片机的红外测距传感器的引脚分布。软件设计描述了整个程序流的设计和每个程序的功能。最后,总结了整体设计,证明了红外测距的可能性。然后,可以逐步形成设计,改进软件和硬件开发平台,进一步扩展和开发。
关键词:红外测距; STC89C51单片机; 液晶显示
1 控制系统设计
1.1 主控制器选择
基于单片机的红外测距系统设计需要通过一个主控制器来实现,通过查找资料和学习,提出了两种可供选择的主控制器,分别为单片机控制和DSP控制,具体方案如下:
方案一:采用DSP作为主控制器,DSP即数字信号处理器,是一种研究用数字对信号进行分析,转换,滤波,检测,调制,解调和高速算法的元件[3]。数字处理器是用来保证各模块之间的通信,主要包括开机引导、信号读取和液晶屏初始化,以及液晶屏显示数字编解码芯片的运行状态。音频数字信号存储在闪存中。
方案二:系统可以使用单片机作为主控制器,单片机是一种虽然小但很完整的芯片,应用在集成电路中,也可以称之为微型计算机系统。芯片中包含随机储存器RAM、中央处理器处理器、只读存储器ROM、中断、定时器以及若干个I/O口等模块[2]。有些芯片中还包括脉宽调节模块、驱动模块、多路模拟转换等电路。单片机大量运用在工业环境中。采用单片机作为本设计的控制部分,系统主要由单片机、红外传感器、蜂鸣器及液晶显示器构成。红外传感器接收到信号后,模数转换器将好的数字信号转换到单片机上,再由单片机进行数字信号处理,最后由软件计算出数据发送到LCD。综上,与单片机相比,DSP主要是针对一些应用程序需要更高的计算能力,DSP的运行速度很快,但其控制算法相对复杂。而单片机的系统的控制方法相对简单,且可靠性高、价格较低、功耗低,不过单片机相比DSP功能比较简单,但是完全满足本设计需求,同时单片机来实现红外测距有着非常大的研究价值。因此本设计选用单片机作为主控制器。
1.2 项目总体设计
本设计基于单片机的红外测距系统设计由:STC89C51、红外传感器、LCD1602液晶显示器以及报警装置组成。按下红外测距系统的启动按键,可以进行预测值的设置,接着红外传感器进行测距,信号通过单片机处理转变为数据,将数据显示在LCD1602液晶显示器上,构成完整的红外测距系统。由如下模块组成:
(1)测距模块:红外传感器,发射并接收被反射的红外线进行测距,将所测得的模拟信号信息传入单片机中。
(2)最小系统模块:STC89C51单片机作为系统的主控制器,接收红外传感器所传递的的模拟信号信息[1],经过处理后再传递到液晶显示模块上。
(3)报警模块:有源蜂鸣器,如若测距范围超出装置的预设测量范围,则蜂鸣器发生报警。
(4)液晶显示模块:LCD1602液晶显示屏,接收单片机所处理好的数字信号信息,显示最终测得的数据值。
系统总体结构图如图1.1所示:
图1.1 系统总体框图
2 项目硬件设计
2.1 单片机控制模块
2.1.1 单片机型号选择
基于单片机的红外测距系统设计,对单片机的要求较高,要选用带有4K字节EEPROM存储空间的单片机,其次为了保证系统更好的运行,应选用性价比高、可靠性高、低功耗的控制器,以防止器件的损坏,影响系统的运行。基于此有以下两种方案可供选择:
方案一:采用STC89C51作为主控制器。STC89C51是系统中的可编程芯片。它使用8051内核,工作频率高达80MHz。该设备包含4K字节的只读程序内存,可进行擦除1000次,单片机指令与MCS-51完全兼容该设备。该芯片由8位通用处理器和ISP闪存单元组成。STC89C51单片机是一个时钟/机器周期的速度很快、能量消耗较低的新型单片机,它具有的开发简单、可在线编程下载、成本低的特点是非常不错的选择。
方案二:使用MSP430单片机作为主控制器。它被叫做混合信号处理器,它可以使许多功能各异的模块和微处理器集成在一个芯片上,MSP430系列单片机具有16位能量消耗超低和精简指令集[5]。一般来说,需要使用电池供电的设备仪表使用该系列的单片机。但是开发难度相对比较大、价格昂贵。
综上所述,与MSP430单片机相比,STC89C51单片机开发难度较低、稳定性高,而且价格合适,结合设计所需要的性能,最终选用STC89C51单片机作为主控制器。
2.1.3 单片机的最小系统
单片机最小系统有三个部分,分别为:电源电路、晶振电路以及复位电路。在本设计中,STC89C51单片机可以在4.5~5.5V的电压范围中正常工作。电源部分采用USB电源线,可连接手机充电插头或5V移动电源,为系统供电。单片机的最小系统如图2.2所示:
图2.2为STC89C51单片机最小系统的电路图
3 项目软件设计
3.1 软件开发环境
具体的操作步骤为:开发时首先需要建立“Project”工程,选择“New μVision Project”,为新建的工程命名后点击保存,选择本设计选取的单片机型号“STC89C51”;成功建立工程后,选择“Source Group”按键,可添加文件,如果想编辑文件,可以点击“Add”。如图3.2所示:
图3.2 Keil μVision软件开发流程图
3.2 系统主程序设计
在整个系统运行过程中,当红外测距系统被启动后,首先,在装置进行预测值设定,接着红外传感器开始进行测距,将测得的信号传入单片机中,单片机开始判断所测距离是否超出预测范围,如果超过了预测范围,则蜂鸣器开始报警,此时应该对单片机进行复位操作,并且重新设定预测值;如果所测距离没有超过预测范围,则单片机将数据送至液晶显示屏上进行距离显示,随后对距离进行记录并关闭红外测距装置。在软件设计中,主程序不宜放太多的代码,可以采用函数将具体的代码封装后,在主函数中调用,这样修改起来也很方便。如图3.3所示。
图3.3 系统主程序设计流程图
4 系统调试
4.1 系统硬件测试
根据该系统的设计,焊接电路应注意是否有短路电路、开放电路、故障方向的部件、电路设计误差。部件的焊接误差和错误方向的检测方法是将物理电路基板与电路图的电路图进行比较,检查各部件和导线是否出现在物理对象上。如果发现没有或及时的重新需要,则不能进行比较,确定焊接的及时修理。在短路电路中,电路破坏、虚拟焊接等情况需要使用数字多仪表检测。在蜂鸣器文件中放入数字万用表。红笔和黑笔如果短路的话,万用表会发出蜂鸣声。根据这个原理,可以用来检测短路、故障电路和虚拟焊接。如果蜂鸣器响的话,线是正常的;如果听不到报警的话,那表示电路有什么错误。测试后,物理电路板与电路图一致,所有组件均正确连接,系统最终实现了所有硬件功能。
在这种设计中,显示模块是非常重要的部分,因为它不仅在硬件核心上,而且在硬件调试中也遇到了问题,如果连接到电源上,则显示画面不亮,不显示,这是为什么呢?我开始寻找原因,检查电源是否通电,确认指示器灯是否接通,编程后将P1降低,确认P1输出低,最终P0端口未连接到拉电阻。连接后,显示画面亮灯。在硬件调试中,虽然遇到了可以显示的显示画面,但是显示器上存在大问题。调整距离后,显示器没有变化。检查后发现红外传感器和VCC连接不好,与单片机接触不良。最小的系统板调试SCM软件确保了正常工作和硬件系统。最后,组合模块进行测试以实现系统整体的功能。
4.2 系统软件测试
基于硬件调试,C语言编号的程序将通过下载器下载到单片机。根据设计的电路参数和步骤,取景器的范围从10cm到80cm,范围取景器的最大误差在0.5cm以下。调试系统后,测量了好几次距离,与预设值进行比较,多次分析测量误差。修改程序以满足实际测量要求,调整设备并获得更完整的程序。设计软件的调试步骤如下。
(1)首先在Keil μVision中创建新的项目。单击菜单栏中的“porject”,为新工程命名,并命名保存。
(2)新的用户源文件:首先,创建一个新的空白文本来书写程序的源代码。写入和保存后,创建新文件,文件扩展名为“设计名.a”。
(3)程序编译和调试:单击“编译”按钮启动系统。操作中输出窗口中显示反馈信息。如果看到错误信息,可以根据错误进行修改。
但是,程序调试不能成功,首先是单片机的微型计算机,要写入实验,是由固定距离记录的信号强度收集的,然后在程序中添加相应的数据最后,通过红外测量模块可以显示相应的数据距离,主程序是整个程序的基础,也是核心。
最后按照以上软件步骤进行软件调试,循序渐进,检查出程序并没有错误,且可以正常运行,从而得到正确的测试结果,可知软件方面的调试也顺利完成。如图4.1所示:
图4.1 程序调试成功显示图
5 结 论
本篇论文针对工厂维修人员在需要完成测量任务的情况下,无法及时准确得测量出距离,导致任务不能有效的完成这一问题,设计出一种基于单片机的红外测距系统。维修人员使用红外测距仪根据任务的需求来进行测量,从而快速有效的完成测量任务。
本设计是由STC89C51单片机、测距模块、LCD显示模块等组成的红外测距系统。也利用Keil μVision软件编写C语言程序,使各个模块实现相应功能。本设计经过了硬件以及软件的测试,各部分均达到预期功能:实现了对10cm-80cm范围内的距离测量,如果超出测量范围会进行报警。该红外测距系统操作简单,准确性高,抗干扰能力较强。
该系统实现了为工厂维修人员提供测量便利,同时对于各个行业需要进行小范围测量的工作人员可以快速完成工作中的测量任务,使用测量起来方便快捷、简单准确,而且该设计成本不高,在材料上 也很节约,与其他的测量装置相比,此测量仪器性价比方面可以说是很高,而且能很快的融入人群当中所使用,更迅速的贴近生活,也能满足工业生产的测量要求,随需随用,使用起来也是简单实用。应用本设计产品,可以提高工厂维修人员完成测量任务的效率,促进企业的进一步发展。