简介:新能源汽车永磁无刷直流电机的制动能量回馈技术,是提升纯电动汽车续驶里程的重要研究方向。这份PDF技术文献面向新能源汽车电控研发工程师、车辆工程专业学生及相关领域研究者,围绕能量回馈与双闭环控制展开系统论述:既剖析了Boost Chopper升压斩波、半桥调制等实现原理,也给出了基于占空比调节来抑制泵升电压和电流的双闭环数字控制方案,并说明该方法无需改动硬件即可实现可靠制动回馈。文档还介绍了电机控制系统构成、上下桥臂PWM控制策略以及回馈电压电流限制等关键细节,配合电机控制器测试台架的验证结果,具备较强的工程参考价值。资源为1个PDF文件,压缩包大小仅161KB,轻量易用;目前已有176人学习,适合作为技术调研、课题研究与论文写作的参考文献。
1. 再生制动没你想的那么简单:绕组就是升压变换器的电感
第一次读永磁无刷直流电机制动能量回馈的代码和波形,很容易误以为回馈能量是靠“电机倒转发电”那样自然流回电池的。实际情况恰恰相反:制动时逆变器上半桥功率管全部关断,下半桥功率管按位置传感器信号做PWM斩波,电机两相绕组充当储能电感,蓄电池端作为高压输出,整个驱动系统瞬间等效成一个Boost Chopper升压斩波器。这篇PDF的价值在于把能量回馈的物理过程拆到开关管通断级别,并用电压、电流双PI闭环把泵升电压和回馈电流限制在充电安全窗口内,全程不改硬件、不增加成本。文章适合正在做方波驱动电机控制器标定的工程师,也适合想搞懂再生制动占空比边界条件的学生。下文按“机理推导、双闭环实现、11kW台架数据复盘、上车标定技巧”这条线展开。
2. 半桥调制下的Boost Chopper能量回馈原理与占空比推导
2.1 能量回馈时开关管如何分工
永磁无刷直流电机控制系统由电源、控制电路、PWM驱动电路、功率逆变电路、位置传感器和电机本体组成。电机正向电动运行时,六个开关管按120°电角度换相,上桥臂和下桥臂交替导通。进入能量回馈状态后,控制逻辑将上半桥VT1、VT3、VT5全部封锁,只让下半桥VT2、VT4、VT6按位置传感器给出的换相信号做PWM斩波。因为上半桥封锁后仍有反并联续流二极管D1、D3、D5存在,逆变器整体呈现为三相半控整流结构。
这个配置中,位置传感器的作用不是降低精度,而是决定当前应该斩波哪一相的下桥臂。电压型逆变器的续流二极管是IGBT或MOSFET体二极管,制动电流路径经过二极管返回蓄电池,二极管压降和反向恢复特性直接影响回馈效率。实际项目里,如果选用的功率模块是RC-IGBT或带快恢复二极管的MOSFET,回馈损耗差别明显。高压平台下建议关注二极管的反向恢复电荷Qrr,这个参数决定换相时刻的电流过冲幅度。
半桥调制方式下,六个开关管中同一半桥上的三个元件通PWM波,另一半桥的三个元件始终关断。这样做的直接好处是避免了上下桥臂直通风险,换相逻辑也简单。代价是只有下半桥在做斩波,续流路径固定经过上半桥二极管,二极管的损耗会比全桥调制时集中。
2.2 一个PWM周期内的两个工作区间
原文以VT4导通为例,分析了PWM一个脉冲周期T内能量回馈的完整过程。设导通时间为t1,截止时间为T-t1。在[0,t1]区间,VT4导通,电机A相绕组进线,电流路径为A相绕组经VT4流入蓄电池负极回路,同时B相绕组作为回流通路。电感电流在这一阶段线性上升,吸收磁场能量。
回路电压方程为:
$$2(L-M)\frac{di}{dt} + 2Ri - (e_A - e_B) = 0$$
其中L为相绕组自感,M为相间互感,R为相电阻,eA、eB为A、B相反电动势。电感项2(L-M)是两个相绕组串联后的等效电感,这就是Boost变换器的“储能电感”。电流解为:
$$i = I_0 + \frac{e_A - e_B - 2Ri}{2(L-M)} t$$
进入[t1,T]区间,VT4关断,电流路径变为A相绕组进线,经上桥臂二极管D1流入蓄电池正极,再经电池负极、D6回到B相绕组,最终回到A相绕组。此时电感和反电动势串联向电池充电,是磁场能量释放阶段。忽略二极管管压降后回路方程为:
$$U_d = -2(L-M)\frac{di}{dt} + 2Ri - (e_A - e_B)$$
电流处于下降状态,速率取决于蓄电池端电压与反电动势之差。蓄电池在这个区间吸收的能量由三部分构成:电机动能经电磁功率转换的电能、绕组发热损耗、电感释放的磁场能量。稳态下,电感在导通区间吸收的能量等于截止区间释放的能量,这为下一节推导占空比公式提供了伏秒平衡条件。
2.3 占空比与泵升电压的定量关系
忽略电流脉动和相电阻后,可利用导通区间与截止区间的能量守恒关系推导电压增益。设D=t1/T,由伏秒平衡得到核心表达式:
$$u_{AB} \approx \frac{e_A - e_B}{1 - D}$$
这个式子是整个能量回馈控制的“总纲”。它说明:当电机转速较低、反电动势eA-eB较小时,只有把占空比D调大,也就是让下桥臂斩波管的导通时间占比更高,才能把等效回馈电压uAB抬升到蓄电池端电压以上,实现能量回灌。转速升高后,反电动势本身已经足够高,占空比要相应减小,否则泵升电压会超过蓄电池最高充电电压。
这里有几个工程上容易忽略的点。第一,式中的eA-eB是两相绕组反电动势之差,不是单相反电动势,其幅值随转子位置变化,所以实际控制中需要对60°电角度区间取平均值或使用位置传感器同步采样。第二,绕组电阻R在低速大电流时会造成明显压降,导致实际泵升电压低于理想计算值,这一点在第五章的实验数据复盘里能清晰看到。第三,占空比D直接决定泵升电压增益,所以占空比更新必须在PWM周期边界同步完成,否则一个周期的错位就会引起电压尖峰。
第三点展开说:如果PWM周期是10kHz对应100μs,D更新有个周期的时间差,低速回馈大电流时电感储能大,这个时间差可能造成几十伏的电压过冲。实际项目我会把回馈控制的PWM改到中心对齐模式,在计数归零处更新比较寄存器,让占空比变化发生在载波谷底,避开开关噪声。
2.4 全桥调制与半桥调制的取舍
不少做电机控制的工程师会在项目的早期阶段反复犹豫要不要上全桥调制做回馈。全桥调制六个开关管全部参与PWM,导通损耗和开关损耗分散,回馈功率可以做得更大,但换相逻辑复杂,上下桥臂互锁时序要求高,死区时间内续流路径不明确,容易出现电流倒灌。半桥调制只用下半桥三个管子,虽然单个管子的损耗集中,但在系统层面获得了几个更重要的收益:电流路径始终有明确的续流二极管承接,不需要复杂的死区补偿;泵升电压与占空比呈单调关系,控制律设计简单;与电动状态用同一套位置传感器信号做换相,软件切换成本低。
| 对比项 | Boost变换器 | 本文半桥斩波 |
|---|---|---|
| 储能电感 | 独立电感L | A、B两相绕组等效2(L-M) |
| 功率开关 | 单个Boost管 | VT4等下半桥管 |
| 输出二极管 | 独立快恢复二极管 | 上半桥续流二极管D1 |
| 输出端 | 电容并联负载 | 蓄电池 |
| 电压增益 | Uo = Ui/(1-D) | uAB = (eA-eB)/(1-D) |
表格里的对应关系说明,方波驱动的永磁无刷直流电机在再生制动模式下就是一台“寄生”的Boost变换器,绕组电感、半桥开关管和续流二极管拼出升压拓扑的每一个要素。理解了这层等价关系,后续调PI参数时就能直接借鉴开关电源电压环的设计经验,而不是拍脑袋试。
3. 回馈电压电流双闭环控制:外环限流、内环稳压
3.1 双闭环结构与保护优先级
制动能量回馈不是简单地把PWM占空比设成某个固定值就能工作。蓄电池容量有限,充电时电压会被反电动势顶高,电流也会随转速变化而大幅波动。单电压环能稳住泵升电压但无法约束充电电流,极端情况下电流超过蓄电池最大允许充电值,轻则触发BMS降功率,重则加快电池容量衰减。单电流环虽然能限流,却无法保证电压不超过最高充电电压,因为电流恒定并不代表电压恒定,尤其是在电池内阻随SOC变化的情况下。
双闭环的思路是把回馈电流环作为外环,电流偏差经过PI运算后输出一个“回馈电压给定值”;内环电压环跟踪这个给定值,输出电压环的PI输出就是PWM占空比。原文表述为“外层是回馈电流控制闭环,内层是回馈电压控制环”,括号里的字面顺序要注意,实现时电流环的优先级更高,它决定电压环可以工作到多深。一层意思是当回馈电流超过最大允许值时,外环直接拉低电压环的输入指令,从源头上限制能量传输速率;另一层意思是电流环带宽低、电压环带宽高,电流环相当于在电压环外面加了一个慢速但坚决的“总量闸门”。
这种嵌套结构和经典FOC里“转速外环、电流内环”的方向刚好相反。FOC中内环电流环要快,是为了快速抑制电流冲击;回馈场景中内环电压环要快,是为了快速钳制泵升电压尖峰,而外环电流环慢慢收窄电压给定量,保证充电电流均值不越限。设计PI参数时,电压环带宽可以做到几百赫兹甚至上千赫兹,电流环带宽要明显低于电压环,通常取电压环带宽的五分之一到四分之一,避免两个环路互相激励形成振荡。
3.2 中断任务与PI控制器的软件实现
原文提到程序编写采用模块化设计和实时性强的中断方式,将制动回馈模块放入定时中断。典型做法是设定一个1ms的时基中断,每个中断周期内顺序执行转速计算、制动踏板状态读取、回馈电流指令计算、双PI运算、PWM占空比更新。PWM比较寄存器的更新需要和PWM周期同步,所以PI输出的占空比一般先写入影子寄存器,等PWM计数归零再由硬件自动加载。
PI控制器的离散实现可以用位置式,也可以用增量式。这里给出一个项目常用的抗积分饱和结构:
typedef struct { float kp; float ki; float limit; float integral; } pi_ctrl_t; /* 内层电压环:输出占空比,限制在0.05~0.90 */ static pi_ctrl_t v_pi = { 0.45f, 0.018f, 0.90f, 0.0f }; /* 外层电流环:输出为电压环给定,限制在150~250V */ static pi_ctrl_t i_pi = { 0.18f, 0.008f, 250.0f, 0.0f }; float pi_update(pi_ctrl_t *pi, float error) { pi->integral += error * 0.001f; /* 1ms时基积分项 */ if (pi->integral > pi->limit) pi->integral = pi->limit; if (pi->integral < -pi->limit) pi->integral = -pi->limit; float out = pi->kp * error + pi->ki * pi->integral; if (out > pi->limit) out = pi->limit; if (out < -pi->limit) out = -pi->limit; return out; } float regen_ctrl(float i_fb, float v_fb, float i_cmd) { float v_cmd = pi_update(&i_pi, i_cmd - i_fb); /* 电流环输出做电压给定 */ float duty = pi_update(&v_pi, v_cmd - v_fb); /* 电压环输出做占空比 */ return duty; }这段代码有几个参数设计逻辑需要说明。积分项限幅值直接取控制器输出的极限值,作用是在深度饱和时让积分项停止累积,防止退出饱和后出现大超调。电压环的kp和ki取0.45和0.018,对应系统带宽约800rad/s,电压反馈来自采样电阻或母线电压检测分压,采样延迟一个PWM周期,相位裕度仍有60度左右。电流环参数取0.18和0.008,带宽约200rad/s,它只负责缓慢修正电压给定,动态过程由电压环独立应对。
回馈电流的符号处理也要注意。方波驱动中电动状态电流为正,回馈状态电流反向,传感器读到的值是负的。如果不做符号归一化,PI控制器会把负偏差当成正向饱和处理,导致占空比往错误方向走。我会在进入回馈控制前先取电流绝对值,PI运算全部在正数域完成,退出回馈时再恢复正常符号逻辑。
3.3 采样时序与PI参数整定步骤
回馈电压采样点选在PWM周期的中心位置最合适。半桥斩波电流断续度高,如果采在导通区间的中点,读到的电压包含大量开关纹波;采在续流区间末端则可能错过泵升电压峰值。中心对齐PWM模式下,载波峰值处电感电流达到最大值,此时采样能抓到回馈电压的最高点,再配合数字滤波做滑动平均,反馈值就足够干净。
参数整定先是电压环,后是电流环。断开电流环,给电压环一个固定给定值,用示波器观察泵升电压阶跃响应,逐步增加kp直到出现第一个临界振荡,记录此时的增益值,然后取临界增益的一半作为实际kp。ki从零开始增加,观察稳态误差消除速度和低频振荡趋势,一般取ki为kp的2%~3%起步。电压环调稳后接入电流环,用电子负载模拟电池的恒压特性,从低速回馈开始做阶跃实验,电流超调控制在5%以内即可。
有一个容易被忽视的点:蓄电池端电压不是恒定的,充电过程中端电压缓慢上升,内阻压降也在变化。纯PI控制器在这种情况下会产生稳态误差,但实际工程中这个误差的量级在几伏以内,对充电安全影响有限。如果追求更精确的限压控制,可把BMS上报的电池最高允许电压作为前馈量叠加到电压环给定中,前馈系数取0.8左右,既能加快响应又不会因为BMS通信延迟引入超调。
3.4 占空比上限与死区约束
半桥调制下占空比不能随意设到1。下桥臂PWM导通时间过长,意味着续流二极管承受反压的时间缩短,电感必需在更短的时间里完成能量释放,电流下降率急剧增加,可能导致换相时刻电流不连续。占空比上限一般取0.85~0.90,下限取0.05~0.10。下限存在的原因是PWM太窄时,开关管导通时间接近死区和开关延迟时间,占空比分辨率显著下降,同样一个计数值的变化可能引起两倍的输出电压跳变。
驱动波形上还有一个极容易被忽略的约束,就是死区时间反向影响回馈电流路径。死区时间内上下桥臂全部关断,电流只能走二极管续流,而二极管续流方向与主动管导通方向相反,这会导致实际加在电机绕组上的电压平均值比指令值偏低。回馈工况下电流方向与续流二极管方向一致,死区效应反而会抵消一部分指令占空比,让实际泵升电压低于理论计算。调试时如果发现低速回馈电流建立不起来,优先检查死区配置是否占了可用PWM宽度的1%以上。
提示:不要把电动模式的死区补偿表直接套到回馈模式。电动模式补偿方向和电流方向有关,回馈模式电流恒为反向,补偿系数应单独标定。
4. 11kW台架实测数据复盘:占空比为什么要随转速下降
4.1 实验配置与回馈能量耗散方法
原文的实验平台是11kW永磁无刷直流电机带测功机台架,电源使用直流稳压电源,回馈能量通过放入水中的电加热器释放。这个配置在实验室环境里非常典型:真实电池组的SOC和端电压不可控,测试难以复现边界工况,所以用稳压电源模拟电池端电压,用水阻负载吸收回馈电能,把能量“就地烧掉”。
水电阻的选型和安装有讲究。回馈功率等于回馈电压乘以回馈电流,11kW系统全功率回馈时接近2kW,如果直接用普通电阻负载,发热会导致阻值漂移,电压电流波形随之扭曲。水加热器利用水的热容量大、温度上升慢的特点,让负载在数小时内保持稳定。调试中要随时监控水温,超过80度时电阻率明显变化,回馈电压会跟着波动,这时需要换水降温。
测功机负责拖动机电转速。能量回馈测试中测功机处于电动状态,反向拖动永磁电机旋转,电机输出制动转矩时测功机要能维持设定转速不变,这要求测功机本身带有高动态转速闭环。实际读取数据时,转速稳定后再等1~2秒,让PI调节器完全收敛,采集回馈电流、回馈电压和PWM占空比的有效值。
4.2 实测数据与占空比换算
原文表1记录了低转速时回馈电流限制5.5A、回馈电压195~210V条件下的实测数据。把十六进制占空比寄存器值按10位PWM周期计数1024换算成百分比,并计算对应的等效反电动势,规律如下表:
| 转速(r/min) | 回馈电流(A) | 回馈电压(V) | 占空比(十六进制) | 占空比(%) | 等效eAB(V) |
|---|---|---|---|---|---|
| 505 | 5.49 | 200 | 0x337 | 80.4 | 39.2 |
| 700 | 5.47 | 200 | 0x2e3 | 72.2 | 55.7 |
| 900 | 5.46 | 199 | 0x288 | 63.3 | 73.0 |
| 1106 | 5.53 | 201 | 0x233 | 55.0 | 90.5 |
| 1302 | 5.53 | 202 | 0x1e2 | 47.1 | 106.9 |
| 1508 | 5.54 | 202 | 0x18a | 38.5 | 124.2 |
十六进制到百分比的换算方式是寄存器值除以PWM周期计数值,例如0x337即十进制823,823/1024约为80.4%。等效反电动势eAB用200×(1-D)估算,它反映的是当前转速下两相绕组反电动势差的幅值。转速从505r/min上升到1508r/min,变化约2.99倍,等效eAB从39.2V上升到124.2V,变化约3.17倍,基本符合反电动势与转速成正比的关系。两者之间的少量偏差来自绕组电阻压降和换相重叠角的影响。
占空比从80.4%下降到38.5%,这个趋势和Boost升压公式完全一致:转速低时反电动势低,必须靠大占空比把泵升电压抬高到200V附近;转速高时反电动势本身已接近目标电压,只需要小的斩波比例就能维持回馈电压。数据中最有价值的点是回馈电压始终稳定在199~202V,波动幅度仅±1.5%,说明双闭环对外部转速扰动的抑制能力足够,PI参数在宽调速范围内没有失稳。
4.3 电流稳定度与PI参数的关系
把回馈电流列单独拉出来看,从505r/min到1508r/min全转速范围内,电流实测值在5.46A到5.54A之间波动,偏差只有0.08A。这个结果可以反推外环电流环的稳态精度。电流反馈值在5.5A指令附近波动±0.04A,折算成百分比约0.7%,说明电流环的积分增益设置合适,没有出现静差堆积导致限幅持续饱和的问题。
如果实测电流呈现缓慢爬升然后突然回落的锯齿波形态,通常说明外环积分项正在反复进出饱和区。这是因为回馈电流指令来自整车控制器,限制值附近时电流环PI运算结果会顶着电压环限幅跑,积分项在限幅值附近反复累积和释放。解决方法是给电流环PI输出加一个软限幅区,在进入硬限幅前先压缩PI输出范围,避免积分项冲击。也可以在限幅逻辑上增加一个简单的提前量判定,当积分项超过limit的80%时按比例衰减积分速度。
4.4 泵升电压纹波的抑制经验
台架测试中如果出现回馈电压纹波超标的干扰问题,先看是不是位置传感器换相瞬间引起的。方波驱动每60°电角度换相一次,换相期间非导通相绕组产生电压尖峰,这个尖峰会叠加到泵升电压反馈值上。此时PI控制器会把尖峰当成真实电压变化处理,占空比出现周期性的微小波动,表现在电流波形上就是换相频率附近的电流脉动。
抑制手段有两个层次。第一层是数字滤波,采样值先做中值滤波再进PI,滤波窗口取3个采样点,能滤掉绝大多数换相尖峰而不引入明显延迟。第二层是换相角前馈补偿,在换相发生前的几微秒内暂停PI输出更新,保持当前占空比不变,等换相完成后再恢复调节。第二层效果更好,但需要位置传感器信号触发中断,程序结构上要增加一点复杂度。对11kW这个功率等级,第一层滤波已经能解决问题,第二层更适合大功率矿山车驱动系统那种对纹波要求更严的场景。
5. 上车前还要做的几件事:SOC约束、低速切出与安全收尾
能量回馈在上台架之后、装车之前,还要过标定这一关。整车层面的约束条件比台架多得多,台架只需要管住泵升电压和回馈电流,整车上还要管住三个维度:电池SOC上限、制动平顺性、转速过低时的退出策略。
电池SOC接近满电时禁止回馈几乎是所有整车厂的标准策略。原因很简单,满电电池的充电接受能力接近于零,回馈电流无处可去,只能继续抬高泵升电压,很快就会触发母线过压保护。实际标定中SOC阈值取95%比较常规,回馈功率按SOC值线性降额,从95%到100%之间回馈功率从额定值渐变到零,避免突然切出回馈造成踏板感突变。SOC数据来自BMS的CAN报文,通信延迟一般在10ms~30ms,所以回馈控制模块不能直接用SOC瞬时值做硬门槛判断,而要把SOC降额值和主控制器扭矩指令合并处理。
低速切出是另一个容易忽略的问题。电机转速降到某个阈值以下时,反电动势幅值过低,即使占空比推到上限0.9,泵升电压也达不到蓄电池端电压,回馈电流建立不起来,此时继续执行回馈控制只会增加制动距离。按照原文的实验数据反推,11kW电机在200r/min以下即使占空比拉到0.9,等效eAB也只有大约15V,远低于200V的母线电压,能量回馈实际上已经失效。所以标定时要设定一个回馈切出转速,低于该值时PWM全部封锁,制动转矩完全交给液压制动系统。切出瞬间如果直接断开下桥臂PWM,绕组电感上的残余电流没有续流路径,会通过上桥臂二极管强制续流产生电压尖峰。稳妥的做法是先把占空比按斜坡降到0.05,维持两个PWM周期,让电感电流自然衰减到零再完全封锁驱动。
制动转矩变化率限制要放在双闭环的外部。回馈电流环虽然能限制电流幅值,但电流从零阶跃到额定值的瞬间产生的转矩冲击会被驾驶员直接感知为刹车顿挫。标定时以整车平顺性需求为约束,回馈转矩变化率一般限制在每秒20%~30%额定转矩以内。实现上可以在回馈转矩需求值后面加一个斜坡函数,斜坡时间常数取100ms~150ms,具体数值根据整车前后悬架的俯仰特性调整。斜坡限幅的代码位置在回馈电流指令计算之前,这样电流环和电压环始终跟随着一个平滑的指令变化,不会因为内部限幅器反复生效而产生非线性抖动。
最后提一个我自己在项目中踩过的坑:回馈模块与电机霍尔信号同步的时序。方波驱动的换相逻辑依赖位置传感器信号边沿触发,回馈模式虽然也是按位置信号换相,但此时下桥臂PWM的相位和电动模式不完全一致。如果沿用电动模式的霍尔捕获中断去刷新换相表,回馈工况下泵升电压和谐波都会出现异常。处理办法是单独为回馈模式建立一份换相表,在进入回馈的瞬间把PWM比较寄存器的初始相位对准当前霍尔状态,而不是依赖电动模式留下的相位信息。这个细节在台架上不一定暴露,但装车后低速连续启停就会偶发回馈电流突降的故障,排查耗时很长。
本文还有配套的精品资源,点击获取