Просмотр исходного кода

加入固定超前叫的宏定义,MC105_V3_Z100改为30度超前角,控制测试的那个大功率电机

Signed-off-by: huhui <huhui@sharkgulf.com>
huhui 2 лет назад
Родитель
Сommit
9af6db3352
3 измененных файлов с 27 добавлено и 16 удалено
  1. 25 14
      Applications/foc/motor/motor_param.c
  2. 1 1
      Project/MC105_V3_Z100.uvprojx
  3. 1 1
      Project/version_mc105_z100.cfg

+ 25 - 14
Applications/foc/motor/motor_param.c

@@ -210,23 +210,34 @@ void motor_mpta_fw_lookup(float rpm, float torque, DQ_t *dq_out) {
 #else
 void motor_mpta_fw_lookup(float rpm, float torque, DQ_t *dq_out) {
 	float d = 0;
-#if 0
-	if (rpm < 50) {
-		d = 0;
-	}else if (rpm < 100) {
-		d = -2;
-	}else if (rpm < 500) {
-		d = -6;
-	}else if (rpm < 1000) {
-		d = -12;
-	}else if (rpm < 1600) {
-		d = -16;
+	float q = 0;
+#if defined(CONFIG_MOT_ADV_ANGLE)
+	if (torque != 0) {
+		float advanced_angle = CONFIG_MOT_ADV_ANGLE;
+		float s, c;
+		SinCos_Lut(advanced_angle + 90.0f, &s, &c);
+		d = ABS(torque) * c;
+		d = fclamp(d, -mc_conf()->m.max_fw_id, mc_conf()->m.max_fw_id);
+		q = sqrtf(SQ(torque) - SQ(d));
+		if (torque < 0) {
+			q = -q;
+		}
 	}else {
-		d = -20;
+		if (ABS(rpm) < 1000) {
+			d = 0;
+		}else if (ABS(rpm) < 3000) {
+			d = -5;
+		}else if (ABS(rpm) < 5000) {
+			d = -10;
+		}else {
+			d = -20;
+		}
 	}
+#else
+	q = torque;
 #endif
-	dq_out->d = d;
-	dq_out->q = torque;
+	step_towards(&dq_out->d, d, 1.0f);
+	step_towards(&dq_out->q, q, 0.7f);
 }
 
 #endif

+ 1 - 1
Project/MC105_V3_Z100.uvprojx

@@ -336,7 +336,7 @@
             <v6WtE>0</v6WtE>
             <v6Rtti>0</v6Rtti>
             <VariousControls>
-              <MiscControls>--gnu -DCONFIG_MOT_TYPE=MOTOR_BLUESHARK_ZD_100</MiscControls>
+              <MiscControls>--gnu -DCONFIG_MOT_ADV_ANGLE=30</MiscControls>
               <Define>USE_STDPERIPH_DRIVER,GD32F30X_CL,MC105_HW_V3,CONFIG_CAN_IAP</Define>
               <Undefine></Undefine>
               <IncludePath>..\Librarys\CMSIS\Include,..\Librarys\CMSIS\GD\GD32F30x\Include,..\Librarys\GD32F30x_Drivers\include,..\Applications;..\Simulink\PMSM_Controller_ert_rtw</IncludePath>

+ 1 - 1
Project/version_mc105_z100.cfg

@@ -1,3 +1,3 @@
-project: MC105_Z00
+project: MC105_ADV30
 version: 01
 debug: 0