显然,△ui表示控制量的增量,因此式(5)又称为增量式PID算式,式(3)常称为位置式PID算式。在位置式控制算式中,需要给出系统初始值,给程序设计带来困难。而增量设计只与本次偏差值有关,与初始值无关,因此易于实现。但在实际控制系统中,需要的是控制量的绝对值,而不是其增量。因此仍采用增量式计算,输出采用位置控制算式。这样,由增量算式(5)得:
无疑,微分作用在某些场合可以提高系统的动态品质,但其运算和参数调整均较为复杂,控制过程会占用过多时间,反而降低了系统的快速性。根据实际调试经验,采用PI控制可以起到良好的效果。因此,该研究设计的微机控制脉冲MIG焊机控制系统决定采用PI控制,即:
3 脉冲控制程序
3.1 脉冲控制程序的实现脉冲控制程序主要实现以下功能:实时采样焊接电流,通过离散PI算法,调节SG3525的控制电压,对逆变器进行脉宽调制,达到控制输出脉冲电流的目的并实时显示焊接参数等。 由算法采用式(7)得:
式中μk为当前调节器的输出控制电压,α=kp(1+T/Ti),β=-kp。
由于电源输出电压、IGBT的导通时间与SG3525的控制电压近似呈线性关系,因此对SG3525控制电压进行PI控制可以间接控制系统输出,而SG3525控制电压是由D/A转换芯片MAX530给出的,故系统进行PI控制就是控制MAX530输出的数字量。为便于理解将式(8)变为:
式中ei、ei-1分别为第k次和第k-1次电流给定值与反馈值的偏差。α、β值通过实验进行整定。
最初设计的程序流程图如图3a所示。由图可知,该程序在焊接过程中只能单纯进行PI运算,控制输出,但是无法实时显示焊接参数,实际使用中很不方便。因此将程序设计为图3b的形式,即每进行200次PI控制后显示一次焊接参数。
为了准确测试程序执行的时间,在程序中有意加入一条语句,即每执行一次PI控制程序,使P1.3(单片机输出口)状态取反。通过示波器可以测出P1.3引脚输出一方波,该方波的宽度就是执行一次PI算法所需要的时间,如图4所示。由图可知,PI控制程序执行1次的时间约为80μS。
系统设计时为了提高硬件的性价比,选用串行显示专用器件MAX7219作为显示芯片与单片机接口。MAX7219采用串行寻址方式,接收16位的数据和命令格式的数据包,前8位用来选择MAX7219的内部特殊功能寄存器或RAM地址,后8位为指令或作为显示的数据。该系统中扩展了5个LED数码管,经调试测得焊接过程中更新显示2 位焊接电压、3位焊接电流所需的时间约120ms,如图5所示。由图可知,更新显示时系统没有进行PI控制,其输出超出正常输出值近2倍。在实际焊接过程中,该扰动侵入时,将产生不受控制的120ms强干扰信号,其带来的危害完全可能引起IGBT损坏。所以必须对脉冲控制程序进行优化。 |