引言
工业控制中,交流异步电机闭环变频调速系统有着广泛的用途,其核心的PID控制可用软件编程来实现。且为了提高控制质量,必须采用浮点方式的PID控制8051单片机架构经典、应用广泛,是高校微机原理与应用实践的经典机型。但传统8051单片机存在机器周期的12分频问题,且速度偏慢,不利于浮点方式PID控制的实现。
1 系统结构
如图1所示,系统由PC机、单片机系统、变频器、电机机组4部分组成。
给定单元以模拟电压形式送入单片机A/D转换器作为转速给定;测速发电机输出电压送入单片机的A/D转换器作为转速反馈;控制输出通过D/A转换器为变频器提供控制电压,实现电动机调速;通过直流发电机为电机施加机械加载。软件包括单片机和PC机两部分,重点完成分离积分的浮点PID控制算法、单片机与PC机间的通信、实时转速采集与动态曲线显示等。
2 单片机系统硬件设计
2.1 STC12C5A60S2简介
图1 系统结构
STC12C5A60S2高速单片机代码与标准8051单片机兼容,平均速度快8~12倍,为实现电机转速的浮点PID闭环控制提供了实时性保障。
芯片除大幅度提高了运行速度,还拥有丰富的片上外设,如8路10位高速A/D转换器、2路全双工异步串行口、数据Flash存储器等,可满足本系统的控制功能要求。
2.2 电机机组与机械加载和卸载
系统被控对象为鼠笼式交流三相异步电机,为便于实验,将三相异步电机、直流发电机、测速发电机同轴安装构成图2所示的专用电机机组。
图2 专用电机机组
对电机施加、卸载机械负载是通过直流发电机电枢回路电阻RL的接入与否实现的。如图1所示,开关K闭合为加载状态,反之则为卸载状态。这对于测试比较系统开环、闭环的动态、静态特性是必不可少的。
2.3 转速给定和反馈电路
转速给定和反馈电路如图3所示。转速可通过模拟量给定。多圈电位器分压的0~5 V电压经运放跟随器LM358送至单片机STC12C5A60S2的ADC0模拟输入口。电路主要特点是安排了转速突加阶跃给定功能,拨动开关K可实现不同转速的阶跃给定,这对于PID参数调试和闭环控制品质测试是必不可少的。
图3 转速给定和反馈电路
2.4 D/A转换和变频器电路
D/A转换变频器电路如图4所示。电动机调速执行器为西门子G110工业变频器,其转速控制电压由10位D/A转换芯片TLC5615提供。TLC5615采用5 V单电源电压供电,满足最大输出电压为5 V。
TLC5615有一个不同于其他D/A转换芯片的特殊功能,即最大满度输出电压为基准电压的2倍。
图4 D/A转换和变频器电路
在实验中发现,当6脚基准电压接5 V时,数字量为511,TLC5615芯片输出就达到了满度5 V,仅为9位分辨率。可见,为了保证10位分辨率,6脚基准电压必须为25 V,电路中由稳压二极管TL431实现。
对应电动机运行频率为0~50 Hz,变频器G110的控制电压默认为0~10 V。所以采用LM358单电源运放对D/A转换芯片的输出电压进行2倍放大。
STC12C5A60S2单片机的P2.6接口通过控制变频器G110的引脚DIN0实现电机的启、停控制。
3 单片机系统软件设计
软件主体为系统控制与通信,主要包括分离积分浮点PID、变频器控制、与PC机的通信等。
3.1 分离积分浮点PID算法及程序设计
3.1.1 数字PID算法
图5 PID调节器
PID调节器如图5所示。图中SV为给定,PV为反馈,MV为PID控制输出,e为偏差。本系统中,偏差e=SV-PV。
系统采用数字PID离散化算法,基本原理基于如下的增量式算法表达式:
3.1.2 分离积分PID算法
标准PID中的积分可消除系统静差,但可能加大系统动态超调,本系统采取分离积分的改进PID算法,其思路是设置E0作为积分分离阈值;在偏差e绝对值≥E0时,分离(丢弃)PID的积分项,仅用PD控制;当e的绝对值<E0时,恢复积分项,采用PID控制。与标准PID相比,分离积分PID算法既能保证系统的稳态精度,又能明显削弱系统的动态超调。
3.1.3 分离积分浮点PID子程序设计
经实验选取E0为SV的18%,如图6所示。在|ek|≥0.18SV时,分离积分,进行PD控制;当|ek|<0.18SV时,恢复积分,进行PID控制。
图6 主程序和分离积分浮点PID子程序流程
为实现子程序的完全模块化,变量均应为局部变量,但ek_1、ek_2、uk_1为PID运算的历史数据,不能在函数退出时释放。程序通过将ek_1、ek_2和uk_1作为局部静态(static)变量定义解决了这个问题。
子程序还设置了复位参数init,在程序初始化阶段令init=1可实现PID的运算初始化。后续正常PID运行,只需令init=0即可。
为加快电动机起动,子程序还考虑在ek初始过大(ek>0.3SV)时直接使输出MV最大,到转速上升到SV的70%之后方进入分离积分浮点PID控制。
开环、闭环运行的切换与功能处理在主程序中实现。
3.2 与PC机的通信
STC12S5A60S2向PC机发送6字节二进制报文,帧格式如下:
开始符下位机地址状态实际转速高字节实际转速低字节异或校验码
程序运用定时中断,每隔50 ms启动一次报文发送,采用中断发送方式。通信中断服务程序和T0中断服务程序流程图如图7所示。采用XMT_BUF[ ]数组存放报文、AIW1整数存放实际速度。组装报文时,须将AIW1分解为2个字节填入报文第4、5字节,报文第6字节为前5个字节的异或校验和,供PC机判别报文传输的正确与否。
图7 通信中断服务程序和T0中断服务程序流程
4 PC机软件设计
上位PC机程序采用Visual BASIC编写,运用MSComm控件的事件驱动方式实现与下位单片机系统的串口通信。PC机程序通过Private Sub MSComm1_OnComm()事件程序实时更新接收数组rcv()完成报文接收;并根据数组第4、5字节计算电机实时转速;在第1到5字节异或校验和正确的前提下,由时间控件控制,以0.1~1 s的可调刷新速率采用Picture控件的Line方法实现转速的实时动态曲线显示。
5 系统运行结果
5.1 PID闭环控制的阶跃响应
标准浮点PID控制(使PID子程序中分离积分部分暂不运行):闭环突加阶跃给定运行,观测不同PID参数Kp、Ki、Kd时的转速阶跃响应曲线,发现控制品质对参数组合很敏感。组合合适,品质可以很好;不合适,品质则会明显不良,甚至系统振荡。虽然可以调试出很好的控制品质,但参数稍有变化,控制品质就有可能发生明显的不利改变,参数整定较为困难。
分离积分浮点PID控制:闭环突加阶跃给定运行,发现Kp、Ki、Kd在很宽范围变化时,系统均无超调或超调极小,系统振荡和不利振荡倾向均不出现,控制品质明显优化,参数合适范围很宽,整定难度明显降低。选定参数为Kp=0.96,Ki=0.54,Kd=0.16。分离积分浮点PID转速阶跃响应如图8所示。实验中,此套参数在标准PID时系统完全振荡不能使用,而在分离积分PID时却拥有很好的控制品质。
图8 分离积分浮点PID转速阶跃响应
5.2 PID闭环的运行特性比较
5.2.1 动态特性比较
开环:空载启动到稳态转速;突加负载,稳态转速明显跌落;再突减负载,电机回升到原空载转速运行。开环运行的转速动态曲线如图9所示。
图9 开环运行的转速动态曲线
闭环:空载启动到稳态转速;突加负载,转速瞬间跌落后立即自动回升到原稳态转速,加载后的稳态转速没有跌落;再突减负载,电机转速瞬间上升后立即自动回降,仍回到原稳态转速运行。分离积分浮点PID闭环运行的转速动态曲线如图10所示。
图10 分离积分浮点PID闭环运行的转速动态曲线
5.2.2 静态特性比较
分别记录开环、闭环动态特性实验中的稳态转速与变频器频率数据,如表1所列。
从表1中可以看出,闭环运行时机械加载的稳态转速明显优于开环,机械加载后闭环稳态转速不跌落而变频器频率上升。可见,闭环稳态转速不跌落的原因是系统通过PID运算最终提高了变频器频率,从而提高了电动机同步转速,对稳态转速实现了补偿。实验数据揭示了闭环系统改善转速静态特性的物理本质。
表1 开环、闭环运行时稳态转速与变频器频率数据
结语
本系统运用STC12C5A60S2的高速特性,完整实现了交流电机转速的分离积分浮点PID闭环控制。分离积分浮点PID明显优化了系统控制品质,使得PID参数的合适范围变宽、整定难度降低。运用上位PC机与下位单片机的通信,实现了转速的实时采集与动态曲线显示。