Selaa lähdekoodia

docs:保护配置页面格式调整

Comment.Vivre 1 vuosi sitten
vanhempi
commit
22f63468c6

+ 1 - 1
KeilC51/Fortior.uvopt

@@ -215,7 +215,7 @@
       <GroupNumber>1</GroupNumber>
       <FileNumber>1</FileNumber>
       <FileType>1</FileType>
-      <tvExp>1</tvExp>
+      <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\User\Source\main.c</PathWithFileName>

+ 1 - 1
User/Include/Parameter.h

@@ -1,6 +1,6 @@
 #ifndef __Parameter_H_
 #define __Parameter_H_
-#include <definition.h>
+#include <SystemDefinition.h>
 
 #define SystemPowerUpTime               (15000)                                                       // 上电等待时间,cpu计数时钟
 /*芯片参数值------------------------------------------------------------------*/

+ 92 - 87
User/Include/Protect.h

@@ -7,98 +7,103 @@
  */
 #ifndef __PROTECT_H_
 #define __PROTECT_H_
-
-#define OC_SW_ProtectEn                     (1)                                     // 软件过流保护使能: 0,不使能;1,使能
-#define OV_ProtectEn                        (0)                                     // 过欠压保护使能:   0,不使能;1,使能
-#define LP_ProtectEn                        (1)                                     // 缺相保护使能:     0,不使能;1,使能
-#define OT_ProtectEn                        (0)                                     // 过温保护使能:     0,不使能;1,使能
-#define Stall_ProtectEn                     (1)                                     // 堵转失速保护使能: 0,不使能;1,使能
-#define OP_ProtectEn                        (0)                                     // 功率保护,0,不使能;1,使能
-#define GetCurrentOffsetEnable              (1)                                     // 偏置电压保护,0,不使能;1,使能
-
-/*  保护重启参数设置  */
-#define OC_RecoveryTimes                    (0)                                  // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
-#define OC_RecoveryDelayTime                (3000)                               // (ms)重启延迟时间
-
-#define OV_RecoveryTimes                    (0)                                   // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
-#define OV_RecoveryDelayTime                (1200)                                // (ms)欠过压保护恢复时间
-#define OV_RecoveryDelayTime1               (200)                                ///< (5ms) 欠过压保护恢复时间,过零判断用于快速插拔电开关机
-#define OV_RecoveryDelayTime2               (1000)                               ///< (5ms) 过压保护恢复时间
-
-#define LP_RecoveryTimes                    (0)                                   // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
-#define LP_RecoveryDelayTime                (500)                                // (ms)重启延迟时间
-
-#define OT_RecoveryTimes                    (0)                                   // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
-#define OT_RecoveryDelayTime                (500)                                // (ms)重启延迟时间
-
-#define Stall_RecoveryTimes                 (0)                                   // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
-#define Stall_RecoveryDelayTime             (500)                                // (ms)重启延迟时间
-
-#define OP_RecoveryTimes                    (0)                                   // 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
-#define OP_RecoveryDelayTime                (500)                                // (ms)重启延迟时间
-
-#define HW_OC_FO_MODE                       (1)                                     ///< 硬件FO过流保护使能,适用于IPM有FO保护的场合
-#define HW_OC_CMP_MODE                      (2)                                     ///< 硬件CMP比较过流保护使能,适用于MOS管应用场合
-#define HW_OC_FOCMP_MODE                    (3)                                     ///< 硬件CMP比较和FO过流保护都使能
-#define HW_OC_DISABLE                       (4)                                     ///< 硬件过流保护禁止,用于测试
-#define HW_OC_MODE                          (HW_OC_CMP_MODE)                         ///< 硬件过流保护实现方式
-
-/* 硬件过流保护比较值来源 */
-#define COMPARE_DAC_MODE                    (0)                                     ///< DAC设置硬件过流值
-#define COMPARE_HW_MODE                     (1)                                     ///< 硬件设置硬件过流值
-#define COMPARE_MODE                        (COMPARE_DAC_MODE)                      ///< 硬件过流值的来源
-#define HWOCValue                           (1.2)                                  ///< (A) DAC模式下的硬件过流值
-
-/* 软件过流保护参数设置 */
-#define SW_OC_CurrentVal                    I_Value(1.2)                            ///< (A)软件过流值
-#define SW_OC_DectTime                      (10)                                    ///< (ms)软件过流检测时间
-
+/**
+---------------------------------------------------------------------------------------------------------------------------------------------
+    @brief 保护使能配置
+	@param (Disable)         禁止
+	@param (Enable)          使能
+---------------------------------------------------------------------------------------------------------------------------------------------
+*/
+// 软件过流保护
+#define OC_SW_ProtectEn					(Enable)
+// 过欠压保护
+#define OV_ProtectEn					(Disable)
+// 缺相保护
+#define LP_ProtectEn					(Enable)
+// 过温保护
+#define OT_ProtectEn					(Disable)
+// 堵转保护
+#define Stall_ProtectEn					(Enable)
+// 功率保护
+#define OP_ProtectEn					(Disable)
 // 偏置电压保护
