Переглянути джерело

1. SERVO APP名称修改
2. 加入上报DQ轴电压的函数
3. SERVO电机,0扭矩根据速度给D轴负电流增大些

Signed-off-by: unknown <huhui@sharkgulf.com>

unknown 2 роки тому
батько
коміт
08c7eea560

+ 4 - 0
Applications/bsp/gd32/bsp.h

@@ -35,7 +35,11 @@
 #elif defined (MC105_HW_V3)
 #include "bsp/gd32/board_mc105_v3.h"
 #define CONFIG_BOARD_MCXXX
+#ifdef CONFIG_SERVO_MOTOR
+#define CONFIG_BOARD_NAME "MC105_SERVO"
+#else
 #define CONFIG_BOARD_NAME "MC105"
+#endif
 #define CONFIG_MC105_HW_VERSION 3
 #endif
 #endif /* __BSP_GD32_H__ */

+ 3 - 3
Applications/foc/motor/motor_param.c

@@ -223,11 +223,11 @@ void motor_mpta_fw_lookup(float rpm, float torque, dq_t *dq_out) {
 		if (ABS(rpm) < 1000) {
 			d = 0;
 		}else if (ABS(rpm) < 3000) {
-			d = -5;
-		}else if (ABS(rpm) < 5000) {
 			d = -10;
+		}else if (ABS(rpm) < 5000) {
+			d = -30;
 		}else {
-			d = -20;
+			d = -50;
 		}
 	}
 #else

+ 11 - 0
Applications/prot/can_foc_msg.c

@@ -60,6 +60,17 @@ void can_report_dq_current(u8 can) {
 	can_send_message(get_indicator_can_id(can), data, sizeof(data), 0);
 }
 
+void can_report_dq_voltage(u8 can) {
+	u8 data[6];
+	encoder_can_key(data, CMD_2_CAN_KEY(Foc_Report_Dq_Vol));
+	float id = foc()->out.vol_dq.d;
+	float iq = foc()->out.vol_dq.q;
+	encode_s16(data + 2, S16Q5(id));
+	encode_s16(data + 4, S16Q5(iq));
+	can_send_message(get_indicator_can_id(can), data, sizeof(data), 0);
+}
+
+
 void can_response_hall_offset(u8 can, int offset) {
 	u8 data[7];
 	encoder_can_key(data, CMD_2_CAN_KEY(Foc_Cali_Hall_Offset));