Kaynağa Gözat

feat:调整放大倍数

1.调整放大倍数
2.优化注释
Comment.Vivre 1 yıl önce
ebeveyn
işleme
38210cfa06

+ 1 - 1
README.md

@@ -13,4 +13,4 @@
 > 实际会对FOC__POW进行放缩
 
 #### 功率转换计算系数
-> fact = 1/1.8*8*32767/Ubase/Ibase
+> fact = 1/1.5*8*32767/Ubase/Ibase

+ 1 - 1
User/Include/Customer.h

@@ -99,7 +99,7 @@
  * @param (AMP16x)      内部PGA放大16倍
  * @param (xxxxxx)      外部放大模式填写相应倍数
  */
-#define HW_AMPGAIN                      (AMP4x)					// 放大倍数设置
+#define HW_AMPGAIN                      (AMP8x)					// 放大倍数设置
 
 /**
  * 参考电压设置

+ 6 - 13
User/Include/Parameter.h

@@ -49,12 +49,11 @@
 
 #define RV                              ((RV1 + RV2 ) / RV2)               ///< 分压比
 /* -----时间设置值----- */
-#define Calib_Time                     (1000)  
+#define Calib_Time						(1000)  
 /* -----保护参数值----- */
-#define GetCurrentOffsetValueLow     (16383-GetCurrentOffsetValue)                                                      ///<  偏置电压差值低点 
-#define GetCurrentOffsetValueHigh    (16383+GetCurrentOffsetValue)                                                      ///<  偏置电压差值高点 
-/* -----过温保护值设置----- */
-#define   Tempera_Value(NTC_Value) 		_Q15(NTC_Value/HW_ADC_REF)									    ///
+#define GetCurrentOffsetValueLow		(16383-GetCurrentOffsetValue)                                                      ///<  偏置电压差值低点 
+#define GetCurrentOffsetValueHigh		(16383+GetCurrentOffsetValue)                                                      ///<  偏置电压差值高点 
+
 /*电流基准的电路参数*/
 #define HW_BOARD_CURR_MAX               (HW_ADC_REF / 2 / HW_AMPGAIN / HW_RSHUNT)                     ///< 最大采样电流
 #define HW_BOARD_CURR_MIN               (-HW_BOARD_CURR_MAX)                                          ///< 最小采样电流
@@ -65,11 +64,9 @@
 #define HW_BOARD_VOLT_MAX               (HW_ADC_REF * RV)                           ///< (V)  ADC可测得的最大母线电压
 #define HW_BOARD_VOLTAGE_BASE           (HW_BOARD_VOLT_MAX / 1.732)                 ///< 电压基准
 
-#define PROTECT_POWER(VALUE)			 ((float)VALUE*235.091)
 
 /*硬件过流保护DAC值*/
 #define DAC_OverCurrentValue            _Q8(I_ValueX(HWOCValue)) + 0x7F             ///< 该结果是进行了右移一位的结果
-
 #define Align_Theta                     _Q15((float)Align_Angle / 180.0)
 
 
@@ -153,10 +150,6 @@
 #define OBS_KSLIDE                     _Q15(0.85)       ///< SMO算法里的滑膜增益值
 #define E_BW                           (450.0)          ///< PLL算法里的反电动势滤波值
 
-/* -----按键软件滤波值----- */
-#define KeyFilterTime				   (60)	                                ///< (ms) 按键软件滤波值
-
-#define        LowVoltageSwitch  (0)
-#define        HighVoltageSwitch  (1)
-
+#define UADC_Value(Xn0)					_Q15(Xn0/HW_ADC_REF)
+#define PROTECT_POWER(Xn0)				((float)Xn0*235.091)
 #endif

+ 9 - 8
User/Include/Protect.h

@@ -17,7 +17,7 @@
 // 软件过流保护
 #define OC_SW_ProtectEn					(Enable)
 // 过欠压保护
-#define OV_ProtectEn					(Disable)
+#define OV_ProtectEn					(Enable)
 // 缺相保护
 #define LP_ProtectEn					(Enable)
 // 过温保护
@@ -72,6 +72,11 @@
 #define SW_OC_CurrentVal				I_Value(1.0)			// (A)软件过流值
 #define SW_OC_DectTime					(10)					// (ms)软件过流检测时间
 
+// 缺相保护参数设置值
+#define LP_NoLoadCurrentValue			I_Value(0.1)			// (A) 相电流峰值小于该电流值则不进行缺相判断
+#define LP_DectDealyTIME				(500)					// (ms) 启动延迟检测时间,用于屏蔽启动阶段
+#define LP_DectCycleTIME				(50)					// (ms) 峰值检测周期时间,需满足覆盖至少一个完整电周期
+
 // 偏置电压保护
 #define GetCurrentOffsetValue			_Q14(0.05)				// (单位:100%)偏置电压保护误差范围,超过该范围保护   
 
@@ -90,15 +95,11 @@
 #define EsThresholdValueH				(1200.0)
 #define EsThresholdSpeed				S_Value(1000)			// (RPM) 电机转速
 
-// 缺相保护参数设置值
-#define LP_NoLoadCurrentValue			I_Value(0.1)			// (A) 相电流峰值小于该电流值则不进行缺相判断
-#define LP_DectDealyTIME				(500)					// (ms) 启动延迟检测时间,用于屏蔽启动阶段
-#define LP_DectCycleTIME				(50)					// (ms) 峰值检测周期时间,需满足覆盖至少一个完整电周期
 
 // NTC过温保护
-#define TemperatureProtectTime          (1000)					// (ms)温度保护检测时间
-#define OVER_Temperature                Tempera_Value(1.0)		// 过温保护阈值,根据NTC曲线设定,10K上拉电阻,80℃
-#define UNDER_Temperature               Tempera_Value(1.5)		// 过温保护恢复阈值,根据NTC曲线设定,10K上拉电阻,70℃
+#define TemperatureProtectTime          (1000)					// (ms) 温度保护检测时间
+#define OVER_Temperature                UADC_Value(1.0)			// (V) 过温保护阈值
+#define UNDER_Temperature               UADC_Value(1.5)			// (V) 过温保护恢复阈值
 
 // 限制功率
 #define POWERLPFLIMIT                   PROTECT_POWER(90.0)		// (W)

+ 1 - 1
User/Source/AddFunction.c

@@ -412,7 +412,7 @@ void LoopResponse(void)
                     #elif (MOTOR_CTRL_MODE == UQ_POWER_CONTROL)
                     {
                         // 反馈计算
-                        mcFocCtrl.LoopCalcValue = mcFocCtrl.UqFlt * 0.65 + mcFocCtrl.Power * 0.61;
+                        mcFocCtrl.LoopCalcValue = mcFocCtrl.UqFlt * 0.65 + mcFocCtrl.Power * 0.62;
                     
                         // 限幅
                         if (mcFocCtrl.LoopCalcValue > 32440)

+ 3 - 10
User/Source/MotorProtect.c

@@ -33,9 +33,7 @@ void Fault_Temperature(void)
             }
         }
         else
-        {
-            fault.Temperature.DetecCnt = 0;
-        }
+        { fault.Temperature.DetecCnt = 0; }
     }
 }
 
@@ -314,13 +312,8 @@ void Fault_Power(void)
                 mcFaultSource = FaultOverPowerErr;
             }
         }
-        else
-        {
-            if (fault.Power.OverPowerDetecCnt > 0)
-            {
-                fault.Power.OverPowerDetecCnt--;
-            }
-        }
+        else if (fault.Power.OverPowerDetecCnt > 0)
+        { fault.Power.OverPowerDetecCnt--; }
     }
 }