Technical Articles
网络远程控制作业机械手的设计与实现
Date:2013-10-03
Source:三姆森科技
摘要:随着网络等信息产业的发展,远程作业和智能设备的远程监控成为现代人生活发展的方向,远程通信则是一个值得研究的问题。本文以远程控制作业机械手的实例,介绍了远程串行通信的基本架构及实现过程,分析了直接控制机89C51硬件及其软件的设计与实现。 关键词:远程;串行通讯;单片机;机械手 引言 网络化操作和远程控制成为很多企业和科研机构钻研的方向,要实现对现场设备进行管理和控制,就需要与这些设备进行通讯连接,进行相关数据交换,以达到管理、控制和监控的目的。同样嵌入式领域中,为了达到远程监控,也必须基于网络。在水下或者恶劣环境作业的机械手,在特定的时候需要远程控制。网络远程控制机械手进行作业成为了可能。 在远程控制中,通信是值得讨论的技术问题。传统的通信只是局限于脱离网络的通信,如两个PC机之间通信,或者是上位机为PC机,下位机为单片机。在远程控制机械手系统中,采用的是基于Internet的远程串口通信,远程串行通讯是指客户端与下位机或通讯对象之间通过串口进行的远距离通讯,而传统的远程通讯只是它其中的一部分,通过客户端传送指令给下位机至控制部件,从而实现远程监控。
1、远程串口通讯系统的基本构架及实现
(一)基本构架概述 在软件系统体系结构中,C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S模式采用的是两层体系结构,即客户端和服务器,通过该架构可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,客户端进行显示界面和事务处理,服务器进行数据处理和应答请求处理。在客户端需要安装客户端软件才能访问服务器。不但软件升级不便,而且也增加了客户端的负载和投资成本。 B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现, 数据处理则由数据库服务器进行,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本,但仅在B/S模式下还不能直接实现与被控对象进行数据通讯。
基于B/S模式实现与被控对象进行数据通讯的远程串行通讯采用四层体系结构,增加了一个控制层,浏览器端为表示层,WEB服务器为功能层,数据库服务器为数据层,控制层为通过WEB服务器传送指令到控制服务器,控制服务器作为上位机,通过串口控制下位机,直到控制执行部件。这里不仅增加了控制层,而且对功能层和数据层也都进行了扩展。这种体系结构即具有B/S模式的优良特性,又增加了控制服务功能,充分利用了现有的网络资源和工业现场资源,并且使两者有机地结合在一起,达到了与被控设备通过串口进行远程通讯的目的。表示层、功能层、数据层和控制层既有一定的相互联系又具有相对独立性,各层是通过Internet相连接,通过HTTP协议和串口通讯协议进行信息通讯。如图1所示
(二)远程串口通讯各部件的功能及实现
(1)浏览器端:用户通过浏览器登陆web服务器,通过输入用户名和密码,和数据库中的数据比较验证通过后,成为合法的用户,然后在相应的表单中输入控制数据。按提交按钮后,数据传送到web服务器。浏览器端再作为显示端,能够显示远程执行部件的反馈位置。
(2)WEB服务器:能够接收浏览器端发送过来的控制数据,并处理相应的数据后,把数据发送给控制服务器,或者直接作为控制服务器,通过串口把数据发送给执行部件。
(3)数据库服务器端:存放合法用户的用户名和密码,以进行检验。同时,在发送执行数据时,如果需要特定的转换数据,也可直接到数据库中获取。实现系统的数据处理,并把运行结果反馈给web服务器。
(4)控制服务器:作为直接通过串口发送命令给执行部件的上位机,或者直接由web服务器本身担任。接收web服务器从浏览器端接收过来的数据。通过串口通讯协议及握手信号,把数据发送给下位机。
(5)下位机:通过串口通讯协议接收控制服务器(上位机)的执行数据,再通过相应的驱动电路,带动执行部件工作。
(6)执行部件:按照传送过来的指令进行工作,并通过传感器把当前执行部件的位置和姿态化作数据再通过串口回送到控制服务器,直至到达浏览器端,使得用户不在执行部件的现场也可以远程控制并得到部件执行之后的效果。 在浏览器中,登陆验证后,通过HTTP协议,把数据传送给web服务器,再传给控制服务器。控制服务器作为上位机,打开串口,通过通讯协议把数据发送给下位机。下位机根据通讯协议,收到上位机发送过来的数据,并启动D/A转换器,控制执行部件。同时通过传感器把执行部件的姿态反馈给上位机。下位机可以为单片机、DSP、ARM等微处理器。
2、远程控制作业机械手系统的实现
基于web的机械手的远程控制,在高温、水下等恶劣的工作环境下,需要远程控制机械手实行操作。在远程通过浏览器输入操纵数据,通过网络传送给主控机,主控机采用一般的PC机,主控机通过串口把数据发送给下位机,该作业机械手系统中采用89C51单片机作为直接控制计算机。现场通过监控设备把作业机械手的姿态反馈到远程控制机,同时通过传感器采集现场数据返回到控制机。图2为远程控制作业机械手的系统示意图。 在浏览器端登陆主控机担当的服务器,取得合法身份验证之后,发送数据。主控机收到信息后,通过串口把数据发给直接控制机89C51。
(一) 单片机系统的硬件组成部分
(1)以89C51为微处理器的为核心,扩展RAM6254、锁存器、时钟电路、复位电路等。
(2)串口通讯电路:主控机向89C51传送数据时,采用串口通信,常用的串行通信总线接口是美国电气协会EIA制定的RS-232C。鉴于单片机串行口TXD,RXD均为TTL电平,而PC机配置的是RS-232C标准串行接口,在应用时,必须进行电平转换。在作业机械手控制系统中,采用MAX232作为接口转换芯片。
(3)数模转换电路:通过串口,主控机把机械手的动作指令数据发送给89C51,89C51通过总线把数据发送给D/A转换电路数据端口,在该系统中采用DA0832数模转换芯片来实现。
(4)驱动电路:机械手的作业动力来自液压系统,采用伺服阀来实现对机械手的回路控制,为驱动伺服阀,设计相应的驱动电路
(5)模数转换电路:用角度电位计和位移传感器采集机械手的实际操作数据,传感器标定之后,采集的位移量和角度模拟信号要转换数字信号传送给89C51,再向上发送,该系统中采用AD0809模数转换芯片来实现。
(二)主控机与单片机软件系统的实现 (1)主控机程序 主控机由PC机担任,用VC++开发操纵界面,通过串口控件MSComm对串口通讯协议进行串口初始化,从后台数据库SQLServer中提出从WEB发送的控制机械手的数据,控制机械手各个关节的执行的角度量,同时等待接收89C51回送回来的数据。软件系统的流程图如图3所示。 (2)89C51单片机主程序 89C51作为直接控制计算机,用C语言来编写主程序,初始化串口,分配内存缓冲区存放接收数据,开中断,等待外部以中断形式进行数据的发送和接收。89C51的主程序流程图如图4所示。 (3)89C51中断处理子程序 中断子程序中首先清除中断标志,然后判断是接收还是发送引起的中断,根据相应的中断源进行处理。89C51中断处理子程序的流程图如图5所示。
3、结束语 本文作者创新点在于把89C51单片机与机械手的作业联系起来,通过网络远程通信达到了远程控制机械手实验室的实现,为远程控制作业的研究提供了一个具体的实例参考,目前该系统实现了网上发送数据到主控机,存储在数据库中,需要手工在主控机调动数据来实现对机械手的控制。能够完全脱离人的介入,直接通过网络来控制作业还在进一步的研究中。实验应用和市场证明,在网络现代化的今天和未来,远程通信必将出现在未来的人类生活中,有可观的研究意义和实用价值。
参考文献:
[1] 马忠梅、籍顺心编著 单片机的C语言应用程序设计 北京航空航天大学出版社 2000
[2] 郑笑宁 水下遥操作实验系统工具库控制系统的研究 哈尔滨工程大学论文 2003-
[3] 陈龙三编著 8051单片机C语言控制与应用 清华大学出版社 2001
[4] 何立民 MCS-51系列单片机应用系统设计北京航空航天大学出版社 1990年
[5] 张开生 基于89C51的纸浆智能计量管理系统设计 微计算机信息杂志 2005年第7-2期
1、远程串口通讯系统的基本构架及实现
(一)基本构架概述 在软件系统体系结构中,C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S模式采用的是两层体系结构,即客户端和服务器,通过该架构可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,客户端进行显示界面和事务处理,服务器进行数据处理和应答请求处理。在客户端需要安装客户端软件才能访问服务器。不但软件升级不便,而且也增加了客户端的负载和投资成本。 B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现, 数据处理则由数据库服务器进行,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本,但仅在B/S模式下还不能直接实现与被控对象进行数据通讯。
(二)远程串口通讯各部件的功能及实现
(1)浏览器端:用户通过浏览器登陆web服务器,通过输入用户名和密码,和数据库中的数据比较验证通过后,成为合法的用户,然后在相应的表单中输入控制数据。按提交按钮后,数据传送到web服务器。浏览器端再作为显示端,能够显示远程执行部件的反馈位置。
(2)WEB服务器:能够接收浏览器端发送过来的控制数据,并处理相应的数据后,把数据发送给控制服务器,或者直接作为控制服务器,通过串口把数据发送给执行部件。
(3)数据库服务器端:存放合法用户的用户名和密码,以进行检验。同时,在发送执行数据时,如果需要特定的转换数据,也可直接到数据库中获取。实现系统的数据处理,并把运行结果反馈给web服务器。
(4)控制服务器:作为直接通过串口发送命令给执行部件的上位机,或者直接由web服务器本身担任。接收web服务器从浏览器端接收过来的数据。通过串口通讯协议及握手信号,把数据发送给下位机。
(5)下位机:通过串口通讯协议接收控制服务器(上位机)的执行数据,再通过相应的驱动电路,带动执行部件工作。
(6)执行部件:按照传送过来的指令进行工作,并通过传感器把当前执行部件的位置和姿态化作数据再通过串口回送到控制服务器,直至到达浏览器端,使得用户不在执行部件的现场也可以远程控制并得到部件执行之后的效果。 在浏览器中,登陆验证后,通过HTTP协议,把数据传送给web服务器,再传给控制服务器。控制服务器作为上位机,打开串口,通过通讯协议把数据发送给下位机。下位机根据通讯协议,收到上位机发送过来的数据,并启动D/A转换器,控制执行部件。同时通过传感器把执行部件的姿态反馈给上位机。下位机可以为单片机、DSP、ARM等微处理器。
2、远程控制作业机械手系统的实现
基于web的机械手的远程控制,在高温、水下等恶劣的工作环境下,需要远程控制机械手实行操作。在远程通过浏览器输入操纵数据,通过网络传送给主控机,主控机采用一般的PC机,主控机通过串口把数据发送给下位机,该作业机械手系统中采用89C51单片机作为直接控制计算机。现场通过监控设备把作业机械手的姿态反馈到远程控制机,同时通过传感器采集现场数据返回到控制机。图2为远程控制作业机械手的系统示意图。 在浏览器端登陆主控机担当的服务器,取得合法身份验证之后,发送数据。主控机收到信息后,通过串口把数据发给直接控制机89C51。
(1)以89C51为微处理器的为核心,扩展RAM6254、锁存器、时钟电路、复位电路等。
(2)串口通讯电路:主控机向89C51传送数据时,采用串口通信,常用的串行通信总线接口是美国电气协会EIA制定的RS-232C。鉴于单片机串行口TXD,RXD均为TTL电平,而PC机配置的是RS-232C标准串行接口,在应用时,必须进行电平转换。在作业机械手控制系统中,采用MAX232作为接口转换芯片。
(3)数模转换电路:通过串口,主控机把机械手的动作指令数据发送给89C51,89C51通过总线把数据发送给D/A转换电路数据端口,在该系统中采用DA0832数模转换芯片来实现。
(4)驱动电路:机械手的作业动力来自液压系统,采用伺服阀来实现对机械手的回路控制,为驱动伺服阀,设计相应的驱动电路
(5)模数转换电路:用角度电位计和位移传感器采集机械手的实际操作数据,传感器标定之后,采集的位移量和角度模拟信号要转换数字信号传送给89C51,再向上发送,该系统中采用AD0809模数转换芯片来实现。
[1] 马忠梅、籍顺心编著 单片机的C语言应用程序设计 北京航空航天大学出版社 2000
[2] 郑笑宁 水下遥操作实验系统工具库控制系统的研究 哈尔滨工程大学论文 2003-
[3] 陈龙三编著 8051单片机C语言控制与应用 清华大学出版社 2001
[4] 何立民 MCS-51系列单片机应用系统设计北京航空航天大学出版社 1990年
[5] 张开生 基于89C51的纸浆智能计量管理系统设计 微计算机信息杂志 2005年第7-2期