APP下载

PC与仿形机械手的串口通信实现*

2014-07-18陈小虎刘新华陈佩佩郑显华

组合机床与自动化加工技术 2014年7期
关键词:机械手上位串口

陈小虎, 刘新华, 陈佩佩, 郑显华

(1.中国矿业大学 机电工程学院, 江苏 徐州 221116;2.常州市润源经编运用工程技术研究中心, 江苏 常州 213161)

PC与仿形机械手的串口通信实现*

陈小虎1, 刘新华1, 陈佩佩2, 郑显华1

(1.中国矿业大学 机电工程学院, 江苏 徐州 221116;2.常州市润源经编运用工程技术研究中心, 江苏 常州 213161)

针对基于DSP的仿形机械手通信问题,提出了基于LabVIEW的串行通信方案。设计了RS232串行通信接口电路,编写了仿形机械手的数据发送和接收程序。通过LabVIEW平台开发了上位机软件,利用其VISA技术实现了PC与仿形机械手的串口通信。最后在仿形机械手控制系统中,测试了系统串行通信的可行性;实验表明,所开发的通信系统人机界面友好,操作简单,具有数据传输及交换、命令控制等功能。

仿形机械手; LabVIEW; 串口通信; 数字信号处理器

0 引言

当今社会,机器人技术为工业生产、农业、军事、航天等领域做出了巨大贡献,围绕仿形机械手的研究也日益受到各国学者的关注和重视[1-2]。同时伴随着虚拟仪器和自动化控制技术的发展,一种基于图形化编程语言(G语言)的LabVIEW软件和DSP技术在现代工业技术中也得到了广泛的应用[3-4]。串行通信是工业和科研上常用的通信方式之一,众多学者对其做了大量研究。喻少林等[5]通过采用FPGA技术实现了多路串行通信,并成功应用于飞控计算机。戴鹏等[6]通过异步串行通信设计和LabVIEW软件解决了电力传动控制系统数字变量不易观察的问题。

本文针对仿形机械手通讯问题,采用MAX3232CSE芯片实现仿形机械手与PC的远距离通信。仿形机械手总体结构如图1所示。指令在上位机发出,由PC处理转化成可传输的数据,数据通过串口线传输到仿形机械手,然后主控芯片TMS320F2812(以下称2812)处理输出相应占空比的PWM波到手指电机,最终五个手指做出理想的动作。

图1 系统总体结构

1 串行通信接口(SCI)硬件电路和通信软件设计

1.1 串行通信硬件电路

SCI串行总线接口电路主要由Maxim公司的MAX3232CSE芯片和少量外围元件组成,电路如图2所示。在电气特性上RS232采用负逻辑,且高低信号间需要较大的幅度,标准通常采用-10V左右为逻辑1,+10V左右为逻辑0。但2812输入输出逻辑1为+3.3V,逻辑0为0.3V左右,因此需要MAX3232CSE来实现COMS电平到RS232电平转换[7]。SCIRXDA 和SCITXDA分别接2812SCI串行通信模块的输入输出,RXD和TXD接外部RS-232-C接口。利用串口通信总线可以进行基于2812的无刷直流电机控制系统与上位机之间的异步数据通信,实现上位机对工作现场的监控。

图2 串口接口电路

1.2 仿形机械手软件实现

仿形机械手主控芯片为2812,其软件部分主要完成数据的发送和指令的接收[8],发送采用查询方式,流程如图3(左),接收采用中断方式,流程如图3(右)。为保证数据的完整性,2812自带的SCI模块对收到的数据间断检测和奇偶、超时和数据帧错误检测。通过对波特率寄存器和通信控制寄存器设置,即可设置通信中数据格式。需要注意的是:上位机与下位机的数据格式要统一。还需有系统初始化、I/O口的初始化等。初始化程序如下[9]:

InitSysCtrl();//初始化系统

DINT; //关中断

IER = 0x0000;

IFR = 0x0000;

InitPieCtrl();//初始化PIE中断

InitPieVectTable();//初始化PIE中断矢量表

InitSci();//Initialize SCI-A

for(i = 0; i < 100; i++)//初始化变量

{

...

SCiRxData[i] = 0x0000;

}

图3 数据流程图

限于篇幅要求,在此只给出初始化SCIA寄存器程序(InitSci()),程序如下:

void InitSci(void)

{

EALLOW;

GpioMuxRegs.GPFMUX.all = 0x0030;

EDIS;

SciaRegs.SCICCR.all = 0x07; // 1 bit stop, disable parity, idle mode, 8 bits data

SciaRegs.SCICTL1.all = 0x03; // enable receive /transmit

SciaRegs.SCICTL2.all = 0x03; //enable RXRDY/TXRDY interrupt

SciaRegs.SCIHBAUD = 0x00; //data transfer rate 19200

SciaRegs.SCILBAUD = 0xF3;

SciaRegs.SCICTL1.all = 0x23;

PieCtrl.PIEIER9.bit.INTx1 = 1;

PieCtrl.PIEIER9.bit.INTx2 = 1;

}

2 LabVIEW 部分程序设计

2.1 串口数据发送模块

上位机以LabVIEW为平台的串口通信,对串口初始化后就可对其进行读写操作了。在通信过程中,指令以字符串的格式组成,所以指令在发送之前需将字符串转化为对应计算机能识别的ASCⅡ代码,这由VISA Write函数实现[10-11]。上位机完成对下位机发送握拳,OK等指令,下位机接到指令做出相应动作。在VISA资源控件选择通信口,将字符串指令写入VISA Write缓冲区即可完成数据的发送,数据格式设置程序和指令发送部分程序如图4所示。

图4 数据发送程序

2.2 串口数据接收模块

