大家好、
我遇到了我认为是实验11e 中的错误。 当运行频率高于转换频率时、会发生此错误、因此只能在快速模式下运行。 如果我们看一下 mainISR 控制循环部分的最末尾。 我的代码与这里的实验略有不同、因为我使用的是 LEM 电流传感器而不是分流器、因此我不需要运行电流重构或补偿。
//补偿 PWM 延迟的角度 angle_est_pu = angleDelayComp (speed_est_pu、angle_est_pu); //计算正弦/余弦相量 Phasor.value[0]=_IQcosPU (angle_pu); Phasor.value[1]=_IQsinPU (angle_pu); //在逆向 Park 变换中设置相量 IPark_setPhasor (iparkHandle、和相量); //运行逆向 Park 模块 IPark_run (iparkHandle、&gVdq_out_pu、&Vab_pu); //运行空间矢量发生器(SVGEN)模块 oneOverDcBus = EST_getOneOverDcBus_pu (estHandle); vab_pu.value[0]=_IQmpy (vab_pu.value[0]、oneOverDcBus); vab_pu.value[1]=_IQmpy (vab_pu.value[1]、oneOverDcBus); SVGEN_run (svgenHandle、&VAB_pu、&(gPwmData.tABC)); //运行 PWM 补偿和电流忽略算法 //仅适用于 shunts SVGENCURRENT_COMPPwmData (svgencurentHandle、&(gPwmData.tABC)、&gPwmData_prev); //运行 BLDC HALLBLDC_CTRL_Run (); gTrjCnt++;
请注意、估算器的角度 out_est_pu 不用于 Park 逆变换。 仅在 HALLBLDC_Ctrl_Run()中设置值 angle_pu。 这意味着进入逆向 Park 的角度_pu 实际上是后面的一个控制环路、而我的测试数据显示了测量的相位角、该相位角与基于空载操作和预期 Vd、Vq 与实际 Vd Vq 的控制环路内角度变化相匹配。
那么、这应该是什么解决方法呢? 进入逆向 Park 的变量是否应该只是 angle_est_pu?
最棒的
将会