基于单片机的机械手控制系统设计侯进旺(佛山职业技术学院,佛山528000)摘要:针对如何提高机械手的自动化与智能化程度,特别是自主识别、判定目标并做出响应的问题,提出了基于TK-A6六自由度机械手和LD1501-MG数字舵机的工业机械手控制系统的设计。硬件方面从控制系统组成,控制方案和单片机选型三个方面叙述了设计中控制系统的总体设计方案,并给出了软件的设计思路和流程图。经过调试,不仅完成了目标识别的任务,识别时间在500ms以内;而且完成了机械手抓取固定位置货物的功能与货物分装的功能。该系统展现了单片机在工业控制系统中的综合应用,成为机械手的控制、机电一体化和电气自动化专业学生的综合实验实训的又一平台,具有很高的理论和商用价值。关键词:机械手;目标识别;TK-A6六自由度机械手;LD1501-MG数字舵机中图分类号:TP241文献标识码:A文章编号:1001-7119(2016)07-0108-05TheDesignedofManipulatorControlSystemBasedonSingleChipMicrocomputerHouJinwang(FoshanPolytechnicInstitute,Foshan528000,China)Abstract:Aimedathowtoenhancethedegreeofmechanizationandintelligence,especiallyinpatternrecognizing,identifytargetsandfinallyresponsetothem.ProposedthedesignedofindustrialrobotcontrolsystembasedonTK-A6sixdegreesoffreedommanipulatorandLD1501-MGdigitalservos.Hardwarefromthecontrolsystemcomposition,controlschemeandMCUselectionthreeaspectsnarrativedtheoveralldesign,andthesoftwaredesignconceptandflowchartsofthissystemarepresented.Afterdebugging,notonlycompletedthetargetrecognitiontask,recognitiontimewithin500ms,AndAndcompletedthemanipulatortograbafixedpositionfunctionandthefunctionofthegoodspackingofthegoods.Theapplicationofmicrocontrollerintheindustrialcontrolispresented.Italsocanbeusedasanewcomprehensiveexperimentalplatformformechanicalhandcontrolintrainingofstudentsinelectromechanicalintegrationmajorandelectricalautomationmajor.Keywords:machinearm;targetrecognition;6-DOFmachinearm;LD1501-MGdigitalsteer收稿日期:2015-08-29作者简介:侯进旺(1959-),男,河南洛阳人,副教授,主要从事工业控制电子方向的研究。E-mail:houjinwang_vip@163.com。0引言随着科技的发展与人类社会的进步,机器人在我们的生活中层出不穷,大到工业机器人,小到孩子们的玩具[1,2]。机械手是在自动化生产过程中使用的一种具有抓取和移动工件功能的自动化装置,它是在机械化、自动化生产过程中发展起来的一种新型装置[3,4]。机械手可以看作广义的机器人,自出现以来就被广泛地应用于各行各业,例如:机械制造、冶金、电子、轻工和原子能等部门[5,6]。如何提高机械手的自动化与智能化程度,特别是自主识别、判定目标并做出响应,一第32卷第7期2016年7月科技通报科技通报BULLETINOFSCIENCEANDTECHNOLOGYVol.32No.7Jul.2016第7期直都是学术界和各个研究机构的研究热点和难点,具有很高的理论和商用价值[7,8]。本设计是针对工业流水线上原材料分装的工业机械手,根据冗余度机械手的设计理念选择型号为TK-A6的六自由度机械手,根据实际使用环境选择LD1501-MG数字舵机。硬件电路方面,从控制系统组成、控制方案和单片机选型三个方面叙述了本设计中控制系统的总体设计方案。从调试可以得出本设计的硬件电路原理具有电源利用率高,干扰小,调试手段丰富,信号完整性好,散热好等优点,可以使机械手的性能得到更好的发挥。软件方面分别阐述了系统初始化、单片机控制舵机、摄像头图像采集、图像特征提取、目标识别等相关内容。经过调试,不仅完成了目标识别的任务,识别时间在500ms以内;而且完成了机械手抓取固定位置货物的功能与货物分装的功能。实现了基于摄像头目标识别的货物分装机械手,具有很高的理论和商用价值。1机械手控制系统设计1.1系统组成本设计中基于单片机的机械手控制系统由系统硬件和系统软件两大部分组成,系统硬件与系统软件配合工作,共同完成控制系统的控制任务。其中,系统硬件包括:电源模块、调试模块、主控制器、执行器与传感器共5大部分,电源模块用来给主控制器、执行器、调试模块和传感器供电;执行器即6路舵机,用来完成抓取任务;传感器则用来检测外界环境的变化,将环境信息反馈给主控制器以更加实现精准的闭环控制;调试模块主要是为了方便系统调试,在实际工作中并不需要调试模块,系统硬件框图如图1所示。图1系统框图Fig.1Systemblockdiagram1.2控制方案设计系统控制方案通过系统软件编程实现,根据研究内容,控制方案的主要内容描述如下:首先由传感器即摄像头采集图像,将图像传送给单片机;再由单片机进行图像特征提取并运行人工神经网络算法进行图像识别;接下来,由于在实际工业生产中,货物被传送带送至指定位置,因此工业机械手控制系统只需到固定位置抓取货物,并将货物放置在指定位置即可,不需要进行动态抓取与目标跟踪,因此单片机根据识别结果对机械手进行控制,使其到固定位置抓取货物,并将货物放置在指定位置即可实现货物分装功能,流程图如图2所示。图2系统控制方案Fig.2Systemcontrolscheme2硬件电路设计硬件电路设计是本设计的基础,优秀的硬件电路才能使机械手的性能得到淋漓尽致的发挥。整个控制系统的硬件部分应包括:电源电路、单片机最小系统、传感器反馈系统(在本设计中使用摄像头作为传感器)[9,10]、调试模块(屏幕、键盘、播码开关、指示灯、串口)。2.1系统供电设计在本设计中,由于6路舵机需要同时工作,耗电量巨大,所以系统采用型号为SCH2AH的输出电流较大的12V电池进行供电。然而系统需要3.3V和5V两种电压,分别为单片机、调试模块、传感器和舵机供电,所以必须设计稳压电路。稳压电路采用稳压芯片进行设计,本设计优先考虑电源利用率,因此选用开关稳压芯片。3.3V稳压芯片选择LM1117-3.3,5V稳压芯片选侯进旺.基于单片机的机械手控制系统设计109第32卷科技通报择LM2596-5,其输出电流高达3A,足够驱动两个舵机同时工作,因此本系统中需要3片LM2596-5为6路舵机供电,每两路舵机使用一片LM2596-5。系统各个模块间应分开供电,以免回流造成模块间互扰;还应注意稳压芯片最高输入电压,以免输入过高将稳压芯片烧毁,系统供电电路原理图如图3所示:摄像头、外设(调试模块)、舵机都分开供电(每两个舵机用一个LM2596-5供电),其中3.3V电压由5V稳压得到;由于单片机最小系板上自带3.3V稳压,所以只需输入5V电压即可。图3系统电源模块原理图Fig.3Theschematicdiagramofsystempowermodule2.2系统调试模块设计为方便调试,必须为系统设计调试模块,这是每一个电子系统都必须设计的模块。本设计的调试模块包括:屏幕、指示灯、键盘、拨码开关、串口共5大部。其中,屏幕用来显示UI界面和一些调试时必要的参数,和键盘配合使用,完成人机交互;指示灯则用来指示程序运行状态,在调试运行状态异常的程序时十分有效;用拨码开关设定程序的运行模式;在调试时,一些数据始终处于动态变化中,若在屏幕上显示很难记录,因此要通过串口发送到串口调试助手上进行记录。本系统的调试模块如图4所示。图4系统调试模块原理图Fig.4Theschematicdiagramofsystemdebugmodule2.3单片机最小系统管脚分配我们所使用的微控制器为144管脚飞思卡尔K60单片机,其具有PORTA-PORTE共5组,119个I/O口,可分别复用为PWM、PIT、SPI、UART、USB、I2C、DMA等多种功能。在本设计中,舵机需要用PWM控制,因此将S1-S6接到D4-D7和A8、A9上;屏幕、指示灯、键盘、拨码开关都用到I/O功能,接到普通I/O口上即可;摄像头则用到了DMA模块,K60的PORTC端口可作为DMA传输通道,因此将Y0-Y7接在C0-C7上。单片机最小系统管脚分配的原理图如图5所示。图5单片机最小系统原理图Fig.5TheschematicdiagramofSCMminimumsystem2.4其他接口电路原理图设计舵机、电池接口、开关和摄像头接口如图6所示,其中摄像头型号为OV7725的硬件二值化数字摄像头。图6舵机、电池接口、开关和摄像头接口原理图Fig.6Theschematicdiagramofactuator,batteryinterface,switchandcamerainterface2.5调试由于稳压是本设计的基础,所以必须首先测试稳压输出是否正常,但是测试时不能直接接蓄电池去测试,一旦电路出现短路或钽电容反接,电流过大将会使电路烧毁或使电容爆炸,所以首110第7期先应该接数字电源箱,电压设定为稳定的12V,最大电流设定为200mA,以防止因电路错误导致的电路损坏。若电源箱的电压没有被拉低,继续测稳压输出,若输出电压正确则可以正常使用;若电压被拉低,电流达到200mA,则说明有短路或存在钽电容反接,需要重新检查电路。接下来测试其他模块,其他模块均与单片机管脚相连,若管脚分配正确则理论上可以正常使用,这部分电路可以通过简单的程序进行测试。从调试可以得出本设计的硬件电路原理具有电源利用率高,干扰小,调试手段丰富,信号完整性好,散热好等优点,可以使机械手的性能得到更好的发挥。3系统软件设计3.1系统软件流程本设计中分为5个模块:系统初始化、单片机控制舵机、摄像头图像采集、图像特征提取、目标识别。软件设计流程图如图7所示。图7系统软件流程图Fig.7Theflowchartofsystemsoftware3.2系统初始化系统初始化是每一个自动控制系统都必备的,系统中各个部分都需要经过初始化才可使用。在本系统中,屏幕、键盘、拨码开关、LED、串口、舵机、摄像头都需要初始化,其中屏幕与单片机之间采用SPI接口连接,但由于单片机SPI模块引脚被摄像头占用,所以采用I/O口进行模拟;键盘、拨码开关、LED都需要用单片机的I/O功能进行控制,初始化时需要设置端口方向与初始值:方向设置为输入,初始值设置为高电平即1;舵机控制则需要用单片机的PWM功能,初始化时需要设置频率与占空比,本设计中舵机控制频率为50Hz,占空比为2.5%~12.5%对应0~180°;串口初始化则需要设置通道与波特率,波特率不宜设置过高,否则容易不稳定,本设计中波特率设置为115200;摄像头采用图像需要用到单片机的DMA功能,所以初始化时需要设置DMA端口。此外,初始化过程中还需要伴随屏幕显示程序运行进