Измерение тока тормоза
This commit is contained in:
parent
df31f6a61d
commit
05542beb04
@ -110,13 +110,6 @@ volatile float CurrentFactorMotor = FACTOR_CURRENT_MOTOR*32767.0;
|
||||
|
||||
|
||||
|
||||
int16_t SdfmGetChannel(int16_t N)
|
||||
{
|
||||
return sdfmAdc[N];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void SdfmGpioInit(void)
|
||||
{
|
||||
@ -369,7 +362,7 @@ void sdfm_check_all_current_measurements_was_done(void)
|
||||
{
|
||||
if((sdfmIndex & SDFM_ALL_CURRENTS) == SDFM_ALL_CURRENTS)
|
||||
{
|
||||
sdfmIndex = 0;
|
||||
sdfmIndex &= ~SDFM_ALL_CURRENTS;
|
||||
if(AllInitDone)
|
||||
{
|
||||
vectorControl(sdfmAdc[SDFM_IA],sdfmAdc[SDFM_IB],sdfmAdc[SDFM_IC],sdfmAdc[SDFM_U_DC]);
|
||||
@ -377,6 +370,18 @@ void sdfm_check_all_current_measurements_was_done(void)
|
||||
}
|
||||
}
|
||||
|
||||
void sdfm_check_brake_measurements_was_done(void)
|
||||
{
|
||||
if((sdfmIndex & SDFM_BIT_BRAKE) == SDFM_BIT_BRAKE)
|
||||
{
|
||||
sdfmIndex &= ~SDFM_BIT_BRAKE;
|
||||
if(AllInitDone)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
__interrupt void Sdfm1_ISR(void)
|
||||
{
|
||||
@ -409,6 +414,7 @@ uint32_t IntFlags;
|
||||
|
||||
Sdfm_clearFlagRegister(SDFM2,IntFlags);
|
||||
sdfm_check_all_current_measurements_was_done();
|
||||
sdfm_check_brake_measurements_was_done();
|
||||
PieCtrlRegs.PIEACK.all = PIEACK_GROUP5;
|
||||
}
|
||||
|
||||
@ -430,6 +436,19 @@ void sdfm_start_conversion_current(void)
|
||||
EDIS;
|
||||
}
|
||||
|
||||
void sdfm_start_conversion_brake(void)
|
||||
{
|
||||
sdfmIndex = 0;
|
||||
|
||||
EALLOW;
|
||||
Sdfm1Regs.SDIFLGCLR.all = 0xFFFFFFFF;
|
||||
Sdfm2Regs.SDIFLGCLR.all = 0xFFFFFFFF;
|
||||
SDCPARM_Reg_arr[SDFM_BRAKE]->bit.MFIE = 1;
|
||||
SDDFPARM_Reg_arr[SDFM_BRAKE]->bit.AE = 1;
|
||||
|
||||
EDIS;
|
||||
}
|
||||
|
||||
int16_t sdfm_get(int16_t N)
|
||||
{
|
||||
return sdfmAdc[N];
|
||||
|
||||
@ -24,6 +24,8 @@
|
||||
#define SDFM_BIT_IB (1<<SDFM_IB)
|
||||
#define SDFM_BIT_IC (1<<SDFM_IC)
|
||||
#define SDFM_BIT_U (1<<SDFM_U_DC)
|
||||
#define SDFM_BIT_BRAKE (1<<SDFM_BRAKE)
|
||||
|
||||
|
||||
#define SDFM_ALL_CURRENTS (SDFM_BIT_IA | SDFM_BIT_IB | SDFM_BIT_IC | SDFM_BIT_U)
|
||||
|
||||
@ -50,6 +52,7 @@ void SdfmInit(void);
|
||||
void sdfm_start_conversion_current(void);
|
||||
int16_t sdfm_get(int16_t N);
|
||||
void SdfmTypeInit(void);
|
||||
void sdfm_start_conversion_brake(void);
|
||||
|
||||
|
||||
|
||||
|
||||
@ -86,7 +86,6 @@ void InitPerif(void)
|
||||
temperatureInit();
|
||||
#endif
|
||||
|
||||
faultInit();
|
||||
rele_initRele();
|
||||
|
||||
//
|
||||
@ -96,7 +95,7 @@ void InitPerif(void)
|
||||
ERTM; // Enable Global realtime interrupt DBGM
|
||||
|
||||
I2CMasterInit(I2C_OWN_ADDRESS,I2C_FAULT_SLAVE_ADDRESS);
|
||||
|
||||
faultInit();
|
||||
|
||||
|
||||
|
||||
|
||||
@ -151,6 +151,7 @@ void vectorControl(int16_t CurrentA, int16_t CurrentB, int16_t CurrentC, int16_t
|
||||
BissStartSet();
|
||||
FMSTREnableSet();
|
||||
AdcStartSet();
|
||||
sdfm_start_conversion_brake();
|
||||
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user