红外测距电路总结报告学院:信息工程学院班级:11计算机1班学号:1100303131姓名:张翔指导老师:张珂摘要本次设计任务是设计一个红外测距电路,它由硬件和软件两部分组成,硬件部分包括发射模块和接收模块,先由stc8051单片机产生一个1khz的信号,经红外发射管发射,碰到障碍物后返回,接收管接收到信号通过放大、滤波、峰值检波、AD转换后传回单片机,单片机即可通过判断接收电压的大小来确定距离。软件部分包括信号产生、AD接收、数据处理、液晶显示。关键词STC8051单片机;红外测距;一、方案论证及比较1、发射模块方案一用555定时器产生一个1khz的信号经红外发射管发射。方案二用单片机产生一个1khz的信号经红外发射管发射。考虑到题目要求,同时用单片机产生的信号方便控制和调节,电路也更加简单,所以我选择了方案二。2、接收模块放大部分:方案一采用5v供电,利用lm358芯片进行单电源放大。由于放大倍数在20到40倍之间,经过一级放大即可。方案二采用正负5v双电源供电,利用lm358芯片进行双电源放大,同样一级放大即可。单电源放大电路比较复杂,而且放大效果不好,考虑到已有的实验器材,决定选用简单的双电源放大电路。滤波部分:由于经过放大以后的信号还有很多杂波,而我们需要的是接收到的1khz的信号,一般的滤波器很难解决干扰问题,所以直接选用有源二阶带通滤波器。峰值检波部分:根据要求的精度为5mm,最简单的峰值检波电路即可胜任,出于节约成本的考虑,决定不用带运放的高精度检波电路,假如还要进一步提升测量精度,就需要选用更好的峰值检波电路。AD转换部分:AD转换主要是芯片的选择,0809芯片是并行传输的,占用的IO口太多,但是软件编写非常简单,正好手上有一个TLC1543芯片,它是串口传输数据的,虽然软件稍微复杂了一点,考虑到自身能力,决定选用TLC1543芯片来进行AD转换。单片机控制部分:AD转换的数字信号传入单片机,通过软件采用查表法进行处理,得出正确的距离。二、电路分析1.发射模块的电路设计由8051的定时器产生一个1khz的方波,用一个三极管驱动,将信号加载到红外发射管上。如图:Q1D112P3Header3GND+52.接收模块电路设计红外接收管接收到的信号只有一百毫伏左右,而且还有很多干扰,需要先放大再带通滤波,单片机只能接受数字信号,所以还需要通过峰值检波输出一个直流电压,经TLC1543芯片转换成数字信号输入单片机进行处理。关于放大电路设计:考虑到题目测量范围和接收到的信号大小,选取放大倍数为30倍左右,倍数太大回出现波形失真,使测量的最短距离变小,倍数太小信号强度不够,则能测量的最远距离会变小,放大倍数B=R4/R3=30;关于有源二阶带通滤波器的设计:令C=C3=C4,则req=R5//R6=(R5*R6)/(R5+R6)品质因数Q等于中心频率除以带宽即Q=fc/BW=1/2*req/7R由上边的公式,取中心频率f=1khz,增益A=5,品质因数Q=8,则令C=C3=C4=104,可以得到电阻值为R5=2.5K,R6=100,R7=25K;关于峰值检波电路的设计:考虑到电容值越大检波效果越好,但是放电速度越慢,经过测试,选取了20uf的电容和100k的电阻以及1n4148构成最简单的峰值检波电路。电路图及元件参数如下:12P1Header112P2Header220kR12.5KR5100R6100KR830KR4100kR21KR325kR7104C4104C320uFC51ufC1D11N4148814321U1ALM358AD847562U2BLM358ADGNDGNDGNDGNDGND+5-5104C2+5GND+5GND-5GNDGND3.单片机控制模块接收模块处理好的数据传入单片机,单片机先连续采样几次取均值,然后查表得出距离,再在1602液晶上显示。三、软件分析软件由4部分组成,信号产生模块、AD接收模块、数据处理模块和LCD显示模块,利用单片机的定时器0可以持续不断的产生1khz信号并输出,由于输出信号是稳定的,而接收管接收到的信号随着障碍物距离的变远而变小,所以我们可以通过检测信号的强弱来判断距离,但是接收到的信号并不完全是线性变化的,采用一个或者几个固定的公式并不能得出准确的距离,所以我采用提前把正确的距离和信号强弱的关系先测量好,建成一张信号距离表,这样测量时就可以查表快速得出距离。精度也方便控制。处理好的数据直接传送到1602液晶屏显示即可。流程图如下:四、调试和测试本次调试所用到的仪器设备主要:有示波器,函数信号发生仪,稳压电源。数字万用表。调试过程如下:首先调试发射部分,直接用示波器测量单片机输出的信号,为1khz;再调试接收部分的放大模块:先用函数发生仪模拟一个接收信号,把放大电路和滤波电路断开,测量358芯片的1脚,输入信号为1khz,100mv的正弦信号,用示波器测量1脚为1khz,2.8v的正弦信号,放大倍数为28倍,由于有信号衰减,放大部分正常;接下来调试带通滤波:把放大电路和滤波电路连好,输入函数发生仪产生的模拟信号,测量358芯片的7脚,得到一个稳定的正弦波,通过调节输入信号的频率,测得带通滤波器的中心频率为1.8khz,带通滤波器不正常。由于电阻自身的误差比较大,电容也有误差,再加上计算出来的电阻值没有刚好合适的,取得是相近的电阻元件,所以照成了较大的误差,我再在C3,C4上分别并联了一个相同容量的电容,再次测量中心频率变为880hz,截止频率400hz,这次滤波器可以满足要求了。然后接着测量整个电路的输出端,示波器打到直流档,调节信号强弱,发现检波电路工作良好。最后我修改程序将输出信号改为880hz,接入红外发射和接收管,直接进行最终的整合调试,解决一些电路连接上的问题后,将电压再液晶上显示出来,用米尺画出一张标准距离图,测量出电压和距离之间的关系并做成表,最终填入程序中,再验证距离和长度的关系是否正确。整个红外测距电路到此结束。五、心得总结该设计电路简单,精度为5mm,还可以进一步提高。在15到25cm精度可达1到2mm,虽然测量距离和超声波比起来短很多,但是精度高,适合短距离的高精度测量。但是当测量距离从近到远变化时,距离测量变化的灵敏度比较低,响应时间不够快。需要一个更好的峰值检波电路才能提高响应速度。六、参考文献和资料1.郭天祥编著《新概念51单片机c语言教程—入门、提高、开发、扩展全攻略》2.TLC1543编程实例——百度文库。3.《运算放大器电路设计手册》。