APP下载

数字化三维阵列控制系统的设计与实现*

2014-07-19曾文会张华书荣佑民

组合机床与自动化加工技术 2014年5期
关键词:流程图控制算法上位

曾文会,张华书,2,荣佑民

(1.华中科技大学 机械科学与工程学院,武汉 430074; 2.东莞华中科技大学制造工程研究院,广东 东莞 523808 )

数字化三维阵列控制系统的设计与实现*

曾文会1,张华书1,2,荣佑民1

(1.华中科技大学 机械科学与工程学院,武汉 430074; 2.东莞华中科技大学制造工程研究院,广东 东莞 523808 )

文章以三维阵列显示系统为研究对象,研究了基于CAN总线的多节点电机运动控制,实现三维阵列的平稳快速显示。 开发了阵列单元节点像素解析转换软件实现图像显示到三维机械阵列表达的转换,针对阵列高速变换过程出现的丢步或过冲现象,提出了一种新的混合控制算法,并采用自适应算法来控制就电机运动过程中的姿态变换问题,实现阵列显示变换的高速稳定要求。

三维阵列; CAN总线;多节点电机控制;加减速算法;自适应算法

0 引言

随着文化科技产业的交融发展,机电一体化的装置艺术产品开始出现在展览展示行业,数字三维机械阵列显示系统是一种新型的机电装置,以机电一体化为基础辅以影像展示技术,以动态的形式展现机械与文化的融合美。三维阵列显示系统通过上位机对要展示的图片进行像素解析并与三维阵列显示系统的点阵对应,利CAN总线进行点阵单元结构的多节点电机升降控制,多点阵列单元的升降进而还原动态的三维图像,将传统的二维图像显示转换为三维机械阵列表达。多节点电机同步控制是整个系统的核心,重点要解决电机的失步、过冲及精确同步问题,本文就这些问题展开研究,实现了一种多电机同步控制的方法,并着重对步进电机失步、过冲等现象进行了实验分析。

1 三维阵列控制系统

三维阵列单元运动过程,由上位机协同集中控制。上位机主要由人际交互界面和数据处理模块构成,上位机通过人机交互读取动态展示信息,经数据处理模块处理为设定格式的报文,通过CAN发送到控制器;基于位置控制的方式,控制器将接收到的信息进行分析,并产生相应脉冲信号;脉冲信号经驱动器控制三维阵列运动,实现不同对象的展示。其三维阵列控制系统拓扑图,如图1所示。

图1 三维阵列控制系统拓扑图

整个控制系统采用CAN总线连接控制,CAN总线具有高保密性,抗干扰性强,有效支持分布式控制或实时控制的串行通信网络[1]。本文采用一个主节点和多个分节点组成的CAN控制电路,CAN总线工作于多组方式,总线中的各节点可以根据各自在总线中的站地址编码来接收各自的数据,通过冗余结构增强系统的可靠性和灵活性[2- 3]。当CAN节点出现严重错时会自动关闭输出功能,以使其总线上的其他节点工作不受影响,从而保证网络不会出现因个别节点的出错而导致总线“阻塞”的问题。CAN通信已经具备完善的通信协议,可通过CAN接口芯片和控制器轻松实现网络通信,因此极大的降低通信系统的开发难度,缩短其开发周期[4]。

2 阵列单元硬件及控制电路设计

阵列单元运行过程中,下位机程序控制微控制器(MCU)使之产生一定频率和数量的脉冲,经驱动器THB7128,将脉冲按一定的顺序发送到步进电机,使之以一定的速度转动相应的角度,从而带动阵列单元往复运动。驱动流程,如图2所示。

图2 驱动流程图

阵列单元升降控制系统的控制电路是整个控制系统硬件的核心部分,主要包括微处理器、与上位机通信的CAN电路模块、信号隔离与传输的光耦电路、电机工作状态的LED灯电路、THB7128步进电机细分电路等[5]。其电路设计框图如图3所示。

图3 控制电路设计图

3 阵列单元节点智能化软件设计

整个程序流程图从上位机开始,通过CAN总线,向下位机传播,到微控制器,产生脉冲,控制电机运动[6]。下位机每一个节点的程序流程图都一样,所以这里只显示从上位机到下位机中某一节点的程序流程图[7],如图4所示。

图4 某一节点程序流程图

整个流程图中需要注意,当数据到达下位机时,ECAN模块对到达数据的ID地址进行检测,判断标准为下位机程序在编写过程中都赋予了各下位机节点相应的ID地址,节点只接受ID地址与自己相符的数据,并由ECAN模块按相应的顺序写入ecan1msgBuf寄存器中存储。程序对过滤器和屏蔽寄存器的配置语言如下:

ecan1WriteRxAcptFilter (1, address1, 0, 8, 1);

