在updateIqRef(CTRL_Handle handle)中设置,
void updateIqRef(CTRL_Handle handle) {_iq iq_ref = _IQmpy(gMotorVars.IqRef_A,_IQ(1.0/USER_IQ_FULL_SCALE_CURRENT_A));// set the speed reference so that the forced angle rotates in the correct direction for startupif(_IQabs(gMotorVars.Speed_krpm) < _IQ(0.01)){if(iq_ref < _IQ(0.0)){CTRL_setSpd_ref_krpm(handle,_IQ(-0.01));}else if(iq_ref > _IQ(0.0)){CTRL_setSpd_ref_krpm(handle,_IQ(0.01));}}// Set the Iq reference that use to come out of the PI speed controlCTRL_setIq_ref_pu(handle, iq_ref);return; }
在volatile MOTOR_Vars_t gMotorVars = MOTOR_Vars_INIT;结构体中,初始化为0,
同时在CTRL_setParams(ctrlHandle,&gUserParams);控制器参数设定函数中,初始化为0,如MATH_vec2 Idq_ref_pu = {_IQ(0.0),_IQ(0.0)};
请问,在执行电流环控制的过程中,IqRef是如何增加,输入给Iq电流控制器,控制输出的?在例程4中找遍了整个工程,都没有相关的信息
Young Hu:
参考Lab05a
在updateIqRef(CTRL_Handle handle)中设置,
void updateIqRef(CTRL_Handle handle) {_iq iq_ref = _IQmpy(gMotorVars.IqRef_A,_IQ(1.0/USER_IQ_FULL_SCALE_CURRENT_A));// set the speed reference so that the forced angle rotates in the correct direction for startupif(_IQabs(gMotorVars.Speed_krpm) < _IQ(0.01)){if(iq_ref < _IQ(0.0)){CTRL_setSpd_ref_krpm(handle,_IQ(-0.01));}else if(iq_ref > _IQ(0.0)){CTRL_setSpd_ref_krpm(handle,_IQ(0.01));}}// Set the Iq reference that use to come out of the PI speed controlCTRL_setIq_ref_pu(handle, iq_ref);return; }
在volatile MOTOR_Vars_t gMotorVars = MOTOR_Vars_INIT;结构体中,初始化为0,
同时在CTRL_setParams(ctrlHandle,&gUserParams);控制器参数设定函数中,初始化为0,如MATH_vec2 Idq_ref_pu = {_IQ(0.0),_IQ(0.0)};
请问,在执行电流环控制的过程中,IqRef是如何增加,输入给Iq电流控制器,控制输出的?在例程4中找遍了整个工程,都没有相关的信息
desheng yang:
回复 Young Hu:
好的,thanks Young Hu