-#define GetCurrentOffsetValue              _Q14(0.05)                              // (单位:100%)偏置电压保护误差范围,超过该范围保护   
-
-/* -----功率保护----- */
-#define  OverPowerValue                     (12000)                           ///<功率保护阈值
+#define GetCurrentOffsetEnable			(Enable)
 
-/* 直流母线电压保护参数设置值 */
-
-#define OVER_VOLTAGE_DECTTIME               (300)                                   ///< (ms) 直流母线电压过压检测保持时间
-#define UNDER_VOLTAGE_DECTTIME              (300)                                   ///< (ms) 直流母线电压欠压检测保持时间
-
-#define OVER_VOLTAGE_PROTECT                UDC_Value(220)                          ///< (V) 直流母线电压过压保护值
-#define UNDER_VOLTAGE_PROTECT               UDC_Value(100)                           ///< (V) 直流母线电压欠压保护值
-
-#define OVER_VOLTAGE_RECOVER                UDC_Value(200)                          ///< (V) 直流母线电压过压保护恢复值            
-#define UNDER_VOLTAGE_RECOVER               UDC_Value(120)                         ///< (V) 直流母线电压欠压保护恢复值
-
-/* 堵转保护参数设置值 */
-#define STALL_SPEED_MAX                     S_Value(3200)
-#define STALL_SPEED_MIN                     S_Value(400)
-
-#define EsThresholdValueL                   (800.0)
-#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℃
+/**
+---------------------------------------------------------------------------------------------------------------------------------------------
+    @brief 保护重启参数设置
+	@param Times 重启次数,设定值<255 达到重启次数后不再重启,设定值>=255,一直重启
+	@param Time  (ms)重启延迟时间
+---------------------------------------------------------------------------------------------------------------------------------------------
+*/
+// 软件过流
+#define OC_RecoveryTimes				(0)
+#define OC_RecoveryDelayTime			(3000)
+// 过欠压
+#define OV_RecoveryTimes				(0)
+#define OV_RecoveryDelayTime			(1200)
+// 缺相
+#define LP_RecoveryTimes				(0)
+#define LP_RecoveryDelayTime			(500)
+// 过温
+#define OT_RecoveryTimes				(0)
+#define OT_RecoveryDelayTime			(500)
+// 堵转
+#define Stall_RecoveryTimes				(0)
+#define Stall_RecoveryDelayTime			(500)
+// 过功率
+#define OP_RecoveryTimes				(0)
+#define OP_RecoveryDelayTime			(500)
 
+/**
+---------------------------------------------------------------------------------------------------------------------------------------------
+    @brief 保护触发参数配置
+---------------------------------------------------------------------------------------------------------------------------------------------
+*/
+/**
+ * 硬件过流保护比较值来源
+ * @param (COMPARE_DAC_MODE)	DAC设置硬件过流值
+ * @param (COMPARE_HW_MODE)		硬件设置硬件过流值
+ */
+#define COMPARE_MODE					(COMPARE_DAC_MODE)		// 硬件过流值的来源
+#define HWOCValue						(1.2)					// (A) DAC模式下的硬件过流值
 
-/* 限制功率 */
-#define POWERLPFLIMIT                 	 PROTECT_POWER(90.0)             			 ///< 
+// 软件过流保护参数设置
+#define SW_OC_CurrentVal				I_Value(1.0)			// (A)软件过流值
+#define SW_OC_DectTime					(10)					// (ms)软件过流检测时间
 
-/* 故障显示 */
-#define LED_ONTime                          (100)
-#define LED_OFFTime                         (233)
-#define LED_ONOFFTime                       (LED_ONTime + LED_OFFTime)
-#define LED_DelayTime                       (200)
-#define LED_IntervalTime                    (1000)
+// 偏置电压保护
+#define GetCurrentOffsetValue			_Q14(0.05)				// (单位:100%)偏置电压保护误差范围,超过该范围保护   
+
+// 直流母线电压保护参数设置值
+#define OVER_VOLTAGE_DECTTIME			(300)					// (ms) 直流母线电压过压检测保持时间
+#define UNDER_VOLTAGE_DECTTIME			(300)					// (ms) 直流母线电压欠压检测保持时间
+#define OVER_VOLTAGE_PROTECT			UDC_Value(375)			// (V) 直流母线电压过压保护值
+#define UNDER_VOLTAGE_PROTECT			UDC_Value(150)			// (V) 直流母线电压欠压保护值
+#define OVER_VOLTAGE_RECOVER			UDC_Value(355)			// (V) 直流母线电压过压保护恢复值            
+#define UNDER_VOLTAGE_RECOVER			UDC_Value(170)			// (V) 直流母线电压欠压保护恢复值
+
+// 堵转保护参数设置值
+#define STALL_SPEED_MAX					S_Value(4000)
+#define STALL_SPEED_MIN					S_Value(300)
+#define EsThresholdValueL				(800.0)
+#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 POWERLPFLIMIT                   PROTECT_POWER(90.0)		// (W)
+// 功率保护
+#define OverPowerValue					PROTECT_POWER(120.0)	// (W) 功率保护阈值
 
 #endif
 

