简介:《转速、电流双闭环可逆直流PWM调速系统设计》是一份完整的课程设计报告,面向自动化、电气工程等专业的本专科学生,以及需要完成直流调速系统设计的初学者。文档围绕直流电动机高性能调速需求,系统讲解双闭环调速系统的原理、静特性分析与数学模型,详细给出转速环、电流环调节器的设计过程,并对PWM可逆变换器、泵升电路及基于单片机的控制电路进行说明,最后通过仿真验证系统的静态与动态性能。压缩包内共1个PDF文件,大小1.43MB,内容涵盖摘要、设计目的、性能指标、方案推导与仿真结果等章节,结构完整、便于对照学习或作为课程设计参考。目前已有222人学习,适合需要快速理解双闭环调速设计思路并撰写相关报告的读者。
1. 转速、电流双闭环可逆PWM调速系统:先弄清它要解决什么
拿到“转速、电流双闭环可逆直流PWM调速系统设计”这个题目,常见的误区是一上来就写PWM驱动波形。真正让这套系统区别于普通直流调速的,是“可逆”和“双闭环”:可逆要求电机进入四象限运行,功率级必须支持电流双向流动;双闭环则把电流环放在内层、转速环放在外层,转速环输出不是占空比,而是电流参考值。
这个结构几乎是运动控制系统的通用模板。伺服、变频器里的电机控制,都能看到电流内环加转速外环的影子。适合阅读的是做电机驱动和电力电子开发的工程师,以及正在做相关课设的自动化专业学生。读完可以直接用第2章的公式算参数,再按第4章的调试顺序上电。
2. 双闭环的电机数学模型与电流环、转速环参数整定
2.1 从他励直流电机方程到两个时间常数
双闭环能整定,前提是把电机和PWM变换器化成可以计算的传递函数。他励直流电机的电枢回路电压方程为 U = E + R_a·i_a + L_a·di_a/dt,机械方程为 T_e - T_L = (GD²/375)·dn/dt。电枢回路的电磁时间常数 T_l = L_a/R_a 决定电流环惯性,机电时间常数 T_m = GD²·R_a/(375·C_e·C_t) 决定转速环惯性。其中C_e、C_t分别是电动势常数和转矩常数,对他励电机可近似取 C_t = 9.55C_e。
这两个时间常数不一定要从铭牌精确算出。R_a可以用伏安法测,L_a用低频交流信号注入电枢测得,GD²可以从空载停机曲线反推。误差大一点没关系,第4章还要在线修正。需要正确认识的是PWM功率级不能被当成纯比例环节:一个开关周期的零阶保持、驱动死区和电流反馈滤波,最终会合并成小时间常数T_s,它决定了电流环能跑多宽。
2.2 电流内环按典型I型系统整定
电流环设计可以把反电动势看作缓变扰动,理由是电流环响应速度远高于转速变化。被控对象近似为 G_i(s) = K_pwm/((T_s·s+1)(T_l·s+1))。PI控制器的积分时间取 τ_i = T_l,把电枢电磁惯性消掉后,开环传函变成典型I型 K/(s(T_s·s+1))。按二阶最优要求阻尼比约0.707,即 K·T_s = 1/2,反推比例系数如下表:
| 参数 | 工程公式 | 说明 |
|---|---|---|
| 比例系数 Kp_i | R_a·τ_i / (2·K_pwm·β·T_s) | β为电流反馈系数,单位V/A |
| 积分时间 τ_i | T_l | 与电枢时间常数对消 |
| 等效小时间常数 T_s | 1~2个PWM开关周期 | 包括零阶保持和滤波延时 |
| 反馈滤波时间 τ_fi | 0.5~1个开关周期 | 用于滤除开关纹波 |
表中K_pwm的含义要统一:如果用占空比到电压的平均模型,K_pwm等于母线电压;如果控制器输出的是0~5V模拟给定,K_pwm = U_dc/5。比例系数随T_s增大而减小,意味着开关频率降低时电流环必须放慢;反馈滤波加得太深等于人为加大T_s,电流环会变钝,严重时出现低频振荡。把T_s、τ_i、Kp_i三者放在一张表里直接算,能避免很多工程上常见的量纲混乱。
2.3 转速外环按典型II型整定,中频宽选h=5
转速环的被控对象是电流环闭环后的积分环节,开环特性呈典型II型。典型II型有两个自由度,工程上先定中频宽h=τ_n/T_sum_n,再定开环增益K=(h+1)/(2h²T_sum_n²)。h越小动态响应越快,但超调也大;h=7以上响应变慢。通用做法取h=5,对应的参数关系是:
τ_n = h·T_sum_n
Kp_n = (h+1)·GD²/(2·h·T_sum_n·375·C_t·α)
Ki_n = Kp_n/τ_n
其中T_sum_n = 2T_s + τ_fn,是电流环闭环等效时间常数与测速滤波时间常数的和,α是转速反馈系数。公式给出的Kp_n只是初值,实际系统还要根据负载和机械刚性的差异乘0.7~1.3的修正系数。判断参数是否合适的办法不是观察转速曲线是否光滑,而是观察启动阶段电流有没有打到限幅值——这个行为在4.3节展开。
2.4 用Simulink搭双闭环模型:先跑通整定脚本
仿真的首要目的不是验证电机模型,而是验证参数整定的逻辑链。下面这份MATLAB脚本可以直接当作Simulink模型的初始化文件:
% 双闭环可逆直流PWM调速系统参数初始化 Ra = 1.2; % 电枢电阻,Ohm La = 0.015; % 电枢电感,H Ce = 0.18; % 电动势常数,V/(r/min) Ct = 9.55 * Ce; % 转矩常数,N.m/A GD2 = 0.6; % 飞轮矩,N.m^2 Udc = 220; % 母线电压,V fsw = 10000; % PWM开关频率,Hz Ts = 1 / fsw; % 开关周期 Tl = La / Ra; % 电磁时间常数,s Tm = GD2 * Ra / (375 * Ce * Ct); % 机电时间常数,s(用于校核) Kpwm = Udc / 5; % 5V给定对应100%占空比 beta = 0.05; % 电流反馈系数,100A对应5V alpha = 0.01; % 转速反馈系数,500r/min对应5V % 电流环整定:典型I型 tau_i = Tl; T_sum_i = 2 * Ts; % 滤波加零阶保持的等效延时 Kp_i = Ra * tau_i / (2 * Kpwm * beta * T_sum_i); Ki_i = Kp_i / tau_i; % 转速环整定:典型II型,h=5 h = 5; T_sum_n = 2 * T_sum_i + 2 * Ts; % 电流闭环等效加测速滤波 tau_n = h * T_sum_n; Kp_n = (h + 1) * GD2 / (2 * h * T_sum_n * 375 * Ct * alpha); Ki_n = Kp_n / tau_n;逻辑说明:脚本把铭牌参数换算成两个PI的初始值。Simulink模型里,电流环PI输出接PWM平均模型,限幅值设为β·I_max,转速环PI输出也带限幅。标准启动形态是:转速给定阶跃瞬间,转速环输出正饱和,电流以限幅值启动,转速缓慢上升,接近给定后转速环退饱和,电流回落。如果仿真中电流没有先顶限幅,多半是转速环参数不足或限幅设置错误。
模型细节:不要把电机当成纯一阶惯性,反电动势要通过Ce×n引回电枢回路,否则启动电流会偏大。PWM环节用平均模型加一阶惯性,再用零阶保持器按Ts更新占空比,这样能模拟真实数字控制器一拍延迟的影响。仿真通过后再把参数搬到嵌入式代码里,调试周期会短很多。
3. 可逆PWM功率级:H桥调制方式与电流采样电路设计
3.1 四象限运行与双极性、单极性调制怎么选
可逆调速要求电枢电压、电流都能反向,最常用的拓扑是H桥。四个功率管V1、V2组成左桥臂,V3、V4组成右桥臂,电机接在两个桥臂中点之间。双极性PWM让对角管同时导通:占空比大于50%时电机两端正压,小于50%时反压。电流始终脉动,低速时没有断续区,线性度好,控制逻辑也最简单。
单极性PWM则是一个桥臂恒通、另一个桥臂斩波,按电流方向决定哪对管子参与换流。效率高、电流纹波小,但要实时判别电流极性,换向瞬间处理不好会产生输出电压畸变。两种方式的取舍用一张表可以看明白:
| 调制方式 | 高频换流管 | 电流纹波 | 低速线性度 | 控制复杂度 |
|---|---|---|---|---|
| 双极性PWM | 4个 | 较大 | 线性好 | 低 |
| 单极性PWM | 2个 | 较小 | 换向时有畸变 | 需电流极性判别 |
| 单极倍频PWM | 4个 | 最小 | 线性好 | 较高 |
电流纹波的幅值可以按 ΔI = U_dc·D·(1-D)/(f_sw·L_a) 估算量级,其中D是平均占空比。同样的开关频率和母线电压下,把调制从双极性换成单极倍频,等效纹波频率翻倍,纹波电流显著下降。首版样机或课设推荐先用双极性做通功能,产品有成本压力时再换单极性,把控制复杂度留到第二阶段解决。
3.2 MOSFET驱动、死区时间与防直通
H桥同侧上下管换流时一旦同时导通,母线相当于短路,功率管往往在几个微秒内损坏。死区时间不可省,但也不能设得过大:死区期间桥臂没有有效输出电压,本质上丢了一部分占空比,还会在电流换向时产生电压畸变。
死区时间一般按功率管关断延迟、栅极驱动IC传输延迟和米勒平台时间之和来取,常见范围是0.5~2μs。对10kHz的PWM频率,1μs死区对应1%的调制损失,可以用最小占空比限制或死区补偿来平衡。工程上先不加母线电压,用示波器同时看上下管栅极波形,确认两路门极信号之间有清晰的间隔再上电。
驱动电路最常见的做法是上管自举、下管直接驱动。自举电容按 C_bs = I_g·t_on/ΔV 粗算,I_g是栅极峰值充电电流,t_on是上管最长导通时间。占空比接近100%时自举电容没有足够时间充电,所以这个拓扑不适合长时间满占空比输出。如果系统要在0~100%占空比范围内工作,比如某些制动工况,需要改用隔离驱动电源,这个边界设计时经常被忽略。
3.3 电流采样电路输入滤波与采样时刻对齐
电流采样质量决定了电流环能跑多高带宽。低端采样电阻放在下桥臂MOSFET与地之间,成本低、共模简单,但开关切换时采样点有地弹噪声,必须在PWM载波谷底采样来躲开开关尖峰。高端采样或用霍尔传感器抗共模能力更强,但成本高,带宽受传感器限制。
给一套常用的低端采样方案:
| 环节 | 参数 | 选型依据 |
|---|---|---|
| 采样电阻 | 10mΩ,2W以上无感电阻 | 压降小,过流时不烧毁 |
| 差分放大器增益 | 50倍 | 10A电流对应0.5V输出 |
| 一阶RC低通 | R=390Ω,C=100nF | 截止频率约4kHz |
| ADC采样时刻 | PWM载波谷底 | 避开开关尖峰 |
RC滤波的截止频率要放在电流环带宽的5~10倍,同时明显低于开关频率的一半。滤得太深,反馈信号滞后加大,电流环相位裕度下降,容易出现高频振铃;滤得太浅,电流反馈上叠加大量开关纹波,限幅保护容易误触发。这里4kHz的转折频率对10kHz开关频率、约400Hz的电流环带宽是合理折中。电流采样电路输入滤波这一段看起来是小问题,实际调试中一大半电流环异常都出在这里。
4. 双闭环系统的调试顺序与飞车保护
4.1 上电前检查H桥和控制回路的核对清单
双闭环系统调试失败,大部分原因在功率级而不在控制算法。上电前先断开主回路供电,按顺序检查几项:用二极管档测每个MOSFET体二极管方向是否与原理图一致;检查栅极串联电阻的阻值和位置,栅极走线太长会引入振铃甚至误导通;确认母线电容有放电回路,断电后不会长时间带电;驱动IC的输出引脚与MOSFET栅极之间的走线应尽量短粗。
提示:第一轮调试用低压直流电源(例如24V或36V)代替额定母线电压。多数功率管损坏发生在全压上电后的第一分钟内。
这一步检查到位,后续调试时基本不需要怀疑功率级。
4.2 开环确认PWM波形后,先做电流单闭环
不接转速环,不启动PI,先给固定占空比10%验证桥臂中点波形和死区。波形上如果出现上下管导通重叠或开关毛刺,返回上一步检查驱动逻辑。开环OK后进入电流单闭环调试:给定一个很小的电流参考,例如额定电流的5%,看电流反馈是否跟得上。
下面是一段电流单环的调试代码骨架,可以直接改写进MCU的中断里:
// 电流单环调试代码骨架(在PWM载波谷底中断执行) float current_cmd = 0.5f; // 电流给定,单位A float i_fb = 0.0f; // 电流反馈 float err = 0.0f; float duty = 0.0f; float Kp = 0.2f, Ki = 50.0f; // 初值由整定脚本计算后填入 void pwm_isr(void) { i_fb = current_sample() * 0.1f; // ADC原始值换算成电流 err = current_cmd - i_fb; duty += Kp * err + Ki * err * dt; // 离散PI累加实现 duty = clamp(duty, 0.02f, 0.95f); // 下限避开最小占空比 set_pwm_duty(duty); }逻辑说明:这里占空比完全由电流误差驱动,没有转速环参与。调试标准是电流阶跃超调不超过10%,调节时间控制在几个到十几个开关周期内。如果电流反馈抖动,优先检查采样时刻和RC滤波;如果静态误差大,重点检查电流反馈系数β在软件里的换算是否一致,常见问题是采样电阻、放大倍数、ADC参考电压三者对不上。
4.3 转速环投入方法与振荡判断
电流环收敛后,接入转速环。给定额定转速阶跃,用两台示波器通道同时观察转速反馈和电流反馈。标准启动过程是:转速误差大时转速环输出饱和,电流以限幅电流加速;接近给定转速后转速环退出饱和,电流回落。如果启动时电流没有达到限幅,先看转速环输出限幅是否设为β·I_max,再看Kp_n是不是太小。
振荡的判别也很关键。电流环振荡频率接近开关频率的量级,电流波形上看到细密振铃,问题出在采样滤波或电流环增益;转速环振荡频率低,电流包络呈低频正弦摆动,先把Kp_n减半再测。注意不要把两者混为一谈,否则会在错误的方向上反复调参。
4.4 编码器断线检测与飞车保护逻辑
双闭环对转速反馈缺失没有天然保护。编码器断线后转速反馈变成0,转速环误差恒定为正,积分饱和让输出顶到限幅,电机持续以最大允许电流加速,这就是常见的电机飞车场景。电流环限幅只能限制电流,不能阻止转速上升,必须靠软件故障检测。
检测逻辑建议放在控制周期里:用定时器捕获编码器脉冲,如果在固定时间窗口(例如10ms)内脉冲数为0,同时转速给定不为0、PWM占空比超过阈值、电流持续在限幅区,立即封锁PWM输出并置故障位。单纯脉冲丢失不能作为判据,还要排除系统正在停机或极低速跟随的工况,否则会误动作。
| 故障条件 | 判定逻辑 | 动作 |
|---|---|---|
| 编码器断线 | 10ms无脉冲且转速给定非零 | 封锁PWM,置E-STOP |
| 电流持续超限 | 电流反馈大于1.1倍限幅值持续1s | 占空比降到0 |
| 功率管过温 | 温度传感器超阈值 | 封锁PWM,保持故障记录 |
5. 把电流环饱和变成限流保护与快速制动工具
5.1 转速环输出限幅含义
转速环PI的输出作为电流环参考,因此把转速环输出限幅设在β·I_max,整个系统就有了一道硬电流钳位。堵转、给定跳变、换向冲击这些工况下,电流环会在一个开关周期内把电流拉回限幅值以内,功率管和电机的安全就有保证。限幅还要配合抗积分饱和处理:转速环饱和后如果积分项继续累积,退饱和时间会拉长,出现明显超调。常用的做法是输出饱和时冻结积分项,或者给积分项单独限幅。
5.2 再生制动时间估算与验证
把转速给定突变为0,转速环输出打到负饱和,电流环强制电流反向,系统进入再生制动状态。制动时间可用下面脚本估算:
# 估算再生制动时间 J = 0.0153 # 负载折算转动惯量,kg.m^2 omega = 2 * 3.14159 * 3000 / 60 # 制动前角速度 Ct = 1.719 # 转矩常数,N.m/A I_max = 2 * 6.5 # 电流限幅值 t_brake = J * omega / (Ct * I_max) print(f"{t_brake * 1000:.1f} ms")逻辑说明:制动过程在电流环饱和状态,转矩近似恒定,减速接近线性,所以用J·omega/(Ct·I_max)估算。实测制动时间若明显偏长,先看电流有没有真正达到负限幅。再生能量会抬高母线电压,如果功率级没有制动电阻或回馈通道,母线过压保护会介入,把电流逼出限幅区,制动时间自然变长。解决办法是加制动电阻和斩波管,或者改用四象限变流器。
5.3 三个现场验收动作
参数调整完成后,用三个动作验收,每次改完重复一次:空载给定50%额定转速阶跃,看电流能否快速达到限幅并保持到接近给定;正转300r/min时瞬变给定-300r/min,记录电流负向幅值是否达到预期限幅;堵转条件下给定额定转速,确认电流被限制在I_max附近且不继续爬升。三个动作分别验证电流内环跟踪、转速外环退饱和和限幅保护链路。能可靠通过,这套双闭环系统才算真正收敛。
本文还有配套的精品资源,点击获取