引言
挖掘机的出现使人类从繁重的体力劳动中解脱出来,然而传统的挖掘机操作复杂,对操作者的技能要求很高。人们一直谋求更省力、更高效率和更能实现精确轨迹的挖掘作业模式。随着微电子技术的进一步发展,集成电路的集成度和性能提高、价格下降,以微处理器为基础,实现挖掘机的机电一体化、机器人化、智能化进程,已经成为工程项目施工管理的一个重要研究课题与发展方向。本文以挖掘机器人为例,设计一种基于AVR单片机的挖掘机器人控制系统。
1 总体方案设计
挖掘机器人由挖掘机器人本体机械系统、红外传感器组成的传感器系统、直流电机驱动系统、以AVR单片机为核心的控制系统等四部分组成,其基本结构如图1所示。
图1 挖掘机器人的基本结构
挖掘机器人的工作过程主要如下:传感系统采用红外线距离传感器,来实现对周围环境中障碍物的实时检测,测量信号送入以AVR单片机为核心的控制系统,单片机根据测量情况在内部进行决策,输出控制信号通过驱动系统控制伺服电动机,带动挖掘机器人各个关节运动实现直行、后退、左转、右转、自主挖掘等功能。
2 控制系统的硬件设计
本设计以ATMEL公司的ATmega128微控制器为核心,通过红外线距离传感器采集外部数据,通过功率驱动带动电机实现自动控制。传感器通过后向反馈通道将信息不断传递给微控制器,微控制器通过前向控制通道实时调整小车的行车状态,从而构成闭环控制系统,如图2所示。
图2 挖掘机器人控制系统硬件设计框图
根据控制系统硬件框图,结合自身的特点,硬件平台的设计包括主控制器的设计、传感器的设计、直流电机驱动电路的设计。
2.1 主控制器的设计
采用ATMEL公司的ATmega128型带128K字节FLASH的在线可编程8位高性能、高效率的RISC结构单片机作为整个控制系统的核心,完成传感器的检测信号采集与伺服电机的运动控制。ATmega128单片机共有64个引脚,单片机资源如下:PortA-PortE、PortG作为一个8位双向I/O口,PortF作为A/D转换器的模拟输入口或一个8位双向I/O口,RESET是复位输入引脚,XTAL1、XTAL2是晶振接入引脚,AVCC是是PortF和A/D转换器的电源端,AREF是A/D转换器的参考电源,PEN是串行下载的编程使能信号。
2.2传感器电路的设计
挖掘机器人控制系统采用了红外发射管D1和一只红外接收模块U1构成红外线距离传感器系统,其中红外接收模块采用韩国Kodenshi公司的KSM-603LM,其内部集成了红外接收管,前置放大管,限幅放大管,带通滤波器峰值检波器,整流电路和输出放大电路,灵敏度很高,如图3所示。它的功能是主要用来检测前方、左侧、右侧的障碍物。红外线距离传感器的测距基本原理为发光管发出红外光,光敏接收管接收前方物体反射光,据此判断前方是否有障碍物。根据发射光的强弱可以判断物体的实际距离,它的原理是接收管接收的光强随反射物体的距离而变化的,距离近则反射光强,距离远则反射光弱。
图3 红外线传感器系统原理图
2.3 直流电机驱动电路的设计
驱动电路的选择也是非常重要的,通常选用的驱动电路是由晶体管控制继电器来改变电机的转向和进退。这种方法适用于大功率电机的驱动,但对于中小功率的电机则极不经济,因为每个继电器要消耗20~100mA的电流。还可以使用组合三极管/MOSFET管的方法,但比较麻烦,电路也比较复杂,本设计采用集成电路的驱动方法,极大增强了电路可靠性和简明性。选用SGS公司的恒压恒流桥式驱动芯片L293,其内部包含4通道逻辑驱动电路,额定工作电流为1A,最大可达1.5A,Vss为集成芯片工作电压,电压最小为4.5V,Vs为输出给电机的电压,最大可达36V,Vs电压必须比Vss电压高。由L293构成的电机驱动电路如图4所示。
直流电机转速采用ATmega128两路PWM控制输出电压,通过编程使占空比以1/16的最小间隔在1/16-14/16间变化,以实现速度的调节。
图4 L293电机驱动电路
3 控制系统的软件设计
控制系统软件与硬件电路紧密结合共同实现对挖掘机器人的控制,基本设计思想是挖掘机器人在动作过程中,由自身的红外检测装置即时从外界采集信号。其中,红外线距离传感器分别安装在传感器系统的前方、左侧、右侧。当按下挖掘机器人启动按钮时,挖掘机器人进入初始化的状态,然后挖掘机器人向前行进。当红外线距离传感器检测到前方有障碍物时,将信号传给控制系统,当控制系统判定前方有障碍物,挖掘机器人做挖掘的动作并且向右旋转90度,然后继续前进。反之,挖掘机器人继续前进;当传感器检测到左边位置有障碍物时,挖掘机器人的机械臂向左旋转90度后回到初始位置,然后继续前进,反之挖掘机器人继续前进;当传感器检测到右边有障碍物,挖掘机器人的机械臂向右旋转90度后回到初始位置,然后继续前进,反之挖掘机器人继续前进。挖掘机器人的运动控制流程图如图5所示。
图3 红外线传感器系统原理图
2.3 直流电机驱动电路的设计
驱动电路的选择也是非常重要的,通常选用的驱动电路是由晶体管控制继电器来改变电机的转向和进退。这种方法适用于大功率电机的驱动,但对于中小功率的电机则极不经济,因为每个继电器要消耗20~100mA的电流。还可以使用组合三极管/MOSFET管的方法,但比较麻烦,电路也比较复杂,本设计采用集成电路的驱动方法,极大增强了电路可靠性和简明性。选用SGS公司的恒压恒流桥式驱动芯片L293,其内部包含4通道逻辑驱动电路,额定工作电流为1A,最大可达1.5A,Vss为集成芯片工作电压,电压最小为4.5V,Vs为输出给电机的电压,最大可达36V,Vs电压必须比Vss电压高。由L293构成的电机驱动电路如图4所示。
直流电机转速采用ATmega128两路PWM控制输出电压,通过编程使占空比以1/16的最小间隔在1/16-14/16间变化,以实现速度的调节。
图4 L293电机驱动电路
3 控制系统的软件设计
控制系统软件与硬件电路紧密结合共同实现对挖掘机器人的控制,基本设计思想是挖掘机器人在动作过程中,由自身的红外检测装置即时从外界采集信号。其中,红外线距离传感器分别安装在传感器系统的前方、左侧、右侧。当按下挖掘机器人启动按钮时,挖掘机器人进入初始化的状态,然后挖掘机器人向前行进。当红外线距离传感器检测到前方有障碍物时,将信号传给控制系统,当控制系统判定前方有障碍物,挖掘机器人做挖掘的动作并且向右旋转90度,然后继续前进。反之,挖掘机器人继续前进;当传感器检测到左边位置有障碍物时,挖掘机器人的机械臂向左旋转90度后回到初始位置,然后继续前进,反之挖掘机器人继续前进;当传感器检测到右边有障碍物,挖掘机器人的机械臂向右旋转90度后回到初始位置,然后继续前进,反之挖掘机器人继续前进。挖掘机器人的运动控制流程图如图5所示。