基于C8051F060的超声波导盲系统设计
扫描二维码
随时随地手机看文章
摘要:针对盲人日常行动的不方便,提出一种基于单片机的超声波导盲系统的设计方案,详细介绍设计的硬件部分。该系统利用C8051F060为核心硬件,主要包括超声波发送、接收以及信号处理三部分,能够识别出34 cm~3 m内的障碍物。该系统基于单片机控制,便于系统功能的进一步扩展,同时具有功耗小,成本低,软硬件资源丰富等优点,因此具有一定的实用价值和应用前景。
关键词:导盲系统;超声波;单片机;C8051F060
0 引 言
随着人民生活水平的不断进步,让生活变得越来越简单、方便成为了人民普遍追求的生活理念。盲人既是普通人民中的一员,又是一个特殊群体。他们由于先天的生理缺陷在日常生活中比常人会遇到更多的不方便,不能准确及时地躲避障碍物就是一个重要的弊端。如果有一根既轻巧,又便宜,同时又能及时地识别周围障碍物并发出报警信号的手杖在盲人的手中将会为盲人的生活提供极大的方便。同时随着计算机技术、自动化技术及工业机器人的不断出现,测距与识别技术在工业中已经得到了普遍的发展,如何把这种非接触式检测与识别技术应用与民用领域也变得十分重要。这里介绍的倒盲杖系统设计就是很好地结合二者产需的例子。
因为超声波传播速度慢,指向性强,能级消耗缓慢,对色彩、光照度不敏感,同时超声波传感器结构简单、体积小、费用低、信息处理简单可靠,易于小型化与集成化,并且可以进行实时控制,因此该系统采用超声波检测的方法实现对障碍物的识别。该设计是利用美国Silicon Laboratories公司的高性能、高集成度SoCC8051F060为核心硬件,通过其对外围电路的控制以自身强大的信号处理能力实现障碍物检测的功能。
1 系统构成及设计原理
该设计是利用美国Silicon Laboratories公司的高性能、高集成度SoC(System on a Chip)C8051F060为核心硬件。在手杖的着地端的前上方、前下方、左前方、右前方各安置一个超声探头,通过芯片与探头及外围电路共同组成的信号发送与识别系统完成导盲的功能。系统工作原理方框示意图如图1所示。
超声信号的工作频率是40 kHz,首先C8051F060MCU产生4路40 kHz的方波信号分别由换能器输送到手杖末端的超声探头。工作时第一个探头先发出16个周期的超声波信号,之后开始接收回波信号,回波信号先经比例放大后得到较大的信号,再进入自动增益控制部分,将信号放大为单片机能够识别的信号,然后再对信号低通滤波后送入单片机,然后第二个探头再发送16个周期的超声信号,以同样的方式接收处理,随后是第三个、第四个、第一个,如此循环发送接收。将两个探头发送时间间隔定为18.5 ms,这样除去发送时间、消余震时间与信号处理时间总计约2.9 ms,剩余的15.6 ms用来接收34 cm~3 m内的障碍物反射回来的回波信号。
2 硬件设计
2.1 超声波发送部分
大多数的超声波产生电路的设计都会采用硬件集成振荡电路实现,设计较为繁琐,精度不高,而该设计的超声波的产生由软件编程的方法实现。
C8051F060 MCU内有一个片内可编程计数器/定时器阵列PCA。PCA包括一个专用的16位计数器/定时器和6个可编程的捕捉/比较模块。每个捕捉/比较模块都有其自己的I/O线(CEXn)。当被允许时,I/O线通过交叉开关连到端口I/O,该设计就是利用了其中的四个捕捉、比较模块(CEX0~CEX3),通过交叉开关连接到端口P0.O~P0.3,因此可以独立的在P0.O~P0.3端口上产生40 kHz的方波信号。时间基准可以是下面的6个时钟源之一:系统时钟/12,系统时钟/4,定时器O溢出,外部时钟输入ECI,系统时钟和外部振荡源频率/8。实验证明应用外部振荡时钟源8分频作为时间基准较其他方法得到的方波信号更为精确、稳定。每个捕捉/比较模块可以被编程为独立工作在下面的6种工作方式之一:边沿触发捕捉、软件定时器、高速输出、频率输出、8位PWM或16位PWM,在此采用的是频率输出方式。
40 kHz方波信号由单片机产生后,经通用I/O口输出到换能器放大,再由超声波传感器的探头发出,四个探头的工作是轮流进行的。每一个探头工作时都是先发出16个周期的超声波脉冲信号,用时O.4 ms,然后消余震2 ms,此时开始接收回波信号,过15.6 ms后停止接收信号,再经过O.5 ms的信号处理时间后第一个探头的工作结束,转为下一个超声波传感器进行相同的工作。也就是系统仅接收信号发出后2~17.6 ms之间的回波信号,又因为超声波在空气中的传播速度约为340 m/s,也就是系统能识别的障碍物的距离范围在34 cm~3 m。
2.2 信号接收部分
信号发送出去以后若遇障碍物就会反射回来,即为回波。回波信号信号一般较弱,仅为几毫伏,该系统先将接收到的回波进行比例放大,使回波信号增大到几百毫伏。比例放大部分采用的芯片是CADEKAMicrocircuits的CLC4600运算放大器,CLC4600运算放大器据具有四信道,每通道供电电流消耗仅3.3 mA,具有300MHz的单位增益带宽。比例放大部分的电路原理图如图2所示。
由于障碍物的远近不同以及超声在空气中的衰减程度,得到的回波信号幅度会有所变化:越早接收到的回波信号越强,越晚越弱。针对不同时刻接收到的回波的强度不同,需要对信号进行不同倍数的放大,使放大后的信号都有相同的幅值,因此需要一个增益随时间变化可调的放大电路,这样的放大电路即为时间增益控制(TGC)电路。
该设计中TGC部分主要是由运算放大器与数字电位器相互配合共同实现的。运算放大器采用的是CADEKA Microcircuits的单路,低失调,轨到轨输入/输出放大器CLC1003。数字电位器选用美国ADI公司生产的AD8403A10,是一种具有数字接口的有源器件。可方便地与单片机相连接,用来精确调整其阻值。他可以代替电路中的机械电位器,从而实现操作上的智能化。采用固定数字电位器来控制放大电路的增益,可以用简单的线路,实现量程多极变化,并且具有很高的增益分辨率。AD8403A10是四通道的数字电位器,每通道的电阻的标称值为10 kΩ,有256个分支点,最小的电阻调整精度可达39Ω,采用两通道并联可将精度降至20Ω以内,每通道的不同分支点的处的电阻值都有相应的串行数据与之对应。将AD8403的两通道串联用来调节增益,另两通道串联用来调节偏执电压,当回波信号接收后,单片机通过向AD8403不断送入串行数据来调节不同时刻的增益,最终使得到的回波信号幅度在一定的范围之内。本单元的硬件原理图如图3所示。
信号经自动增益部分的处理后幅度增大至单片机可识别的范围。因为此时的信号还夹杂一定的高频噪声信号,因此需要一级截止频率为200 kHz的低通滤波器。该设计的低通滤波器采用的是选用美国Lineartechnology公司的8阶线性相位滤波器LTC1069-7。LTC1069-7是一个单片、时钟调谐、线性相位、8次低通滤波器。截止频率通过一个外时钟设置和等时钟频率除以25得到,因此要得到200 kHz的截止频率输入时钟频率为5 MHz。内部取样频率对截止频率比是50:1,LTC1069-7能工作在单电源5 V直至双±5 V电源。此部分的应用电路如图4所示。
从低通滤波器输出的信号送入MCU,单片机将此模拟信号经A/D转换后进行分析处理,如有障碍物的回波信息则发送报警信号。
3 软件设计
该系统的软件设计主要包括超声波信号的产生并选通发送、信号选通接收、TGC单元的控制、低通滤波器的时钟输入等四部分。根据C8051F060的资源及特点,方波信号的产生通过设置PCA中的特殊功能寄存器PCAOCN,PCAOMD,PCAOCPMn,PCAOL,PCAOH实现,其中PCAOMD寄存器可控制PCA的时钟源选择;PCAOCPMn寄存器可配置PCA捕捉/比较模块的工作方式;而PCAOL,PCAOH寄存器则用于控制信号产生与停止的时间周期。TGC单元的控制需要串行数据信号、片选和时钟信号,此部分通过设置SPI0中的寄存器SPI0CN,SPI0DAT,SPI0CFG,SPI0CKR实现。其中SPI0DAT用于发送和接收SPI0数据;SPI0CFG寄存器决定SPI0的工作方式;SPI0CKR决定时钟信号的频率。低通滤波器需要5 MHz的时钟信号,也由设置PCA中的特殊功能寄存器来实现。信号的选通接收部分则由通用的I/O口配合多路对模拟开关的控制实现。图5是该系统设计的软件结构流程图。
4 结 语
这里主要介绍一种基于C8051F060的超声波导盲系统设计,并详细介绍了设计的硬件部分,该系统经过实验测试表明满足设计要求。对于不同的障碍物类别,所得到的回波信号也有所不同,通过对采集的回波信号的分析能够得到更详细的障碍物信息,因此可开发成为能够对不同的障碍物进行识别的路障识别系统。