徐玉彪,陈 进,姜佳威,张家斌
(上海第二工业大学 工学部,上海 201209)
随着现代高科技的发展,各种形式转台的应用越来越广泛:在军事方面,火炮、坦克的瞄准系统离不开转台;在工业方面,各种机床、机器都与各种形式的转台密切相连;在航天、航空等领域,转台在进行半实物的仿真与测试等方面也起着关键作用[1]。总之转台的运用无处不在。
转台控制系统软、硬件运行得稳定与否直接关乎转台控制功能的实现及精度的可靠性[2]。文中所涉及的二轴转台为上海联谊自主研制,用于某产品的扫描测试。该转台包含升降轴和旋转轴,要求如下:开环控制下转台各轴能实现速度可设定下的点动、相对定位、绝对定位、定速往返、归零、停止及实时状态显示等功能;升降轴上下位移重复定位精度达到0.01 mm;旋转轴水平旋转重复定位精度达到0.01°。在此重点介绍转台控制系统的设计。
二轴转台控制系统以2台两相四线步进电机为驱动执行电机,下位机采用STC15W4K56S4单片机,具有抗干扰能力强,不需要外部晶振和外部复位,高速、高可靠,超低功耗等优点[3];上位机为工业PC,基于LabVIEW软件开发应用程序。上位机与下位机通信方式有RS-232串口和TCP/IP协议2种可选,设计相关的控制指令通信协议,通过PC对转台进行直接控制。
控制对象为双轴精密定位转台,其升降轴的行程为 0~650 mm,旋转轴的行程为-60°~60°。 转台控制系统的设计采用人机交互界面的形式,实现了控制指令的收发并将双轴状态数据进行实时显示。
步进电机作为执行单元,将电脉冲信号转变为角位移或线位移,在一定的电流驱动且不超载的情况下,转速和运动的位移分别由脉冲的频率和数量决定,而不受负载变化的影响。步进驱动器作为驱动步进电机运动的驱动单元,每接收到1个脉冲信号,就驱动电机按已经设定的方向转动1个步距角,其旋转以步距角一步一步运行。因此,可以通过计算到达给定位置所需脉冲数达到准确定位的目的,调速方面则把所需速度转换为脉冲频率。故此该系统采用开环控制结构,如图1所示,以STC15W4K56S4单片机为核心处理芯片,采用由PC和单片机板组成的集散型控制方式。
图1 转台控制系统总体结构Fig.1 Overall structure of turntable control system
转台控制系统主要由以下3部分组成:
(1)上位机PC端软件平台 实现人机交互功能,设定电机驱动器运行参数,完成用户操作指令的响应,转台实时位置及速度等状态信息的实时显示。
(2)下位机控制器——转台控制系统的核心驱动部分 接收并解析上位机控制指令,继而执行相关算法,发出控制信号驱动转台运动,并且在系统运行过程中,周期性获取位置、速度等转台状态信息发送给给上位机;监测限位开关信号并进行限位保护处理,断电保存转台位置值。
(3)步进电机系统——转台的执行机构借助减速器、丝杆等传动机构驱动转台,按照控制器控制信号进行运动,实现各种定位功能。
上位机PC端通过串口或以太网与控制器通信,向控制器发送控制指令;单片机根据接收到的指令,计算出脉冲频率,并根据转台当前的位置值计算出应向驱动器发送的脉冲数及方向信号,继而输出脉冲驱动电机运动,实现对转台的实时控制;单片机还能实时捕捉转台的限位开关信号状态,防转台运动超限。
系统所采用的两相步进电机驱动器为DM860H,以单轴转台为例,驱动器端口接线如图2所示。
图2 驱动器端口连接Fig.2 Driver port connection
驱动器既可以采用18~80 V AC,也可以采用24~110 V DC供电,在此采用48 V DC供电。步进电机驱动器3类控制信号的具体功能如下:
(1)脉冲信号 PUL+(+5 V)和 PUL-。 PUL-脉冲上升沿有效,高电平时4~5 V,低电平时0~0.5 V。步进电机的驱动控制采用细分技术,细分后的实际步距角为基本步距角的几分之一。如电机的基本步距角为1.8°,如果没有细分,则1个脉冲转动1.8°,200个脉冲旋转1周。该系统步进电机驱动器设置为32细分,即1个脉冲电机转动0.05625°,单片机发送脉冲的频率则决定电机运转的速度。
(2)方向信号 DIR+(+5 V)和 DIR-。 DIR-高电平时4~5 V,低电平时0~0.5 V,对应电机正反转。接线方面,互换任一相绕组(A+与A-互调,或B+与B-互调)可以改变电机运行的初始方向。
(3)使能信号 ENA+(+5 V)和 ENA-。ENA-为低电平时驱动器不能工作,悬空时自动使能。在此,系统默认使能,不接ENA+和ENA-。
转台旋转轴和升降轴均安装了光电限位开关,用于限位信号的输入。当安装在运动部位的挡块运动至限位开关处时,光线被挡住,光电开关动作,单片机可据此判断转台运动是否超限,并做出相应的限位控制。
经测试,光电开关导通时信号线电压为0 V,未导通时处于悬空状态,通过示波器观察发现光电开关未导通时输出信号有扰动,会对单片机对限位信号的识别产生干扰。故此采用光耦芯片TLP521-4隔离的方式,以提高控制的稳定性。光电限位信号隔离电路如图3所示,光电开关的供电电压与光耦输入端的电压应相同,均为12 V DC,且由同一电源供电。
图3 光电限位输入信号隔离电路Fig.3 Photoelectric limiting input signal isolation circuit
为了在断电后控制器能够保存转台各轴的位置,避免每次重新上电后需再次归零进行重新标定位置,设计了依据断电检测电路的单片机E2PROM保存转台位置值的功能。如图4所示,单片机采用可调开关电源供电,保险丝RX的熔断电流为500 mA;电容的规格为0.47 F/5.5 V,上电时存储足够电量,断电时释放电量,保证掉电后单片机对转台位置值存储程序的运行;低压检测芯片为HT7050A-1,当VCC<5.3 V时P4.0为低电平,当VCC≥5.3 V时为高电平,单片机根据P4.0是否为低电平去判断是否进行E2PROM的写功能。使用时将可调开关电源调至5.4 V,留出一定的低压检测裕量。
图4 低压检测电路Fig.4 Low voltage detecting circuit
转台控制系统的软件设计是转台系统正常运行的关键,其设计是否合理直接影响转台系统各控制功能的实现。利用软件编程算法通过对脉冲数的计算进行转台实时位置的判断,省去了使用编码器、光栅尺等测量反馈传感器的成本。
转台控制系统中,上位机PC端软件提供良好的人机交互功能,用于配置系统控制参数,输入控制命令。考虑到在实际运用中,需要系统具有远距离网络通信功能,系统配有RS-232串口和TCP/IP协议2种通信方式可选。考虑到LabVIEW可以提供包括TCP,UDP,串口通信,等在内的多种通信编程接口,且为图形化编程软件,编程简单直观,故此PC端上位机软件选用LabVIEW编写。
为了保证上位机与下位机通信过程中指令的正确解析且使系统具有良好的可维护性,同时保证指令接收的可靠性,系统自定义了通信协议,单条协议指令为由标志头、内容、尾校验码和结束符4个部分组成的16进制字符串,如图5所示。
图5 协议指令格式Fig.5 Protocol instruction format
图中,标志头约定为A5xx xx,作为指令功能的识别码,由于上位机发给下位机的指令分为控制参数设置、正负点动、相对定位、绝对定位、定速往返等多个类型,因此需要根据标志头的第2,3个字节的值确定类型;指令内容的字符串长度变长,根据类型的不同,分别包含转台运动的给定速率、位置等详细信息;尾校验码为1个字节长度,是标志头和内容的累加和的末2位;指令结束符为0x0D,用于判断指令的接收结束。
根据上位机的功能要求,采用模块化设计思想,各功能模块如下:①通信配置模块,配置界面如图6a所示,启动软件初始弹出此界面,用于选择通信方式及配置通信参数。②控制参数设置模块,用于设置转台运动的螺距、传动比、细分数、最大速度等4个主要参数,设置界面如图6b所示。③控制操作模块,用于输入用户命令,发送指令给下位机,控制转台进行相关运动及运动状态显示。其控制界面如图6c所示。
图6 各功能模块的界面Fig.6 Interface of various functional modules
下位机软件是上位机控制指令的执行软件,用于调度控制过程,发出控制信号,驱动转台运动。其主要任务是接收、解析控制指令,执行控制算法,获取转台实时状态信息,并周期性地以约定的指令协议格式发送给上位机解析并显示。
转台驱动的关键是控制脉冲发送的频率及个数,分别对应于转台运动的速率和距离。该系统利用单片机16位外设定时器发送脉冲,并控制发送脉冲的频率。
当转台需要运动到某一位置时,结合转台当前位置,根据要运动的距离和速率,分别计算出需要发送的脉冲个数、定时初值,然后启动定时器。定时时间每到1次就进入相应定时器中断,单片机脉冲输出引脚电平反向1次,发送的脉冲个数减1,并更新1次定时初值,如此往复,直至脉冲个数减为0,转台运动到位,关闭定时器。
旋转轴和升降轴各占用1个定时器。以旋转轴为例,旋转轴螺距为0,设传动比为r,即步进电机每旋转r角则转台旋转1°;电机步距角为1.8°。转台每旋转1°所需脉冲数、旋转一定角度所需总脉冲数以及决定速率的定时初值可通过以下公式分别进行计算:
式中:N0为转台每旋转1°所需的脉冲数;n为细分数;r为传动比。
式中:s为转台需旋转的角度,°;N为转台旋转s角所需的总脉冲数。
式中:T为决定速率的定时初值;f为单片机运行频率,Hz,在此设置f=11.0592 MHz;v为目标旋转速度,°/s。
由于脉冲高电平有效,式(1)中的N0实际上是定时器的定时中断次数,为每旋转1°实际所需脉冲数的2倍。
对于升降轴,传动比rs的含义为转台每升/降1个螺距,步进电机转动rs周。同样可以计算出
式中:N0s为转台每升降1 mm所需的脉冲数;d为螺距,mm。其余2个公式与旋转轴一样。
下位机软件也采用模块化编程的思路,便于程序调试和和后期的维护,程序功能模块及程序流程如图7所示。
图7 下位机程序的功能模块和流程Fig7 Function module and flow chart of lower computer program
转台控制系统利用嵌入式技术,控制器采用STC15W4K56S4单片机编程,抗干扰能力强,相比使用可编程控制器PLC节约了硬件成本。设计有I/O信号的光电隔离电路和低压检测电路。上位机软件操作简单,能完成多种精确定位功能,且配有参数配置功能,可用于基于两相步进电机传动的、具有不同传动比及螺距的其它一轴或双轴平台的控制,具有泛用性。系统采用模块化的设计思想,开放度高,扩展性强,方便后续的系统维护和控制功能升级,在实际应用中运行良好。目前已应用于上海联谊自主研制的、用于产品仿真扫描测试的二维转台控制中,结合减速器及机械丝杆的精度,实测旋转轴定位精度达到0.01°,升降轴定位精度达到0.01 mm,具备行业应用前景。
参考文献:
[1]施豪杰,侯俊,杨海马,等.基于LabVIEW的二维转台远程控制系统[J].信息技术,2013,37(12):162-165.
[2]李昂,张迪,王少亮,等.转台控制系统的概述[J].黑龙江科技信息,2012,16(35):79.
[3]徐爱钧,徐阳.STC15单片机原理与应用[M].北京:高等教育出版社,2016.
[4]孙建忠,刘凤春.电机与拖动[M].2版.北京:机械工业出版社,2014.
[5]张雷,孟莹.高精度转台控制系统的研制及应用[J].电子世界,2014,36(12):88-89.
[6]刘凤芹,张国玉,王凌云,等.基于单片机的两轴转台控制系统[J].长春理工大学学报:自然科学版,2008,31(4):87-90.
[7]潘莹玉.虚拟仪器及其应用[J].电力自动化设备,1999,19(1):44-46.