Измерение тока тормоза
This commit is contained in:
parent
df31f6a61d
commit
05542beb04
@ -11,7 +11,7 @@
|
|||||||
#include "gpio_init.h"
|
#include "gpio_init.h"
|
||||||
#include "sdfm.h"
|
#include "sdfm.h"
|
||||||
#include "vector.h"
|
#include "vector.h"
|
||||||
#include"frm_uart.h"
|
#include "frm_uart.h"
|
||||||
//
|
//
|
||||||
// Defines
|
// Defines
|
||||||
//
|
//
|
||||||
@ -110,13 +110,6 @@ volatile float CurrentFactorMotor = FACTOR_CURRENT_MOTOR*32767.0;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
int16_t SdfmGetChannel(int16_t N)
|
|
||||||
{
|
|
||||||
return sdfmAdc[N];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void SdfmGpioInit(void)
|
void SdfmGpioInit(void)
|
||||||
{
|
{
|
||||||
@ -369,7 +362,7 @@ void sdfm_check_all_current_measurements_was_done(void)
|
|||||||
{
|
{
|
||||||
if((sdfmIndex & SDFM_ALL_CURRENTS) == SDFM_ALL_CURRENTS)
|
if((sdfmIndex & SDFM_ALL_CURRENTS) == SDFM_ALL_CURRENTS)
|
||||||
{
|
{
|
||||||
sdfmIndex = 0;
|
sdfmIndex &= ~SDFM_ALL_CURRENTS;
|
||||||
if(AllInitDone)
|
if(AllInitDone)
|
||||||
{
|
{
|
||||||
vectorControl(sdfmAdc[SDFM_IA],sdfmAdc[SDFM_IB],sdfmAdc[SDFM_IC],sdfmAdc[SDFM_U_DC]);
|
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)
|
__interrupt void Sdfm1_ISR(void)
|
||||||
{
|
{
|
||||||
@ -409,6 +414,7 @@ uint32_t IntFlags;
|
|||||||
|
|
||||||
Sdfm_clearFlagRegister(SDFM2,IntFlags);
|
Sdfm_clearFlagRegister(SDFM2,IntFlags);
|
||||||
sdfm_check_all_current_measurements_was_done();
|
sdfm_check_all_current_measurements_was_done();
|
||||||
|
sdfm_check_brake_measurements_was_done();
|
||||||
PieCtrlRegs.PIEACK.all = PIEACK_GROUP5;
|
PieCtrlRegs.PIEACK.all = PIEACK_GROUP5;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -430,6 +436,19 @@ void sdfm_start_conversion_current(void)
|
|||||||
EDIS;
|
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)
|
int16_t sdfm_get(int16_t N)
|
||||||
{
|
{
|
||||||
return sdfmAdc[N];
|
return sdfmAdc[N];
|
||||||
|
|||||||
@ -24,6 +24,8 @@
|
|||||||
#define SDFM_BIT_IB (1<<SDFM_IB)
|
#define SDFM_BIT_IB (1<<SDFM_IB)
|
||||||
#define SDFM_BIT_IC (1<<SDFM_IC)
|
#define SDFM_BIT_IC (1<<SDFM_IC)
|
||||||
#define SDFM_BIT_U (1<<SDFM_U_DC)
|
#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)
|
#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);
|
void sdfm_start_conversion_current(void);
|
||||||
int16_t sdfm_get(int16_t N);
|
int16_t sdfm_get(int16_t N);
|
||||||
void SdfmTypeInit(void);
|
void SdfmTypeInit(void);
|
||||||
|
void sdfm_start_conversion_brake(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -86,7 +86,6 @@ void InitPerif(void)
|
|||||||
temperatureInit();
|
temperatureInit();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
faultInit();
|
|
||||||
rele_initRele();
|
rele_initRele();
|
||||||
|
|
||||||
//
|
//
|
||||||
@ -96,7 +95,7 @@ void InitPerif(void)
|
|||||||
ERTM; // Enable Global realtime interrupt DBGM
|
ERTM; // Enable Global realtime interrupt DBGM
|
||||||
|
|
||||||
I2CMasterInit(I2C_OWN_ADDRESS,I2C_FAULT_SLAVE_ADDRESS);
|
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();
|
BissStartSet();
|
||||||
FMSTREnableSet();
|
FMSTREnableSet();
|
||||||
AdcStartSet();
|
AdcStartSet();
|
||||||
|
sdfm_start_conversion_brake();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user