张亦勋
(广州城市理工学院,广东广州,510800)
红外测距首次出现在1960年代,出现时被人们认为是一种以红外线为主体的测量方法。研究红外距离具有非凡的意义,其本身具有其他测距模式没有的特点,技术难度相对较小,性能好,简单,易于使用,系统成本低,在各行各业都扮演着不可或缺的角色,因此其市场需求更大,更广泛的发展空间。
红外测距仪最大的优势是短距离测量的精准性。使用调制红外光测量范围通常是1~5公里,在100米范围内的超声波测距有优势,但超声波测距不能检测区域内1米距离,而红外测距仪可以精确到1米以内的距离。本研究设计与实现的是一个10~50cm精准测量的红外测距仪。
三角测量法的原理是由红外发射管和一个PSD实现(传感装置位置的位置传感装置)和相应的计算电路来实现。而夏普公司的PSD有更优越的性能,它可以检测微小位移的光落在它的上面,解决微米以上的测量,红外传感器GP2Y0A21使用此功能实现精确测量距离的目标对象,如图1所示。
图1 三角法测距原理
首先通过红外发射管红外传感器,红外距离遇到障碍下降反映了PSD上形成了一个等腰三角形。和其他两个点是固定的,由管和红外发射管PSD的距离是已知的,可以使用三角函数计算高这个数值就是想要测量的距离。
相比较其他的测距原理,三角测量法的精度更加高,利于实现,而且受外界因素的影响,以及自身的误差率更低,因而本设计采用此原理来实现对待测物体距离的测量。
第一步红外传感器模块GP2Y0A21YK0F发送红外线;第二步到达物体后反射红外线;第三步红外传感模块接收反射后的红外线;第四步传感器模块将信号发送给单片机处理模块;第五步经过模数转换将非线性的模拟信号转换为线性的数字信号;第六步由单片机处理模块发送数字信号到液晶显示模块;第七步最后结果表明在液晶显示模块LCD1602上,如图2所示。
图2 基本结构图
本研究所设计的红外测距仪主要包括了A/D转换电路,1602显示电路,电源输入电路,上电复位电路,蜂鸣器、独立按键电路,程序下载电路等硬件电路。
(1)A/D转换电路。本研究选取ADC0832 转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部的电源输入和参考电压的复用,使得芯片的模拟电压输入0~5V。芯片切换时间仅为32μs,具有双输出的数据可以作为检查数据,为了减少误差数据,转换速度快、性能稳定。独立的芯片使能输入,设备的悬挂和处理器的控制变得更加方便。通过数据输入,可以很容易地实现信道的功能选择。
(2)1602显示电路。单片机P0-P7口分别接D1~D7,同时接上排阻,而在排阻另一端接上VCC,单片机的P34接EN,P35接RS,单片机通过P0口向1602显示频输送数据,显示测得的距离。
(3)电源输入电路。电源电路是单片机能否正常工作的基础,在本设计中由于传感器需要所以电源需要保持在一个稳定的状态,默认为5V的环境下。电源模块对应的接线方法为:单片机的第40引脚(VCC)为电源引脚;第20引脚(GND)为接地线。
(4)上电复位电路。复位电路的设计好坏直接影响单片机系统的稳定性,因为在单片机的瞬时电源电压是不稳定的,单片机不能立即投入工作,需要继续保持一段时间的复位状态,直到一个稳定的电源供应器开始工作。本设计中采用的是最简单的上电复位方式,也就是说,在经过一段时间后的上电后,由于电容的作用后,单片机会过段时间再开始工作。
(5)蜂鸣器、独立按键电路。单片机 P20~P24接独立按键模块,分别对应S2~S5,S4功能为减10cm,S3功能为加10cm,S2功能为切换上下限设置,S1功能为RESET。蜂鸣器,会放出蜂鸣一般的响声,当距离达到所设置的阀值时,蜂鸣器响起,同时LED警示灯也会亮起,进行报警提示。
(6)程序下载电路。USB串口是计算机USB接口的通用串行接口之间的转换。作为最广泛使用的USB接口,每台计算机都是一个必不可少的通信接口,它最大的特点是支持热插拔,即插即用,快速传输速度。没有串口的计算机提供一个快速通道,USB串口设备的使用是相当于传统的串口设备的即插即用USB设备。在本设计中,程序下载是通过USB转TTL的下载器来实现的,RXD接TXD,TXD接RXD。
采用EDA技术汇总A/D转换电路,1602显示电路,电源输入电路,上电复位电路,蜂鸣器、独立按键电路,程序下载电路,可得本设计总电路原理图,见图3。
图3 总电路原理图
整个系统运行的过程中,红外系统启动时,首先将AT89C52单片机初始化。当AT89C52单片机接收红外接收电路传输电压信号,经过A / D转换程序,将单片机之外的模拟信号转换成单片机可识别的数字信号,并根据距离和电压转换子程序,将电压的转换为距离。最后,在实时动态显示在液晶显示器上。主程序流程图如图4所示。
图4 主程序流程图
本研究中的红外测距的软件设计主要由主程序、延时函数、显示程序函数、测距计算函数组成。程序开始,主程序第一步先将1602显示屏进行初始化,然后开始测量。
调用子函数,经过A/D转换函数得出的电压值,再次调用距离计算函数,得出距离值。这个时候的主函数将显示测量计算得出的距离值,然后结束程序。
该程序使用多个调用函数,读取/数、距离的计算函数、算术平均滤波程序。收集和计算的价值;LCD忙标志判断函数,写数据子函数,写命令子函数,显示数据调整功能,字符串显示功能,显示子程序显示功能;1602初始化函数,LCD屏则是清除屏幕功能。
本研究设计的红外测距仪成品,如图5所示。
图5 红外测距仪成品图
通过程序数据线性化分析,本研究设计的基于红外技术的测距仪,在测量10~50cm的物体时结果较为精准,若物体距离小于10cm或大于50cm,数据不具有明显代表性,设置红外测距仪进行报警处理。具体测试结果见表1。
表1 测试结果
本研究设计与实现的红外技术测距仪,标定了测量范围在10~50厘米平面物体。最大误差是0.01厘米,可以在很短的时间内多次的测量,红外测距系统稳定性好,具有较高的敏感性,结构简单,能得到较为精准的测量值,具有一定的研究价值。