AVR单片机控制的多轴机械臂系统设计
2015-06-15刘忠超肖东岳翟天嵩
刘忠超 肖东岳 翟天嵩
(南阳理工学院电子与电气工程学院,河南 南阳 473004)
AVR单片机控制的多轴机械臂系统设计
刘忠超 肖东岳 翟天嵩
(南阳理工学院电子与电气工程学院,河南 南阳 473004)
以Atmel公司的AVR 1280单片机为核心控制器,设计研制了六自由度多轴机械臂,对机械臂控制系统进行了硬件和软件设计。采用D-H法建立了六自由度机械臂数学建模,在Matlab中实现了运动仿真,并通过LabVIEW软件完成了上位机监控程序的设计。调试结果表明,系统整体运动灵活,协调性较好,能够实现机械臂远程控制以及轨迹规划功能,有着非常广阔的应用前景。
AVR单片机 机械臂 D-H法 Matlab建模 LabVIEW 轨迹规划
0 引言
根据国际标准化组织(ISO)的定义,工业机器人是指通过自动控制而具有操作功能和移动功能,以及可以通过编程来完成各种作业的机器[1]。多轴机械臂在设备装配、焊接、自动喷漆、自动化生产线等领域有着极其广泛的应用,它采用机械手来替代传统的人工作业方式,大大减轻了劳动强度,提高了生产效率,并且可以减少因人工疏忽造成的安全事故[2]。
以Atmel公司的AVR 1280单片机为核心控制器,通过人机接口模块、语音模块以及伺服电机,设计了六自由度机械臂的控制系统以及舵机控制系统。通过控制系统主程序以及LabVIEW上位机监控界面的编写,实现了六自由度多轴机械臂单自由度、多自由度以及轨迹规划功能,并能实现对运动位姿的远程监控。
1 系统硬件设计
系统结构如图1所示。
图1 多轴机械臂系统框图
机械臂的硬件系统主要由上位机PC监控部分、AVR1280主控板部分以及机械臂舵机控制板组成。其控制系统以Atmega1280控制器为核心,外部硬件模块主要有语音模块、显示模块、按键模块、无线收发模块以及电源模块。其工作原理为Atmega1280主控板通过RS-232与上位机监控计算机通信,在PC上选择相应的功能模式,经过RS-232通信协议发送控制数据给AVR主控板。主控板分析出要进行的运动形式及各种参数,通过RF无线传输把数据发送给六自由度舵机控制板来产生PWM信号。通过发送不同的控制时序,从而来驱动六个伺服舵机配合完成相应的动作。
1.1 Atmega1280微处理器
Atmega1280是Atmel公司推出的一款8位低能耗、高性能的微控制器。该控制器功能强大,具有非常丰富的片上资源。Atmega1280有多达86个I/O、16个通道的10位ADC、4个USART、4 kB的EEPROM,同时还具有SPI串行接口以及JTAG仿真等功能,能给程序的编写调试带来很大的方便[3-4]。
1.2 JQ5600语音模块
JQ5600是集单片机和语音电路于一体的可编辑语音芯片,完美集成了MP3、WMV的硬解码。该模块的外部管脚中,K1~K5为按键模式时,触发播放相应的5段音频;管脚ADKEY是A/D口;管脚BUSY是播放指示灯,当有音频输出时BUSY指示灯亮,无音频输出时BUSY指示灯灭;管脚RX和TX用于和单片机进行UART串行通信;管脚SPK-和SPK+用于外接喇叭功放,可以直接驱动1W/8R以下喇叭。
1.3 伺服电机选择
多轴机械臂主要以舵机作为关节连接体,硬件系统中选用辉盛牌MG995和MG996R型金属铜齿伺服舵机,其中MG995的输出力矩为11 kg/cm(6 V),而MG996R的输出力矩为15 kg/cm(6 V),可见MG996R比MG9955的输出力矩要大很多[5]。结合机械臂整个系统结构来考虑,两种型号的舵机配合起来使用是可行的。在底座和手腕等受力比较小的部位可以使用MG995,而在手臂部分的关节可以使用MG996R。这样既能满足系统的整体控制需求,也节约了系统成本。
1.4 舵机控制板
舵机控制板采用Arduino舵机扩展板,其专门是为控制多自由度机械臂而设计的[6]。该扩展板支持的通信接口为USB/TTL,可以方便地和AVR主控制板进行连接。其驱动舵机的分辨率达到1 μs,即为0.09°,可以同时控制16路舵机。
1.5 RF无线控制
无线数据传输采用433 MHz 的RF射频模块FHL0611,其最大发射功率10 mW,可以实现收、发模块之间远距离传输,其可靠传输距离可达1 000 m。设计中采用TTL电平方式与AVR单片机相连接,通过无线收发模块能够实现AVR上位控制机和舵机控制板之间的通信,在上位机上实现对机械臂的控制。
1.6 电源电路
多轴机械臂控制系统采用7.4 V的锂电池供电,锂电池比镍氢电池供电电流大,足以让舵机正常工作。系统中单片机供电电压为5 V,而舵机供电电压为6 V。因此,一路采用7.4 V转6 V的降压器单独给6个舵机进行供电。该降压器额定压降为1.4 V,在输出开路或者不接负载的时候没有降压功能,可以延长电池的使用时间,当有输出电流时才有降压功能。另一路采用LM2576开关型降压稳压电路给AVR 1280主控板和Arduino舵机扩展板提供+5 V的工作电压。
2 机械臂模型建立与仿真
2.1 机械臂模型构建
设计的六自由度机械臂结构如图2所示,图2中的关节均用伺服电机来实现。其中舵机1在固定底座与连杆1之间,固定基座是用来描述操作臂其他连杆运动的关键。为了便于建立模型,关节1变量为零时,基座0和关节1的坐标系重合。后面的5个关节依次顺序连接。舵机1、2、3主要用来确定末端执行机构的位置,舵机4、5、6用来确定末端执行机构的方位。
图2 多轴机械臂结构图
2.2 数学模型构建
多轴机械臂主要研究的是机械臂各个连杆间的位移关系,该机械臂主要通过Denavit-Hartenberg参数表来描述机械臂各个连杆间的位移关系[7]。利用D-H理论,可以在空间中为机械臂的每一个连杆建立一个坐标系或相对于机械臂底座的相对坐标系,进而确定每一个杆件的位置和方向。
2.3 Matlab的运动仿真
机械臂的模型仿真,采用Matlab平台下的Robotics Toolbox工具箱。运用Robotics Toolbox工具箱,可以很方便地对机器人运动学的理论进行学习和验证[8]。机械臂仿真模型构建主要调用Link函数和Robot函数两个功能函数,实现对机械臂的运动仿真。
3 软件系统设计
3.1 软件系统总体框架
系统软件设计采用模块化的设计方式,将功能进行分解设计,从而使思路清晰、移植性强,且易于查错与修改。六自由度机械臂软件系统组成框图如图3所示,主要由上位机监控部分、主控制板控制程序和舵机控制板程序组成。
图3 软件系统框图
3.2 上位机监控界面设计
上位机监控软件由LabVIEW编写实现。LabVIEW是图形化编程软件代表,采用G语言进行软件设计具有表达形象、便于理解的优点[9]。根据需求选择合适控件并进行合理的布局,就可以构建一个美观的仪器仪表界面[10]。LabVIEW开发的上位机负责发送监控命令和输出执行的任务。开发的上位机监控界面中,通过六个舵机控制盘能实时对多轴机械臂的位姿进行调节和监控,其中舵机转盘上的数值代表脉宽值,其可以调整的范围为0.5~2.5 ms,代表对应关节的舵机角度为-90°~+90°。
4 系统功能测试
功能测试主要给出轨迹规划功能模式的实现。在空间给定两点A(0,0,0)和B(3,2,0)的图板上,指定机械臂末端夹持器从A点到B点画一条直线,根据机械臂控制算法计算出来的关节角,依照笛卡尔直线插补算法进行直线的绘制。图4是绘制之前和绘制之后图板上直线轨迹的对比。从图4可以看出,机械臂末端的夹持器可以按照预先规划的轨迹来走,实现轨迹规划功能。
图4 轨迹前后对比图
5 结束语
本文主要完成了六自由度多轴机械臂本体及控制系统的设计与制作。系统硬件部分设计了AVR控制板以及舵机控制板,系统软件部分建立了系统的运动模型以及仿真模型,并设计了系统的监控界面。最后给出了实际的测试结果。
测试结果表明,设计的多轴机械臂性能稳定,成本较低,控制调节简单方便,并且能够对姿态进行远程实时的采集和控制,在工业自动化装配、焊接、搬运等领域具有广阔的应用前景。
[1] 肖南峰.工业机器人[M].北京:机械工业出版社,2011:101-102.
[2] 田海波,马宏伟,魏娟.串联机器人机械臂工作空间与结构参数研究[J].农业机械学报,2013(4):196-201.
[3] 刘忠超,翟天嵩.基于AVR的智能仪表的嵌入式以太网接口设计[J].中国农机化,2012(1):169-172.
[4] 刘忠超,刘勇军.基于AVR单片机的网络化温室控制器的设计[J].中国农机化,2011(5):102-104.
[5] 李红岩,高阳东.基于LPC2131的RF遥控多关节蛇形机器人[J].自动化与仪表,2014(6):1-4.
[6] 蔡睿妍.基于Arduino的舵机控制系统设计[J].电脑知识与技术,2011(8):3719-3720.
[7] 梁安阳,王兰美.基于D-H坐标系法的移动喷漆机器人运动学分析[J].机械工程与自动化,2011(5):125-126.
[8] 谢斌,蔡自兴.基于MATLAB Robotics Toolbox的机器人学仿真实验教学[J].计算机教育,2010(19):140-143.
[9] 张琛,原思聪,王蓉,等.小波阈值去噪技术及其在LabVIEW上的实现[J].自动化仪表,2013,34(11):17-20.
[10]陈清培,周松,廖继明,等.机械加工中LabVIEW测试系统的设计与应用[J].自动化仪表,2013,34(10):74-76.
Design of the Multi-Axis Manipulator System Controlled by AVR MCU
With the AVR 1280 MCU from Atmel Corp. as the core controller, the multi-axis manipulator with six degrees of freedom has been designed and developed, and the hardware and software of the control system for the manipulator are designed. By using D-H method, the mathematical model of the six degrees of freedom manipulator is established, the motion simulation is implemented in Matlab, and the design of PC monitoring program is completed through LabVIEW software. The result of debugging shows that the overall motion of the system is flexible with good coordination. The system can realize remote control of the manipulator and the function of trajectory planning, so it possesses very broad applicable prospects.
AVR MCU Manipulator Denavit-Hartenberg method Matlab modeling LabVIEW Trajectory planning
河南省重点科技攻关基金资助项目(编号:132102210102)。
刘忠超(1979-),男,2007年毕业于西北农林科技大学农业电气化与自动化专业,获硕士学位,讲师;主要从事机器人、智能化检测与控制的研究。
TM571;TP311
A
10.16086/j.cnki.issn1000-0380.201505010
修改稿收到日期:2014-12-05。