_iq Out; // Output: PID output
_iq SatErr; // Variable: Saturated difference
_iq Ki; // Parameter: Integral gain
_iq Kc; // Parameter: Integral correction gain
_iq Kd; // Parameter: Derivative gain
_iq Up1; // History: Previous proportional output
void (*calc)(); // Pointer to calculation function
} PIDREG3;
typedef PIDREG3 *PIDREG3_handle;
数据格式:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
? PID原理和实现方法:
PID控制系统框图如下:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
其中:电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
u(t)是PID的输出
upresat(t)是饱和之前的输出
e(t)是参考量和反馈量之差
Kp是比例系数
Ti积分时间(或复位时间)
Td是微分系数
Kc是积分补偿系数
将上述方程使用反向逼近的方法来离散化,则方程变为如下形式:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪 电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪 定义
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪 则
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪 电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
其中T是采样周期。
软件流程图如下图所示:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
3.9 SVGEN_DQ(SVPWM模块) ? 作用:
这个模块用来计算合适的占空比,该占空比用于产生一个使用空间矢量PWM技术的给定定子参考电压。定子参考电压由电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪来描述,即Ualpha和Ubeta。
? 这个模块的输入输入变量如下图所示:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
? C Version File Names: svgen_dq.c, svgen_dq.h
? IQmath library files for C: IQmathLib.h, IQmath.lib
? 变量定义
结构体SVGENDQ定义如下:
typedef struct { _iq Ualpha; // Input: reference alpha-axis phase voltage
_iq Ubeta; // Input: reference beta-axis phase voltage
_iq Ta; // Output: reference phase-a switching function
_iq Tb; // Output: reference phase-b switching function
_iq Tc; // Output: reference phase-c switching function
void (*calc)(); // Pointer to calculation function
} SVGENDQ;
typedef SVGENDQ *SVGENDQ_handle;
? 各变量的数据格式
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
? 软件流程图如下
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
? 模块原理:
三相电压逆变器如下图所示:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
空间矢量PWM用来按照一定的顺序驱动三个上桥臂的MOSFET导通,每相的下桥臂和同一相的上桥臂相反,中间有个死区时间,最终在定子绕组中产生近似的正弦波电流,并在定子绕组中产生旋转磁场。
系统等效电路如下图所示:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
开关管导通顺序和对应线电压和相电压之间的关系如下:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
对应电压关系:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
用矩阵形式表示如下:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
空间矢量的6个60°扇区如下图所示,其中的矢量为基础空间矢量。
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪、电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪分别代表电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪和电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪的电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪和电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪分量之和,表达式如下:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
其中T1、T3分别是U0、U60的持续作用时间,T0是空矢量的持续时间。这些时间可以使用下面的方法计算:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
因为U0=U60=电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪,所以有如下
关系:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
在U0和U60之间时,t1和t2计算如下,T1、T3分别为U0和U120作用的时间。
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
在U60和U120之间时,t1和t2计算如下,T2、T3分别为U60和U120作用的时间。
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
如果定义X、Y、Z如下:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
在不同区间时t1和t2与X、Y、Z之间的对应关系如下:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
通过CLARK逆变换,得到电压Vref1、Vref2、Vref3如下:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
定子参考电压的电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪分量如下:
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
电压Vref1、Vref2、Vref3如下
电动汽车电机控制器方案设计说明书(原创) - ZZ - 狂风悟浪
如果Vref1 > 0,则a=1,否则a=0
如果Vref2 > 0,则b=1,否则b=0