|
|
@@ -50,7 +50,7 @@ static __INLINE void PMSM_FOC_Controller(void) {
|
|
|
pmsm_foc.FOC_In->idq_Target = 0;
|
|
|
}else if(pmsm_foc.FOC_In->n_ctrlModReq == TRQ_MODE){
|
|
|
pmsm_foc.FOC_In->spd_Target = i2sFix32E4((s16)pmsm_foc.speed_ramp.final_point);
|
|
|
- pmsm_foc.FOC_In->idq_Target = i2sFix6((s16)ramp_get_target(&pmsm_foc.current_ramp));
|
|
|
+ pmsm_foc.FOC_In->idq_Target = i2sFix5((s16)ramp_get_target(&pmsm_foc.current_ramp));
|
|
|
}
|
|
|
}else {
|
|
|
/*PWM 3相输出50%, 停止3相供电*/
|
|
|
@@ -87,7 +87,7 @@ void PMSM_FOC_Stop(void) {
|
|
|
}
|
|
|
|
|
|
void PMSM_FOC_iBusLimit(int16_T ibusLimit) {
|
|
|
- pmsm_foc.FOC_In->iDC_Limit = i2sFix6(ibusLimit);
|
|
|
+ pmsm_foc.FOC_In->iDC_Limit = i2sFix5(ibusLimit);
|
|
|
}
|
|
|
|
|
|
void PMSM_FOC_SpeedLimit(int16_T speedLimit) {
|
|
|
@@ -99,7 +99,7 @@ s16 PMSM_FOC_GetSpeedLimit(void) {
|
|
|
}
|
|
|
|
|
|
void PMSM_FOC_VbusVoltage(int16_T vbusVol) {
|
|
|
- pmsm_foc.FOC_In->vDC = i2sFix6(vbusVol);
|
|
|
+ pmsm_foc.FOC_In->vDC = i2sFix5(vbusVol);
|
|
|
}
|
|
|
|
|
|
void PMSM_FOC_SetCtrlMode(uint8_T mode) {
|
|
|
@@ -107,8 +107,8 @@ void PMSM_FOC_SetCtrlMode(uint8_T mode) {
|
|
|
}
|
|
|
|
|
|
void PMSM_FOC_SetOpenVdq(int16_T vd, int16_T vq) {
|
|
|
- pmsm_foc.FOC_In->vdq_Open[0] = i2sFix6(vd);
|
|
|
- pmsm_foc.FOC_In->vdq_Open[1] = i2sFix6(vq);
|
|
|
+ pmsm_foc.FOC_In->vdq_Open[0] = i2sFix5(vd);
|
|
|
+ pmsm_foc.FOC_In->vdq_Open[1] = i2sFix5(vq);
|
|
|
}
|
|
|
|
|
|
bool PMSM_FOC_EnableCruise(boolean_T enable) {
|
|
|
@@ -165,7 +165,7 @@ void PMSM_FOC_HallCalibrate(boolean_T b_caliHall, int16_T open_vd) {
|
|
|
pmsm_foc.FOC_In->FOC_Flags &= ~(FOC_CALIMOD_HALL);
|
|
|
pmsm_foc.FOC_In->b_motEna = b_caliHall;
|
|
|
pmsm_foc.FOC_In->FOC_Flags |= foc_cali;
|
|
|
- pmsm_foc.FOC_In->vdq_Open[0] = i2sFix6(open_vd);
|
|
|
+ pmsm_foc.FOC_In->vdq_Open[0] = i2sFix5(open_vd);
|
|
|
pmsm_foc.FOC_In->vdq_Open[1] = 0;
|
|
|
pmsm_foc.FOC_In->n_ctrlModReq = OPEN_MODE;
|
|
|
}
|