добавлен режим потранзисторного шима
This commit is contained in:
parent
01ff374787
commit
c58809798f
@ -117,20 +117,23 @@ void PWMGpioInit(void)//<2F><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>
|
|||||||
GpioCtrlRegs.GPACSEL2.bit.GPIO8 = 2;//to cpu2
|
GpioCtrlRegs.GPACSEL2.bit.GPIO8 = 2;//to cpu2
|
||||||
GpioCtrlRegs.GPACSEL2.bit.GPIO9 = 2;
|
GpioCtrlRegs.GPACSEL2.bit.GPIO9 = 2;
|
||||||
|
|
||||||
GpioCtrlRegs.GPAPUD.bit.GPIO6 = 1; // Disable pull-up on GPIO6 (EPWM4A)
|
|
||||||
GpioCtrlRegs.GPAPUD.bit.GPIO7 = 1; // Disable pull-up on GPIO7 (EPWM4B)
|
|
||||||
GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 1; // Configure GPIO6 as EPWM4A
|
|
||||||
GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 1; // Configure GPIO7 as EPWM4B
|
|
||||||
GpioCtrlRegs.GPACSEL1.bit.GPIO6 = 2;//to cpu2
|
|
||||||
GpioCtrlRegs.GPACSEL1.bit.GPIO7 = 2;
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef REF0
|
||||||
GpioCtrlRegs.GPAPUD.bit.GPIO12 = 1; // Disable pull-up on GPIO12 (EPWM7A)
|
GpioCtrlRegs.GPAPUD.bit.GPIO12 = 1; // Disable pull-up on GPIO12 (EPWM7A)
|
||||||
GpioCtrlRegs.GPAPUD.bit.GPIO13 = 1; // Disable pull-up on GPIO13 (EPWM7B)
|
GpioCtrlRegs.GPAPUD.bit.GPIO13 = 1; // Disable pull-up on GPIO13 (EPWM7B)
|
||||||
GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 1; // Configure GPIO12 as EPWM7A
|
GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 1; // Configure GPIO12 as EPWM7A
|
||||||
GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 1; // Configure GPIO13 as EPWM7B
|
GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 1; // Configure GPIO13 as EPWM7B
|
||||||
GpioCtrlRegs.GPACSEL2.bit.GPIO12 = 2;//to cpu2
|
GpioCtrlRegs.GPACSEL2.bit.GPIO12 = 2;//to cpu2
|
||||||
GpioCtrlRegs.GPACSEL2.bit.GPIO13 = 2;
|
GpioCtrlRegs.GPACSEL2.bit.GPIO13 = 2;
|
||||||
|
#else
|
||||||
|
GpioCtrlRegs.GPAPUD.bit.GPIO6 = 1; // Disable pull-up on GPIO6 (EPWM4A)
|
||||||
|
GpioCtrlRegs.GPAPUD.bit.GPIO7 = 1; // Disable pull-up on GPIO7 (EPWM4B)
|
||||||
|
GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 1; // Configure GPIO6 as EPWM4A
|
||||||
|
GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 1; // Configure GPIO7 as EPWM4B
|
||||||
|
GpioCtrlRegs.GPACSEL1.bit.GPIO6 = 2;//to cpu2
|
||||||
|
GpioCtrlRegs.GPACSEL1.bit.GPIO7 = 2;
|
||||||
|
#endif
|
||||||
// GpioCtrlRegs.GPAPUD.bit.GPIO14 = 1; // Disable pull-up on GPIO14 (EPWM8A)
|
// GpioCtrlRegs.GPAPUD.bit.GPIO14 = 1; // Disable pull-up on GPIO14 (EPWM8A)
|
||||||
// GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 1; // Configure GPIO14 as EPWM8A
|
// GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 1; // Configure GPIO14 as EPWM8A
|
||||||
// GpioCtrlRegs.GPACSEL2.bit.GPIO14 = 2;//to cpu2
|
// GpioCtrlRegs.GPACSEL2.bit.GPIO14 = 2;//to cpu2
|
||||||
|
|||||||
Binary file not shown.
@ -55,6 +55,32 @@ void PWM_ABC_StartOut(void)
|
|||||||
EDIS;
|
EDIS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PWM_ABC_Start(uint16_t Num)
|
||||||
|
{
|
||||||
|
EALLOW;
|
||||||
|
|
||||||
|
if(Num&0x01) EPwmRegs[PWM_A]->TZCTL.bit.TZA = 3;
|
||||||
|
else EPwmRegs[PWM_A]->TZCTL.bit.TZA = 2;
|
||||||
|
|
||||||
|
if(Num&0x02) EPwmRegs[PWM_A]->TZCTL.bit.TZB = 3;
|
||||||
|
else EPwmRegs[PWM_A]->TZCTL.bit.TZB = 2;
|
||||||
|
|
||||||
|
if(Num&0x04)EPwmRegs[PWM_B]->TZCTL.bit.TZA = 3;
|
||||||
|
else EPwmRegs[PWM_B]->TZCTL.bit.TZA = 2;
|
||||||
|
|
||||||
|
if(Num&0x08)EPwmRegs[PWM_B]->TZCTL.bit.TZB = 3;
|
||||||
|
else EPwmRegs[PWM_B]->TZCTL.bit.TZB = 2;
|
||||||
|
|
||||||
|
if(Num&0x10)EPwmRegs[PWM_C]->TZCTL.bit.TZA = 3;
|
||||||
|
else EPwmRegs[PWM_C]->TZCTL.bit.TZA = 2;
|
||||||
|
|
||||||
|
if(Num&0x20)EPwmRegs[PWM_C]->TZCTL.bit.TZB = 3;
|
||||||
|
else EPwmRegs[PWM_C]->TZCTL.bit.TZB = 2;
|
||||||
|
|
||||||
|
EDIS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void PWMAllInit(void)
|
void PWMAllInit(void)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
|
|||||||
@ -65,7 +65,7 @@ void PWMInitInterruptEn(void);
|
|||||||
void PWMAllInit(void);
|
void PWMAllInit(void);
|
||||||
void PWM_ABC_StopAllClose(void);
|
void PWM_ABC_StopAllClose(void);
|
||||||
void PWM_ABC_StartOut(void);
|
void PWM_ABC_StartOut(void);
|
||||||
|
void PWM_ABC_Start(uint16_t Num);
|
||||||
|
|
||||||
void InitEPwm1Example(void);
|
void InitEPwm1Example(void);
|
||||||
void InitEPwm2Example(void);
|
void InitEPwm2Example(void);
|
||||||
|
|||||||
@ -103,10 +103,10 @@ __interrupt void epwm1_isr(void)
|
|||||||
EPwm1Regs.ETCLR.bit.INT = 1;
|
EPwm1Regs.ETCLR.bit.INT = 1;
|
||||||
TimerBaseTimeoutInc();
|
TimerBaseTimeoutInc();
|
||||||
MainTimerBaseTimeoutInc();
|
MainTimerBaseTimeoutInc();
|
||||||
#ifdef TEMPER_GPIO_20
|
#ifdef REF0
|
||||||
eqepTest();
|
|
||||||
#else
|
|
||||||
temperatureTest();
|
temperatureTest();
|
||||||
|
#else
|
||||||
|
eqepTest();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|||||||
@ -96,6 +96,8 @@ void vectorFault(void)
|
|||||||
XintRegs.XINT2CR.bit.ENABLE = 1;
|
XintRegs.XINT2CR.bit.ENABLE = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t Num = 0;
|
||||||
|
|
||||||
void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t sdfmUdc)
|
void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t sdfmUdc)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -112,6 +114,7 @@ void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t
|
|||||||
if(VoltProcImit) UdcVolt = VoltProcImit;
|
if(VoltProcImit) UdcVolt = VoltProcImit;
|
||||||
else UdcVolt = (float)UdcFiltered*VdcFactor/BIT_MAX;
|
else UdcVolt = (float)UdcFiltered*VdcFactor/BIT_MAX;
|
||||||
|
|
||||||
|
if(UdcVolt < 15) Mode = OffMode;
|
||||||
|
|
||||||
Step = Step + Nstep;
|
Step = Step + Nstep;
|
||||||
CurrLoop.piId.Ref = 0;
|
CurrLoop.piId.Ref = 0;
|
||||||
@ -141,6 +144,9 @@ void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t
|
|||||||
if(StepS > (1<<(StepShift-1))) CurrLoop.piId.Ref = 0;
|
if(StepS > (1<<(StepShift-1))) CurrLoop.piId.Ref = 0;
|
||||||
else CurrLoop.piId.Ref = CurrentRegTuneAmpl;
|
else CurrLoop.piId.Ref = CurrentRegTuneAmpl;
|
||||||
break;
|
break;
|
||||||
|
case TestPWNMode:
|
||||||
|
PWM_ABC_Start(Num);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Mode = OffMode;
|
Mode = OffMode;
|
||||||
PWM_ABC_StopAllClose();
|
PWM_ABC_StopAllClose();
|
||||||
|
|||||||
@ -80,6 +80,7 @@ typedef enum
|
|||||||
StepMode, //
|
StepMode, //
|
||||||
StayMode,
|
StayMode,
|
||||||
CurrentRegTune,
|
CurrentRegTune,
|
||||||
|
TestPWNMode,
|
||||||
VectorModeU,
|
VectorModeU,
|
||||||
VectorModeI
|
VectorModeI
|
||||||
}TMode;
|
}TMode;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user