自动追踪红外线源机器人主要由三部分组成:红外线感应接收部分、微处理器和电机驱动部分。各部分功能:红外线感应接收部分检测载波频率为38kHz的红外线发射波;微处理器负责处理传感器输入的信号,并为电机驱动部分提供相应的方向控制信号;电机驱动部分驱动步进电机使机器人按照相应指令的方向前进。
红外线感应器选用小型红外遥控接收芯片TSOP1738,它支持所有主流的红外发射编码方式,单片机可以直接读取其解调后的信号;微处理器选用低功耗高性能的8位单片机AT89C52;单片机的I/O口输出电流不具备直接驱动步进电机的能力,因此步进电机的驱动选用具有8路达林顿对管的ULN2003;当红外线发射源位置不断变化时,红外线传感器TSOP1738的输出也随之不断变化,此时单片机可能无法及时处理TSOP1738输出的数据而造成数据丢失,因此需要一个数据锁存器,该锁存器选用具有单稳态多谐振功能的74121。
电路设计
红外线传感器电路下见图。在机器人左、中、右三个方向放置传感器以检测红外线发射源的位置,当某个传感器接收到红外线源后输出一个下降沿至74121的 4脚A2端,根下据图中电容C4、C5、C6的参数,74121的6脚输出一个保持时间大约为100ms的高电平,单片机以此高电平信号作为修正方向的依据。
微处理器和电机驱动电路见下图。单片机的P3.1、P3.2和P3.2分别与左、中、右三个方向传感器的输出相连,三个传感器输出共有8种组合,单片机根据不同的组合状态修正机器人的前进方向,其修正方向和传感器输出组合的关系见方向修正真值下表。
从真值表中可以清楚的看到当三个传感器输出都为0时,也就是真值表中的“000”状态时单片机控制机器人顺时针方向旋转以寻找红外线发射源;当输入为“001”状态时单片机控制机器人向右前进;当输入为“110”状态时单片机控制机器人向左前进;当输入为“111”状态时单片机控制机器人向正前方前进;当输入为“101”状态时,代表机器人正前方的传感器被障碍物阻挡,单片机控制机器人向左方向旋转以避开障碍物,也意味着当有障碍物阻挡机器人前进时机器人可以自动绕开障碍物并重新寻找红外线发射源。