+ 2 - 1
User/Include/SystemDefinition.h

@@ -137,6 +137,7 @@
 #define Long_Inject                     (0)             ///< 脉冲注入时间长于2ms,若时间长于4ms,则要修改定时器分频
 #define Short_Inject                    (1)             ///< 脉冲注入时间低于2ms
 
-
+#define COMPARE_DAC_MODE				(0xA0)						// DAC设置硬件过流值
+#define COMPARE_HW_MODE					(0xB0)						// 硬件设置硬件过流值
 
 #endif

+ 4 - 4
User/Source/CMP.c

@@ -68,10 +68,10 @@ void CMP3_Init(void)
     }
     #else
     {
-//        /**P2.6使能其模拟功能,使能数字输出**/
-//        SetBit(P2_AN , P26);
-//        SetBit(P2_OE , P26); 
-        /* DAC0 Enable */
+		// P2.6使能其模拟功能,使能数字输出
+		// SetBit(P2_AN , P26);
+		// SetBit(P2_OE , P26); 
+        // DAC0 Enable
         SetBit(DAC_CR , DAC0_1EN);        
         /******************************
         0: 正常模式,DAC输出电压范围为0到VREF

+ 1 - 1
User/Source/MotorControl.c

@@ -213,7 +213,7 @@ void FiniteStateManger(void)
         
         case mcFault:
         {
-            // 欠压保护处理函数
+            // 欠压保护刹车处理函数
             if (mcFaultSource == FaultUnderVoltageDC)
             { UnderProcess(); }
             else

+ 10 - 14
User/Source/MotorProtect.c

@@ -188,7 +188,7 @@ void Fault_Stall(void)
                 }
             }
             else if (fault.Stall.EsDectCnt > 0)
-                { fault.Stall.EsDectCnt--; }
+            { fault.Stall.EsDectCnt--; }
             
             /* ****** 2 ****** */
             if (mcFocCtrl.SpeedFlt < STALL_SPEED_MIN || mcFocCtrl.SpeedFlt > STALL_SPEED_MAX)
@@ -203,7 +203,7 @@ void Fault_Stall(void)
                 }
             }
             else if (fault.Stall.SpeedMinCnt > 0)
-                { fault.Stall.SpeedMinCnt--; }
+            { fault.Stall.SpeedMinCnt--; }
         }
         
         /* ****** 3 ****** */
@@ -365,14 +365,10 @@ static void Fault_Recovery(void)
                 if (mcFaultSource == FaultUnderVoltageDC)
                 {
                     if (fault.Voltage.VoltDetecBraketCount > 0)
-                    {
-                        fault.Voltage.VoltDetecBraketCount--;
-                    }
+                    { fault.Voltage.VoltDetecBraketCount--; }
                     
                     if (fault.Voltage.VoltDetecBraketDuty < DRV_ARR + 4)
-                    {
-                        fault.Voltage.VoltDetecBraketDuty += 20;
-                    }
+                    { fault.Voltage.VoltDetecBraketDuty += 20; }
                 }
             }
         }
@@ -556,32 +552,32 @@ void Fault_GetCurrentOffset(void)
     ------------------------------------------------------------------------------------------------- */
 void Fault_Detection(void)
 {
-    #if (OC_SW_ProtectEn == 1)
+    #if (OC_SW_ProtectEn)
     {
         Fault_OverCurrent();
     }
     #endif
-    #if (OT_ProtectEn == 1)
+    #if (OT_ProtectEn)
     {
         Fault_Temperature();
     }
     #endif
-    #if (OV_ProtectEn == 1)
+    #if (OV_ProtectEn)
     {
         Fault_Voltage();
     }
     #endif
-    #if (Stall_ProtectEn == 1)
+    #if (Stall_ProtectEn)
     {
         Fault_Stall();
     }
     #endif
-    #if (LP_ProtectEn == 1)
+    #if (LP_ProtectEn)
     {
         Fault_PhaseLoss();
     }
     #endif
-    #if (OP_ProtectEn == 1) // 功率保护使能
+    #if (OP_ProtectEn)
     {
         Fault_Power();
     }