matlab_23550/Inu/Src2/main/break_regul.h

71 lines
1.9 KiB
C

#ifndef _BREAK_REGUL_H
#define _BREAK_REGUL_H
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
unsigned int pwm_tics;
unsigned int pwm_minimal_tics;
unsigned int pwm_max_tics;
} BREAK_REGUL;
#define BREAK_REGUL_DEFAULTS {0,0,0}
#define BREAK_INSENSITIVE_LEVEL_MIN 279620 //50V
#define BREAK_INSENSITIVE_LEVEL_MAX 4194304//500V//5872025//700 V//2516582//300 V//4194304//500 V//2516582 // 838860 //100 V
#define PERCENT_BREAK_MAX 13421772//80 percent
#define PERCENT_BREAK_MIN 838860//5 percent
#define MAX_RECUP_LEVEL 5872025 //700 V
#define K_RECUP_LEVEL 56 //5.6 /// 838860 / 4697620 //700 V
#define MAX_BREAK_IMPULSE 9000
#define RECUP_PERCENT_MIN 10.0
#define RECUP_PERCENT_MAX 90.0
//#define IQ_RECUP_LEVEL_MIN_ACCUM 16777216 //3000V
//#define IQ_RECUP_LEVEL_MAX_ACCUM 17895697 //3200V
#define IQ_RECUP_LEVEL_MIN 15658734L //2800V //15099494L //2700V //9507089L //1700V //8947848L //1600V //
#define IQ_RECUP_LEVEL_MAX 16777216L //3000V //16777216L //16217975L //2900V //11184810L //2000V //17895697 //3200V 10066329 //1800V //
#define IQ_DELTA_U_START_RECUP 559240 //100V //279620LL //50V
#define IQ_DELTA_U_MAX_OPEN_BREAK_KEYS 1677721LL//300 V
#define IQ_MIN_VOLTAGE_STOP_RUN 279620L //50V
#define IQ_MAX_VOLTAGE_STOP_RUN 16777216L //3000V
#define BRK_STOP_RUN_PERCENT_MIN 5
#define BRK_STOP_RUN_PERCENT_MAX 50
//int break_resistor_managment_calc(int flag_on_off);
void break_resistor_managment_calc(void);
void break_resistor_managment_init(unsigned int freq_pwm);
void break_resistor_managment_update(void);
void break_resistor_recup_calc(_iq Uzpt_nominal);
void break_resistor_set_closed(void);
_iq calc_stop_run_recup(_iq voltage);
//extern PIDREG3 break_struct_1;
//extern PIDREG3 break_struct_2;
extern _iq break_result_1;
extern _iq break_result_2;
extern _iq break_result_3;
extern _iq break_result_4;
extern _iq kp_break;
#ifdef __cplusplus
}
#endif
#endif /* _BREAK_REGUL_H */