Quellcode durchsuchen

feat:添加功率转换系数

1.计算功率转换系数 完成功率限制
2.移除无关代码 调整注释
Comment.Vivre vor 1 Jahr
Ursprung
Commit
5812d48094

+ 48 - 41
KeilC51/Fortior.uvopt

@@ -147,11 +147,6 @@
           <WinNumber>1</WinNumber>
           <ItemText>mcFocCtrl,0x0A</ItemText>
         </Ww>
-        <Ww>
-          <count>1</count>
-          <WinNumber>1</WinNumber>
-          <ItemText>VoltageComp,0x0A</ItemText>
-        </Ww>
       </WatchWindow1>
       <WatchWindow2>
         <Ww>
@@ -220,7 +215,7 @@
       <GroupNumber>1</GroupNumber>
       <FileNumber>1</FileNumber>
       <FileType>1</FileType>
-      <tvExp>0</tvExp>
+      <tvExp>1</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
       <PathWithFileName>..\User\Source\main.c</PathWithFileName>
@@ -252,6 +247,18 @@
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
+    <File>
+      <GroupNumber>1</GroupNumber>
+      <FileNumber>4</FileNumber>
+      <FileType>5</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\README.md</PathWithFileName>
+      <FilenameWithoutPath>README.md</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
   </Group>
 
   <Group>
@@ -262,7 +269,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>4</FileNumber>
+      <FileNumber>5</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -274,7 +281,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>5</FileNumber>
+      <FileNumber>6</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -286,7 +293,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>6</FileNumber>
+      <FileNumber>7</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -298,7 +305,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>7</FileNumber>
+      <FileNumber>8</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -310,7 +317,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>8</FileNumber>
+      <FileNumber>9</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -322,7 +329,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>9</FileNumber>
+      <FileNumber>10</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -334,7 +341,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>10</FileNumber>
+      <FileNumber>11</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -346,7 +353,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>11</FileNumber>
+      <FileNumber>12</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -358,7 +365,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>12</FileNumber>
+      <FileNumber>13</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -370,7 +377,7 @@
     </File>
     <File>
       <GroupNumber>2</GroupNumber>
-      <FileNumber>13</FileNumber>
+      <FileNumber>14</FileNumber>
       <FileType>4</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -390,7 +397,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>14</FileNumber>
+      <FileNumber>15</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -402,7 +409,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>15</FileNumber>
+      <FileNumber>16</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -414,7 +421,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>16</FileNumber>
+      <FileNumber>17</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -426,7 +433,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>17</FileNumber>
+      <FileNumber>18</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -438,7 +445,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>18</FileNumber>
+      <FileNumber>19</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -450,7 +457,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>19</FileNumber>
+      <FileNumber>20</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -462,7 +469,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>20</FileNumber>
+      <FileNumber>21</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -474,7 +481,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>21</FileNumber>
+      <FileNumber>22</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -486,7 +493,7 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>22</FileNumber>
+      <FileNumber>23</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -498,61 +505,61 @@
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>23</FileNumber>
+      <FileNumber>24</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\User\Source\SPI.c</PathWithFileName>
-      <FilenameWithoutPath>SPI.c</FilenameWithoutPath>
+      <PathWithFileName>..\User\Source\SMDU.c</PathWithFileName>
+      <FilenameWithoutPath>SMDU.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>24</FileNumber>
+      <FileNumber>25</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\User\Source\TIMER.c</PathWithFileName>
-      <FilenameWithoutPath>TIMER.c</FilenameWithoutPath>
+      <PathWithFileName>..\User\Source\SPI.c</PathWithFileName>
+      <FilenameWithoutPath>SPI.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>25</FileNumber>
+      <FileNumber>26</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\User\Source\UART.c</PathWithFileName>
-      <FilenameWithoutPath>UART.c</FilenameWithoutPath>
+      <PathWithFileName>..\User\Source\TIMER.c</PathWithFileName>
+      <FilenameWithoutPath>TIMER.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>26</FileNumber>
+      <FileNumber>27</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\User\Source\SMDU.c</PathWithFileName>
-      <FilenameWithoutPath>SMDU.c</FilenameWithoutPath>
+      <PathWithFileName>..\User\Source\TSD.c</PathWithFileName>
+      <FilenameWithoutPath>TSD.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
-      <FileNumber>27</FileNumber>
+      <FileNumber>28</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\User\Source\TSD.c</PathWithFileName>
-      <FilenameWithoutPath>TSD.c</FilenameWithoutPath>
+      <PathWithFileName>..\User\Source\UART.c</PathWithFileName>
+      <FilenameWithoutPath>UART.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -566,7 +573,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>28</FileNumber>
+      <FileNumber>29</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>

