二、需求分析
 能在测距范围上弥补 GP2D12 的不足,将距离延伸到 80cm以外;
 可以提供给大学生和爱好者 DIY,具有学习功能;
 方便自己随时修改程序,使学习的作用得以充分发挥;
 成品具有一定的使用价值,可方便的应用于小车等需要测距的装置上。

三、概要设计
  总体设计参照 SensComp公司( 
图1  工作原理框图


  框图中,单片机为核心控制部分,根据设定的工作方式,产生40kHz方波,经过驱动电路驱动超声波发生器发出一簇信号。单片机此时开始计时。

  接收回路为谐振回路,将收到的微弱回波信号检出,送信号放大电路放大,收到产生脉冲输出送单片机中断端,单片机收到中断信号后停止计时,计算出距离值,保存等待读出或直接经UART送出。接收过程中,单片机定时控制放大电路的增益,逐渐提高,以适应距离越远越弱的回波信号。

  核心器件为STC12LE4052、TL852、16mm超声波收、发器。
采用5V供电,因为5V是最常见的工作电压,便于日后将传感器应用于装置中。
为了减小干扰,选用了3.3V供电的单片机,使用目前常用的1117-3.3三端稳压器将5V降到3.3V,减小电源扰动的影响,增加可靠性。

  下面分步介绍各个部分的电路原理。
  首先是超声波发射部分。


 
图2   超声波发射驱动电路


  图中,Send_Ctrl、Cut_Off端由STC12LE4052控制。此单片机的I/O口可设置为推挽输出模式(这是经典51不具备的),拉电流、灌电流均可达20mA,保证了D882有足够的驱动能力和快速的通断性能。
  变压器的次级电感与发射器(发射器为容性,一般为2400p左右)构成谐振回路,好处是提高了发射效率,但副作用是发射后的余波时间较长,导致近距离的回波被淹没。所以电路中设计了2种余波抑制电路。一个是R6,通过增加谐振回路的损耗加速余波结束,这种方式不需要控制,但由于同时也消耗了发射的功率,所以阻值不能太小,导致衰减效果不明显(此部分读者可自行试验)。
  另一个电路由R4、R5、P1构成,由单片机控制,在发射完脉冲后将P1导通,强制短路变压器初级,快速消耗掉谐振能量,达到消除余波的目的,电阻R5越小,效果越好,但带来的问题是:如控制失灵,会导致短路,烧坏P1或N1。
  所以在电路中设计了一个跳线器,在软件没有调试好之前断开,避免无谓的损耗。
  变压器升压比设计为20倍,实际输出电压约为 50V峰值。

控制部分采用MCU,如下图所示:


 
图 3  单片机控制电路

  STC12LE4052为一种改进型的51兼容单片机,指令集及主要架构与经典51相同,硬件资源略有增加:
1) 增设了2通道PCA(可编程计数器阵列),弥补了经典51定时器功能“偏弱”的缺陷。
2) I/O口改进为可设置方式,支持:51准双向、高阻输入、OC输出、推挽输出 四种模式,简化了外部硬件设计。
3) 硬件SPI接口,本设计中暂未使用,但PCB上引出了,有兴趣者可尝试之。
4) 指令速度大大提高了,将原来的12时钟为一个机器周期改进为 2 – 3个时钟周期,指令速度平均提高为原来的8倍左右。
5) 计时时钟保留12分频模式,新增了2分频模式,提高了计时精度。

  后两点对于超声波测距应用有益,指令速度快可减少响应延时的不确定,计时精度高可提高分辨率。
MCU端口资源分配如下:
P10 - P13 —— 控制TL852增益,设置为OC输出,852内部有上拉电阻(见图5)
P14 - P17 —— 保留
P30(RXD)、P31(TXD) —— UART通讯
P32(INT0) —— 接SOUT端,作为超声波发射时的852输出抑制,置为OC输出。
P33(INT1) —— 超声波接收输入,设置为输入
P34 —— 产生超声波发射方波,设置为推挽输出模式
P3.5 —— 控制P1,用于衰减余波,设置为OC输出模式
P37 —— 工作指示灯,设置为OC输出模式

  关于P32控制 SOUT端的作用,请阅读TL851资料。


 
图 4  接收回路和信号放大、检出电路

  这个电路是超声波测距的核心。因为产生波形和计时都容易解决,而准确的检测出回波信号才是决定传感器是否成功的关键。为便于理解上图,将TL852 的内部原理框图列出:


  
图 5  TL852 内部功能框图

  读者可对照TL852 数据手册分析其工作原理。从图中可以看出,图4中的R7、R8为运放的输入、反馈电阻,通过改变两者比值可方便的改变灵敏度,故将R7、R8设计为直插器件。
 

图6 TL852输出信号处理电路


  图6所示电路是为了将TL852的输出转换为单片机需要的中断信号,U4A构成了一级同相跟随器,是为了隔离后级对C14积分电路的影响。U4B构成一个比较器,理解此部分可参阅下面的TL851框图。


 
图 7  TL851内部功能框图

  图中,8脚应接在SOUT上,1.2V基准电压等效于图6中的2个1N4148串联,因为硅PN结的正向压降为0.6V。第9脚ECHO输出相当于图6中的U4B的第7脚输出。BLNK、BINH端子都是为了抑制发送时的信号,此部分在本设计中由单片机完成,单片机的P32口置为OC输出,就是为了替代图中接在8脚和3脚之间的三极管,实现对积分电容C14放电,为测量做准备。
如读者希望进一步了解这部分的工作原理,可对照6500模块的原理图和TL851、TL852 数据手册仔细研读。