走迷宫机器人——控制系统的设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

走迷宫机器人——控制系统的设计

上海交通大学:钱真彦(F9903406班)苏稚英(F9903501班)

摘要

走迷宫机器人主要是基于自动导引小车(AGV——auto-guided vehicle)的原理,实现小车识别路线,判断并自动规避障碍,选择正确的行进路线。导引方式采用与地面颜色有较大差别的导引线,使用反射式光电传感器感知导引线,障碍判断采用机械式传感器。驱动电机采用直流电机,电机控制方式为单向PWM开环控制。控制核心采用51单片机,控制系统与电路用光耦完全隔离以避免干扰。控制上采用分时复用技术,仅用一块单片机就实现了信号采集,路线判断,电机控制。该技术可以应用于无人工厂,仓库,服务机器人等领域。

总体规划

对于走迷宫小车控制系统设计主要有三个方面:一、控制电路设计;二、传感器选择以及安放位置设计;三、程序设计。从总的方面来考虑,传感器的使用数量应该尽量少以减少单片机的信号处理量,但是又必须能使小车行驶自如。控制电路要根据选用的电机和传感器来设计,主要考虑稳定性,抗干扰性。

一、电路设计

控制电路主要有电机驱动电路,单片机接口电路,电源电路三个部分。考虑到电机的起动电流和制动时比较大,会造成电源电压不稳定容易对单片机和传感器的工作产生干扰,所以,电机驱动电路和单片机以及传感器电路用光耦隔离。传感器的电源直接使用24V蓄电池,单片机的电源则通过7805将24V电源转换到5V。这里主要对驱动电路进行一下介绍:

小车使用24V直流电机,对于这种小功率直流电机的调速方法一般有两种。

(1)线性型

使用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,成本低,加速能力强,但功率损耗大,特别是低速大转距运行时,通过电阻R的电流大,发热厉害,损耗大。

(2)脉宽调制

另外一种是较常用的脉宽调速(PULSE WIDE MODULATION——PWM),这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转的等优点。

因此决定采用PWM方式控制直流电机。PWM调速分为双向式和单向式两种

①双向式

图一即为较常用的PWM调速电路,在一个脉冲周期内(T=Ta+Tb),T1和T3导通的时间为Ta,T2和T4导通的时间为Tb,这样在Ta这段时间内,电机通过的是正向电流,在Tb这段时间内为反相电流。当Ta=Tb时电机停转,Ta>Tb时电机正转,Ta

图一

②单向式

单向式的电路更双向式相同。不同的是,在电机正转时,Tb这段时间内不通过反向电流,电机反转时,Ta内不通过正向电流。其调速原理基本与双向式相同。单向式与双向式相比,三极管的开关频率少一半,比较不容易发生上下三极管导通而造成电源短路的情况,故可靠性有所提高,但控制性能比双向式稍差。外特性、低速性能也不如双向式好。

图二图三

如上左图所示为双向式调速方式下速度与占空比关系曲线,右图为单向式调速方式曲线。综合以上两种方式的优缺点,并考虑到走迷宫机器人对调速精度不太高,以及省电,器件损耗等各方面因素,决定采用单向式PWM。考虑到编程时可能会产生使T1、T2、T3、T4都导通的情况,以至电源短路,烧毁器件。为避免出现这种情况,设计了图四所示的电路。此电路只用一个三极管控制电路的通断,用四个继电器控制电流的流向,从而控制电机的转向。这样无论如何,都不会出现因编程原因而造成电源短路的情况。

由于采用单片机控制电机,如果单片机的电源采用与电机同一电源,虽然经过稳压、滤波,但是单片机仍然容易受到电机以及继电器的干扰,为了避免干扰,采用光电隔离,单片机和电机采用两套电源。如图二红色方框所示,4N26光耦一般需要2mA以上的驱动电流,由于单片机的输出电流只有几百微安,故需要先接74LS245或者接一个三极管增加驱动能力(74LS245的高电平驱动能力为15mA)。光耦的输出再接给达林顿管,考虑到电机的短路电流有2A,故选用TIP132型号的达林顿管(允许通过的最大瞬时电流为8A)。另外在达林顿管的C极和电源的正极之间接一个耐流为2A的二极管(蓝色方框中),这样在关断电源后,使继电器反相,可以让电机放电,这样小车不至于因为惯性而滑行太远(实验证明,如果不加二极管,同样的初速度,小车要在断电后继续前进20-30cm,如加了二级管则只要继续前进10cm左右)。

考虑到走迷宫机器人对电机转速,距离控制的要求不高,为了简化程序和外接电路,所以没

有考虑采用闭环PWM控制,用开环PWM控制就可以实现小车的功能。

图四

二、传感器:

1、传感器的选择:

小车要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当与给小车一个视觉功能。实现机器人的视觉功能有多种方式,有使用CCD摄像头进行图象采集和识别方法,但是此方法,在资金上耗费较多,而且还牵涉到图象采集,图象识别等领域,为了简单起见,使用多个反射式光电传感器。反射式光电传感器的光源有多种,有来自于红外发光二极管,普通发光二极管,以及激光二极管,前两种光源容易受到外界光源的干扰,而激光二极管发出的光的频率较集中,传感器只接收很小个频率范围内的信号,不容易被干扰。对于障碍物的检测方面,可以使用超声波传感器,效果也较好,但相比之下,用机械式的传感器(微动开关)价格便宜,使用方便,无需提供电源。

 

图五

2、传感器安放位置

(1)机械传感器:

放置在小车的最前端,当小车碰到障碍物后者墙壁时,机械传感器就能给单片机一个中断信

号,通知单片机遇到障碍,需要改变方向。

(2)光电传感器摆放位置:(如图六)

中间四个传感器用来检测小车是否走偏,前面两个用来判断小车是否到达路口,后面两个用

于转弯时,小车的位置调整。

图六

下表列举了几种主要传感器输入情况:

三、程序设计

主程序主要起到一个导向和决策功能,决定什么时候小车该做什么。小车各种功能的实现主要通过调用具体的子程序。子程序有以下几个:

(1)检测光电传感器子程序:根据需要直接从端口读取即可,不过为了防止出现干扰和错误信号,采用延时读取的方法,即在第一次读取后延时一段时间再读取,如果第二次读取的信号和第一次的不一样,则说明可能存在干扰信号,就重新读取并比较,直到两次读取的信

相关文档
最新文档