APP下载

积分分离PID算法在变频调速系统中的实现"

2010-09-20浙江理工大学浙江杭州310018朱石林潘海鹏

电气自动化 2010年1期
关键词:子程序中断变频

浙江理工大学(浙江 杭州310018) 朱石林 潘海鹏

1引言

交流电机具有结构简单、坚固耐用、动态响应好、价格低廉、没有机械换向器等一系列优点,由交流电机构成的交流变频调速系统已成功地应用于工程实践[1]。计算机和电子技术的高度发展,促使交流调速逐步从模拟化向数字化转变[2],在工业控制中,变频调速按偏差的比例 kp、积分 ki和微分 kd进行控制的PID调节器已得到广泛的应用。随着单片机控制技术不断发展,浮点运算能力和运算速度都有很大提高,采用软件技术实现PID算法,缩短了开发周期,降低了成本。针对普通交流调速中过大超调、响应较慢的现象,本文设计了一种基于积分分离PID算法的变频调速系统,以满足一些高性能的调速要求。

2 硬件结构

整个调速系统如图1所示,主要由微处理器AT89C52、D/A转换电路、隔离放大电路、变频器驱动电路、测速电路以及看门狗电路等组成。键盘和LCD显示接口是人机交流的部分:键盘用来输入电机转速的设定值,LCD显示电机的运行状态,出现过压、短路等状况及时报警,直到人为清除故障。如图2所示是电机转速闭环控制原理框图。在电机转速闭环控制中,由光电编码器采集到的脉冲信号经过计算得到反馈值 u(k)与设定值 r(k)进行比较,其差值经积分分离PID算法进行处理,改变单片机P0口输出值并通过执行机构变频器控制电机转速,以达到给定数字 r(k)。

2.1 转速控制电路

系统采用变频器对交流电机转速进行实时控制。

变频器的接口电路如图3所示,变频器U/V/W端子接三相交流电机(电机定子绕组采用Y接法)。当人为设定转速时,单片机发出数字信号给DAC0832,放大隔离后变成0-10V的模拟量送到变频器的AVI端口,变频器U/V/W输出频率随AVI端的电压而变化,AT89C52可对DAC送入不同的二进制数值,在DAC0832的AVI端口得到相应的电压,所以只要改变单片机输出的数字量就可以改变电机转速。此部分中采用线性光耦HCNR200芯片进行信号隔离,其中R1为100K!,R2为500!,R3为100K!。系统还有一些外围电路控制电机的起停、正反转等辅助功能:P2.2用来控制电机的正转/停止,P2.2发出一个数字信号“0”时,在74HC537的1Q端形成一个低电平,光耦发光二极管发光,变频器的FWD端口和公共端DCM接通,电机正转;P2.2发出一个数字信号“1”时,FWD端口和公共端DCM断开,电机停转;同理用P2.3来控制电机的反转/停止,P2.4来控制点动,此部分采用普通光耦PC817芯片进行信号隔离。

2.2 转速检测电路

电路采用光电编码器对交流电机进行实时速度检测。

如图4所示,编码器信号A、编码器信号B经过隔离电路传送到单片机的P3.4、P3.2口。编码器的两相输出信号经隔离放大,送到处理器为两路相角相差90°的方波,根据软件判断电机旋转的方向,在单位时间内检测方波个数,就可以检测出电机的转速。

3 系统软件设计

控制规律的实现是由计算机软件完成的。

软件设计基于KeilC51编写的,采用模块化结构设计,各个功能子块独立。在结构上由1个主程序和6个子程序组成。本系统主要模块有主程序、INT0中断子程序、T0中断子程序、T1中断子程序、积分分离PID算法子程序和显示、键盘处理子程序。主程序进行一系列的初始化等待中断。外部中断INT0服务子程序对光电编码器输出的转速脉冲计数。T0产生5Oms定时中断,T0中断服务子程序对中断次数计数,每20次中断读出转速脉冲计数值,计算出转速并保存到显示缓冲区。T1产生采样周期T定时中断,每间隔T秒中断一次,完成一次PID控制计算,同时调用积分分离PID子程序对测试转速和设定转速进行差值计算得出输出,并由P0送出二进制数调整电机转速。

3.1 积分分离PID算法思想

在实现对速度、温度、压强等物理量的控制中,PID是一种较成熟的算法[3]。在普通的PID控制中引入积分环节的目的,主要是为了消除静差,提高控制精度。积分分离控制思想是:当控制量与设定值接近设定值时,取消积分作用;当被控量接近设定值时,引入积分作用[4]。

控制实现步骤为:

(1)根据实际情况,人为设定阀值 e>0;

(2)当|e(k)> e|,采用 PD 控制;

(3)当|e(k)&e|,采用 PID 控制。积分分离控制算法可表示为

