Sfoglia il codice sorgente

电流电压改为s16Fix5类型

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 4 anni fa
parent
commit
75d71536d8
2 ha cambiato i file con 10 aggiunte e 10 eliminazioni
  1. 6 6
      Applications/foc/core/foc_core.c
  2. 4 4
      Applications/foc/samples.c

+ 6 - 6
Applications/foc/core/foc_core.c

@@ -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;
 }

+ 4 - 4
Applications/foc/samples.c

@@ -19,12 +19,12 @@ static samples_t _vbus;
 static samples_t _throttle;
 
 void samples_init(void){
-	_vbus.filted_value = i2sFix6(MAX_VBUS_VOLTAGE);
-	_vbus.value = i2sFix6(MAX_VBUS_VOLTAGE);
+	_vbus.filted_value = i2sFix5(MAX_VBUS_VOLTAGE);
+	_vbus.value = i2sFix5(MAX_VBUS_VOLTAGE);
 	_vbus.lowpass = ftoSfix10(0.2f); 
 
-	_throttle.filted_value = i2sFix6(0);
-	_throttle.value = i2sFix6(0);
+	_throttle.filted_value = i2sFix5(0);
+	_throttle.value = i2sFix5(0);
 	_throttle.lowpass = ftoSfix10(0.2f); 
 
 	sample_throttle();