智能循线避障小车
同构2.2.1中各种方案的比较可以发现,如果传感器和电机电路均采用对应的方案二,则可以达到预定目标。在设计过程中,我们对以上方案均搭建电路予以实现,结果表明后者方案较为适合。因而,综合以上描述可得以下结构框图:
电机驱动系统 黑线检测电路 红外接收电路 红外发射电路
图5 循线避障小车系统的结构框图
其各自对应的电路框架在前述部分中已给出,此处不再赘述。
电电源源3. 工作原理与功能实现 3.1 工作原理 3.1.1循线原理
循线的过程其实就是不断判断循线传感输出电压值并做出相应判断的过程。根据场地信息的不同,可以将循线分为两个部分:
1)循线行进:黑线较为平缓,没有太大的转弯(转弯角度不超过270度)。这种情况,不需要依靠左右两端的转弯辅助探头,只要当左侧偏转探头探测的黑线时,右侧轮子加快速度,从而使小车前进方向向左偏转;同理,当右探头偏转探头探测到黑线时,则相应的左轮加快速度,右轮减慢速度,使机器人前进方向向右偏转。所以说,小车所谓的循线前进,其实是一次次摇晃前进的宏观表现。
ARM7
图6 循线行进原理图
2)循线转弯:当出现较大的转弯(需要一次转弯超过270度)。这种情况是通过左右两端
6
智能循线避障小车
的转弯辅助探头分析出来的,其实是过程如下图所示:
图7 循线转弯原理图
同一侧的盘转探头和转弯探头同时探测到黑线,小车判断为转弯状状况。小车先低速(通过PWM控制,以50%的速率前进一小段距离)与转弯方向异侧的轮子前进,同侧的轮子以与一侧轮子相同的速率倒退,这样,小车便会绕着两个轮子中心连线的中点原地转弯。 内侧(转弯方向一侧)偏转探头探测到黑线后停止转弯,恢复到循线前进状态。
3.2.2 避障原理
为简化避障控制系统,这里选用直流减速电动机且实施开环控制,但是,这样不免带来控制不精确的问题,尤其是在绕过障碍物的过程中,采用开环控制,通过计算时间来实现避过障碍物的方法会遇到很多意想不到的问题(例如,电源电降低后,转过一定角度的时间会相应增加)。
这里为了简化,只给出简易的三种避障方式:前方障碍、左方障碍和右方障碍。下面分别对其加以阐释。
1)前方障碍: 当在小车前行的方向上存在障碍物时,车身前方的红外传感器探测到障碍物。考虑到小车采用前轮驱动控制,如果此时后退,由于后面万向轮的转动方向此时可能会出现不确定的情形,导致控制失败。因而,设计中采用“暂停“的方法——当小车探测到障碍时,电机停止运转;当障碍物撤离时,电机恢复原有状态。具体示意图,如图10所示:
障碍物
图8 前方障碍原理图
2)左方障碍: 当在小车前行的方向的左边存在障碍物时,车身左方的红外传感器探测到障碍物。考虑到小车控制的精度问题,这里只采用简单的左转弯控制,即右侧车轮加快速度,左侧的车轮反向加速,从而使小车前进方向迅速向左偏转。具体示意图,如图11所示:
7
智能循线避障小车
障碍物
图9 左方障碍原理图
3)右方障碍: 当在小车前行的方向的右边存在障碍物时,车身右方的红外传感器探测到障碍物。考虑到小车控制的精度问题,这里只采用简单的右转弯控制,即左侧车轮加快速度,右侧的车轮反向加速,从而使小车前进方向迅速向右偏转。具体示意图,如图12所示:
障碍物
图10 右方障碍原理图
3.1.3 PWM调速原理
在PWM驱动控制的调整系统中,通过改变输出电平的占空比D,可以达到调整直流电机电枢上的平均电压大小,从而控制电动机的转速。当小车运行的时候,遇到偏转或者转向的问题,PWM控制可以实现对电动机的转速控制,从而能够平稳改变转向。
本设计中的PWM实现,采用中断和查询相结合的方式实现。即通过定时器中断,产生“PWM时间单位”,采用查询通用寄存器的方式,改变一个脉冲周期内低电平和高电平PWM时间单位的个数,从而实现占空比D的改变。如下图,每个矩形即为一个“PWM时间单位”,蓝色的矩形为高电平,是电压实际作用的时间。虽然这样不能够实现直流电动机的无级调速,但是如果中断周期(“PWM时间单位”)足够小,调速的范围还是可以接受的。本设计中采用4路独立PWM波单独作为电机控制芯片的输入信号,从而实现直流减速电机的速度控制。如下图所示,图中给出了设计中的一路PWM波形信号。
Vout/vVCC2Dt/sT图11 PWM输出电平变化图形
8
智能循线避障小车
3.2 功能实现 3.2.1 机械结构实现
为实现对小车运动的简易控制,车身底盘采用“T”形结构,即前面为两个并列直流电动机,后面为以万向轮座位支撑轮。小车的前进、后退及转向都由前轮完成。同时采用分层结构,上层安放电路板,下层安放处理芯片,两着之间采用联接带相连,方便安装盒拆卸。 其对应车身底盘示意图如下所示:
驱动轮底座D 循线探测器C万向轮BA30rad/s直流减速电机
?
图12 小车车身底盘机械结构图
电动机:考虑到本设计中电机的控制尚未采用电机控制盒(即闭环控制系统),采用输出转速为30rad/s的直流减速电机,通过慢速前行实现控制目标。 车轮:前轮(驱动轮)和后轮(万向轮)皆从市场上购买。
参数:前轮直径D?4.2cm; 内侧间距l?10.4cm; 后轮直径D?2.5cm 车身底座:由于小车主要是在平地上移动且移动速度较低,在保证底板耐用的同时又便于加工,可以采用木板作为底板。此时所有的机械结构皆安装于底板之上,经过多次尝试,最终选择3mm厚的三合板。
参数:底板高度h?3cm; 厚度a?0.3cm; 分层支架:采用柱形螺母支架,方便安装和拆卸。 参数:支架高度H?4.6cm 7路传感器位置参数:
侧面传感器距地高度:H=12.6cm; 前面传感器距地高度:H=12.8;
长?宽=22?11.2cm
?
?
?
?
底部传感器距地高度:0.4cm; 侧面传感器感应距离:8.9cm.
3.2.2 系统电路实现
综合以上各部分功能原理分析可得以下系统电路,主要分为三部分:传感器电路、电机驱动电路和主控器芯片连接电路,下面将分别从这三方面加以分析。
3.2.2.1 电路模块设计
在一块电路板上将电路模块分为5块。周围一圈是输入线和地线,这样的排布既方便电路连接又方便检测。
9
智能循线避障小车
++-- 图13 电路板上的模块分布
3.2.2.2 系统电路设计
综合第二部分中关于系统电路方案的设计思路,可得以下系统总电路图,如下所示:
VCCVCC150?Front10K?5.1K?LED红色LED绿色LM39310K?150?LM31128+3-5.1K?150?10K?8124TCRT50007I.21LM39343Rc10K?Rc4和1I.18104ST1685ST168Rc10K?-7LM393+485.1K?I.17B传感器VCCVCC150?10K?C传感器Left5.1K?LED红色LM31128+3-5.1K?10K?150?150?10K?8124TCRT50007I.22I.20LM39343Rc10K?Rc4和1104ST1685Rc10K?ST168-7LM393+485.1K?I.19A传感器VCC10k?D传感器Right150?10K?5.1K?LED红色1PWM116VCC1PWM3231514LM31128+3-TCRT50007I.1630rad/sM45L293D1330rad/sM10K?4和11211Rc104PWM2VCC2678109PWM4L293D电机驱动芯片电路 图14 系统总电路图
10