经典增量式数字PID的控制算法为:

在实际编程中,可以对积分分离PID进行改进,采用分段积分分离的方式:根据误差绝对值的不同,采用不同的积分强度。

3.2 积分分离PID算法实现

普通的PID控制算法中,由于积分系数 ki是常数,在整个控制过程中,积分增量不变。而变频调速系统是一个多变量、强耦合的非线性系统[5],根据控制要求,系统偏差大时积分作用应减弱,在式(1)中,令 b=0,在偏差小时则应加强,令 b=1。

本设计采用增量式PID算法,只需保持前两个时刻的偏差,从而避免了位置式PID算法中极易产生较大的积累误差。

结合图2的转速闭环控制原理图,可以编制出积分分离PID算法程序,图5是算法模块的程序流程图。

AT89C52单片机内部有256字节的RAM,根据它的运算能力和设计精度要求,运算过程中所有参数和计算值均以多字节浮点数表示。系统运行中,通过定时器T1每间隔T秒中断一次,完成一次PID控制计算,每次采集到的 u(k)都保存到单片机RAM当中,在单片机内存中不断更新前两个时刻的 u(k-1),u(k-2)的值,再利用u(k-1),u(k-2)的值计算 e(k-1)和 e(k-2),得到现在时刻的 u(k)的值,从而不断调整被控参数,完成电机转速控制,其中参数更新可由单片机自动完成,也可以由键盘输入。

3.3 PID参数整定

在变频调速系统中,控制效果的好坏与数字控制器的参数紧密相关,正确选择 kp、ki、kd参数是提高控制效果的一项重要技术措施。工程中通常采用经验法整定PID控制器的参数,其措施是根据经验先给定PID参数,然后闭环运行观察系统响应情况,再调节相应参数比例,反复试凑直到控制质量满意为止。这种措施损耗了大量的时间和精力,延长了系统调试时间。

借助开发工具可以节约大量的人力和物力,本系统中采用MATLAB语言仿真系统整定PID控制参数的方法,使得PID控制参数的整定变得简单。根据本系统的PID控制器模型,采用M文件的形式设计出PID控制器,改变输入指令信号 r(k)并可以得到控制器的阶跃响应曲线。在M文件中可以方便地修改 kp、ki、kd的值,通过仿真比较选择PID控制器参数,得到合适的 kp、ki、kd值后固化到单片机中运行。

3.4 仿真结果

针对本设计的变频调速系统进行MATLAB仿真,取 r(k)=50,如图7所示。图中实线为采用普通PID响应仿真曲线,虚线为采用改进的积分分离PID阶跃响应仿真曲线,通过比较得出:积分分离PID控制方法优于普通PID控制。用积分分离PID控制的系统响应时间非常快,只需要0.23s就可以使系统过渡到稳定状态,它有效地减小了超调量,提高了控制精度,证明了在变频调速中积分分离PID控制方法调节质量更佳。

! 结束语

在变频调速系统中采用积分分离PID算法,能实现精确的变频调速闭环控制,调节质量好。积分分离PID控制算法的工程实践性很强,但要根据具体的系统特点来选择修正策略,在实际应用当中可根据误差绝对值的不同采用不同的积分强度。经MATLAB快速整定PID控制参数后固化到单片机运行,利用单片机实时运算和控制功能与软件的灵活性,实现快速稳定的变频调速功能。本设计提高了变频调速的调节质量,降低了系统造价成本,有一定的推广应用价值。

[1]李发海,王岩.电机与拖动基础[M].北京:清华大学出版社,2004,215~216.

[2]包松,鲍可进,余景华.基于单片机PID算法的电机测控系统[J].微机发展,2003,13(8):72 ~ 74.

[3]刘金琨.先进PID控制及其MATLAB仿真[M].北京:电子工业出版社,2003,1~2.

[4]夏玮,李朝晖,常春藤.控制系统仿真与实例详解[M].北京:人民邮电出版社,2008,274~275.

[5]侯向远,吴小兰.异步电动机矢量控制调速系统的MATLAB/SIMULINK 仿真[J].工矿自动化,2005,(11):55 ~ 58.

[6]刘叔军,盖晓华.控制系统应用与实例[M].北京:机械工业出版社,2006,1~13.

[7]何济民.转速闭环变频调速系统的建模与调节器参数设计[J].电器传动自动化,2000,22(1):15 ~ 16.

[8]董锋斌.闭环变频调速系统的一种简易设计方法[J].电气时代,2007,(3):124.

猜你喜欢

子程序中断变频
全封闭紧凑型变频调速电机设计
大型变频调速异步电机的设计
跟踪导练(二)(5)
千里移防,卫勤保障不中断
基于变频式的宽输入开关电源设计研究
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
合康变频再获发明专利证书
AT89C51与中断有关的寄存器功能表解