仿形机械手接收指令后作出相应动作,并在设定的等待时间(拟60s)后,自动恢复初始设置,并返回数据0。数据经VISA串口字节数函数和VISA Read函数读取并由人机交互界面指示灯显示返回的信息,程序如图5所示。

图5 数据接收程序

3 测试结果

人机交互界面,包括端口参数设置界面、通讯测试界面、单指运动界面、手势界面和系统退出界面。使用上述系统进行试验,在端口设置窗口设置数据格式为:8位数据位,1位停止位,数据传输率19200,无奇偶校验。在通讯测试窗口发送16进制数据ABCD,通过与返回数据对比,上位机显示通讯状态正常,结果如图6所示。

在手势界面点击“手势开始”按钮,同时显示运行时间,发送手势指令(如指令1握拳),同时相应的指示灯亮。2812接收到数据,并分析处理后,由事件管理器产生一定占空比的PWM波。由A/D转换器采集引脚PWM1上的PWM信号,并发送给上位机,然后分析、显示。由图7所示的周期为1ms,占空比为70%,幅值为3.3的PWM信号。经过分析,显示的波形真实完全还原了预期的信号。由此证明了所提出的方案简单可行。将该方案应用于仿形机械手,经过调试,仿形机械手按照既定的指令动作,系统稳定性良好。

图6 串口通讯状态测试

图7 手势控制界面

4 结束语

该体统上位机软件部分采用美国NI公司的虚拟仪器开发软件LabVIEW 9.0进行开发,编写了端口设置程序、相应手势控制程序等,设计了简单易于控制的控制面板,实现了PC与仿形机械手的数据通信。实践证明,由于RS-232共模抑制能力差,再加上双绞线上的分布电容,此方案只适用于本地设备的数据发送与接收。但与传统方案相比,该方案操作简单、界面友好,硬件电路简单,具有良好的可移植性与扩展性,可满足不同用户要求。

[1] 姜杉, 杨志永, 李佳. 医用机器人研究、应用与发展 [J]. 机床与液压, 2005(5):1-5.

[2] 王鹏, 李鑫, 江文浩. 地震搜救机器人构型设计综述 [J]. 哈尔滨理工大学学报, 2012, 17(1):15-19.

[3] 蔡共宣, 朱红瑜.基于LabVIEW的虚拟实验系统研究[J]. 电子测量技术, 2008, 31(7):83-86.

[4] 任先文, 王坤, 余志飞.基于DSP的三相电压型整流器 [J]. 电力自动化设备, 2010, 30(3):116-120.

[5] 喻少林, 韩 波, 李 平. 基于 FPGA 的飞控计算机多路串行通信设计 [J]. 计算机工程, 2011, 37(20):242-245.

[6] 戴鹏, 刘剑, 符晓, 等. 基于TMS320F2812与Lab VIEW的串口通信 [J]. 计算机工程, 2009, 35(4):94-96.

[7] 李江全, 刘恩博, 胡蓉,等. LabVIEW虚拟仪器数据采集与串口通信测控应用实战 [M]. 北京:人民邮电出版社, 2010.

[8] 王子瑞, 孙敬敬, 王林. 基于LabVIEW虚拟仪器的双通道信号采集与分析系统设计 [J]. 机电工程技术, 2011, 40(8):42-45.

[9] 严伟, 龚幼民. 数字信号处理器综合测试方案 [J]. 上海大学学报(自然科学版), 2005, 11(2):133-138.

[10]YAN Jie, LIU Rong,et al. LabVIEW-based auto-timing counts virtual instrument system with ORTEC 974 Counter/Timer [J]. Nuclear Science and Techniques, 2009, 20(5):307-311.

[11]俎云霄, 曾昶畅. 基于Lab VIEW的“信号与系统”仿真实验系统设计 [J]. 现代教育技术, 2009, 19(11):141-144.

(编辑 李秀敏)

The Study of Serial Communication between PC and Profiling Manipulator

CHEN Xiao-hu1, LIU Xin-hua1, CHEN Pei-pei2, ZHENG Xian-hua1

(1. College of Mechanical and Electronic Engineer, China University of Mining and Technology, Xuzhou Jiangsu 221116, China;2. Changzhou Runyuan Warp Knitting Applying Engineer Technology Research CO.Ltd., Changzhou Jiangsu 213161, China)

A design scheme of serial communication is put forward aiming at the problem of communication between PC and profiling manipulator. The hardware circuit of serial communication is designed, the data sending and receiving programs of the profiling manipulator is compiled. The upper computer software of serial communication of the manipulator is achieved based on the VISA technology of LabVIEW. Finally, the feasibility of serial communication system is tested in the copying manipulator controlling system. The experiments show that the communication system has a friendly man-machine interface and is simple to operate, it possesses functions of data transmission and exchange, command control, etc.

profiling manipulator; LabVIEW; the serial communication; DSP

1001-2265(2014)07-0094-03

10.13462/j.cnki.mmtamt.2014.07.026

2013-11-13;

2013-12-20

国家自然科学基金资助项目(51005231);中国博士后科学基金资助项目(20100471408)

陈小虎(1987—),男,河北邯郸人,中国矿业大学硕士研究生,研究方向为数控系统分析与研究,(E-mail)cxiaohu503@163.com。

TH166;TG65

A

猜你喜欢

机械手上位串口
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
某数控车床的桁架机械手结构设计
基于EM9000工控板高性能双串口通信模型设计与实现
人体体感感知机械手设计与实现
要攻城略地关键要有好筹码,这匹水产动保“黑马”如何能迅速上位?
特斯拉 风云之老阿姨上位
车轮装配机械手气动控制系统设计
基于粒子群迭代的一种冗余机械手逆解算法
船舶电子设备串口数据的软件共享方法