📄 mc_acim_motor.c
字号:
static u16 hVF_Ratio = (u16)(V_F_RATIO*1000);
static u16 hStartUp_VF_Ratio = (u16)(STARTUP_V_F_RATIO*1000);
PACIM_Struct_t Get_ACIM_Struct(void)
{
return pACIM_Struct;
}
s16 ACIM_GetTargetRotorSpeed_RPM(void)
{
return sACIM_Struct.pACIM_Var->hTarget_rotor_speed_RPM;
}
void ACIM_SetTargetRotorSpeed_RPM_HzEl(s16 val)
{
if (val > sACIM_Struct.pACIM_Const->hMax_Speed)
{}
else if ( (-val) > sACIM_Struct.pACIM_Const->hMax_Speed)
{}
else
{
sACIM_Struct.pACIM_Var->hTarget_rotor_speed_RPM = val;
sACIM_Struct.pACIM_Var->hTarget_rotor_speed_HzEl =
(s16)(((s32)val * sACIM_Struct.pACIM_Const->bRPM_to_Hz_Conv)/
sACIM_Struct.pACIM_Const->hRPM_to_Hz_Ampl);
}
}
s16 ACIM_GetTargetRotorSpeed_HzEl(void)
{
s16 htemp;
htemp = sACIM_Struct.pACIM_Var->hTarget_rotor_speed_HzEl;
if (htemp < 0)
{
htemp = -htemp;
}
return htemp;
}
s16 ACIM_GetMeasuredRotorRpeed_RPM(void)
{
return sACIM_Struct.pACIM_Var->hMeasured_rotor_speed_RPM;
}
void ACIM_SetMeasuredRotorSpeed_RPM(s16 val)
{
sACIM_Struct.pACIM_Var->hMeasured_rotor_speed_RPM = val;
}
s16 ACIM_Get_Startup_Slip(void)
{
return sACIM_Struct.pACIM_Var->hStartUpSlip;
}
void ACIM_Set_Startup_Slip(s16 val)
{
sACIM_Struct.pACIM_Var->hStartUpSlip = val;
}
s16 ACIM_Get_Bus_Voltage(void)
{
return (s16)(sACIM_Struct.pACIM_Var->hBusVoltage);
}
void ACIM_Set_Bus_Voltage(s16 BusVoltage)
{
sACIM_Struct.pACIM_Var->hBusVoltage = BusVoltage;
}
void ACIM_Set_HeatsinkTemp(u8 bTemperature)
{
sACIM_Struct.pACIM_Var->bHeatsinkTemp = bTemperature;
}
u8 ACIM_Get_HeatsinkTemp(void)
{
return (u8)(sACIM_Struct.pACIM_Var->bHeatsinkTemp);
}
void ACIM_Set_Vf_Ratio(s16 val)
{
u16 htemp;
hVF_Ratio = val;
htemp = (u16)(((s32)val * 256)/1000);
sACIM_Struct.pACIM_Var->hVFConstant = (u16)((((u32)VOUT_CONSTANT_A)*htemp)/2);
}
s16 ACIM_Get_Vf_Ratio(void)
{
return (hVF_Ratio);
}
void ACIM_Set_Startup_Vf_Ratio(s16 val)
{
u16 htemp;
hStartUp_VF_Ratio = val;
htemp = (u16)(((s32)val * 256)/1000);
sACIM_Struct.pACIM_Var->hStartUpVFConstant =
(u16)((((u32)VOUT_CONSTANT_A)*htemp)/2);
}
s16 ACIM_Get_Startup_Vf_Ratio(void)
{
return (hStartUp_VF_Ratio);
}
#ifdef SPEED_CLOSED_LOOP
s16 ACIM_Get_Speed_VF_KP(void)
{
return sACIM_Struct.pACIM_Const->pPID_VF_Struct->pPID_Var->hKp_Gain;
}
void ACIM_Set_Speed_VF_KP(s16 val)
{
sACIM_Struct.pACIM_Const->pPID_VF_Struct->pPID_Var->hKp_Gain = val;
}
s16 ACIM_Get_Speed_VF_KI(void)
{
return sACIM_Struct.pACIM_Const->pPID_VF_Struct->pPID_Var->hKi_Gain;
}
void ACIM_Set_Speed_VF_KI(s16 val)
{
sACIM_Struct.pACIM_Const->pPID_VF_Struct->pPID_Var->hKi_Gain = val;
}
s16 ACIM_Get_Speed_MTPA_KP(void)
{
return sACIM_Struct.pACIM_Const->pPID_MTPA_Struct->pPID_Var->hKp_Gain;
}
void ACIM_Set_Speed_MTPA_KP(s16 val)
{
sACIM_Struct.pACIM_Const->pPID_MTPA_Struct->pPID_Var->hKp_Gain = val;
}
s16 ACIM_Get_Speed_MTPA_KI(void)
{
return sACIM_Struct.pACIM_Const->pPID_MTPA_Struct->pPID_Var->hKi_Gain;
}
void ACIM_Set_Speed_MTPA_KI(s16 val)
{
sACIM_Struct.pACIM_Const->pPID_MTPA_Struct->pPID_Var->hKi_Gain = val;
}
s16 ACIM_Get_MTPA_Slip(void)
{
return sACIM_Struct.pACIM_Var->hMTPAslip;
}
void ACIM_Set_MTPA_Slip(s16 val)
{
sACIM_Struct.pACIM_Var->hMTPAslip = val;
}
void ACIM_Set_MTPA(u8 val)
{
if (val == 0)
{
sACIM_Struct.pACIM_Var->Control_Mode = SPEED_CLOSEDLOOP_VF;
}
else
{
sACIM_Struct.pACIM_Var->Control_Mode = SPEED_CLOSEDLOOP_MTA;
}
}
u8 ACIM_Get_MTPA_Mode(void)
{
u8 btemp;
control_mode_t Control_Mode = sACIM_Struct.pACIM_Var->Control_Mode;
if (Control_Mode == SPEED_CLOSEDLOOP_VF)
{
btemp = 0;
}
else
{
btemp = 1;
}
return btemp;
}
u8 ACIM_Get_Actual_MTPA_Mode(void)
{
control_mode_t Control_Mode;
u8 btemp;
Control_Mode = sACIM_Struct.pACIM_Var->Actual_Control_Mode;
if (Control_Mode == SPEED_CLOSEDLOOP_VF)
{
btemp = 0;
}
else
{
btemp = 1;
}
return btemp;
}
#elif (defined SPEED_OPEN_LOOP)
s16 ACIM_GetActualRotorRpeed_RPM(void)
{
return ((sACIM_Struct.pACIM_Var->hActual_rotor_speed_HzEl*6)/
sACIM_Struct.pACIM_Const->bMotor_pole_Pairs);
}
void ACIM_Set_Slip(s16 val)
{
sACIM_Struct.pACIM_Var->hSlip = val;
}
s16 ACIM_Get_Slip(void)
{
return sACIM_Struct.pACIM_Var->hSlip;
}
#endif
/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -