Преглед на файлове

foc 参数默认配置,根据CONFIG_Motor_xxxx选择auto_config 头文件

Signed-off-by: kevin <huhui@sharkgulf.com>
kevin преди 2 години
родител
ревизия
3628e608ce
променени са 7 файла, в които са добавени 237 реда и са изтрити 13 реда
  1. 6 3
      Applications/foc/mc_config.c
  2. 4 1
      Applications/foc/mc_config.h
  3. 1 1
      Project/MC124.uvoptx
  4. 2 2
      Project/MC124.uvprojx
  5. 220 0
      configs/autogen_config_R1_enc.h
  6. 2 3
      configs/mc_servo.yml
  7. 2 3
      configs/mc_zd100.yml

+ 6 - 3
Applications/foc/mc_config.c

@@ -187,9 +187,8 @@ void mc_conf_default(void) {
 	conf.m.nor_pll_band = CONFIG_Motor_PLLBand;
 	conf.m.epm_pll_band = CONFIG_Motor_EpmPLL;
 	conf.m.pos_pll_band = CONFIG_Motor_PosPLL;
-	//conf.m.vehicle_w = CONFIG_Motor_VehicleW;
-	//conf.m.wheel_c = CONFIG_Motor_WheelC;
-	//conf.m.gear_ratio = CONFIG_Motor_GearRatio;
+	conf.m.fw_enable = CONFIG_Motor_FwEnable;
+	conf.m.fw_duty_start = CONFIG_Motor_FwDutyStart;
 	conf.m.max_fw_id = CONFIG_Motor_MaxFwDCurr;
 	conf.m.max_torque = CONFIG_Motor_MaxTorque;
 	conf.m.encoder_offset = CONFIG_Motor_EncOffset;
@@ -236,6 +235,10 @@ void mc_conf_default(void) {
 	conf.c.pid[PID_IDCLim_ID].ki = CONFIG_Foc_PID_IDCLim_Ki;
 	conf.c.pid[PID_IDCLim_ID].kd = CONFIG_Foc_PID_IDCLim_Kd;
 
+	conf.c.epm_pid.kp = CONFIG_Foc_PID_EPM_Kp;
+	conf.c.epm_pid.ki = CONFIG_Foc_PID_EPM_Ki;
+	conf.c.epm_pid.kd = CONFIG_Foc_PID_EPM_Kd;
+
 	conf.s.auto_hold = CONFIG_Settings_AutoHold;
 	conf.s.brk_shut_power = CONFIG_Settings_BrkShutPower;
 	conf.s.tcs_enable = CONFIG_Settings_TcsEnable;

+ 4 - 1
Applications/foc/mc_config.h

@@ -2,8 +2,11 @@
 #define _MC_CONFIG_H__
 
 #include "os/os_types.h"
+#ifdef CONFIG_Motor_R1_Encoder
+#include "configs/autogen_config_R1_enc.h"
+#else
 #include "autogen_config.h"
-
+#endif
 #define CONFIG_MAX_GEARS 4
 #define CONFIG_TEMP_PROT_NUM 3
 #define CONFIG_GEAR_SPEED_TRQ_NUM 10

+ 1 - 1
Project/MC124.uvoptx

@@ -379,7 +379,7 @@
 
   <Group>
     <GroupName>Motor</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>

+ 2 - 2
Project/MC124.uvprojx

@@ -337,9 +337,9 @@
             <v6Rtti>0</v6Rtti>
             <VariousControls>
               <MiscControls>--gnu</MiscControls>
-              <Define>USE_STDPERIPH_DRIVER,GD32F30X_CL,CONFIG_BOARD_MC124,CONFIG_CAN_IAP</Define>
+              <Define>USE_STDPERIPH_DRIVER,GD32F30X_CL,CONFIG_BOARD_MC124,CONFIG_CAN_IAP,CONFIG_Motor_R1_Encoder</Define>
               <Undefine></Undefine>
-              <IncludePath>..\Librarys\CMSIS\Include,..\Librarys\CMSIS\GD\GD32F30x\Include,..\Librarys\GD32F30x_Drivers\include,..\Applications;..\Simulink\PMSM_Controller_ert_rtw</IncludePath>
+              <IncludePath>..\Librarys\CMSIS\Include,..\Librarys\CMSIS\GD\GD32F30x\Include,..\Librarys\GD32F30x_Drivers\include,..\Applications;..\</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>

+ 220 - 0
configs/autogen_config_R1_enc.h

@@ -0,0 +1,220 @@
+/* auto gen 2024/2/19 10:04:23*/
+#ifndef _AUTOGEN_CONFIG_H__
+#define _AUTOGEN_CONFIG_H__
+
+#define CONFIG_Version 1
+#define CONFIG_Motor_Poles  5
+#define CONFIG_Motor_Ld  5.4E-05f
+#define CONFIG_Motor_Lq  7E-05
+#define CONFIG_Motor_Rs  0.015f
+#define CONFIG_Motor_Flux  0.018f
+#define CONFIG_Motor_PLLBand  200
+#define CONFIG_Motor_EpmPLL  400
+#define CONFIG_Motor_PosPLL  500
+#define CONFIG_Motor_FwEnable  1
+#define CONFIG_Motor_FwDutyStart  90
+#define CONFIG_Motor_MaxFwDCurr  100
+#define CONFIG_Motor_MaxTorque  350
+#define CONFIG_Motor_EncOffset  -2
+#define CONFIG_Foc_MaxDCVol  90
+#define CONFIG_Foc_MinDCVol  40
+#define CONFIG_Foc_MaxPhaseCurr  350
+#define CONFIG_Foc_MaxRPM  9000
+#define CONFIG_Foc_MaxEPMRPM  300
+#define CONFIG_Foc_MaxEPMTorque  100
+#define CONFIG_Foc_MaxEPMRPMBk  170
+#define CONFIG_Foc_MaxEPMTorqueBk  80
+#define CONFIG_Foc_MaxTorque  350
+#define CONFIG_Foc_MaxEbrkTorque  40
+#define CONFIG_Foc_MaxIDC  200
+#define CONFIG_Foc_MaxAutoHoldTorque  100
+#define CONFIG_Foc_ThroStartVol  0.9f
+#define CONFIG_Foc_ThroEndVol  4
+#define CONFIG_Foc_ThroMinVol  0.4f
+#define CONFIG_Foc_ThroMaxVol  4.6f
+#define CONFIG_Foc_CurrCtrlBandWith  400
+#define CONFIG_Foc_ThroDecTime  50
+#define CONFIG_Foc_PID_VelLim_Kp 0.15f
+#define CONFIG_Foc_PID_VelLim_Ki 2.5f
+#define CONFIG_Foc_PID_VelLim_Kd 0
+#define CONFIG_Foc_PID_VelCtrl_Kp 0.2f
+#define CONFIG_Foc_PID_VelCtrl_Ki 0.02f
+#define CONFIG_Foc_PID_VelCtrl_Kd 0
+#define CONFIG_Foc_PID_Autohold_Kp 0.01f
+#define CONFIG_Foc_PID_Autohold_Ki 0.2f
+#define CONFIG_Foc_PID_Autohold_Kd 0
+#define CONFIG_Foc_PID_IDCLim_Kp 0
+#define CONFIG_Foc_PID_IDCLim_Ki 5
+#define CONFIG_Foc_PID_IDCLim_Kd 0
+#define CONFIG_Foc_PID_EPM_Kp 0.2f
+#define CONFIG_Foc_PID_EPM_Ki 7.5f
+#define CONFIG_Foc_PID_EPM_Kd 0
+#define CONFIG_Settings_AutoHold  1
+#define CONFIG_Settings_BrkShutPower  1
+#define CONFIG_Settings_TcsEnable  0
+#define CONFIG_Gear0_MaxSpeed 3500
+#define CONFIG_Gear0_MaxTorque 250
+#define CONFIG_Gear0_MaxIdc 30
+#define CONFIG_Gear0_ZeroAccl 300
+#define CONFIG_Gear0_NormalAccl 1000
+#define CONFIG_Gear0_Torque0 100
+#define CONFIG_Gear0_Torque1 100
+#define CONFIG_Gear0_Torque2 100
+#define CONFIG_Gear0_Torque3 80
+#define CONFIG_Gear0_Torque4 20
+#define CONFIG_Gear0_Torque5 0
+#define CONFIG_Gear0_Torque6 0
+#define CONFIG_Gear0_Torque7 0
+#define CONFIG_Gear0_Torque8 0
+#define CONFIG_Gear0_Torque9 0
+#define CONFIG_Gear1_MaxSpeed 4500
+#define CONFIG_Gear1_MaxTorque 250
+#define CONFIG_Gear1_MaxIdc 45
+#define CONFIG_Gear1_ZeroAccl 300
+#define CONFIG_Gear1_NormalAccl 500
+#define CONFIG_Gear1_Torque0 100
+#define CONFIG_Gear1_Torque1 100
+#define CONFIG_Gear1_Torque2 100
+#define CONFIG_Gear1_Torque3 80
+#define CONFIG_Gear1_Torque4 60
+#define CONFIG_Gear1_Torque5 50
+#define CONFIG_Gear1_Torque6 50
+#define CONFIG_Gear1_Torque7 0
+#define CONFIG_Gear1_Torque8 0
+#define CONFIG_Gear1_Torque9 0
+#define CONFIG_Gear2_MaxSpeed 5500
+#define CONFIG_Gear2_MaxTorque 300
+#define CONFIG_Gear2_MaxIdc 60
+#define CONFIG_Gear2_ZeroAccl 500
+#define CONFIG_Gear2_NormalAccl 250
+#define CONFIG_Gear2_Torque0 100
+#define CONFIG_Gear2_Torque1 100
+#define CONFIG_Gear2_Torque2 100
+#define CONFIG_Gear2_Torque3 90
+#define CONFIG_Gear2_Torque4 80
+#define CONFIG_Gear2_Torque5 70
+#define CONFIG_Gear2_Torque6 50
+#define CONFIG_Gear2_Torque7 0
+#define CONFIG_Gear2_Torque8 0
+#define CONFIG_Gear2_Torque9 0
+#define CONFIG_Gear3_MaxSpeed 7000
+#define CONFIG_Gear3_MaxTorque 300
+#define CONFIG_Gear3_MaxIdc 150
+#define CONFIG_Gear3_ZeroAccl 500
+#define CONFIG_Gear3_NormalAccl 100
+#define CONFIG_Gear3_Torque0 100
+#define CONFIG_Gear3_Torque1 100
+#define CONFIG_Gear3_Torque2 100
+#define CONFIG_Gear3_Torque3 90
+#define CONFIG_Gear3_Torque4 80
+#define CONFIG_Gear3_Torque5 70
+#define CONFIG_Gear3_Torque6 70
+#define CONFIG_Gear3_Torque7 50
+#define CONFIG_Gear3_Torque8 50
+#define CONFIG_Gear3_Torque9 0
+#define CONFIG_GearLow0_MaxSpeed 1000
+#define CONFIG_GearLow0_MaxTorque 100
+#define CONFIG_GearLow0_MaxIdc 30
+#define CONFIG_GearLow0_ZeroAccl 500
+#define CONFIG_GearLow0_NormalAccl 100
+#define CONFIG_GearLow0_Torque0 100
+#define CONFIG_GearLow0_Torque1 100
+#define CONFIG_GearLow0_Torque2 100
+#define CONFIG_GearLow0_Torque3 100
+#define CONFIG_GearLow0_Torque4 100
+#define CONFIG_GearLow0_Torque5 100
+#define CONFIG_GearLow0_Torque6 100
+#define CONFIG_GearLow0_Torque7 100
+#define CONFIG_GearLow0_Torque8 0
+#define CONFIG_GearLow0_Torque9 0
+#define CONFIG_GearLow1_MaxSpeed 1000
+#define CONFIG_GearLow1_MaxTorque 100
+#define CONFIG_GearLow1_MaxIdc 30
+#define CONFIG_GearLow1_ZeroAccl 500
+#define CONFIG_GearLow1_NormalAccl 100
+#define CONFIG_GearLow1_Torque0 100
+#define CONFIG_GearLow1_Torque1 100
+#define CONFIG_GearLow1_Torque2 100
+#define CONFIG_GearLow1_Torque3 100
+#define CONFIG_GearLow1_Torque4 100
+#define CONFIG_GearLow1_Torque5 100
+#define CONFIG_GearLow1_Torque6 100
+#define CONFIG_GearLow1_Torque7 100
+#define CONFIG_GearLow1_Torque8 0
+#define CONFIG_GearLow1_Torque9 0
+#define CONFIG_GearLow2_MaxSpeed 1000
+#define CONFIG_GearLow2_MaxTorque 100
+#define CONFIG_GearLow2_MaxIdc 30
+#define CONFIG_GearLow2_ZeroAccl 500
+#define CONFIG_GearLow2_NormalAccl 100
+#define CONFIG_GearLow2_Torque0 100
+#define CONFIG_GearLow2_Torque1 100
+#define CONFIG_GearLow2_Torque2 100
+#define CONFIG_GearLow2_Torque3 100
+#define CONFIG_GearLow2_Torque4 100
+#define CONFIG_GearLow2_Torque5 100
+#define CONFIG_GearLow2_Torque6 100
+#define CONFIG_GearLow2_Torque7 100
+#define CONFIG_GearLow2_Torque8 0
+#define CONFIG_GearLow2_Torque9 0
+#define CONFIG_GearLow3_MaxSpeed 1000
+#define CONFIG_GearLow3_MaxTorque 100
+#define CONFIG_GearLow3_MaxIdc 30
+#define CONFIG_GearLow3_ZeroAccl 500
+#define CONFIG_GearLow3_NormalAccl 100
+#define CONFIG_GearLow3_Torque0 100
+#define CONFIG_GearLow3_Torque1 100
+#define CONFIG_GearLow3_Torque2 100
+#define CONFIG_GearLow3_Torque3 100
+#define CONFIG_GearLow3_Torque4 100
+#define CONFIG_GearLow3_Torque5 100
+#define CONFIG_GearLow3_Torque6 100
+#define CONFIG_GearLow3_Torque7 100
+#define CONFIG_GearLow3_Torque8 0
+#define CONFIG_GearLow3_Torque9 0
+#define CONFIG_Protect_Motor_Level0_Entry 130
+#define CONFIG_Protect_Motor_Level0_Exit 120
+#define CONFIG_Protect_Motor_Level0_Value 0
+#define CONFIG_Protect_Motor_Level1_Entry 120
+#define CONFIG_Protect_Motor_Level1_Exit 110
+#define CONFIG_Protect_Motor_Level1_Value 34
+#define CONFIG_Protect_Motor_Level2_Entry 100
+#define CONFIG_Protect_Motor_Level2_Exit 90
+#define CONFIG_Protect_Motor_Level2_Value 66
+#define CONFIG_Protect_MosFet_Level0_Entry 100
+#define CONFIG_Protect_MosFet_Level0_Exit 95
+#define CONFIG_Protect_MosFet_Level0_Value 0
+#define CONFIG_Protect_MosFet_Level1_Entry 95
+#define CONFIG_Protect_MosFet_Level1_Exit 90
+#define CONFIG_Protect_MosFet_Level1_Value 34
+#define CONFIG_Protect_MosFet_Level2_Entry 90
+#define CONFIG_Protect_MosFet_Level2_Exit 85
+#define CONFIG_Protect_MosFet_Level2_Value 66
+#define CONFIG_Protect_Voltage_Level0_Entry 40
+#define CONFIG_Protect_Voltage_Level0_Exit 42
+#define CONFIG_Protect_Voltage_Level0_Value 0
+#define CONFIG_EnergyRecovery_Level0_Torque 0
+#define CONFIG_EnergyRecovery_Level0_Time 600
+#define CONFIG_EnergyRecovery_Level1_Torque 10
+#define CONFIG_EnergyRecovery_Level1_Time 500
+#define CONFIG_EnergyRecovery_Level2_Torque 15
+#define CONFIG_EnergyRecovery_Level2_Time 400
+#define CONFIG_EnergyRecovery_Level3_Torque 20
+#define CONFIG_EnergyRecovery_Level3_Time 300
+#define CONFIG_EnergyRecovery_Level4_Torque 35
+#define CONFIG_EnergyRecovery_Level4_Time 200
+#define CONFIG_EnergyRecovery_Level5_Torque 40
+#define CONFIG_EnergyRecovery_Level5_Time 200
+#define CONFIG_EnergyRecovery_Level6_Torque 40
+#define CONFIG_EnergyRecovery_Level6_Time 200
+#define CONFIG_EnergyRecovery_Level7_Torque 40
+#define CONFIG_EnergyRecovery_Level7_Time 200
+#define CONFIG_EnergyRecovery_Level8_Torque 40
+#define CONFIG_EnergyRecovery_Level8_Time 200
+#define CONFIG_EnergyRecovery_Level9_Torque 40
+#define CONFIG_EnergyRecovery_Level9_Time 200
+#define CONFIG_CrossZero_Low  2
+#define CONFIG_CrossZero_High  7
+#define CONFIG_CrossZero_MinStep  0.1f
+#define CONFIG_CrossZero_NorStep  5
+#endif /* _AUTOGEN_CONFIG_H__ */ 

+ 2 - 3
configs/mc_servo.yml

@@ -10,9 +10,8 @@ Motor:
   PLLBand: 200
   EpmPLL: 400
   PosPLL: 500
-  VehicleW: 190
-  WheelC: 145
-  GearRatio: 6.25
+  FwEnable: 0
+  FwDutyStart: 0
   MaxFwDCurr: 100
   MaxTorque: 300
   EncOffset: -103

+ 2 - 3
configs/mc_zd100.yml

@@ -10,9 +10,8 @@ Motor:
   PLLBand: 200
   EpmPLL: 400
   PosPLL: 500
-  VehicleW: 190  #kg
-  WheelC: 145  #cm
-  GearRatio: 6.25 # 1:6.25
+  FwEnable: 1
+  FwDutyStart: 90
   MaxFwDCurr: 100
   MaxTorque: 200 #根据控制方式不同,可能是相电流,可能是真实扭矩
   EncOffset: 0