ZHCAD05 august 2023 AM2631 , AM2632 , AM2632-Q1 , AM2634 , AM2634-Q1
SVPWM 发生器的输入为 Vd 和 Vq。需要调用以下行来赋值。Motor1 是存储在 TCM 中的结构。在程序文件中可找到有关其定义的更多详情。按住 Ctrl 键简单地左键点击 几次变量名称,有助于追踪它的定义位置。代码逻辑与 TIDM-02014 的 C28 程序相同。Vd 和 Vq 是实际值,而不是标幺值。
以下行生成电机转速和电机角度。第 1 行至第 4 行设置斜坡控制器 rc1 和斜坡发生器 rg1。SpdRef 是 0 和 1 之间的标幺值。在第 5 行和第 6 行中,生成的 omega 和 theta 分配给 motor1。第 7 行将 theta 限制在 0 到 TWO_PI 的范围内。文件中定义了 TWO_PI 值。按住 Ctrl 键简单地左键点击几次变量名称,有助于追踪它的定义位置。值得注意的是,在启动硬件中断之前,需要相应地初始化 rc1、rg1 和 motor1。
接下来的几行将输入送到 SVPWM 发生器,并保持标幺值输出。第 1 行将输入限制在一定范围内。第 2 行是 Park 逆变换。在 CMSIS DSP 库和其他地方可找到相似的函数。角度信息已经包含在 motor1 的结构中。第 3 行是 SVPWM 发生器。逻辑与 TIDM-02014 的 C28 程序相同。以前的 C28 库中还有其他实现方式。值得注意的是,此版本中有实际值到标幺值的转换。第 4 行将标幺值输出限制在一定范围内。
SVPWM 生成后,标幺值输出通过下面第 1 行中的函数传递到 EPWM 计数器比较。第 2 行提供有关设置 EPWM0 计数器比较的详情。EPWM_setCounterCompareValue 是设置计数器比较值的 SDK API 的名称。对于向上/向下模式或中心线模式,此处计算该值。