V1.5: 功率零漂处理(死区2W以下显示0+超过后减0.5W偏移,宏HLW_P_DEAD_W/HLW_P_ZERO_W)

This commit is contained in:
helei 2026-08-15 06:45:49 +08:00
parent b307ba2e16
commit d51dbb8ce3
2 changed files with 7 additions and 1 deletions

View File

@ -189,7 +189,9 @@ float hlw8032_get_current_a(void)
float hlw8032_get_power_w(void)
{
if (!s_p_reg) return 0.0f;
return (float)((double)s_power_par / (double)s_p_reg * HLW_U_COEF * HLW_I_COEF);
float w = (float)((double)s_power_par / (double)s_p_reg * HLW_U_COEF * HLW_I_COEF);
if (w < HLW_P_DEAD_W) return 0.0f; /* 死区:空载噪声底显示 0 */
return w - HLW_P_ZERO_W;
}
/*==== 在线判断1s 内收到过有效帧 ====*/

View File

@ -72,6 +72,10 @@ extern UART_HandleTypeDef huart3;
/* 电流零点偏移(A):空载时电流通道的零漂读数,显示时减去并钳位到 0。
* / CT */
#define HLW_I_ZERO_A 0.02f
/* 功率零漂处理:空载噪声底约 0.4~2W 且会跳动,单纯减偏移压不住尖峰。
* 0 */
#define HLW_P_DEAD_W 2.0f /* 功率死区(W):低于此值显示 0 */
#define HLW_P_ZERO_W 0.5f /* 功率偏移(W):超过死区后减去 */
/*===== 蓝牙 GATT UUID 配置(透传服务)=====
* BLE_UUID_CUSTOM = 1 UUID