4. 被控对象建模基础

在C2000 HIL验证工程中,控制器(C2000芯片)是真实硬件,而被控对象——电机、逆变器、DC-DC变换器、电网等——则运行在实时仿真器中。被控对象模型的准确度、求解方式和实时性,直接决定了HIL测试结果是否可信。本节围绕“建什么、怎么离散、怎么选求解器、如何满足实时性”四个核心问题展开。

一、被控对象建模的物理层次划分

面向C2000 HIL的被控对象建模,通常按信号链层次分为三类:

  • 功率级模型:逆变器桥臂、电机绕组、滤波电感电容、变压器等,用微分方程描述电压电流关系,是HIL中计算量最大的部分。
  • 传感器与采样模型:模拟电流霍尔、分压电阻、编码器、旋变解码等,输出与C2000 ADC/DAC/正交编码接口匹配的信号,需考虑量化、偏置、延迟。
  • 负载与环境模型:机械负载转矩、风阻、电网电压、电池SOC等,通常用代数方程或低阶微分方程描述。

以三相永磁同步电机(PMSM)为例,在dq旋转坐标系下其电压方程可写为:

ud = Rs*id + Ld*did/dt - ωe*Lq*iq
uq = Rs*iq + Lq*diq/dt + ωe*Ld*id + ωe*ψf
Te = 1.5*p*[ψf*iq + (Ld-Lq)*id*iq]
J*dωm/dt = Te - TL - B*ωm

其中Rs为定子电阻,Ld/Lq为dq轴电感,ψf为永磁磁链,p为极对数,J为转动惯量,TL为负载转矩。这组方程就是HIL中电机模型的核心,需要离散化后在实时步长内求解。

二、连续域到离散域的转换方法

实时仿真器以固定步长Ts运行,必须把连续微分方程转为差分方程。常用方法有三种:

方法离散公式特点
前向欧拉x[k+1]=x[k]+Ts*f(x[k],u[k])计算最简,稳定性差,Ts需很小
后向欧拉x[k+1]=x[k]+Ts*f(x[k+1],u[k+1])隐式,需迭代或代数化简,稳定性好
Tustin(双线性)s≈(2/Ts)*(z-1)/(z+1)频域保形好,适合滤波器与控制器

以电感方程 L*di/dt = u - R*i 为例,采用后向欧拉离散:

i[k+1] = (L*i[k] + Ts*(u[k+1] - R*i[k])) / L
       = i[k] + Ts/L*(u[k+1] - R*i[k])

若R、L、Ts已知,该式可直接在FPGA或CPU上以定点/浮点运算实现。选择离散方法时,需保证在开关频率(如10kHz~20kHz)下,离散化引入的相位误差和幅值误差在可接受范围内。一般要求Ts ≤ 1/(20*fsw),即20kHz开关频率对应Ts ≤ 2.5μs。

三、求解器选择与实时性约束

HIL实时仿真器通常提供两类求解器:定步长显式求解器(如RK4、前向欧拉)和定步长隐式求解器(如后向欧拉、梯形法)。选择依据如下:

  • 刚性系统:如含大电感小电阻、宽时间常数分布的电源系统,显式方法需要极小步长,优先选隐式或半隐式。
  • 开关系统:逆变器桥臂开关动作导致拓扑突变,需配合事件检测或小步长插值,避免开关时刻误差。
  • 计算资源:C2000 HIL中,被控对象模型常运行在FPGA或实时CPU上,步长越小,资源占用越高。需在精度与实时性间折中。

实时性约束的核心是:单步计算时间必须小于仿真步长。例如,若Ts=1μs,则模型求解、I/O读写、通信开销总和必须小于1μs。实际工程中,常将电机模型放在FPGA上以50ns~100ns步长运行,而将慢速热模型、电池模型放在CPU上以10μs~100μs步长运行。

示例参数:某PMSM HIL测试中,Ts=1μs,Rs=0.5Ω,Ld=Lq=5mH,ψf=0.1Wb,p=4,J=0.001kg·m²。采用后向欧拉离散,在FPGA上以定点Q15格式实现,单步计算约80ns,满足实时性。若改用前向欧拉,Ts需降至0.2μs才能稳定,资源消耗增加约5倍。

四、建模流程与验证要点

面向C2000 HIL的被控对象建模,建议按以下流程推进:

  1. 确定接口:明确C2000与仿真器的信号接口——PWM输出、ADC输入、DAC输出、编码器信号等,确定电压/电流等级和采样率。
  2. 建立连续模型:用Matlab/Simulink或手写方程建立被控对象微分方程,验证开环响应。
  3. 离散化与定点化:选择离散方法,确定步长,评估定点位宽和溢出风险。
  4. 实时化部署:将模型映射到FPGA/CPU,优化计算顺序,减少除法、三角函数等耗时运算。
  5. 闭环验证:将真实C2000控制器接入HIL,对比仿真结果与离线模型,检查电流环、速度环响应,确认无发散、无异常延迟。

验证时重点关注:开关频率下的电流纹波是否合理、死区补偿是否生效、ADC采样时刻与PWM载波的相位关系是否正确。若发现电流波形畸变或控制器振荡,优先检查离散化步长是否过大、求解器是否匹配、接口延迟是否被正确建模。

C2000 HIL 被控对象建模与实时求解链路 C2000 控制器 (真实硬件) PWM 输出 ADC 采样 eQEP 编码器 DAC 监控 控制算法 (电流环/速度环) 接口与信号调理 PWM 捕获 DAC 输出 编码器模拟 ADC 回采 电平转换 与隔离 实时仿真器(被控对象模型) FPGA 高速模型(Ts = 50ns ~ 1μs) 逆变器 桥臂模型 电机 dq 模型 滤波与 采样模型 后向欧拉 / 梯形法 · 定点 Q15 · 并行计算 CPU 慢速模型(Ts = 10μs ~ 100μs) 机械 负载模型 电池 SOC 模型 热模型 与保护 前向欧拉 / RK4 · 浮点 · 事件检测 实时性约束:单步计算时间 < 仿真步长 Ts · 接口延迟需建模 · 离散化误差需评估

五、常见问题与处理建议

在实际HIL调试中,被控对象模型常出现以下问题:

  • 电流波形振荡:多因离散化步长过大或求解器不稳定。可尝试减小Ts、改用后向欧拉或梯形法。
  • 控制器响应滞后:检查接口延迟是否被正确建模,PWM捕获到模型计算再到DAC输出的总延迟应小于控制周期。
  • 定点溢出:电机高速时反电动势增大,需评估Q格式动态范围,必要时采用浮点或分段缩放。
  • 开关时刻误差:逆变器开关动作未与仿真步长对齐,导致电流尖峰。可引入事件检测或插值算法。

总之,面向C2000 HIL的被控对象建模,核心是在物理准确度与实时计算能力之间找到平衡。理解连续/离散转换的数学本质、根据系统刚性选择求解器、严格控制单步计算时间,是保证HIL测试有效性的三个关键支点。