ecan1WriteRxAcptFilter (2, address2, 0, 8, 1);

ecan1WriteRxAcptFilter (3, address3, 0, 8, 1);

ecan1WriteRxAcptFilter (4, address4, 0, 8, 1);

以最后一行程序为例,各参数的意义分别为:4为过滤器号,ECAN模块最多有16个完全的接受过滤器;address4为合法的标识符;0的位置是数据是否扩展数据帧,“0”标识标注数据帧,“1”则表示扩展数据帧;8的位置为过滤后的信息存放缓冲区,最多32个接受缓冲区,每个缓冲区最多8个字节的数据;最后1的位置表示关联的屏蔽寄存器号,范围[0~3]。

本系统的上位机软件协调控制24×18矩阵单元的运动,最终控制数字机械矩阵组合形成上位机程序读取的展示图片,如图5所示。本控制系统的上位机软件是基于VC++环境开发,并通过人机交互界面实现对数字机械阵列的控制。

图5 上位机软件人机界面

4 电机控制算法

4.1 细分驱动技术

由于电机转动过程中噪音较大,而且有一定的震动频率,为了降低噪音并吸收一定的震动,采用细分驱动技术。细分驱动使每个脉冲下电机的电流在高低电平之间切换时不再以方波的形式直接跳转,而是以正弦波的方式将方波分成系数个缓慢变化的波形,这样就绕组中电流的突变减小,从而减小电机的振动和噪音,因此,步进电机在使用性能上的提升才是细分驱动的真正目的,图6a,6b为使用细分驱动技术前后电机绕组内电流变化的分析图。本文采用八细分驱动技术。

图6 使用细分技术前后电机绕组电流图

4.2 电机的混合控制算法

电机混合控制算法包括启动停止时的平滑处理算法以及运行过程中的自适应算法。电机使用细分驱动技术后,电机的运行会更加平稳,但是步进电机具有启动时失步、停止时过冲现象,这是影响步进电机位置控制精度的主要原因。由于本阵列系统需要多个电机,所以这是一个关键的问题。为了解决这一问题,我们需要在电机启动和结束时,加载一个平滑的脉冲函数。因此启动停止算法是电机控制混合算法中的一个主要部分。

4.2.1 电机启动停止算法

步进电机启动停止过程中对加减速算法要求很严格,在不失步或过冲的情况下,需要尽快的平滑达到额定转速。当步进电机负载T=0时,传递函数为:

(1)

式中ia为步进电机A相电流;L为绕组的自感;J,Zr为转子转动惯量及齿数;D为电机粘滞阻尼系数[8]。

步进电机启动停止过程中对加减速算法要求很严格,在不失步或过冲的情况下,需要尽快的平滑达到工作转速。

由于步进电机实际运行的规律是按指数上升,因此考虑用指数曲线控制步进电机的加减速运行。指数控制算法实际是控制角加速度变化,其加速阶段是按照指数上升或者下降[9]。角加速度随着时间是非线性变化的,如图7所示。

图7 步进电机角加速度曲线

假设指数加速算法曲线函数为

ω=Aekt+b

(2)

其中A,k,b为常数,且A,k≠0,对ω求导得:

ε=Akekt

(3)

对ε进行拉普拉斯变换:

(4)

从而得到指数加速算法的传递函数为

(5)

由于本文电机转速n=46.8r/s,即匀速时的ω为4.90,采用8细分驱动技术,为了防止电机启动速度过快而无法启动,或者出现失步,过冲现象,同时也能在比较合适的时间里加速到预定转速,经过多次测试和仿真,仿真图像如图8所示。

图8 仿真曲线波形图

图8纵坐标是角速度,横坐标是时间t,从仿真结果看当t接近3时,曲线趋向于平缓,这时表明慢慢处于匀速状态,整个加速过程比较平滑,而且加速较快,此时k=1.59,A=1;最后有

(6)

b为常数,通常情况下b取0。

4.2.2 控制系统自适应算法设计

阵列单元控制系统中,电机接到系统新的动作命令时,可能处于正转、反转或者停止等运动状态,无法建立数学模型,只能以状态变化来引导自身的运动[10-11],而为了使电机的运动过渡平稳,故采用电机调速自适应算法控制该运动过程。

由于阵列单元具有静态、加速、匀速、减速、静止、正转、反转等不同的运动状态,基于封闭状态变化的ACS模型,建立如图9所示的自适应算法流程图。

图9 自适应算法流程图

4.2.3 三维阵列展示效果实验分析

