早期作品-红外测距电路设计

Posted by LuckXiang on May 4, 2018

谁都有个牛逼的过去,然而永远无法证明。记得曾经在学校也是被封神的存在,电子设计领域的带头大哥,人称翔神…….,然而每天忙着研究,鲜有在网上留下记录,随着大四毕业电脑爆炸,当时又为情所困,自暴自弃。所有的东西随着电脑的火花消逝而去,灵魂倒是得到了解脱,然而很多东西一去不复返了。最近偶然在朋友圈发现了一张图,应该是校工程训练中心第一次招生的考核题,当时我这个是得分最高的作品,真美。当时很多人做不出来,网上也没什么资料,我就把设计过程传到了文库,想着赚点分。哈哈,反倒是留下了唯一的纪念。

文库地址:红外测距电路总结报告

摘要

本次设计任务是设计一个红外测距电路,它由硬件和软件两部分组成,硬件部分包括发射模块和接收模块,先由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的方波,用一个三极管驱动,将信号加载到红外发射管上。如图:

2.接收模块电路设计

红外接收管接收到的信号只有一百毫伏左右,而且还有很多干扰,需要先放大再带通滤波,单片机只能接受数字信号,所以还需要通过峰值检波输出一个直流电压,经TLC1543芯片转换成数字信号输入单片机进行处理。 关于放大电路设计: 考虑到题目测量范围和接收到的信号大小,选取放大倍数为30倍左右,倍数太大回出现波形失真,使测量的最短距离变小,倍数太小信号强度不够,则能测量的最远距离会变小, 放大倍数B=R4/R3=30; 关于有源二阶带通滤波器的设计: 令C=C3=C4,则req=R5//R6=(R5R6)/(R5+R6) 品质因数Q等于中心频率除以带宽 即Q=fc/BW=1/2 由上边的公式,取中心频率f=1khz,增益A=5,品质因数Q=8, 则令C=C3=C4=104,可以得到电阻值为R5=2.5K,R6=100,R7=25K; 关于峰值检波电路的设计: 考虑到电容值越大检波效果越好,但是放电速度越慢,经过测试,选取了20uf的电容和100k的电阻以及1n4148构成最简单的峰值检波电路。 电路图及元件参数如下:

3.单片机控制模块

接收模块处理好的数据传入单片机,单片机先连续采样几次取均值,然后查表得出距离,再在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.《运算放大器电路设计手册》。