avery 7 місяців тому
батько
коміт
5da47826d8

+ 5 - 0
KeilC51/Fortior.uvopt

@@ -167,6 +167,11 @@
           <WinNumber>1</WinNumber>
           <ItemText>mcCurOffset,0x0A</ItemText>
         </Ww>
+        <Ww>
+          <count>5</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>mcSpeedRamp,0x0A</ItemText>
+        </Ww>
       </WatchWindow1>
       <WatchWindow2>
         <Ww>

+ 1 - 1
User/Application/Control.c

@@ -19,7 +19,7 @@ void Get_Target_Ref(void)
         #if (CONTROL_MODE == NONEMODE)
         isCtrlPowOn = true;
         motorControl.TargetRef = TARGET_SPEED_SET;
-        motorControl.QOutRef = I_Value(4.0);
+        motorControl.QOutRef = I_Value(2.0);
         #elif (CONTROL_MODE == UARTMODE)
         #endif
     }

+ 8 - 16
User/Function/AddFunction.c

@@ -108,32 +108,24 @@ void Speed_response(void)
                 mcFocCtrl.LoopTime++;
                 mcFocCtrl.IND_DEC_LoopTime++;
                 
-                if (mcFocCtrl.IND_DEC_LoopTime > SPEED_INC_DEC_TIME)
-                {
-                    mcSpeedRamp.TargetValue = motorControl.TargetRef;
-                    mc_ramp(&mcSpeedRamp);
-                    mcFocCtrl.IND_DEC_LoopTime = 0;
-                }
-                
+//                if (mcFocCtrl.IND_DEC_LoopTime > SPEED_INC_DEC_TIME)
+//                {
+//                    mcSpeedRamp.TargetValue = motorControl.TargetRef;
+//                    mc_ramp(&mcSpeedRamp);
+//                    mcFocCtrl.IND_DEC_LoopTime = 0;
+//                }
+                mcSpeedRamp.ActualValue = motorControl.TargetRef;
                 if (mcFocCtrl.LoopTime > SPEED_LOOP_TIME)
                 {
                     #if (OUT_LOOP_CONTROL)
                     {
                         #if (LOOP_MODE == SPEED_CONTROL_MODE)
-                        mcFocCtrl.IsRef = HW_Zero_Calc(mcSpeedRamp.ActualValue - motorControl.ActualSpeed);
+                        FOC_IQREF = HW_Zero_Calc(mcSpeedRamp.ActualValue - motorControl.ActualSpeed);
                         #endif
                         
-                        // STT_FOC_THECOMP_CLEAR();
                     }
                     #else
                     {
-//                        motorControl.ActualQOutValue = FOC_IQREF;
-//                    
-//                        if (motorControl.ActualQOutValue < motorControl.QOutRef)
-//                        { motorControl.ActualQOutValue += QOUTINC; }
-//                        else if (FOC_IQREF > motorControl.QOutRef)
-//                        { motorControl.ActualQOutValue -= QOUTINC; }
-                    
                         FOC_IQREF = motorControl.QOutRef;
                     }
                     #endif

+ 1 - 1
User/include/Customer.h

@@ -81,7 +81,7 @@
 
 // 启动电流
 #define ID_Start_CURRENT               I_Value(0.0)                            // (A) D轴启动电流
-#define IQ_Start_CURRENT               I_Value(4.0)                            // (A) Q轴启动电流
+#define IQ_Start_CURRENT               I_Value(2.0)                            // (A) Q轴启动电流
 
 #define Start_FOC_THECOMP              _Q15(10.0/180.0)                        //启动补偿角度