为了保证算法的设计有效实用,在整个项目初步完成时,对算法进行了测试。整个系统,在未使用改进的算法,只使用简单的加减速线性算法控制时,系统控制阵列的效果图如图10a所示。从图中可以看出左边偶尔会有一两个阵列单元失控,影响整个动态展示的效果的完整。并且实际测试中,电机会经常出现启动失步,或者阵列单元到达固定位置,电机仍然转动的现象。而使用改进算法后,如图10b所示,动态展示效果明显稳定,整个图像显示更加完整,对电机的控制更加精确,并且实际测试运行中电机失步等现象明显减少了。

图10 实验过程矩阵单元效果图

5 结论

本文基于CAN总线和混合控制算法的多电机阵列控制系统的研究,通过CAN总线来实现对多电机的同步控制。同时,为了使电机运行平稳,无失步,无过冲现象,本文首先给电机加载一个启动指数算法,使电机能很快平稳的加速到预定速度,然后匀速运行。整个运动过程中,由于电机有各种状态,比如静止,加速,匀速,正转,反转,减速等,所以只能通过控制状态来控制电机,因此利用自适应算法来控制电机的运动状态。这种控制方法成功的解决了多电机同步运动与单电机精确运动的问题,系统所采用的软硬件以及电机的控制算法具有一定的通用性,可以广泛运用到其他步进电机的控制系统中去。现已在机械矩阵中的得到成功的应用。

[1] 刘涛,王宗义,孔庆磊,等. 基于CAN总线 的多 电机协调运动控制系统研究[J].机床与液压,2010, 38(3):75-77.

[2] 赵君,刘卫国,谭博. 基于CAN总线的分布式多电机控制研究[J].测控技术,2008, 27(8):70-73.

[3] 宋小庆,任维彬,陈克伟,等.基于有色Petri网的CAN总线仿真与性能分析[J].装甲兵工程学院,2011,25(1):74-78.

[4] 孙树文,杨建武,张慧慧,等. 基于CAN总线的分布式监控系统智能节点设计[J]. 微计算机信息,2006, 22(8): 55-57.

[5] 何冲,王淑红,侯胜伟,等. 基于AT89C52单片机的步进电机控制系统研究[J].电气技术,2012(4):5-8.

[6] 刘威龙, 孙明磊. 基于STM32的分布式步进电机控制系统设计[J]. 数字技术与应用,2012(3):18-20.

[7] 姜德美,谢守勇,甘露萍. 步进电机启动控制算法设计[J].西南大学学报(自然科学版),2007, 29(5):128-132.

[8] Lefebvre.M. Dynamics of hybrid stepper motors. Machine Design International. 2005, 77(4):140-142.

[9] 朱学军.分布式控制系统发展综述[J]. 机床电器. 2004(1): 5-8.

[10] 王安敏,孙丰鑫,杜攀攀. 基于TB6560AHQ和ATmega8的步进电机驱动控制器设计[J].青岛科技大学学报:自然科学版,2012(2):102-106.

[11] 郝佳,吴杰长,郭朝有.CAN总线通信过程的State flow建模与仿真[J].计算机与数字工程,2011,39(9):53-56.

(编辑 李秀敏)

The Design and Realization of the Control System of Digital Three-dimensional Array

ZENG Wen-hui1, ZHANG Hua-shu1, 2, RONG You-min1

(1. School of Mechanical Science & Engineering, Huazhong University of Science and Technology, Wuhan 430074, China;2. DG-HUST Manufacturing Engineering Institute, Dongguan Guangdong 523808,China)

In this paper, the display system of three-dimensional array is regarded as the research subject, and a research has did about a multi-node control of the motor motion based on CAN bus, to achieve the display of the three-dimensional array stable and rapidly.The resolution and conversion software of the node pixel of the array unit has been developed and it can achieve the expression of the image display converting to 3D mechanical array, and in connection with the phenomenon of lost step or over step when started or ended during the high-speed transformation process, hereby it proposed a new hybrid control algorithm, for the transformation of multiple stances in motor movement, the adaptive algorithm has been used to control to ensure the high-speed conversion of three-dimensional array display stable.

three-dimensional array; CAN-bus; multi-node control; adaptive algorithm

1001-2265(2014)05-0107-03

10.13462/j.cnki.mmtamt.2014.05.027

2013-08-28;

2013-10-01

国家自然科学基金(50905065);广东省产学研项目(2011B090300101,2011B090400381)

曾文会(1989—),男,湖北仙桃人,华中科技大学硕士研究生,从事机电一体化研究,(E-mail)895985683@qq.com。

TH166;TG65

A

猜你喜欢

流程图控制算法上位
一种程序源代码的标准化流程图转化方法∗
特斯拉 风云之老阿姨上位
基于ARM+FPGA的模块化同步控制算法研究
高精度位置跟踪自适应增益调度滑模控制算法
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
基于航迹差和航向差的航迹自动控制算法
腹腔镜手术护理流程图在腹腔镜手术围术期护理中的应用
一种非圆旋转工件支撑装置控制算法