From 2775e0a9b696b06a5b6a74122c1e895feddcf92f Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Tue, 2 Dec 2025 18:40:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20True=20RMS=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80=20?= =?UTF-8?q?=D0=B8=20=D0=BE=D0=BF=D1=82=D0=B8=D0=BC=D0=B8=D0=B7=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Drivers/CMSIS/arm_defines.h | 2 + MATLAB/upp_init.m | 2 +- MATLAB/upp_r2023.slx | Bin 86448 -> 86227 bytes UPP/AllLibs/MyLibs | 2 +- UPP/Core/Configs/upp_config.h | 4 +- UPP/Core/PowerMonitor/adc_tools.c | 109 +++----- UPP/Core/PowerMonitor/adc_tools.h | 11 +- UPP/Core/PowerMonitor/power_monitor.c | 36 ++- UPP/Core/PowerMonitor/power_monitor.h | 31 ++- UPP/Core/UPP/angle_control.c | 16 +- UPP/Core/UPP/upp_params.c | 23 +- UPP/Core/UPP/upp_params.h | 3 +- UPP/MDK-ARM/UPP.uvoptx | 2 +- UPP/MDK-ARM/UPP.uvprojx | 255 ++++++++++++++++++ 14 files changed, 366 insertions(+), 130 deletions(-) diff --git a/MATLAB/MCU_STM32_Matlab/Drivers/CMSIS/arm_defines.h b/MATLAB/MCU_STM32_Matlab/Drivers/CMSIS/arm_defines.h index 435f76c..fae0001 100644 --- a/MATLAB/MCU_STM32_Matlab/Drivers/CMSIS/arm_defines.h +++ b/MATLAB/MCU_STM32_Matlab/Drivers/CMSIS/arm_defines.h @@ -3,6 +3,8 @@ #include "dsp/none.h" #endif +#define _sqrtf(...) sqrtf(__VA_ARGS__) + #define __disable_irq() #ifndef __ASM diff --git a/MATLAB/upp_init.m b/MATLAB/upp_init.m index a281ef9..ad6a586 100644 --- a/MATLAB/upp_init.m +++ b/MATLAB/upp_init.m @@ -5,7 +5,7 @@ VadcMax = 1216; Ts = 5e-6; Vnom = 400; -Inom = 30; +Inom = 15; Fnom = 50; Temperature1 = 2.22; % 20 градусов diff --git a/MATLAB/upp_r2023.slx b/MATLAB/upp_r2023.slx index 28f1a56224e04b47d25b0d022b318cfe609b5a42..079c8d805e1d28a594bcf0cd899d4cbc5a1a1b25 100644 GIT binary patch delta 60000 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 z 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 Ir2oPH4||L)9{>OV delta 60228 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 OP89$e?6&kjX8u3=O8C71 diff --git a/UPP/AllLibs/MyLibs b/UPP/AllLibs/MyLibs index c5a01c5..1f7384c 160000 --- a/UPP/AllLibs/MyLibs +++ b/UPP/AllLibs/MyLibs @@ -1 +1 @@ -Subproject commit c5a01c56acd851843edc478bd65c7f276a9ac8e3 +Subproject commit 1f7384c5edc30469217ca49c6489bdab13460320 diff --git a/UPP/Core/Configs/upp_config.h b/UPP/Core/Configs/upp_config.h index a66829e..17730c6 100644 --- a/UPP/Core/Configs/upp_config.h +++ b/UPP/Core/Configs/upp_config.h @@ -35,6 +35,7 @@ //#define UPP_SIMULATE_I ///< Симулировт токи (Iref/2) а не брать с АЦП #define UPP_DISABLE_PROTECT_BOARDPOWER ///< Отключить проверки питания плат (+24, +5 В) #define UPP_DISABLE_PROTECT_LOSS_PHASE ///< Отключить проверки на потерянные фазы +//#define UPP_ANGLE_COSINE ///< Расчет угла через acos, а не линейно /** * @addtogroup UPP_PARAMS_DEFAULT Default params for external flash @@ -86,7 +87,8 @@ #define ANGLE_PID_KD_COEF_DEFAULT 0 /* Параметри мониторинга сети */ -#define PM_EXP_TAU_COEF_DEFAULT 0.2 +#define PM_RMS_WINDOW_PERIOD_US_DEFAULT 20000 +#define PM_RMS_EXT_TAU_US_DEFAULT 0.2 /* Параметры АЦП */ #define ADC_U_MAX_V_DEFAULT 1216.0 diff --git a/UPP/Core/PowerMonitor/adc_tools.c b/UPP/Core/PowerMonitor/adc_tools.c index 1d48798..5d16446 100644 --- a/UPP/Core/PowerMonitor/adc_tools.c +++ b/UPP/Core/PowerMonitor/adc_tools.c @@ -81,7 +81,6 @@ HAL_StatusTypeDef ADC_ConfigChannel(ADC_Periodic_t *adc, int ChNumb, uint16_t le adc->Coefs[ChNumb].vMax = valueMax; adc->Coefs[ChNumb].lZero = levelZero; - ADC_ResetStatistics(adc, ChNumb); return HAL_OK; } @@ -140,11 +139,40 @@ HAL_StatusTypeDef ADC_Stop(ADC_Periodic_t *adc) } + +/** + * @brief Обновление температур АЦП. + * @return HAL Status. + */ +HAL_StatusTypeDef ADC_UpdateTemperatures(ADC_Periodic_t *adc) +{ + if(assert_upp(adc)) + return HAL_ERROR; + + float *data = adc->Data; + uint16_t *raw = adc->RawData; + + // Фильтрация от импульсных шумов для каналов напряжения/токов + for(int i = ADC_TEMP_CHANNELS_START; i < ADC_NUMB_OF_CHANNELS; i++) + { + // заменяем сырые данные на отфильтрованные данные + raw[i] = Filter_Process(&adc->filter[i], raw[i]); + } + + // Преобразования температуры по таблице + for (int i = ADC_TEMP_CHANNELS_START; i < ADC_NUMB_OF_CHANNELS; i++) + { + data[i] = Filter_Process(&adc->temp_map[i-ADC_TEMP_CHANNELS_START], raw[i]); + } + return HAL_OK; +} + + /** * @brief Обработка АЦП. * @return HAL Status. - * @details По факту остановка таймера, который запускает АЦП. Сам АЦП продолжает работу. - * @note Вызывается в DMA2_Stream0_IRQHandler() для обработки всего, что пришло по DMA. + * @note Вызывается в DMA2_Stream0_IRQHandler() для обработки напряжений/токов, + которые пришли по DMA. */ HAL_StatusTypeDef ADC_Handle(ADC_Periodic_t *adc) { @@ -155,14 +183,11 @@ HAL_StatusTypeDef ADC_Handle(ADC_Periodic_t *adc) uint16_t *raw = adc->RawData; float *data = adc->Data; -// // Фильтрация от импульсных шумов для всех каналов + // Фильтрация от импульсных шумов для каналов напряжения/токов for(int i = 0; i < ADC_NUMB_OF_CHANNELS; i++) { - if(Filter_isEnable(&adc->filter[i])) - { - // заменяем сырые данные на отфильтрованные данные - raw[i] = Filter_Process(&adc->filter[i], raw[i]); - } + // заменяем сырые данные на отфильтрованные данные + raw[i] = Filter_Process(&adc->filter[i], raw[i]); } // Перерасчеты Напряжений/Токов в единицы измерения @@ -172,75 +197,9 @@ HAL_StatusTypeDef ADC_Handle(ADC_Periodic_t *adc) data[i] = ((float)(raw[i])-coefs->lZero) * coefs->vMax / (coefs->lMax-coefs->lZero); } - // Преобразования температуры по таблице - for (int i = ADC_TEMP_CHANNELS_START; i < ADC_NUMB_OF_CHANNELS; i++) - { - data[i] = Filter_Process(&adc->temp_map[i-ADC_TEMP_CHANNELS_START], raw[i]); - } if(Filter_isDataReady(&adc->filter[0])) adc->f.DataReady = 1; return HAL_OK; } - - -/** - * @brief Сбор статистики. - */ -void ADC_UpdateStatistics(ADC_Periodic_t *adc, uint8_t channel, ADC_StatLevel_t level) -{ - if (level < ADC_LEVEL_BASE) - return; - if(assert_upp(adc)) - return; - if (channel >= ADC_NUMB_OF_REGULAR_CHANNELS) - return; - - - ADC_Statistics *stat = &adc->Stat[channel]; - float value = adc->Data[channel]; - - // Первая инициализация - if (stat->SampleCount == 0) { - stat->Max = value; - stat->Min = value; - stat->Sum = 0; - stat->SumSquares = 0; - } - - // Обновление min/max - if (value > stat->Max) stat->Max = value; - if (value < stat->Min) stat->Min = value; - - // если не выбраны характеристики переменного сигнала - уходим - if(level < ADC_LEVEL_AC) - { - return; - } - - // Накопление для Avg/RMS - stat->Sum += fabsf(value); - stat->SumSquares += value * value; - stat->SampleCount++; - - // Расчет Avg/RMS (периодически или по запросу) - if (stat->SampleCount >= 4000) { // Пример: пересчет каждые 1000 samples - stat->Avg = stat->Sum / stat->SampleCount; - stat->RMS = sqrtf(stat->SumSquares / stat->SampleCount); - // Сброс накопителей - stat->Sum = 0; - stat->SumSquares = 0; - stat->SampleCount = 0; - } -} - -/** - * @brief Сброс статистики. - */ -void ADC_ResetStatistics(ADC_Periodic_t *adc, uint8_t channel) -{ - if (channel < ADC_NUMB_OF_REGULAR_CHANNELS) { - memset(&adc->Stat[channel], 0, sizeof(ADC_Statistics)); - } -} diff --git a/UPP/Core/PowerMonitor/adc_tools.h b/UPP/Core/PowerMonitor/adc_tools.h index 2367f97..1f51105 100644 --- a/UPP/Core/PowerMonitor/adc_tools.h +++ b/UPP/Core/PowerMonitor/adc_tools.h @@ -53,7 +53,7 @@ static const float adc_temp_quants[] = ADC_TEMPERATURES_QUANTS; #define Filter_t FilterMedianInt_t #define Filter_Init FilterMedianInt_Init -#define Filter_Initializator 10, 2048 +#define Filter_Initializator 5, 2048 /** * @brief Коэфициенты канала АЦП для пересчета в единицы измерения @@ -105,7 +105,6 @@ typedef struct FilterLUT_t temp_map[2]; ///< Коррекция нелинейности датчиков температуры float Data[ADC_NUMB_OF_CHANNELS]; ///< Пересчитанные значения АЦП (в Вольтах/Амперах) - ADC_Statistics Stat[ADC_NUMB_OF_REGULAR_CHANNELS]; ///< Статистика для регулярных каналов (не температуры) struct { @@ -126,13 +125,9 @@ HAL_StatusTypeDef ADC_ConfigChannel(ADC_Periodic_t *adc, int ChNumb, uint16_t le HAL_StatusTypeDef ADC_Start(ADC_Periodic_t *adc, float PeriodUs); /* Остановка АЦП. */ HAL_StatusTypeDef ADC_Stop(ADC_Periodic_t *adc); - +/* Обновление температур АЦП. */ +HAL_StatusTypeDef ADC_UpdateTemperatures(ADC_Periodic_t *adc); /* Обработка АЦП после получения данных. */ HAL_StatusTypeDef ADC_Handle(ADC_Periodic_t *adc); -/* Сбор статистики. */ -void ADC_UpdateStatistics(ADC_Periodic_t *adc, uint8_t channel, ADC_StatLevel_t level); -/* Сброс статистики. */ -void ADC_ResetStatistics(ADC_Periodic_t *adc, uint8_t channel); - #endif //_ADC_TOOLS_H_ diff --git a/UPP/Core/PowerMonitor/power_monitor.c b/UPP/Core/PowerMonitor/power_monitor.c index 8cc64b3..c506607 100644 --- a/UPP/Core/PowerMonitor/power_monitor.c +++ b/UPP/Core/PowerMonitor/power_monitor.c @@ -69,12 +69,19 @@ HAL_StatusTypeDef PowerMonitor_Init(PowerMonitor_t *hpm) return HAL_ERROR; - /* Инициализация экпоненциального фильтра медленного алга */ - for(int i = 0; i < EXP_ALL; i++) + /* Инициализация RMS фильтра медленного алга */ + for(int i = 0; i < RMS_ALL; i++) { - if(FilterExp_Init(&hpm->exp[i], u2f(PARAM_INTERNAL.pm.mean_alpha,65535))) + if(FilterRMS_Init(&hpm->rms[i], PARAM_INTERNAL.pm.rms_window_size)) return HAL_ERROR; - Filter_Start(&hpm->exp[i]); + Filter_Start(&hpm->rms[i]); + } + /* Инициализация экпоненциального фильтра медленного алга */ + for(int i = 0; i < RMS_EXP_ALL; i++) + { + if(FilterExp_Init(&hpm->rms_exp[i], u2f(PARAM_INTERNAL.pm.rms_exp_alpha, 65535))) + return HAL_ERROR; + Filter_Start(&hpm->rms_exp[i]); } /* Инициализация среднего фильтра медленного алга */ @@ -137,6 +144,7 @@ void PowerMonitor_SlowCalc(PowerMonitor_t *hpm) PowerMonitor_Measured_t *meas = &hpm->measured; /* Обработка температур */ + ADC_UpdateTemperatures(&hpm->adc); float t1 = hpm->adc.Data[ADC_CHANNEL_TEMP1]; float t2 = hpm->adc.Data[ADC_CHANNEL_TEMP2]; meas->final.T[TEMP_1] = Filter_Process(&hpm->avg[AVG_TEMP1], t1); @@ -161,14 +169,18 @@ void PowerMonitor_SlowCalc(PowerMonitor_t *hpm) fmean += meas->final.F[i]; /* Средниее напряжение фазы */ - uphase_mean = fabsf(meas->slow.U[i]); - uphase_mean = Filter_Process(&hpm->exp[EXP_UAB+i], uphase_mean); - meas->final.U[i] = uphase_mean*PI/2/SQRT2; /*PI/2 - получить амплитудное, SQRT2 - получить действующее */ +// uphase_mean = fabsf(meas->slow.U[i]); +// uphase_mean = Filter_Process(&hpm->rms[RMS_UAB+i], uphase_mean); +// meas->final.U[i] = uphase_mean*PI/2/SQRT2; /*PI/2 - получить амплитудное, SQRT2 - получить действующее */ + uphase_mean = Filter_Process(&hpm->rms[RMS_U+i], meas->slow.U[i]); + meas->final.U[i] = Filter_Process(&hpm->rms_exp[RMS_U+i], uphase_mean); /* Средний ток фазы */ - iphase_mean = fabsf(meas->slow.I[i]); - iphase_mean = Filter_Process(&hpm->exp[EXP_IC+i], iphase_mean)*PI/2; - meas->final.I[i] = iphase_mean*PI/2/SQRT2; /*PI/2 - получить амплитудное, SQRT2 - получить действующее */ +// iphase_mean = fabsf(meas->slow.I[i]); +// iphase_mean = Filter_Process(&hpm->rms[RMS_IC+i], iphase_mean)*PI/2; +// meas->final.I[i] = iphase_mean*PI/2/SQRT2; /*PI/2 - получить амплитудное, SQRT2 - получить действующее */ + iphase_mean = Filter_Process(&hpm->rms[RMS_I+i], meas->slow.I[i]); + meas->final.I[i] = Filter_Process(&hpm->rms_exp[RMS_I+i], iphase_mean); /* Реальные единицы измерения (Вольты/Амперы) */ meas->real.I[i] = meas->final.I[i]*i_base; @@ -190,8 +202,8 @@ void PowerMonitor_SlowCalc(PowerMonitor_t *hpm) /* Расчет амплитуд трехфазной сети */ float uamp = vector_abs_linear_calc(meas->slow.U[U_AB], meas->slow.U[U_CA])/SQRT2; /* SQRT2 - получить действующее */ float iamp = vector_abs_phase_calc(meas->slow.I[I_A], meas->slow.I[I_C])/SQRT2; /* SQRT2 - получить действующее */ - meas->final.Uamp = Filter_Process(&hpm->exp[EXP_U], uamp); - meas->final.Iamp = Filter_Process(&hpm->exp[EXP_I], iamp); + meas->final.Uamp = Filter_Process(&hpm->rms_exp[RMS_EXP_U], uamp);;//Filter_Process(&hpm->rms[RMS_U], uamp); + meas->final.Iamp = Filter_Process(&hpm->rms_exp[RMS_EXP_I], iamp);;//Filter_Process(&hpm->rms[RMS_I], iamp); hpm->slow_cnt++; diff --git a/UPP/Core/PowerMonitor/power_monitor.h b/UPP/Core/PowerMonitor/power_monitor.h index 09e90c4..d00907c 100644 --- a/UPP/Core/PowerMonitor/power_monitor.h +++ b/UPP/Core/PowerMonitor/power_monitor.h @@ -12,17 +12,22 @@ #include "adc_tools.h" #include "zero_cross.h" -/* Индексы экспоненциальных фильтров */ -#define EXP_ALL 8 -#define EXP_U 0 -#define EXP_UAB 1 -#define EXP_UCA 2 -#define EXP_UBC 3 -#define EXP_I 4 -#define EXP_IC 5 -#define EXP_IA 6 -#define EXP_IB 7 +/* Индексы RMS фильтров */ +#define RMS_ALL 6 +#define RMS_U 0 +#define RMS_UAB 0 +#define RMS_UCA 1 +#define RMS_UBC 2 +#define RMS_I 3 +#define RMS_IC 3 +#define RMS_IA 4 +#define RMS_IB 5 +/* Это только сглаживающий, RMS с таким индексом нет */ +#define RMS_EXP_ALL 8 +#define RMS_EXP_U 6 +#define RMS_EXP_I 7 +/* Индексы усредняющих фильтров */ #define AVG_ALL 9 #define AVG_UAB 0 #define AVG_UCA 1 @@ -30,6 +35,7 @@ #define AVG_IA 3 #define AVG_TEMP1 4 #define AVG_TEMP2 5 +#define AVG_F 6 #define AVG_FAB 6 #define AVG_FCA 7 #define AVG_FBC 8 @@ -99,8 +105,9 @@ typedef struct PowerMonitor_Measured_t measured; ///< Измеренные/рассчитанные величины - FilterExp_t exp[EXP_ALL]; ///< Фильтры для сглаживания мговенного значения Напряжения/Токов - FilterAverage_t avg[AVG_ALL]; ///< Фильтры для сглаживания медленных величин АЦП + FilterRMS_t rms[RMS_ALL]; ///< Фильтры для расчета действующего значения Напряжения/Токов + FilterExp_t rms_exp[RMS_EXP_ALL]; ///< Фильтры для сглаживания действующего значения Напряжения/Токов +2 для результируюзих U, I + FilterAverage_t avg[AVG_ALL]; ///< Фильтры для сглаживания медленных величин АЦП PowerMonitor_Flags_t f; ///< Флаги мониторинга uint32_t isr_cnt; diff --git a/UPP/Core/UPP/angle_control.c b/UPP/Core/UPP/angle_control.c index 2e4ccaf..6370775 100644 --- a/UPP/Core/UPP/angle_control.c +++ b/UPP/Core/UPP/angle_control.c @@ -139,10 +139,14 @@ HAL_StatusTypeDef Angle_SetAngle(Angle_Handle_t *hangle, float OpenLevel) return HAL_ERROR; /* Приводим уровень открытия к косинусу [-1:1]*/ +#ifdef UPP_ANGLE_COSINE float OpenLevelForCos = (OpenLevel*2)-1; float alpha_rad = acosf(OpenLevelForCos); // угол в радианах float alpha = alpha_rad/PI* hangle->Config.PeriodLimit; // время открытие в процентах от периода - когда открыть +#else + float alpha = (1-OpenLevel) * hangle->Config.PeriodLimit; // время открытие в процентах от периода - когда открыть +#endif if(alpha > hangle->Config.AngleMax) alpha = hangle->Config.AngleMax; @@ -313,11 +317,6 @@ HAL_StatusTypeDef Angle_SetLimit(Angle_Handle_t *hangle, float PeriodLimit) return HAL_ERROR; hangle->Config.PeriodLimit = PeriodLimit; - - if (hangle->Config.AngleMax > hangle->Config.PeriodLimit) - hangle->Config.AngleMax = hangle->Config.PeriodLimit; - if (hangle->Config.AngleMin > hangle->Config.PeriodLimit) - hangle->Config.AngleMin = hangle->Config.PeriodLimit; return HAL_OK; } @@ -341,12 +340,7 @@ HAL_StatusTypeDef Angle_SetRange(Angle_Handle_t *hangle, float AngleMin, float A return HAL_ERROR; if(AngleMin < 0 || AngleMin > 1) return HAL_ERROR; - - if(AngleMax > hangle->Config.PeriodLimit) - AngleMax = hangle->Config.PeriodLimit; - if(AngleMin > hangle->Config.PeriodLimit) - AngleMin = hangle->Config.PeriodLimit; - + if(AngleMin >= AngleMax) return HAL_ERROR; diff --git a/UPP/Core/UPP/upp_params.c b/UPP/Core/UPP/upp_params.c index 2960e55..e92eae6 100644 --- a/UPP/Core/UPP/upp_params.c +++ b/UPP/Core/UPP/upp_params.c @@ -127,7 +127,8 @@ void UPP_Params_ControlInternal(void) float pwm_duty = upp.hpwm.Config.Duty; uint8_t pwm_pulse_num = upp.hpwm.Config.PulseNumber; // временная переменная для параметров Мониторинга сети - float pm_alpha = upp.pm.exp[0].alpha; + uint16_t pm_rms_widnow_size = upp.pm.rms[0].window_size; + float pm_rms_exp_alpha = upp.pm.rms_exp[0].alpha; @@ -201,15 +202,22 @@ void UPP_Params_ControlInternal(void) } // Параметры мониторинга - if(__CheckParamF(&pm_alpha, PARAM_INTERNAL.pm.mean_alpha, 65535)) + if(__CheckParamU16(&pm_rms_widnow_size, PARAM_INTERNAL.pm.rms_window_size)) { - for(int i = 0; i < EXP_ALL; i++) + for(int i = 0; i < RMS_ALL; i++) { - Filter_ReInit(&upp.pm.exp[i], pm_alpha); - Filter_Start(&upp.pm.exp[i]); + Filter_ReInit(&upp.pm.rms[i], pm_rms_widnow_size); + Filter_Start(&upp.pm.rms[i]); + } + } + if(__CheckParamF(&pm_rms_exp_alpha, PARAM_INTERNAL.pm.rms_exp_alpha, 65535)) + { + for(int i = 0; i < RMS_EXP_ALL; i++) + { + Filter_ReInit(&upp.pm.rms_exp[i], pm_rms_exp_alpha); + Filter_Start(&upp.pm.rms_exp[i]); } } - // Обновление регулятора угла открытия @@ -345,7 +353,8 @@ void UPP_Params_SetDefault(int pui_default, int internal_default) PARAM_INTERNAL.nominal.F_deviation_minus = NOM_F_DEVIATION_MINUS_PERCENT_DEFAULT*100; PARAM_INTERNAL.nominal.I = NOM_I_A_DEFAULT*10; - PARAM_INTERNAL.pm.mean_alpha = FilterExp_CalcAlpha(PM_EXP_TAU_COEF_DEFAULT,PM_SLOW_PERIOD_US)*65535; + PARAM_INTERNAL.pm.rms_window_size = PM_RMS_WINDOW_PERIOD_US_DEFAULT/PM_SLOW_PERIOD_US; + PARAM_INTERNAL.pm.rms_exp_alpha = FilterExp_CalcAlpha98(PM_RMS_EXT_TAU_US_DEFAULT, PM_SLOW_PERIOD_US)*65535; PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_UBA] = ADC_U_MAX_V_DEFAULT*10; PARAM_INTERNAL.adc.ADC_Max[ADC_CHANNEL_UAC] = ADC_U_MAX_V_DEFAULT*10; diff --git a/UPP/Core/UPP/upp_params.h b/UPP/Core/UPP/upp_params.h index 746f673..402618e 100644 --- a/UPP/Core/UPP/upp_params.h +++ b/UPP/Core/UPP/upp_params.h @@ -49,7 +49,8 @@ typedef struct struct { - uint16_t mean_alpha; ///< Коэф альфа для усредняющего эксп. фильтра [0..1 x 65535] + uint16_t rms_window_size; ///< Размер окна для RMS + uint16_t rms_exp_alpha; ///< Постоянная времени для сглаживания RMS }pm; UPP_ParamsNominal_t nominal; diff --git a/UPP/MDK-ARM/UPP.uvoptx b/UPP/MDK-ARM/UPP.uvoptx index 29b71b0..c3a2b14 100644 --- a/UPP/MDK-ARM/UPP.uvoptx +++ b/UPP/MDK-ARM/UPP.uvoptx @@ -360,7 +360,7 @@ 6 1 - sysclockfreq,0x0A + hbt,0x0A 7 diff --git a/UPP/MDK-ARM/UPP.uvprojx b/UPP/MDK-ARM/UPP.uvprojx index 70d41f4..3def99e 100644 --- a/UPP/MDK-ARM/UPP.uvprojx +++ b/UPP/MDK-ARM/UPP.uvprojx @@ -1506,6 +1506,57 @@ power_monitor.c 1 ..\Core\PowerMonitor\power_monitor.c + + + 2 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 5 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + power_monitor.h @@ -1516,6 +1567,57 @@ zero_cross.c 1 ..\Core\PowerMonitor\zero_cross.c + + + 2 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 5 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + zero_cross.h @@ -1526,6 +1628,57 @@ adc_tools.c 1 ..\Core\PowerMonitor\adc_tools.c + + + 2 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 5 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + adc_tools.h @@ -1536,6 +1689,57 @@ phases_transform.c 1 ..\Core\PowerMonitor\phases_transform.c + + + 2 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 5 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + phases_transform.h @@ -1666,6 +1870,57 @@ filters.c 1 ..\AllLibs\MyLibs\MyLibs\Src\filters.c + + + 2 + 0 + 0 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + 11 + + + 1 + + + + 2 + 5 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 0 + 2 + 2 + 2 + 2 + 2 + 0 + 0 + 2 + 2 + 2 + 2 + 2 + + + + + + + + + filters.h