- 积分
- 6
- 注册时间
- 2003-11-6
- 仿真币
-
- 最后登录
- 1970-1-1
|
发信人: whmxx (天之痕), 信区: Robot
标 题: 走迷宫机器人的控制系统设计(zz)
发信站: 兵马俑BBS (Sat Dec 6 13:04:39 2003), 本站(bbs.xjtu.edu.cn)
这篇文章比较详细的介绍了一种机器人的设计过程,贴出来与大家分享。初学者
可以有一些有关机器人设计和实现技术的知识的了解。
我上个学期做的一个PRP项目论文,第一次写论文,有什么不对还请大家指点一二
里面也存在一些错误,给大家看看,提提意见,希望有一些值得给大家参考的地方
另外没办法附上图片
走迷宫机器人控制系统的设计
摘 要
走迷宫机器人主要是基于自动导引小车(AGV--auto-guided vehicle)的原理,实现小
车识别路线,判断并自动规避障碍,选择正确的行进路线。导引方式采用与地面颜色有
较大差别的导引线,使用反射式光电传感器感知导引线,障碍判断采用机械式传感器。
驱动电机采用直流电机,电机控制方式为单向PWM开环控制。控制核心采用51单片机,控
制系统与电路用光耦完全隔离以避免干扰。控制上采用分时复用技术,仅用一块单片机
就实现了信号采集,路线判断,电机控制。该技术可以应用于无人工厂,仓库,服务机
器人等领域。
总体规划
对于走迷宫小车控制系统设计主要有三个方面:一、控制电路设计;二、传感器选
择以
及安放位置设计;三、程序设计。从总的方面来考虑,传感器的使用数量应该尽量少以
减少单片机的信号处理量,但是又必须能使小车行驶自如。控制电路要根据选用的电机
和传感器来设计,主要考虑稳定性,抗干扰性
。
一、 电路设计
控制电路主要有电机驱动电路,单片机接口电路,电源电路三个部分。考虑到电机的起
动电流和制动时比较大,会造成电源电压不稳定容易对单片机和传感器的工作产生干扰
,所以,电机驱动电路和单片机以及传感器电路用光耦隔离。传感器的电源直接使用24
V蓄电池,单片机的电源则通过7805将24V电源转换到5V。这里主要对驱动电路进行一下
介绍:
小车使用24V直流电机, 对于这种小功率直流电机的调速方法一般有两种。
(1)线性型
使用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简
单,成本低,加速能力强,但功率损耗大,特别是低速大转距运行时,通过电阻R的电流
大,发热厉害,损耗大。
(2)脉宽调制
另外一种是较常用的脉宽调速(PULSE WIDE MODULATION--PWM),这种调速方式有调速
特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现
频繁的无级快速启动、制动和反转的等优点。
因此决定采用PWM方式控制直流电机。PWM调速分为双向式和单向式两种
① 双向式
图一即为较常用的PWM调速电路,在一个脉冲周期内(T=Ta+Tb),T1和T3导通的时间为T
a,T2和T4导通的时间为Tb,这样在Ta这段时间内,电机通过的是正向电流,在Tb这段时
间内为反相电流。当Ta=Tb时电机停转,Ta>Tb时电机正转, Ta<Tb时电机反转。改变Ta
和Tb的比值就可以改变电机的转 图一
速。这种调速方式的优点
是,电流稳定连续,外特性硬度高,死区小,低速性能好,调速范围宽。缺点是,工作
中4个三极管都处于开关状态,开关损耗大,且易发生上下两三极管直通,造成电源短路
(实际使用中一般在Ta和Tb间有几us左右的延迟),当占空比为50%时,电机相当与短
路,此时通过电机的电流也较大,耗电较厉害。
② 单向式
单向式的电路更双向式相同。不同的是,在电机正转时,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)光电传感器摆放位置:(如图八)
中间四个传感器用来检测小车是否走偏,前面两个用来判断小车是否到达路口,后面两
个用于转弯时,小车的位置调整。
下表列举了几种主要传感器输入情况:
传感器编号
小车状态 8 7 6 5 4 3 2 1
正常行驶 0 0 0 0 0 1 1 0
轻微右偏 0 0 0 0 0 0 1 0
右偏 0 0 0 0 0 0 1 1
严重右偏 0 0 0 0 0 0 0 1
轻微左偏 0 0 0 0 0 1 0 0
左偏 0 0 0 0 1 1 0 0
严重左偏 0 0 0 0 1 0 0 0
脱离导引线 0 0 0 0 0 0 0 0
到达路口 1 1 1 1 0 0 0 0
三、程序设计
主程序主要起到一个导向和决策功能,决定什么时候小车该做什么。小车各种功能的实
现主要通过调用具体的子程序。子程序有以下几个:
(1) 检测光电传感器子程序:根据需要直接从端口读取即可,不过为了防止出现干扰
和错误信号,采用延时读取的方法,即在第一次读取后延时一段时间再读取,如果第二
次读取的信号和第一次的不一样,则说明可能存在干扰信号,就重新读取并比较,直到
两次读取的信号一致为止。
(2) 行走路线子程序:用于设定行走路线。
(3) PWM子程序:用于控制马达转速。89C51芯片没有PWM输出功能,需要通过编程实现
。为了在输出PWM波时,单片机仍能执行其他程序,可以利用单片机内部的定时器溢出中
断来实现。占空比占用一个字节的RAM,占空比D=N/256。
(4) 判断路口子程序:对传感器的输入值进行判断,以判断是否到达路口。
(5) 延时子程序:定时功能。
(6) 转弯子程序:当小车到达岔口并需要转弯时调用此程序。主要让小车在到达需要
转向的路口时减速,调整位置,转向,然后继续前进。
(7) 走直线子程序:小车在直导引线行驶时的调整程序。根据中间的四个光电传感器
的反馈值来判断小车偏离导引线的距离,并根据偏离距离的不同,对电机进行调速,使
左右电机有差速,以实现对小车的偏离进行调整(脉宽调速是使用单片机内部中断产生
周期约为8ms的方波,通过改变高电平的宽度来进行改变电机的转速)。如图六所示,下
半张是小车偏离导引线的情况,此时左轮减速,直到小车的2、3号传感器
再次检测到导引线,即上半张图的情况,虽然此时小车回归导引线,但是小车的行进方
向与导引线并不平行,小车仍会再次偏离,这样下去小车的行驶路线就变成了S型曲线,
而且弧度会越来越大最终脱离导引线,因此如果小车出现偏离,就做下标记,当小车行
驶回导引线时(中间四个光电的值为0110),调用一个调整子程序,根据前次小车偏离
的程序,进行不同程度的调整。也就是在小车回归导引线的时候让(如图中的情况)右
电机停转一端时间,使小车的行驶方向纠正回来,与导引线平行。
四、走迷宫策略:
如果迷宫不太复杂,且主要为纵横方向的直线,可采用让小车在路口始终左转或者
始终右转的方法走迷宫,也就是让小车沿迷宫的边沿走,只要在出口处放置一个标记,让
小车用光电传感器识别即可。
另外也可以让小车在每个路口处记录下支路数,以及已经走过的支路,如果此路口
不通,退回选择没有走过的支路。这样最终也能走处迷宫。
附录
参考文献:
[1]胡汉才编著。单片机原理及接口技术。北京:清华大学出版社,1996年。
[2]钟约先,林亨编著。机械系统计算机控制。北京:清华大学出版社,2001年。
[3]王彦平,任延群,危胜军等编著。PROTEL99电路设计指南。北京:清华大学出版社,
2000年。 |
|