+ 14 - 9
KeilC51/Fortior.uvproj

@@ -391,6 +391,11 @@
               <FileType>5</FileType>
               <FilePath>..\User\Include\Protect.h</FilePath>
             </File>
+            <File>
+              <FileName>README.md</FileName>
+              <FileType>5</FileType>
+              <FilePath>..\README.md</FilePath>
+            </File>
           </Files>
         </Group>
         <Group>
@@ -496,6 +501,11 @@
               <FileType>1</FileType>
               <FilePath>..\User\Source\PIInit.c</FilePath>
             </File>
+            <File>
+              <FileName>SMDU.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\User\Source\SMDU.c</FilePath>
+            </File>
             <File>
               <FileName>SPI.c</FileName>
               <FileType>1</FileType>
@@ -507,19 +517,14 @@
               <FilePath>..\User\Source\TIMER.c</FilePath>
             </File>
             <File>
-              <FileName>UART.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\User\Source\UART.c</FilePath>
-            </File>
-            <File>
-              <FileName>SMDU.c</FileName>
+              <FileName>TSD.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\User\Source\SMDU.c</FilePath>
+              <FilePath>..\User\Source\TSD.c</FilePath>
             </File>
             <File>
-              <FileName>TSD.c</FileName>
+              <FileName>UART.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\User\Source\TSD.c</FilePath>
+              <FilePath>..\User\Source\UART.c</FilePath>
             </File>
           </Files>
         </Group>

+ 16 - 1
README.md

@@ -1 +1,16 @@
-# 6562T
+## 6562T
+
+#### Ibase 电流基准
+> 电流基准是最大采样电流(+)与最小采样电流(-)之差
+> Ibase = Vref/AMPGain/RS
+> 电流基准为基准电压/运放倍数/采样电阻
+
+#### Ubase 电压基准
+> Ubase = RV*Vref/1.732
+
+#### FOC__POW 功率寄存器
+> FOC__POW / 32767 * Ibase * Ubase * 1.5 = POWER
+> 实际会对FOC__POW进行放缩
+
+#### 功率转换计算系数
+> fact = 1/1.8*8*32767/Ubase/Ibase

+ 1 - 1
User/Include/Customer.h

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

+ 2 - 15
User/Include/Parameter.h

@@ -1,22 +1,7 @@
-/**
- * @copyright (C) COPYRIGHT 2022 Fortiortech Shenzhen
- * @file      Parameter.h
- * @author    Fortiortech  Appliction Team
- * @note      Last modify author is Marcel He
- * @since     2021-04-11
- * @date      2022-07-14
- * @brief     This file contains all FOC debug  parameter used for Motor Control.
- */
-
-
-/* Define to prevent recursive inclusion -------------------------------------*/
 #ifndef __Parameter_H_
 #define __Parameter_H_
 #include <definition.h>
-/* Define to prevent recursive inclusion -------------------------------------*/
 
-
-/* Private define ------------------------------------------------------------*/
 #define SystemPowerUpTime               (15000)                                                       // 上电等待时间,cpu计数时钟
 /*芯片参数值------------------------------------------------------------------*/
 /*CPU and PWM Parameter*/
@@ -80,6 +65,8 @@
 #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             ///< 该结果是进行了右移一位的结果
 

+ 1 - 1
User/Include/Protect.h

@@ -91,7 +91,7 @@
 
 
 /* 限制功率 */
-#define POWERLPFLIMIT                  (16000)              ///< 15800大概在110W左右
+#define POWERLPFLIMIT                 	 PROTECT_POWER(50.0)             			 ///< 
 
 /* 故障显示 */
 #define LED_ONTime                          (100)

+ 0 - 5
User/Include/VaribleDef.h

@@ -372,7 +372,6 @@ typedef struct
 {
     uint16 mcDcbusFlt;      // 母线电压
     uint8 CtrlMode;        // 控制模式
-    uint16 mcADCCurrentbus; // 母线电流
     
     int16  Power;            // 当前功率
     int16  PowerFlt;         // 功率滤波后的值
@@ -383,10 +382,6 @@ typedef struct
     uint8  ChargeStep;      // 预充电的步骤
     uint8  Start_Mode;      // 启动方式
     
-    int16  Max_ia;
-    int16  Max_ib;
-    int16  Max_ic;
-    
     uint8  FR_SET;
     uint8  FR;
     uint8  Flg_ATORampEnd;

+ 4 - 5
User/Source/AddFunction.c

@@ -234,7 +234,6 @@ void TargetRef_Process(void)
     #endif
 }
 
