本文针对小车采用传统光循迹电路的两点不足,提出了一种高可靠小车红外光循迹电路的设计方案。该方案用低占空比强红外光调制发射能克服环境光线的干扰;再对光接收信号进行交流放大后解调能进一步克服环境干扰;采用逐个循环发射、接收能克服光衍射对相邻光敏管的干扰,最后给出设计方案的电路结构框图及部分电路图。经分析该方案避免了传统设计繁琐的调试工作量,可以满足各种环境光线的应用。
0 引言
历届全国大学生电子设计竞赛、全国职业院校大学生职业技能竞赛、飞思卡尔杯全国大学生智能车竞赛几乎都包含小车类的赛题。小车类赛题大部分又都有循迹的要求。循迹的方法一般可分为光控循迹、摄像循迹控两类。光控循迹成本低、软件设计较为简单,设计制作周期短;摄像控循迹则相反:成本高,软件设计复杂,设计制作周期长。小车采用传统光循迹电路的两点不足也是显而易见的:一是容易受环境光线的影响而照成误判;另一点是由于光衍射现象的存在又容易被相邻的光敏管接收而造成误判。本文就此两点不足提出一种高可靠小车红外光循迹电路的设计方案以解决此问题。
1 传统光循迹小车电路结构
1.1 小车循迹简介
所谓小车循迹,就是在白纸上画出黑色的线条,称为赛道;小车沿着赛道按要求(可以做一些指定的任务)行进时,能自动识别赛道并按赛道线条行走,称为小车循迹。如图1所示,该赛道是2010年全国职业院校大学生职业技能竞赛月球车竞赛项目湖南赛区赛道图。
一般的,小车底部安装一排(或几排)红外光发射、接收阵列用于检测赛道,从而控制小车能沿线行走。光发射、接收阵列要与赛道成十字交叉排放,有的也做成弧形或倒“V”字型排放。这一排红外光发射、接收阵列的数量越多越密,控制小车跑起来越稳,但编程时算法越复杂。一般少则四、五个,多则十来个,如图2 所示。也可以采用双排甚至多排设计。
1.2 传统循迹小车红外光发射、接收电路
传统的红外光发射、接收电路的发射部分用直流电流驱动,接收部分采用比较器。比较器的一个比较点用电位器调整直流电位,另一个比较点接光敏管的输出端,这种简易做法往往也能满足简单比赛要求。但抗干扰能力较差。
一路传统简易循迹电路图如图3所示。
采用红外光作发射接收的目的是为了减少环境光线的干扰,但若不采取辅助措施,当环境光线较强时,并不能很好的克服环境光线的干扰;另外,还需采取措施克服相邻收发对管的光衍射干扰。
2 红外光循迹设计原则
2.1 选择合适的光发射驱动电流
一般应将发射电流设计在发光二极管的最大正向电流允许值IF 上。发射的红外光线强度提高了以后,环境光的红外成份占总光线的比例就减小了,可以克服一部分环境光干扰。但是,过于提高发射光电流,会产生较大的热量,使发射管光衰现象加剧。
要想既提高发射电流,又使发射管安全工作,则可以采用低占空比脉冲调制发射。
2.2 脉冲调制式红外发射和红外接收效果分析
环境光中的红外成份表现出来的是直流分量,采取调制式[4]红外发射措施后,调制接收电路接收的是调制信号,可以将环境光中的直流分量滤除。
2.3 采取低占空比脉冲调制红外光发射的优势
红外光敏三极管接收灵敏度并不因红外发光二极管发射信号的占空比降低而降低。降低红外发光二极管发射信号占空比后,可以在红外发光二极管上施加较大电流,甚至可以大大超过红外发光二极管的最大允许正向电流IF ,而不会损坏红外发光二极管。增加的那部分电流相当于红外发光二极管的发光强度大大加强了,则抗干扰能力也进一步加强。
2.4 采取稳定的38.5 kHz频率调制发射的红外光
红外调制光信号在调制频率为38.5 kHz时,红外光敏接收灵敏度最高。
为获得较稳定的38.5 kHz的调制频率,应避免用电阻、电容和电感等分立元件配合非线性器件组成振荡电路作调制信号,应采用晶体振荡器或有源晶体振荡器配合非线性元器件作振荡电路。
用晶体振荡器作MCU 的外部晶体,用编程的方法启动38.5 kHz/10%~20%占空比的PWM 信号作调制振荡信号;也可以用晶体振荡器配合非线性器件进行振荡、分频后获得38.5 kHz/10%~20%频率和占空比。
2.5 采用交流放大电路作红外接收放大器
即使调制光受到环境光的淹没,但是调制光并没有因此而消失。接收信号后送交流放大器放大,被淹没的调制光信号仍可得到复原,而直流成份的环境光被交流放大器阻挡,这就有效还原出了被淹没的有效红外光,克服了强环境光的干扰。
2.6 采用巡回开通某一路发射接收克服光衍射
压线的那一路原本不应该接收到信号,而相邻没压线的那一路还在继续发光。由于光衍射,相邻没压线那一路发出的红外光很容易衍射到压线的那一路红外接收管,导致判断失误,从而引起干扰。
当巡回开通某一路时,任何时候只一路发光,检测电路也仅接收这一路的信号,即使这时候发光的那一路衍射到压线的接收电路,但MCU 并不去读取被衍射的那一路。这就克服了相邻通道的衍射干扰。这时要注意软件设计时采集一个巡回的周期时间要恰当。
3 高可靠红外光循迹电路设计
3.1 低占空比脉冲波38.5 kHz/10%~20%脉冲波形成
遵循2.4节设计原则,第一种方法采用具有PWM外设的单片机启动PWM 模块产生脉冲波,不建议用纯软件产生该脉冲波。产生的波形应满足图4所示的时间参数要求。
第二种方法采用有源晶振(可省去振荡电路,简化电路设计)1.544 MHz(经2 级二分频)或11.059 2 MHz(经5 级二分频)后,分别产生386 kHz 或345.6 kHz 方波,后接十进制计数/分配器或九进制计数/分配器,从Q0~Q7任意引脚即可产生38.6 kHz/10%或38.4 kHz/11%占空比的脉冲波(脉冲频率均误差0.1 kHz,占空比一个是10%,一个是11%)。电路图如图5所示。
3.2 红外光发射控制电路设计
小车红外光循迹电路采用8路已经可以满足较复杂竞赛的要求。按照设计原则2.6,矩形脉冲最好不要同时驱动光发射电路,需要一路一路轮流发送并保持一段时间。
采用两个74HC4081 四与门控制脉冲信号传送给ULN2803八反向OC驱动器驱动红外发光二极管,每一路可输出500 mA.74HC4081 与门的另一个输入端接MCU控制选通。如图6所示。
红外发射接收采用一体化封装的TCRT5000对管,电流传输系数》20%,发射管最大持续允许电流IF 为60 mA,脉冲电流在1 μs/1%占空比时允许3 A.脉冲信号经红外发光管发射后,经地面反射,送到光敏三极管从发射极输出。如果地面为白色,绝大部分信号(脉冲)都能传递给光敏三极管;如果地面为黑色,光线被吸收,则几乎没有信号能传递给光敏三极管。
控制每一路持续工作的时间应保证让红外发光二极管发出10~20个脉冲,使后续解调器能可靠解调。可以算出循环一周共8路所需时间:
T=([ 1 38.5 kHz)×(10~20)]×8=2.08~4.16 ms.
3.3 放大器电路设计
由于有8个光发送接收对管,图6中仅显示出1路,如果只想用一个放大器和后续的一个脉冲频率解调器,则需要模拟开关来一一选通。为了和图6共用选通信号,采用两片74HC4066(也可以用一片74HC4051,但这时就不能共用74HC4081选通信号了,既浪费了MCU的IO口,编程也较为复杂些)。
按2.5节所述要采用交流放大器的原则,这里采用零漂移双运算放大器AD8552,一个单元接成反向比例运算电路,另一个单元实现输出中点电位给放大电路作参考“地”。电路如图7所示。可通过反馈电阻调整其放大倍数。
3.4 信号解调
信号解调采用标准38.5 kHz解调器CXA20106,装置中增益控制和中心频率控制用的电容器尽量采用精密低损耗无极性电容器,最好采用CBB 电容器。电路结构图如图8所示。
4 结语
按照本方案所介绍的红外光循迹设计原则所设计、装配的电路,可以满足绝大多数较复杂竞赛现场的需求。现场竞赛时抗干扰能力较传统电路相比大大加强了,既克服了环境光线的干扰,也克服了临近红外循迹发光管的衍射干扰。电路调整比传统电路更加简单:仅需调整放大器的放大倍数这一项,且一次性调好,避免了传统设计繁琐的调试工作量,可以满足各种环境光线的应用。由于任一时刻只需发出一路强红外光,并且还是低占空比的调制光,所以不但不会因为采用强红外光造成成车体电池供电不足,相反的,若干个循迹发射二极管轮回通电比传统的循迹电路一组多个一直通电的情况更省电。