转速电流双闭环直流调速系统设计,转速电流双闭环仿真,MATLAB/Simulink 基于V—M系统的转速电流双闭环直流调速系统设计。 包括:设计说明书,电路原理图,仿真。 说明书包括:系统方案选定及原理,硬件电路(主电路、触发电路、双闭环反馈电路),主要元件选型,双闭环参数计算,仿真及仿真结果分析等。 软件版本:MATLAB R2018b;Altum Designer2019
在电力传动领域,转速电流双闭环直流调速系统凭借其良好的动静态性能,成为经典且广泛应用的调速方案。今天就来聊聊基于V—M系统的转速电流双闭环直流调速系统的设计,以及利用MATLAB/Simulink进行仿真的全过程。
一、系统方案选定及原理
转速电流双闭环直流调速系统的核心在于通过转速和电流两个闭环来实现对电机转速的精确控制。转速环作为外环,主要作用是维持电机转速的稳定,使其能够跟随给定转速变化;电流环作为内环,快速响应负载变化引起的电流波动,同时限制最大电流,保护电机和功率元件。
其基本原理是:给定转速信号与实际转速反馈信号比较后,差值经过转速调节器(ASR)输出作为电流给定信号,该信号再与实际电流反馈信号比较,差值经电流调节器(ACR)输出控制晶闸管触发装置,进而调节电机电枢电压,实现转速的调节。
二、硬件电路
主电路
主电路通常采用晶闸管可控整流电路(V—M系统),将交流电源转换为可变的直流电压供给直流电机。以下是一个简单的三相桥式全控整流电路主电路代码示例(以MATLAB/Simulink模型搭建为例):
% 创建模型 model = 'Three_Phase_Bridge_Rectifier'; new_system(model); % 添加三相电源模块 powergui = add_block('powerlib/Powergui', [model '/Powergui']); ac_source = add_block('powerlib/Three - Phase Source', [model '/Three - Phase Source']); set_param(ac_source, 'PhaseVoltage', '220[V]', 'Frequency', '50[Hz]'); % 添加晶闸管模块 th1 = add_block('powerlib/Thyristor', [model '/Thyristor1']); % 类似地添加其他5个晶闸管并连接 %... % 添加直流电机模块 dc_motor = add_block('powerlib/DC Machine', [model '/DC Machine']); % 设置电机参数 set_param(dc_motor, 'Rated power', '1000[W]', 'Rated armature voltage', '220[V]'); % 连接各个模块 % 连接电源到晶闸管 add_line(model, 'Three - Phase Source/A', 'Thyristor1/A'); %... 完成其他连接 % 连接晶闸管到直流电机 add_line(model, 'Thyristor6/A', 'DC Machine/Armature');在这段代码中,首先创建了一个名为ThreePhaseBridgeRectifier的模型,然后添加了三相电源模块并设置其电压和频率参数。接着添加晶闸管模块,虽然这里只展示了一个晶闸管添加,实际应用中需要6个并正确连接。最后添加直流电机模块并设置其额定功率和电枢电压等参数,再通过addline函数完成模块之间的电气连接。
触发电路
触发电路的作用是为晶闸管提供合适的触发脉冲,使其按一定顺序导通。以锯齿波同步触发电路为例,在MATLAB/Simulink中可以这样搭建简单模型并理解其工作原理。假设我们使用S函数来模拟触发脉冲生成逻辑:
function [sys,x0,str,ts] = trigger_sfun(t,x,u,flag) switch flag, case 0, [sys,x0,str,ts]=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 3, sys=mdlOutputs(t,x,u); case {2,4,9} sys = []; otherwise error(['Unhandled flag = ',num2str(flag)]); end % 初始化函数 function [sys,x0,str,ts]=mdlInitializeSizes sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 1; sizes.NumInputs = 1; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; sys = simsizes(sizes); x0 = []; str = []; ts = [0.001 0]; % 采样时间设置为1ms % 输出函数 function sys=mdlOutputs(t,x,u) % 根据输入信号u(例如同步信号)生成触发脉冲逻辑 if u > 0.5 sys = 1; % 生成触发脉冲 else sys = 0; end上述S函数中,mdlInitializeSizes函数设置了输入输出端口数量、采样时间等初始化参数。mdlOutputs函数根据输入信号u(这里假设为同步信号),当信号值大于0.5时,输出1表示生成触发脉冲,否则输出0不触发,模拟了简单的触发脉冲生成逻辑。
双闭环反馈电路
转速反馈电路通过测速发电机等装置获取电机实际转速信号,转换为与给定转速同量级的电压信号反馈到转速调节器输入端。电流反馈电路则通过电流互感器或霍尔传感器采集电枢电流信号,反馈到电流调节器输入端。
三、主要元件选型
- 晶闸管:根据电机额定功率、电压和电流等参数选择合适耐压和电流等级的晶闸管。例如对于额定功率1kW,额定电压220V的直流电机,考虑一定的裕量,可选择耐压600V,电流10A的晶闸管。
- 转速调节器和电流调节器:通常选用PI调节器,其参数根据系统性能指标和控制对象特性进行计算。
- 其他元件:如滤波电容、电阻等,根据电路的具体要求进行选择,滤波电容用于平滑直流输出电压,电阻用于调节信号幅值和分压等。
四、双闭环参数计算
转速调节器(ASR)和电流调节器(ACR)的参数计算是系统设计的关键环节。以典型I型系统设计电流调节器为例,首先根据电流环小时间常数确定其开环增益,进而计算ACR的比例系数和积分时间常数。
假设电流环小时间常数$T{\sum i}=0.002s$,希望电流环截止频率$\omega{ci}=100rad/s$,根据典型I型系统开环增益$Ki=\frac{1}{2T{\sum i}}$,可得$K_i = 250$。
设电流互感器变比为$K{TA}$,电枢回路总电阻为$R$,则ACR的比例系数$K{p i}=\frac{KiR}{\beta K{s}K{TA}}$,积分时间常数$\taui = T{l}$($T{l}$为电枢回路电磁时间常数)。
转速调节器参数计算类似,但需考虑转速环的动态性能指标和电流环的影响。
五、MATLAB/Simulink仿真及结果分析
在MATLAB R2018b中,利用Simulink搭建转速电流双闭环直流调速系统模型。按照前面介绍的硬件电路各部分,将主电路、触发电路、双闭环反馈电路等模块组合起来。
运行仿真后,我们可以得到转速和电流的动态响应曲线。例如,当给定转速发生阶跃变化时,从仿真结果曲线可以看到,电流迅速上升到最大值(限制电流),然后随着转速的上升逐渐下降到稳态值,转速则平稳上升到给定值,超调量较小,体现了双闭环系统良好的动态性能。
如果系统参数设置不合理,比如转速调节器的比例系数过大,可能导致转速超调量增大,甚至出现振荡;电流调节器积分时间常数不合适,可能影响电流的快速跟随性能。通过对仿真结果的分析,可以进一步优化系统参数,提高系统性能。
而在实际硬件设计中,借助Altum Designer 2019绘制电路原理图,将理论设计转化为实际可实现的电路版图,为后续的硬件制作和调试打下基础。
总之,转速电流双闭环直流调速系统的设计与MATLAB/Simulink仿真是一个有机结合的过程,通过不断优化设计和参数调整,能够实现高性能的直流电机调速控制。希望这篇博文能给对该领域感兴趣的朋友们一些启发和帮助。