Улушения:
- логики дма (только по полному заполнению) - фильтров - расчетов действующих значений - параметров (сатурация, сделан параметр время нарастания пуска Tnt, добавлен параметр скважность пачки импульсов)
This commit is contained in:
@@ -97,12 +97,14 @@
|
||||
|
||||
|
||||
#define BENCH_TIME_ENABLE ///< Включить бенч времени
|
||||
#define BENCH_TIME_MAX_CHANNELS 5 ///< Максимальное количество каналов измерения
|
||||
#define BENCH_TIME_MAX_CHANNELS 6 ///< Максимальное количество каналов измерения
|
||||
|
||||
#define BT_SLOWCALC 0
|
||||
#define BT_ADC 1
|
||||
#define BT_PWM 2
|
||||
#define BT_SYSTICK 3
|
||||
#define BT_SLOWCALC_PRD 0
|
||||
#define BT_SLOWCALC 1
|
||||
#define BT_ADC 2
|
||||
#define BT_ADC_PRD 3
|
||||
#define BT_PWM 4
|
||||
#define BT_SYSTICK 5
|
||||
/** GEN_CONFIG
|
||||
* @}
|
||||
*/
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
/* Параметры ПУИ */
|
||||
#define PUI_Iref_PERCENT_DEFAULT 1.5
|
||||
#define PUI_Tnt_MS_DEFAULT 300
|
||||
#define PUI_Tnt_CalcAlpha(...) FilterExp_CalcAlpha95(__VA_ARGS__) ///< Уровень в процентах, до куда нарастет ток за время Tnt
|
||||
#define PUI_Umin_PERCENT_DEFAULT 0.8
|
||||
#define PUI_Umax_PERCENT_DEFAULT 1.2
|
||||
#define PUI_Imax_PERCENT_DEFAULT 0.99
|
||||
@@ -83,7 +84,6 @@
|
||||
#define ANGLE_PID_KP_COEF_DEFAULT 0.0001
|
||||
#define ANGLE_PID_KI_COEF_DEFAULT 0.0001
|
||||
#define ANGLE_PID_KD_COEF_DEFAULT 0
|
||||
#define ANGLE_REF_TAU_COEF_DEFAULT 20.0
|
||||
|
||||
/* Параметри мониторинга сети */
|
||||
#define PM_EXP_TAU_COEF_DEFAULT 0.05
|
||||
@@ -99,8 +99,9 @@
|
||||
#define ZERO_CROSS_DEBOUNCE_CNT_DEFAULT 2*100 // (2.5 * 100 = 2.5 мс)
|
||||
|
||||
/* Параметры ШИМ для тиристоров */
|
||||
#define PWM_THYR_FREQUENCY_HZ_DEFAULT 5000
|
||||
#define PWM_THYR_PULSE_NUMBER_DEFAULT 5
|
||||
#define PWM_THYR_FREQUENCY_HZ_DEFAULT 16000
|
||||
#define PWM_THYR_DUTY_PERCENT_DEFAULT 0.5
|
||||
#define PWM_THYR_PULSE_NUMBER_DEFAULT 20
|
||||
|
||||
/** //UPP_PARAMS_DEFAULT
|
||||
* @}
|
||||
@@ -115,11 +116,11 @@
|
||||
*/
|
||||
|
||||
/* Периоды обновления всякого */
|
||||
#define PM_ADC_PERIOD_US 30 ///< Период опроса АЦП в мкс
|
||||
#define PM_SLOW_PERIOD_US 500 ///< Период обновления медленных расчетов в мкс (чтобы делилось на @ref PM_ADC_PERIOD_US)
|
||||
#define PM_TEMP_SLOW_PERIOD_MS 1000 ///< Период опроса АЦП в мс
|
||||
#define PM_F_SLOW_PERIOD_MS 40 ///< Период обновления частоты в мс
|
||||
#define UPP_INIT_BEFORE_READY_MS 2000 ///< Сколько сканировать сеть, перед выставлением состояния готовности
|
||||
#define PM_ADC_PERIOD_US 25 ///< Период опроса АЦП в мкс
|
||||
#define PM_SLOW_PERIOD_US 500 ///< Период обновления медленных расчетов в мкс (чтобы делилось на @ref PM_ADC_PERIOD_US)
|
||||
#define PM_TEMP_SLOW_PERIOD_MS 1000 ///< Период обновлениия (фильтрации) датчиков температуры в мс
|
||||
#define PM_F_SLOW_PERIOD_MS 40 ///< Период обновления (фильтрации) частоты в мс
|
||||
#define UPP_INIT_BEFORE_READY_MS 2000 ///< Сколько сканировать сеть, перед выставлением состояния готовности
|
||||
|
||||
/* Частоты таймеров в МГц*/
|
||||
#define PWM_TIM1_FREQ_MHZ 180 ///< Частота тиков таймера ШИМ (1-4 каналы)
|
||||
@@ -128,19 +129,32 @@
|
||||
#define ADC_TIM3_FREQ_MZH 90 ///< Частота тиков таймера АЦП
|
||||
#define ANGLE_TIM2_FREQ_MHZ 90 ///< Частота тиков таймера отсчета угла открытия тиристоров
|
||||
|
||||
/** //UPP_COMPILED_PARAMS
|
||||
* @}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
// ===== ОТЛАДОЧНЫЕ ШТУКИ ДЛЯ 417 ======
|
||||
#if defined(STM32F417xx)
|
||||
|
||||
// У старой платы УПП другие диапазоны датчиков
|
||||
#undef ADC_U_MAX_V_DEFAULT
|
||||
#undef ADC_I_MAX_A_DEFAULT
|
||||
|
||||
#define ADC_U_MAX_V_DEFAULT 707.11
|
||||
#define ADC_I_MAX_A_DEFAULT 424.26
|
||||
|
||||
|
||||
|
||||
// У 417 меньше частота поэтому меняем прескалер
|
||||
#undef PWM_TIM1_FREQ_MHZ
|
||||
#undef PWM_TIM8_FREQ_MHZ
|
||||
#undef US_TIM5_FREQ_MHZ
|
||||
#undef ADC_TIM3_FREQ_MZH
|
||||
#undef ANGLE_TIM2_FREQ_MHZ
|
||||
|
||||
// У 417 меньше частота поэтому меняем прескалер
|
||||
#define PWM_TIM1_FREQ_MHZ 168 ///< Частота тиков таймера ШИМ (1-4 каналы)
|
||||
#define PWM_TIM8_FREQ_MHZ 168 ///< Частота тиков таймера ШИМ (5-6 каналы)
|
||||
#define US_TIM5_FREQ_MHZ 84 ///< Частота тиков микросекундного таймера
|
||||
@@ -148,9 +162,10 @@
|
||||
#define ANGLE_TIM2_FREQ_MHZ 84 ///< Частота тиков таймера отсчета угла открытия тиристоров
|
||||
|
||||
#define HAL_PWREx_EnableOverDrive() HAL_ERROR
|
||||
#endif
|
||||
// ===== ОТЛАДОЧНЫЕ ШТУКИ ДЛЯ MATLAB ======
|
||||
|
||||
#endif //defined(STM32F417xx)
|
||||
|
||||
// ===== ОТЛАДОЧНЫЕ ШТУКИ ДЛЯ MATLAB ======
|
||||
#if defined(MATLAB)
|
||||
#undef UPP_INIT_BEFORE_READY_MS
|
||||
|
||||
@@ -158,8 +173,5 @@
|
||||
#define UPP_INIT_BEFORE_READY_MS 100 ///< Сколько сканировать сеть, перед выставлением состояния готовности
|
||||
|
||||
|
||||
#endif
|
||||
/** //UPP_COMPILED_PARAMS
|
||||
* @}
|
||||
*/
|
||||
#endif //defined(MATLAB)
|
||||
#endif //_UPP_CONFIG_H_
|
||||
|
||||
@@ -158,8 +158,7 @@ typedef struct {
|
||||
/* Перерасчеты в тики */
|
||||
#define ANGLE_PERIOD_MS(_freq_) (((float)1/(_freq_*2))*1000) ///< Период обновления частоты в тиках @ref PM_SLOW_PERIOD_CNT
|
||||
|
||||
/* Расчет коэффициента альфа для экспоненциального фильтра */
|
||||
#define CALC_TAU_COEF(tau, TsUs) (((float)TsUs/1000000) / (((float)TsUs/1000000) + (tau)))
|
||||
#define SQRT2 1.4142135
|
||||
|
||||
/* Дефайны для "удобного" доступа к структурам */
|
||||
#define PARAM_INTERNAL MB_INTERNAL.param
|
||||
|
||||
Reference in New Issue
Block a user