调试OK
This commit is contained in:
parent
718e09e192
commit
81cbf5d41b
File diff suppressed because one or more lines are too long
@ -1,10 +1,11 @@
|
|||||||
|
|
||||||
#include "MotorCtrl.h"
|
#include "MotorCtrl.h"
|
||||||
|
|
||||||
#include "hwCtrl.h"
|
#include "hwCtrl.h"
|
||||||
#include "PINdef.h"
|
#include "PINdef.h"
|
||||||
#include "appTask.h"
|
#include "appTask.h"
|
||||||
#include "pfdl.h"
|
#include "pfdl.h"
|
||||||
|
#include "buzzer.h"
|
||||||
|
|
||||||
|
|
||||||
uint8_t MotorState[6],MotorStateReal[6];
|
uint8_t MotorState[6],MotorStateReal[6];
|
||||||
@ -12,7 +13,7 @@ uint16_t MotorHallLoc[6],MotorHardStop1[6],MotorHardStop2[6];
|
|||||||
uint8_t MotorLearnState[6];
|
uint8_t MotorLearnState[6];
|
||||||
uint8_t MotorErr[6];
|
uint8_t MotorErr[6];
|
||||||
uint16_t current1,current2,current3;
|
uint16_t current1,current2,current3;
|
||||||
|
uint16_t MotorTarget[6] = {0};
|
||||||
static uint8_t AutoCalState;
|
static uint8_t AutoCalState;
|
||||||
|
|
||||||
uint8_t EEL_SAVE_REQUIRE_FLAG;
|
uint8_t EEL_SAVE_REQUIRE_FLAG;
|
||||||
@ -133,12 +134,21 @@ void MotorValueInit(void)
|
|||||||
void setMotorState(uint8_t motorid,uint8_t act)
|
void setMotorState(uint8_t motorid,uint8_t act)
|
||||||
{
|
{
|
||||||
//motorid-=1;
|
//motorid-=1;
|
||||||
|
uint8_t i;
|
||||||
if (act <= ACT_XH && motorid < 6)
|
if (act <= ACT_XH && motorid < 6)
|
||||||
{
|
{
|
||||||
MotorState[motorid] = act;
|
MotorState[motorid] = act;
|
||||||
|
if (act!=ACT_NOACT)
|
||||||
|
{
|
||||||
|
for (i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
MotorTarget[i] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
uint16_t MotorTarget[6] = {0};
|
|
||||||
void setMotorTarget(uint8_t motorid,uint16_t target)
|
void setMotorTarget(uint8_t motorid,uint16_t target)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -156,7 +166,15 @@ void setMotorTarget(uint8_t motorid,uint16_t target)
|
|||||||
|
|
||||||
void StartAutoCal(void)
|
void StartAutoCal(void)
|
||||||
{
|
{
|
||||||
AutoCalState = AUTOCAL_START;
|
//AutoCalState = AUTOCAL_START;
|
||||||
|
uint8_t i;
|
||||||
|
for (i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
MotorHardStop1[i] = 0;
|
||||||
|
MotorHardStop2[i] = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
void StopAutoCal(void)
|
void StopAutoCal(void)
|
||||||
@ -173,6 +191,22 @@ void StopAutoCal(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FW_act(void)
|
||||||
|
{
|
||||||
|
setMotorTarget(MOTOR1,MotorHardStop1[MOTOR1]-100);
|
||||||
|
setMotorTarget(MOTOR2,MotorHardStop1[MOTOR2]-100);
|
||||||
|
setMotorTarget(MOTOR3,MotorHardStop2[MOTOR3]+100);
|
||||||
|
setMotorTarget(MOTOR4,MotorHardStop1[MOTOR4]-100);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TP_act(void)
|
||||||
|
{
|
||||||
|
setMotorTarget(MOTOR1,MotorHardStop2[MOTOR1]+500);//kb
|
||||||
|
setMotorTarget(MOTOR2,MotorHardStop2[MOTOR2]+100);//hg
|
||||||
|
setMotorTarget(MOTOR3,MotorHardStop1[MOTOR3]-100);//zd
|
||||||
|
setMotorTarget(MOTOR4,MotorHardStop2[MOTOR4]+100);//tt
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void AutoCalCtrl(void)
|
void AutoCalCtrl(void)
|
||||||
@ -464,7 +498,7 @@ void MotorMemoryKeyM1Release(void)
|
|||||||
flagMotorMemoryKeyStart = 0;
|
flagMotorMemoryKeyStart = 0;
|
||||||
for (i = 0; i < 6; i++)
|
for (i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
|
buzzer_start();
|
||||||
if (MotorHardStop1[i]!=0 && MotorHardStop2[i]!=0)
|
if (MotorHardStop1[i]!=0 && MotorHardStop2[i]!=0)
|
||||||
{
|
{
|
||||||
MemoryLoc[0][i] = MotorHallLoc[i];
|
MemoryLoc[0][i] = MotorHallLoc[i];
|
||||||
@ -492,6 +526,7 @@ void MotorMemoryKeyM2Release(void)
|
|||||||
if (flagMotorMemoryKeyStart == 1)
|
if (flagMotorMemoryKeyStart == 1)
|
||||||
{
|
{
|
||||||
flagMotorMemoryKeyStart = 0;
|
flagMotorMemoryKeyStart = 0;
|
||||||
|
buzzer_start();
|
||||||
for (i = 0; i < 6; i++)
|
for (i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
if (MotorHardStop1[i]!=0 && MotorHardStop2[i]!=0)
|
if (MotorHardStop1[i]!=0 && MotorHardStop2[i]!=0)
|
||||||
@ -521,6 +556,7 @@ void MotorMemoryKeyM3Release(void)
|
|||||||
if (flagMotorMemoryKeyStart == 1)
|
if (flagMotorMemoryKeyStart == 1)
|
||||||
{
|
{
|
||||||
flagMotorMemoryKeyStart = 0;
|
flagMotorMemoryKeyStart = 0;
|
||||||
|
buzzer_start();
|
||||||
for (i = 0; i < 6; i++)
|
for (i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
if (MotorHardStop1[i]!=0 && MotorHardStop2[i]!=0)
|
if (MotorHardStop1[i]!=0 && MotorHardStop2[i]!=0)
|
||||||
@ -575,19 +611,19 @@ void MotorCtrl(void)//10ms
|
|||||||
if (OC1flag == 1)
|
if (OC1flag == 1)
|
||||||
{
|
{
|
||||||
OC1flag = 0;
|
OC1flag = 0;
|
||||||
if (MotorState[0] == ACT_XQ)
|
if (MotorState[0] == ACT_XQ && MotorState[1] == ACT_NOACT && MotorErr[0] == 0)
|
||||||
{
|
{
|
||||||
MotorHardStop1[0] = MotorHallLoc[0];
|
MotorHardStop1[0] = MotorHallLoc[0];
|
||||||
}
|
}
|
||||||
else if (MotorState[0] == ACT_XH)
|
else if (MotorState[0] == ACT_XH && MotorState[1] == ACT_NOACT && MotorErr[0] == 0)
|
||||||
{
|
{
|
||||||
MotorHardStop2[0] = MotorHallLoc[0];
|
MotorHardStop2[0] = MotorHallLoc[0];
|
||||||
}
|
}
|
||||||
else if (MotorState[1] == ACT_XQ)
|
else if (MotorState[1] == ACT_XQ && MotorState[0] == ACT_NOACT && MotorErr[1] == 0)
|
||||||
{
|
{
|
||||||
MotorHardStop1[1] = MotorHallLoc[1];
|
MotorHardStop1[1] = MotorHallLoc[1];
|
||||||
}
|
}
|
||||||
else if (MotorState[1] == ACT_XH)
|
else if (MotorState[1] == ACT_XH && MotorState[0] == ACT_NOACT && MotorErr[1] == 0)
|
||||||
{
|
{
|
||||||
MotorHardStop2[1] = MotorHallLoc[1];
|
MotorHardStop2[1] = MotorHallLoc[1];
|
||||||
}
|
}
|
||||||
@ -597,19 +633,19 @@ void MotorCtrl(void)//10ms
|
|||||||
if (OC2flag == 1)
|
if (OC2flag == 1)
|
||||||
{
|
{
|
||||||
OC2flag = 0;
|
OC2flag = 0;
|
||||||
if (MotorState[2] == ACT_XQ)
|
if (MotorState[2] == ACT_XQ && MotorState[3] == ACT_NOACT && MotorErr[2] == 0)
|
||||||
{
|
{
|
||||||
MotorHardStop1[2] = MotorHallLoc[2];
|
MotorHardStop1[2] = MotorHallLoc[2];
|
||||||
}
|
}
|
||||||
else if (MotorState[2] == ACT_XH)
|
else if (MotorState[2] == ACT_XH && MotorState[3] == ACT_NOACT && MotorErr[2] == 0)
|
||||||
{
|
{
|
||||||
MotorHardStop2[2] = MotorHallLoc[2];
|
MotorHardStop2[2] = MotorHallLoc[2];
|
||||||
}
|
}
|
||||||
else if (MotorState[3] == ACT_XQ)
|
else if (MotorState[3] == ACT_XQ && MotorState[2] == ACT_NOACT && MotorErr[3] == 0)
|
||||||
{
|
{
|
||||||
MotorHardStop1[3] = MotorHallLoc[3];
|
MotorHardStop1[3] = MotorHallLoc[3];
|
||||||
}
|
}
|
||||||
else if (MotorState[3] == ACT_XH)
|
else if (MotorState[3] == ACT_XH && MotorState[2] == ACT_NOACT && MotorErr[3] == 0)
|
||||||
{
|
{
|
||||||
MotorHardStop2[3] = MotorHallLoc[3];
|
MotorHardStop2[3] = MotorHallLoc[3];
|
||||||
}
|
}
|
||||||
@ -683,10 +719,10 @@ void CurrentDetecte(void)
|
|||||||
current2 = getAdval(ADCH_RLY1);
|
current2 = getAdval(ADCH_RLY1);
|
||||||
|
|
||||||
|
|
||||||
if (current1 > 30U && OC1flag == 0)
|
if (current1 > 160U && OC1flag == 0)
|
||||||
{
|
{
|
||||||
OC_Count1++;
|
OC_Count1++;
|
||||||
if (OC_Count1 >= 100)
|
if (OC_Count1 >= 300)
|
||||||
{
|
{
|
||||||
OC_Count1 = 0;
|
OC_Count1 = 0;
|
||||||
OC1flag = 1;
|
OC1flag = 1;
|
||||||
@ -697,10 +733,10 @@ void CurrentDetecte(void)
|
|||||||
OC_Count1 = 0;
|
OC_Count1 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (current2 > 30U && OC2flag == 0)
|
if (current2 > 160U && OC2flag == 0)
|
||||||
{
|
{
|
||||||
OC_Count2++;
|
OC_Count2++;
|
||||||
if (OC_Count2 >= 100)
|
if (OC_Count2 >= 300)
|
||||||
{
|
{
|
||||||
OC_Count2 = 0;
|
OC_Count2 = 0;
|
||||||
OC2flag = 1;
|
OC2flag = 1;
|
||||||
|
@ -19,7 +19,8 @@ void MotorValueInit(void);
|
|||||||
|
|
||||||
void StartAutoCal(void);
|
void StartAutoCal(void);
|
||||||
void StopAutoCal(void);
|
void StopAutoCal(void);
|
||||||
|
void FW_act(void);
|
||||||
|
void TP_act(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -125,10 +125,12 @@ void KeyPressLogic(uint8_t keyid)
|
|||||||
setMotorState(MOTOR4,ACT_XH);
|
setMotorState(MOTOR4,ACT_XH);
|
||||||
break;
|
break;
|
||||||
case KEYID_FW:
|
case KEYID_FW:
|
||||||
buzzer_start();
|
//buzzer_start();
|
||||||
|
TP_act();
|
||||||
break;
|
break;
|
||||||
case KEYID_TP:
|
case KEYID_TP:
|
||||||
buzzer_start();
|
//buzzer_start();
|
||||||
|
FW_act();
|
||||||
break;
|
break;
|
||||||
case KEYID_JY_SET:
|
case KEYID_JY_SET:
|
||||||
MotorMemoryKeyMMPress();
|
MotorMemoryKeyMMPress();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user