论文部分内容阅读
摘 要: 在点胶机器人的使用过程中,手持示教器系统是不可或缺的重要部分,其性能决定了点胶机器人的使用效果。设计了一种以NUC120单片机为核心的点胶机器人手持示教器,该示教器使用薄膜按键和点阵液晶显示屏实现人机接口界面设计,使用串口方式和点胶机器人运动控制卡通信。所设计的示教盒通过输入作业和相关参数信息,结合配置参数,可以自动转换成点胶机器人可识别的指令,从而实现人机交互功能,使机器人的示教过程简单直观。
关键词: 点胶机器人; 单片机; 嵌入式操作系统; 串口通信
中图分类号:G710 文献标志码:A 文章编号:1006-8228(2013)09-37-04
0 引言
随着点胶机器人在工业自动化生产中的普遍应用,点胶机器人工作任务的现场编程和运动操作控制成为了一个重要的环节。目前,点胶机器人的工作任务主要通过示教编程来实现,部分高性能的点胶机器人也支持使用图形导入的方式来实现,因此使用手持示教器实现示教编程已经成为点胶机器人控制系统的主要组成部分,该示教器的人机界面设计的易用性直接决定了整个点胶机器人的系统性能。
手持示教器用于现场控制点胶机器人三轴独立运动,并可以实现加工指令的组合编程,生成点胶运动和胶枪控制指令文件并以文件方式保存,使用时可以根据实际应用选择合适的文件,然后下载到运动控制卡,从而实现现场示教编程、示教文件编辑、示教文件保存和示教文件下载等主要功能。操作者通过手持示教器可以实现电机复位、端口输出、等待输入、延时暂停、胶枪开关控制、直线移动等功能,使用示教器可以很好地向操作者反馈点胶机器人的工作状态信息,使生产加工以准确高效的状态进行。
传统的示教器使用直接编辑G代码的方式生成点胶机运动控制文件,该方式要求使用者熟悉G代码语言,并且需要人工计算圆弧中心和半径。随着点胶机器人的普遍应用,操作复杂的示教方式已经不能满足实际需要,使用方便、容易操作的手持示教器对点胶机器人的快速推广应用有着决定性的作用[1]。
本文基于NUC120设计了一款低成本、多功能、图形界面的点胶机示教器,可以为操作者提供良好的、可靠的人机交互界面,能够使操作者在菜单提示和其他信息的提示下,设置运行参数,新建、编辑、保存和删除点胶运动轨迹文件,可以根据示教操作步骤自动生成相应的G代码,降低了操作者对专业知识的要求,使操作者可以更加方便地根据实际应用完成示教过程。同时,本文设计的示教器还具有USB通信接口,通过和电脑相连可以方便地导入导出示教文件,使用一个示教器就可以操作、控制多个点胶机器人,实现统一化管理功能。
1 手持示教器的硬件设计
手持示教器需要具有良好的人机交互界面,包括参数设置、文件编辑、运动控制、运行状态反馈等信息,使用点阵显示屏可以很好地显示多种信息,使用点阵显示屏显示汉字和图形可以很好地实现信息提示和人机对话。为了实现多种功能和数字输入,需要较多的按键,本设计选用薄膜按键[2]。手持示教器由壳体、键盘、液晶显示屏、控制电路板等组成。示教器的硬件系统结构框图如图1所示。
本系统硬件使用NUC120LD3AN处理器作为核心控制器,该单片机使用当前流行的Cortex-M0内核,最高允许频率可达50MHz,拥有独立的64 KB flash和16K的RAM,2路UART,1路USB,2路I2C,1路SPI,8路12位片内ADC,4个24bit定时器,采用LQFP封装,共有31个IO口,MCU核心部分电路图,如图2所示。
系统时钟控制器采用片外12MHz晶振,经过片内倍频到48M为系统提供运行频率。本设计针对工业应用场合设计,为确保系统在任何环境均能正常上电复位并启动,电源监视芯片采用了CATALYST公司的CAT809s芯片,该芯片门槛电压为2.93V,监视电压为3.3V。本设计将CAT809s的输出串联上一个阻值为100的电阻,即可以减小灌电流输入,还可以在电源电压下降的状况下对MCU进行有效的复位,通过实验证明,该方法是切实可行的。
电容C11,C12,C13,C54为单片机电源的去耦电容,可以减少系统电路中产生的高频干扰信号影响MCU正常运行,从而可以确保MCU在稳定的电源状态下稳定工作,增强系统的抗干扰性。
P310芯接头为SW调试接口,可以通过JLINK或者其他支持SW调试接口的在线调试器对系统进行跟踪调试。使用SW调试接口对查找系统软件方面的问题非常方便。
本设计选用的MCU自带USB接口,所以本设计使用自带的USB接口和MINIUSB物理接口与计算机互联,完成数据通信。
本设计采用128*64点阵液晶屏,点阵液晶屏的接口方式为8位并行接口,第3脚为V0液晶显示屏对比度调制端,第4脚为RS端,是并行模式的指令/数据选择信号,连接MCU的PA8,第5脚为RW端,是并行的读写选择信号,连接MCU的PA9,第6脚为En端,是并行模式的使能信号,与MCU的PA10相连,第7-14脚为8位并行数据总线端,与MCU的PA0-PA7相连,第15脚为串行并行选择脚,连接高电平时选择并行接口,第17脚为液晶屏复位信号,低电平有效,第19脚为背光源正极,第20脚为背光源负极,本设计采用背光常亮的方式连接。液晶屏部分电路图如图3中的P2所示。
本设计采用薄膜按键作为按键输入装置,按键总数为28个,如果采用并行连接,会占用大量的IO口,所以本设计采用了行列扫描方式,一共4行7列,如图3中的P4所示。
本设计选用9针串口和运动控制板卡互联,实现数据通信,由于MCU的电平为TTL电平,所以需要使用MAX232实现电平转换,把TTL电平转换为RS232电平。为了实现多个文件的存储和编辑,本设计选用SPI接口flash作为外部存储器,AT45DB321D为Atmel公司生产的32Mbit闪存,采用SPI接口与MCU互联。 2 手持示教器软件设计
本设计为了实现增强系统的实时性和软件模块间的独立性,选用了嵌入式实时操作系统COOS,该操作系统是一款针对cortex-M系列芯片而设计的实时系统内核,免费且开源,具有高度可剪裁性,支持优先级抢占和时间片流转,中断延时时间趋近于零,通信方式支持信号量、邮箱、队列、时间标志和互斥等方式。
本设计依据官方提供Nuvoton NUC140示例代码,完成了Nuvoton NUC120系列单片机的移植和操作系统的运行。
本设计的软件程序启动和运行程序流程图如图4所示。系统上电后,首先进行硬件MCU硬件初始化包括串口通信初始化、USB初始化,然后对系统的时钟进行初始化设置,待MCU硬件初始化完成后,对COOS进行初始化设置,然后创建起始任务,在起始任务中对液晶屏和SPI FLASH进行初始化通信,然后依次创建应用任务,待任务创建完成后,主任务执行CoExitTask();退出任务,然后用启动COOS操作系统,最后进入while(1);循环。针对本产品的软件功能特点,本设计使用COOS创建了按键检测读取任务、液晶屏显示任务,串口通信任务和USB通信任务四个主要任务[3]。
[系统上电][硬件初始化和串
口通信参数设置][系统时钟初始化设置][COOS系统初始化][创建起始任务][依次创建四个应用任务][启动COOS][While(1);循环]
由于本设计选用的点阵显示屏为单色点阵显示屏,显示内容也基本是汉字菜单和数字、字母的显示和输入,所以不需要复杂的GUI软件库,本设计针对系统的特点设计了专用的GUI软件函数,分别为划线函数、字符串显示函数,字符串显示函数根据ASCII码和汉字内码的编码特点,在机内码编码中,汉字的机内码最高位为1,ASCII码最高位为0,根据最高位自动识别ASCII码和汉字,然后分别从汉字点阵库和ASCII点阵库读取相应的点阵数据并更新到显示屏进行显示。
本设计的手持示教器软件具有设置运行参数,新建、编辑、保存和删除点胶运动轨迹文件,USB通信,串口通信等功能,在液晶菜单设计采用层次化设计,共分四层界面,如图5所示。
在示教编辑中的文件编辑界面,点编辑功能包括点胶、走轨迹、延时、变速、暂停等,点类型包含孤立点、直线起点、直线终点、圆弧起点、圆弧中点、圆弧终点、整圆起点、整圆中点、整圆终点、暂停点、吹气点、速度点等点型。文件参数包含阵列参数,具体有阵列方式、阵列行数、阵列列数、阵列行偏移和阵列列偏移五项参数,速度参数包含空移速度、加工速度、拉丝速度和上抬速度四项参数,距离参数包含上抬高度、拉丝高度和关胶距离三项参数,时间参数包含开胶延时和关胶延时两项参数[4]。
点编辑功能和文件参数最终转换为纯文本格式的G代码和M代码,并进行保存。常用的G代码如G0、G1、G2、G3为运动控制指令,G8/G9加速/减速指令、G4延时指令、M0、M1暂停指令、M2、M30程序结束指令、M98/M99子程序调用/返回/循环指令和其他IO读写指令等。
文件编辑完成后为文件编辑序号,针对本系统只有4M字节的存储空间,每设计最多存储100个文件,每个文件使用固定空间大小,每个文件占用40K的空间,文件序号采用0-99进行编码,根据文件编码计算存储地址并保存到相应存储位置。
在文件下载界面,采用按键输入待下载文件的序号,然后选择下载,就可以自动启动串口通信功能,把该序号对应的由G代码和M代码组成的加工文件下载到点胶机运动控制板。下载完成后,在文件加工界面就可以启动加工功能,从而实现示教编辑、文件保存管理、文件下载和加工控制等功能[5]。
为了方便与上位机通信,进行示教文件的导出读取,设计了USB通信接口,当使用USB接口连接计算机和点胶机器人示教器时,直接从USB电源取电,并把USB口虚拟成串口,然后使用上位机专用的点胶机示教文件读取下载软件,通过该虚拟串口实现文件的读取、删除和替换等功能。
3 应用和发展前景
本文基于NUC120设计的点胶机示教器成本低、功能多、界面图形化,既可以为操作者提供良好的人机交互界面,又可以利用液晶屏为操作者提供足够的操作提示和状态提示,方便进行运行参数设置;点胶运动轨迹文件的新建、编辑、保存和删除,根据插入点选择自动生成相应的G代码,使用USB通信接口,通过和电脑相连可以方便地导入导出示教文件,从而实现使用一个示教器操作控制多个点胶机器人,实施统一化管理的功能。本文设计的点胶机器人控制器可以大大增强点胶机器人的使用便捷性,具有很好的应用前景。
参考文献:
[1] 刘思胜,李松生,陈萍.数控G代码解释器和仿真模块的设计与实现[J].机械设计与制造,2012.1:172-174
[2] 谢建华,刘海波,刘瑞芳.基ARM Cortex-M3的动态心电图机设计[J].吉林大学学报:信息科学版,2012.3:245-249
[3] 杨敏,王品,郑玉虎.人机会话方式的机器人示教盒的设计[J] .组合机床与自动化加工技术,2013.2:127-129
[4] 周伟,徐方.基于Wince的机器人示教盒的设计与开发[J].机械设计与制造,2012,3:9-11
[5] http://www.coocox.org/CN/CoOS.htm
关键词: 点胶机器人; 单片机; 嵌入式操作系统; 串口通信
中图分类号:G710 文献标志码:A 文章编号:1006-8228(2013)09-37-04
0 引言
随着点胶机器人在工业自动化生产中的普遍应用,点胶机器人工作任务的现场编程和运动操作控制成为了一个重要的环节。目前,点胶机器人的工作任务主要通过示教编程来实现,部分高性能的点胶机器人也支持使用图形导入的方式来实现,因此使用手持示教器实现示教编程已经成为点胶机器人控制系统的主要组成部分,该示教器的人机界面设计的易用性直接决定了整个点胶机器人的系统性能。
手持示教器用于现场控制点胶机器人三轴独立运动,并可以实现加工指令的组合编程,生成点胶运动和胶枪控制指令文件并以文件方式保存,使用时可以根据实际应用选择合适的文件,然后下载到运动控制卡,从而实现现场示教编程、示教文件编辑、示教文件保存和示教文件下载等主要功能。操作者通过手持示教器可以实现电机复位、端口输出、等待输入、延时暂停、胶枪开关控制、直线移动等功能,使用示教器可以很好地向操作者反馈点胶机器人的工作状态信息,使生产加工以准确高效的状态进行。
传统的示教器使用直接编辑G代码的方式生成点胶机运动控制文件,该方式要求使用者熟悉G代码语言,并且需要人工计算圆弧中心和半径。随着点胶机器人的普遍应用,操作复杂的示教方式已经不能满足实际需要,使用方便、容易操作的手持示教器对点胶机器人的快速推广应用有着决定性的作用[1]。
本文基于NUC120设计了一款低成本、多功能、图形界面的点胶机示教器,可以为操作者提供良好的、可靠的人机交互界面,能够使操作者在菜单提示和其他信息的提示下,设置运行参数,新建、编辑、保存和删除点胶运动轨迹文件,可以根据示教操作步骤自动生成相应的G代码,降低了操作者对专业知识的要求,使操作者可以更加方便地根据实际应用完成示教过程。同时,本文设计的示教器还具有USB通信接口,通过和电脑相连可以方便地导入导出示教文件,使用一个示教器就可以操作、控制多个点胶机器人,实现统一化管理功能。
1 手持示教器的硬件设计
手持示教器需要具有良好的人机交互界面,包括参数设置、文件编辑、运动控制、运行状态反馈等信息,使用点阵显示屏可以很好地显示多种信息,使用点阵显示屏显示汉字和图形可以很好地实现信息提示和人机对话。为了实现多种功能和数字输入,需要较多的按键,本设计选用薄膜按键[2]。手持示教器由壳体、键盘、液晶显示屏、控制电路板等组成。示教器的硬件系统结构框图如图1所示。
本系统硬件使用NUC120LD3AN处理器作为核心控制器,该单片机使用当前流行的Cortex-M0内核,最高允许频率可达50MHz,拥有独立的64 KB flash和16K的RAM,2路UART,1路USB,2路I2C,1路SPI,8路12位片内ADC,4个24bit定时器,采用LQFP封装,共有31个IO口,MCU核心部分电路图,如图2所示。
系统时钟控制器采用片外12MHz晶振,经过片内倍频到48M为系统提供运行频率。本设计针对工业应用场合设计,为确保系统在任何环境均能正常上电复位并启动,电源监视芯片采用了CATALYST公司的CAT809s芯片,该芯片门槛电压为2.93V,监视电压为3.3V。本设计将CAT809s的输出串联上一个阻值为100的电阻,即可以减小灌电流输入,还可以在电源电压下降的状况下对MCU进行有效的复位,通过实验证明,该方法是切实可行的。
电容C11,C12,C13,C54为单片机电源的去耦电容,可以减少系统电路中产生的高频干扰信号影响MCU正常运行,从而可以确保MCU在稳定的电源状态下稳定工作,增强系统的抗干扰性。
P310芯接头为SW调试接口,可以通过JLINK或者其他支持SW调试接口的在线调试器对系统进行跟踪调试。使用SW调试接口对查找系统软件方面的问题非常方便。
本设计选用的MCU自带USB接口,所以本设计使用自带的USB接口和MINIUSB物理接口与计算机互联,完成数据通信。
本设计采用128*64点阵液晶屏,点阵液晶屏的接口方式为8位并行接口,第3脚为V0液晶显示屏对比度调制端,第4脚为RS端,是并行模式的指令/数据选择信号,连接MCU的PA8,第5脚为RW端,是并行的读写选择信号,连接MCU的PA9,第6脚为En端,是并行模式的使能信号,与MCU的PA10相连,第7-14脚为8位并行数据总线端,与MCU的PA0-PA7相连,第15脚为串行并行选择脚,连接高电平时选择并行接口,第17脚为液晶屏复位信号,低电平有效,第19脚为背光源正极,第20脚为背光源负极,本设计采用背光常亮的方式连接。液晶屏部分电路图如图3中的P2所示。
本设计采用薄膜按键作为按键输入装置,按键总数为28个,如果采用并行连接,会占用大量的IO口,所以本设计采用了行列扫描方式,一共4行7列,如图3中的P4所示。
本设计选用9针串口和运动控制板卡互联,实现数据通信,由于MCU的电平为TTL电平,所以需要使用MAX232实现电平转换,把TTL电平转换为RS232电平。为了实现多个文件的存储和编辑,本设计选用SPI接口flash作为外部存储器,AT45DB321D为Atmel公司生产的32Mbit闪存,采用SPI接口与MCU互联。 2 手持示教器软件设计
本设计为了实现增强系统的实时性和软件模块间的独立性,选用了嵌入式实时操作系统COOS,该操作系统是一款针对cortex-M系列芯片而设计的实时系统内核,免费且开源,具有高度可剪裁性,支持优先级抢占和时间片流转,中断延时时间趋近于零,通信方式支持信号量、邮箱、队列、时间标志和互斥等方式。
本设计依据官方提供Nuvoton NUC140示例代码,完成了Nuvoton NUC120系列单片机的移植和操作系统的运行。
本设计的软件程序启动和运行程序流程图如图4所示。系统上电后,首先进行硬件MCU硬件初始化包括串口通信初始化、USB初始化,然后对系统的时钟进行初始化设置,待MCU硬件初始化完成后,对COOS进行初始化设置,然后创建起始任务,在起始任务中对液晶屏和SPI FLASH进行初始化通信,然后依次创建应用任务,待任务创建完成后,主任务执行CoExitTask();退出任务,然后用启动COOS操作系统,最后进入while(1);循环。针对本产品的软件功能特点,本设计使用COOS创建了按键检测读取任务、液晶屏显示任务,串口通信任务和USB通信任务四个主要任务[3]。
[系统上电][硬件初始化和串
口通信参数设置][系统时钟初始化设置][COOS系统初始化][创建起始任务][依次创建四个应用任务][启动COOS][While(1);循环]
由于本设计选用的点阵显示屏为单色点阵显示屏,显示内容也基本是汉字菜单和数字、字母的显示和输入,所以不需要复杂的GUI软件库,本设计针对系统的特点设计了专用的GUI软件函数,分别为划线函数、字符串显示函数,字符串显示函数根据ASCII码和汉字内码的编码特点,在机内码编码中,汉字的机内码最高位为1,ASCII码最高位为0,根据最高位自动识别ASCII码和汉字,然后分别从汉字点阵库和ASCII点阵库读取相应的点阵数据并更新到显示屏进行显示。
本设计的手持示教器软件具有设置运行参数,新建、编辑、保存和删除点胶运动轨迹文件,USB通信,串口通信等功能,在液晶菜单设计采用层次化设计,共分四层界面,如图5所示。
在示教编辑中的文件编辑界面,点编辑功能包括点胶、走轨迹、延时、变速、暂停等,点类型包含孤立点、直线起点、直线终点、圆弧起点、圆弧中点、圆弧终点、整圆起点、整圆中点、整圆终点、暂停点、吹气点、速度点等点型。文件参数包含阵列参数,具体有阵列方式、阵列行数、阵列列数、阵列行偏移和阵列列偏移五项参数,速度参数包含空移速度、加工速度、拉丝速度和上抬速度四项参数,距离参数包含上抬高度、拉丝高度和关胶距离三项参数,时间参数包含开胶延时和关胶延时两项参数[4]。
点编辑功能和文件参数最终转换为纯文本格式的G代码和M代码,并进行保存。常用的G代码如G0、G1、G2、G3为运动控制指令,G8/G9加速/减速指令、G4延时指令、M0、M1暂停指令、M2、M30程序结束指令、M98/M99子程序调用/返回/循环指令和其他IO读写指令等。
文件编辑完成后为文件编辑序号,针对本系统只有4M字节的存储空间,每设计最多存储100个文件,每个文件使用固定空间大小,每个文件占用40K的空间,文件序号采用0-99进行编码,根据文件编码计算存储地址并保存到相应存储位置。
在文件下载界面,采用按键输入待下载文件的序号,然后选择下载,就可以自动启动串口通信功能,把该序号对应的由G代码和M代码组成的加工文件下载到点胶机运动控制板。下载完成后,在文件加工界面就可以启动加工功能,从而实现示教编辑、文件保存管理、文件下载和加工控制等功能[5]。
为了方便与上位机通信,进行示教文件的导出读取,设计了USB通信接口,当使用USB接口连接计算机和点胶机器人示教器时,直接从USB电源取电,并把USB口虚拟成串口,然后使用上位机专用的点胶机示教文件读取下载软件,通过该虚拟串口实现文件的读取、删除和替换等功能。
3 应用和发展前景
本文基于NUC120设计的点胶机示教器成本低、功能多、界面图形化,既可以为操作者提供良好的人机交互界面,又可以利用液晶屏为操作者提供足够的操作提示和状态提示,方便进行运行参数设置;点胶运动轨迹文件的新建、编辑、保存和删除,根据插入点选择自动生成相应的G代码,使用USB通信接口,通过和电脑相连可以方便地导入导出示教文件,从而实现使用一个示教器操作控制多个点胶机器人,实施统一化管理的功能。本文设计的点胶机器人控制器可以大大增强点胶机器人的使用便捷性,具有很好的应用前景。
参考文献:
[1] 刘思胜,李松生,陈萍.数控G代码解释器和仿真模块的设计与实现[J].机械设计与制造,2012.1:172-174
[2] 谢建华,刘海波,刘瑞芳.基ARM Cortex-M3的动态心电图机设计[J].吉林大学学报:信息科学版,2012.3:245-249
[3] 杨敏,王品,郑玉虎.人机会话方式的机器人示教盒的设计[J] .组合机床与自动化加工技术,2013.2:127-129
[4] 周伟,徐方.基于Wince的机器人示教盒的设计与开发[J].机械设计与制造,2012,3:9-11
[5] http://www.coocox.org/CN/CoOS.htm