电梯平衡链测长设备控制系统的设计与研究
2019-05-27
(常州大学 机械工程学院,江苏 常州 213164)
0 引言
电梯平衡链是用来平衡电梯轿厢和配重侧两端重量差的,从而达到电梯平稳运行的目的[1]。由于电梯补偿链表面包裹了一层PVC复合材料,不能直接利用普通电焊锚链的长度计算公式将长度算出来。现有的测长机构是类似于线缆计米器之类的装置,不适用于平衡链这种链环与链环之间凹凸不平的设备,测量误差偏大[2]。为提高测量精度,本文设计了一种以STM32F103RCT6为主控制单元,以触摸屏为上位机,并基于模糊控制算法的自动测长控制系统,大大提高测量效率的同时,减小了测量误差。该方案设计可以给企业带来巨大的经济效益。
1 测长原理分析
整个测长设备如图1所示:主要包括压紧机构,牵引机构以及测长机构三个部分组成。压紧机构包括2个大压紧轮和三个小压紧轮,通过气缸下降给链条足够的压力。。牵引机拉动链条,通过摩擦力带动下同步带运动,由于链环与链环之间凹凸不平,摩擦力会产生波动,这时会发生打滑或者卡死的情况。当摩擦力变小时,滑块会沿着导轨向前运动,前直线位移传感器会检测到电压信号,反馈给单片机,增大电机转速,使滑块回到原来位置。同理,当摩擦力变大时,滑块会向后移动,后位移传感器会有电压信号,反馈给单片机,减小电机转速。这就可以进行自动补偿由于摩擦力波动而产生的测量误差。通过伺服电机驱动主计量轮,读取编码器旋转角度,即可测得链条长度。
1.链条;2.大压紧轮;3.小压紧轮;4.活动块;5.上同步带;6.光轴;7.气压缸;8.伺服电机;9.三相牵引机;10.线性位移传感;11.主计量轮;12.编码器;13.下同步带;14.滑块;15.直线导轨;16.从动轮图1 测长机构示意图
2 硬件设计
2.1 总体硬件设计
控制系统总体框图如图2所示。包括单片机最小系统电路,传感器信号接受电路,伺服驱动电路,编码器信号接收电路,气压缸驱动电路,以及触摸屏与单片机通信电路等。
图2 控制系统硬件原理图
主控制器为基于Cortex-M3 为核心的STM32F103RCT6,主频最高可以达到72 MHz[3],片内存储空间为256 Kb。单片机最小系统包括:电源,晶振以及复位三个模块。控制板外部接入输入电源12 V给电磁阀通电来控制气缸伸缩运动,从而进行压紧或抬起压紧机构。同时通过降压芯片7805以及lm1117-3.3来输出3.3 V电压给单片机供电。为节约 I /O 端口资源,下载方式采用SWD模式,在高速模式下比JTAG模式更加可靠。触摸屏通过MAX3232和STM32F103RCT6的串口1即 PA9,PA10两引脚相连,用来控制整个测量设备的运动以及进行数据监测。因为位移传感器的输出电压范围为0~10 V,所以需要进行降压,通过电阻分压的方式得到0~3.3 V的电压。当滑块靠近外移传感器时,输出电压会减小,远离时输出电压会增大。STM32自带的ADC功能会读取电压值,进行判定。为了防止输入输出信号干扰,每个端口输出都采用了光耦隔离的方式。光耦是以光为媒介把输入端信号耦合到输出端,实现电-光-电的转换,输入输出完全绝缘,抗干扰能力强,效率高。
2.2 伺服驱动器控制电路设计
该方案驱动器型号为安川SGDV-5R5A01A系列,有位置、速度和转矩三种控制方式[4]。位置方式是通过数字量方式控制,而速度和转矩方式通过模拟电压控制。为了获得良好的控制性能,伺服控制器一般会设计成一个具有电流环、速度环、位置环三闭环回路的复合控制系统[5]。本设计方案采用速度方式,可以把位置环移动到控制器上,减少驱动器工作量,提高效率。通过TIM4通道一调节占空比,经过光耦TLP350转换后驱动场效应管,根据占空比大小来改变MOS管导通时间,从而实现电源输出的改变。图中电感起到滤波和储能的作用,二极管起到稳压的作用。二极管反接可以防止电流电压的突变,起到保护场效应管的作用。具体电路图如图3所示。这样可以得到0~12 V的模拟电压,符合伺服驱动器输入电压范围要求。将V-REF端子与伺服驱动器CN1的针号5相连,针号6接地即可实现电机的旋转。
图3 调压电路原理图
2.3 编码器信号电路设计
光电编码器主要有两种:绝对型和增量型。增量型编码器在旋转过程中每转过单位角度就会发出一个脉冲信号,并且A、B相位相差正负90°,根据信号先后判断电机是正转还是反转。本设计所用编码器为增量型E6B2-CWZ6C,NPN集电极输出,每转一圈发送2 000个脉冲。如图4所示:将A、B相信号经过光耦HCPL2630隔离后分别接入STM32的TIM3通道一和通道二。STM32的通用定时器三自带编码器计数模式,编码器输入信号TI1,TI2经过输入滤波,边沿检测产生TI1FP1,TI2FP2接到编码器模块,将他们都设置成上升捕获模式,并在中断中读取,便可进行计数。
图4 编码器信号接收原理图
2.4 通讯电路设计
单片机与触摸屏通讯接口电路如图5所示。因为单片机的输出电平和RS-232不一样,因此需要芯片进行电平转换。相比于传统的MAX232,选择了功耗更小的MAX3232芯片,该芯片采用专有低压差发送器输出级,能够实现真正的RS-232性能,外接4个0.1 μF的电容用于倍压和储能。将开发板DB9公头和触摸屏RS232公头的2 、3口交叉连接,5直连,便可实现通讯功能。
图5 通讯接口电路
3 模糊控制系统设计
由于交流伺服系统存在参数时变、负载扰动以及伺服电动机自身和被控对象的严重非线性、强耦合性等不确定因素,难以用传统的基于对象的模型控制方法来进行控制[6]。模糊控制以不依赖于被控对象的数学模型而被广泛的应用于工业生产中,具有较强的鲁棒性。它是一种基于语言规则与模糊推理建立在模糊集合上的控制理论[7]。将其用于伺服系统中可以很好的解决非线性、时变、耦合等等问题。因此设计了一个基于模糊控制的闭环控制系统。包括模糊控制器的设计以及想关规则的制定。
3.1 模糊控制器设计
模糊控制器的设计包括模糊化、建立模糊规则、清晰化等步骤。为此设计了一个双输入、单输出的二维模糊控制器,模糊控制系统框图如图6所示。
图6 模糊控制器系统框图
模糊化:将精确的输入变量转化为模糊矢量。
模糊推理:包括数据库和规则库,提供数据,制定模糊规则并输出模糊量。
解模糊:将模糊量经过运算后再次转变成精确量用于控制被控对象。
以位移误差e和误差的变化率△e作为输入,以控制伺服电机转速大小的模拟电压u为输出变量,语言变量对应为E、EC、以及U,用“正大”(PB)“正中”(PM),“正小”(PS),“零”(O),“负小”(NS),“负中”(NM),“负大”(NB)七个语言变量来对这几个变量进行描述。
E选取7个语言值:{PB,PM,PS,O,NS,NM,NB};EC选取5个语言值:{PB,PS,O,NS,NB};U选取7个语言值:{PB,PM,PS,O,NS,NM,NB};根据经验和反复试验选择输入变量与输出变量的论域如下:
E的论域X={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};
EC的论域Y={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6};
U的论域Z={-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}。
系统采用灵敏度强的三角形隶属度函数来描述语言变量论域上的模糊子集。借助MATLAB/SIMULINK中的模糊逻辑工具箱,得到如图7所示的输出隶属度函数图像。
图7 输出U的隶属度函数图像
3.2 模糊控制规则表建立
模糊控制规则是模糊控制器设计的核心[8],在模糊逻辑工具箱中进行模糊控制规则的设计[9],系统所建立的是双输入单输出的模糊控制器,采用的模糊条件语句为:
if E and EC then U
在大量实验和调节之后,制定了35条模糊控制语句,并将其绘制成了表格。
建立的模糊控制规则表1所示。
表1 系统模糊控制规则表
3.3 解模糊方案设计
根据模糊规则表推理求出的是输出控制量的模糊控制集合,不能直接用来控制伺服驱动器,需要将模糊量转化为精确量。根据隶属度函数特性,采用加权平均法进行解模糊,其公式为:
(1)
式中,Z0为应用加权平均法求得的判决结果,也称为清晰值;Zi为输出量模糊集U1中的元素;μU1(zi)为输出量模糊集U1中各元素的隶属度函数。
在MATLAB的模糊逻辑工具箱中,对模糊推理过程进行了图形化处理,从中可以清晰得看出各模糊变量隶属度函数对系统输出量的影响。同时规则观测器可以针对系统输入量X和Y的不同组合计算出全部系统输出的精确量Z,如图8所示。最终建立本系统的模糊控制查询表,如表2所示。
表2 模糊控制查询表
最后将模糊控制查询表存放于单片机寄存器中。通过程序编写,使得控制器根据输入的偏差和偏差变化率信号,由查询表自行计算出实际的输出控制量即输出电压大小。
4 软件设计
系统程序采用模块化设计,包括主程序,传感器电压采集子程序,电机驱动子程序,编码器计数子程序,以及基于MODBUS的触摸屏与单片机通讯程序等。具体的控制流程图如图8所示。
图8 程序流程图
4.1 电压采集程序设计
导轨前后各固定一个直线位移传感器,通过STM32 ADC1的通道10和11分别读取经分压后的电压,并经过DMA传输,减少CPU负荷的同时增加采集速度。传感器的电压显示值和距离成线性关系。为了数据的准确性,每组读取100个数据放入数组中,并取平均值来作为速度调节的依据。DMA的主要配置如下:将DMA1通道1的外设基地址设为(uint32_t)(&(ADC1->DR)),内存基地址设置成(u32)&ADC1_ConvertedValue,并开启循环模式和中断。ADC设置成连续转换,右对齐,通道个数两个,并使用软件触发的模式。STM32的ADC分辨率为12位,可以求得模数转换值的取值范围为0-4096,电压量程为0~3.3 V,则传感器的读取电压值为模数转换值除以4096乘上3.3即:
(2)
具体程序流程图如图9所示。
图9 传感器电压读取流程图
4.2 PWM调压程序设计
因摩擦力不断波动,因此要对伺服电机的速度实时调节,采取速度控制方式,伺服驱动的速度控制方式为模拟电压控制,采用PWM方式可以实现数字量对模拟电路的控制。根据电压采集数据集合模糊控制器的规则自动调节占空比,将自动重装载器值设置为249,定时器预分频设置为11,可以得到24 kHz的PWM波。输出比较方式设置成PWM2模式,向下计数模式。根据不同占空比可以获得不同电压值来驱动伺服驱动器,继而可以实时调节伺服电机的转速来自动补偿测量误差。查阅安川电机手册可以发现速度控制模式下额定电压为6 V,额定转速为2000 r/min,则电机瞬时速如下:
(3)
式中,VREF为伺服驱动电压,单位V, Vm为电机转速,单位r/min。
4.3 编码器计数程序设计
STM32F103通用定时器自带编码器模式,编码器输入信号TI1,TI2经过输入滤波,边沿检测产生TI1FP1,TI2FP2接到编码器模块,通过配置编码器的工作模式,即可以对编码器进行正向/反向计数。因TIM3_CNT计数器是16位的,最高计数为65535,而编码器旋转一圈的脉冲数为2000,旋转圈数过多时会溢出。故将自动重装载值ARR设置为2000,并使能中断进行溢出中断计数,用j表示溢出的次数,每旋转一圈,j的值加1,计数器重新计数。最后获得的总脉冲数为2000j加上寄存器TIM3->CCR1的值,用S表示。则测量的长度L为:
(4)
式中,d为同步带外径,m。
4.4 通讯程序设计
威纶通MT6103iq触摸屏和STM32之间采用基于MODBUS协议的RTU模式进行数据传输。触摸屏为主设备,STM32为从设备[10]。使用循环冗余校验码CRC16进行校验。常用的MODBUS功能码包括01:读开关量状态,03:读保持型寄存器,06:写寄存器。通信过程包括串口配置,报文接发,报文处理三个方面。串口参数配置如下:波特率9600,数据位8位,停止位1位,无奇偶校验位。在进行基础的串口配置之后,还需要开启串口中断,在中断服务函数中对接收和发送的数据进行检测和处理。报文通过8位字符数组进行接发,再根据功能码进行数据处理。
5 实验结果分析
实验购买的链条为包塑性补偿链,截取20.1米长度来进行试验。将是否运用模糊控制算法将实验分成两组,在不同速度下分别进行20次实验。实验测量结果如表3~4所示。
表3 没有设计模糊控制器下的各速度测量值
表4 模糊控制下的各速度测量值
由以上两表可以看出,当没有设计模糊控制器的情况下,测量误差较大,且速度越大,误差越大,而在设计模糊控制器后误差明显减小,且在基本运行速度达到0.6 m/s时误差达到最小值。
6 结束语
控制系统解决了因摩擦力波动而造成测量误差的问题,以STM32为主控制器,线性位移传感器为探测器,配合模糊控制算法,实时调节伺服电机转速。系统高效稳定,测量基本速度达到0.6 m/s。经大量实验后测得平均误差为0.09%,符合预期值。