文/杨贤聪
循迹原理设计:使用三个红外发射与接收对管,其中一只安置于设计的循迹轨道中,另外两个分别位于中间光电管的两侧,若小车行驶脱离了循迹轨道,将会使得两侧的光电管中的一侧检测到黑线,由设计的程序做出相应的转向动作,使之中间的红外管重新检测到黑线,此时恢复正常直线行驶。
光电循迹小车主要由STC89C52RC单片机、HJIR1循迹功能单元、L298N驱动模块、电机两个、对应电源等构成。
循迹模块的原理为红外探测法,具体为利用红外线对不同颜色的物体产生不同的反射系数的原理。红外管在运行中不停地向地表发生红外线,由于小车行驶在白色的既定地面,当其正对着地面之时,白色地面会产生漫反射,使光电接收管能有效接收到红外信号,当其正对着黑色循迹线时,红外线则被黑线吸收而使得邻近的光电接收管不能接收红外信号,通过LM393比较器以采集高电位或低电位,如图1所示。
对于电机的驱动电路,我们采用H桥式驱动电路,L298N模块集成了所需要的H桥电路结构,我们可以利用它来进行对电机的控制。单片机普遍具有PWM信号功能,利用PWM实现对L298N的信号控制,进而控制驱动电机。
具体的电机的驱动电路如图2所示,我们使用的是一个L298N模块对两个主动轮的电机进行控制,通过交换电机的两极电位以实现电机的正反转控制,改变电平可以实现其启动或停止,正转或反转。
光电循迹小车的控制核心为STC89C52RC单片机,通过对单片机进行C语言的编辑和烧写,实现其逻辑控制功能。我们使用C语言和结构化设计思路来完成。红外管的具体逻辑为:光电接收管接收到红外反射信号,与之对应的发射管端口会形成高电位;反之当光电接收管接收不到发出的红外信号,即此时正对着黑色循迹轨线,与之对应的发射管端口为低电位。总体程序设计示意图如图3所示。
循迹小车在芯片的控制之下能够实现电机控制功能:若使能端口enA为高电位,给芯片的管脚IN1给予低电位而IN2为高,此时控制电机为正向转动。反之,IN1高电位IN2低电位,反向转动;两者同时为低电位,停止转动工作。
光电循迹小车原理虽然简单易懂,也很容易制造,且成本低廉,然而其却是更为智能化与精确的自动驾驶小车的基础技术与灵感来源,通过改进升级光电循迹小车的性能与智能程度,可以为未来的自动驾驶技术提供参考,并未来应用于更为智能的智能家居设备或其他消费类电子产品。除此之外,光电循迹小车的设计灵感与理论基础还可用于更多的方面,因此改进升级光电循迹小车具有更为深远的意义与影响。
图1:循迹传感器原理图
图2:直流电机驱动电路
图3:程序流程图