-int16 TempTHECOMP_Target = 0;
 /**
     @brief        外部闭环控制函数,示例代码提供 电流环,速度环,功率环,UQ控制示例代码,可根据需要自行修改
                  建议使用默认1ms周期运行
@@ -446,13 +445,13 @@ void TickCycle_1ms(void)
     
     if ((mcState != mcInit) && (mcState != mcReady))
     {
-        /* -----速度滤波----- */
+        // 速度滤波
         mcFocCtrl.SpeedFlt = LPFFunction(FOC__EOME, mcFocCtrl.SpeedFlt, 50); // 注意低通滤波器系数范围为0---127
         mcFocCtrl.EMFsquare = Sqrt_alpbet(FOC__EALP, FOC__EBET);
         
         if (mcState == mcRun)
         {
-            mcFocCtrl.Power = FOC__POW << 3; /* -----功率滤波----- */
+            mcFocCtrl.Power = FOC__POW << 3; // 功率滤波
             mcFocCtrl.PowerFlt = LPFFunction(mcFocCtrl.Power, mcFocCtrl.PowerFlt, 10);
         }
     }
@@ -462,8 +461,8 @@ void TickCycle_1ms(void)
         mcFocCtrl.PowerFlt = 0;
     }
     
-    /*****DCbus的采样获取值并滤波******/
-    #if (VoltageCompensationEn == 1) // 电压补偿开启
+    // DCbus的采样获取值并滤波
+    #if (VoltageCompensationEn == 1)
     {
 		// 未进入电压补偿之前在1ms中断里面采集电压,进入之后在载波中断里面采集电压
         if (VoltageComp.cpscnt <= VoltageCompensationDelayCnt)

+ 0 - 93
User/Source/UART_Debug.c

@@ -1,93 +0,0 @@
-/**************************** (C) COPYRIGHT 2018 Fortiortech Shenzhen ******************************
-* File Name          : UART_Debug.c
-* Author             : Any Lin
-* Version            : V1.0
-* Date               : 2018-07-01
-* Description        : Based on ANOT
-****************************************************************************************************
-* All Rights Reserved
-***************************************************************************************************/
-
-
-
-/**************************************************************************************************///Including Header Files
-#include <UART_Debug.h>
-/**************************************************************************************************///Define Macro
-#define BUFFLEN                         128
-/**************************************************************************************************///Define Global Symbols
-static unsigned char xdata sg_ucUartDbgData[BUFFLEN] = {0xaa, 0xaa};
-static char                sg_cUartDataLen;
-static unsigned char       sg_ucUartDataSum;
-/**************************************************************************************************///Function Subject
-/**
- * 初始化缓存区内容
- *
- * @param Type 输出的指令
- */
-void InitBuff_UARTDBG(unsigned char Type)
-{
-    sg_ucUartDbgData[2] = Type;
-
-    sg_cUartDataLen = 4;
-
-    sg_ucUartDataSum = 0x54 + Type;
-}
-
-/**
- * 装载16位数据
- *
- * @param Data 要装载的数据
- */
-void LoadBuff16_UARTDBG(unsigned short Data)
-{
-    union
-    {
-        unsigned short m_w;
-        unsigned char  m_uc[2];
-    }uChange;
-
-    uChange.m_w = Data;
-
-    sg_ucUartDbgData[sg_cUartDataLen++] = uChange.m_uc[0];
-    sg_ucUartDbgData[sg_cUartDataLen++] = uChange.m_uc[1];
-
-    sg_ucUartDataSum += uChange.m_uc[0] + uChange.m_uc[1];
-}
-
-/**
- * 装载8位数据
- *
- * @param Data 要装载数据
- */
-void LoadBuff8_UARTDBG(unsigned char Data)
-{
-    sg_ucUartDbgData[sg_cUartDataLen++] = Data;
-
-    sg_ucUartDataSum += Data;
-}
-
-/**
- * 发送前的准备
- *
- * @return  将要发送的字节数
- */
-unsigned char SendReady_UARTDBG(void)
-{
-    sg_ucUartDbgData[3] = sg_cUartDataLen - 4;
-
-    sg_ucUartDataSum += sg_ucUartDbgData[3];
-
-    sg_ucUartDbgData[sg_cUartDataLen] = sg_ucUartDataSum;
-
-    return sg_cUartDataLen;
-}
-
-/**
- * 获取缓存区的地址
- *
- * @return  缓存区地址
- */
-unsigned char* GetAddr_UARTDBG(void)
-{
-    return &sg_ucUartDbgData;
-}