V1.5: 电能/功率上报改固定每3分钟一次(不按功率阈值区分)

This commit is contained in:
helei 2026-08-23 07:42:21 +08:00
parent 70772f021e
commit e22bf71318
4 changed files with 12 additions and 13 deletions

View File

@ -355,10 +355,9 @@ static void oled_home_refresh(uint32_t up_ms)
}
}
/* 电能上报策略:功率 > 10W 时每 30s 上报一次;<=10W 仅首次联网报一次
* energy 10s */
#define ENERGY_REPORT_INTERVAL_MS 30000u
#define ENERGY_REPORT_POWER_W 10.0f
/* 电能上报策略:无论功率多少,每 3 分钟上报一次energy+power 同一条报文)。
* 10s */
#define ENERGY_REPORT_INTERVAL_MS 180000u
/*==== sys_task系统辅助LED/电量/蓝牙命令/运行时长)====*/
static void sys_task(void *arg)
@ -426,8 +425,7 @@ static void sys_task(void *arg)
if (!energy_first_reported) {
report = 1;
energy_first_reported = 1;
} else if (pw > ENERGY_REPORT_POWER_W &&
(HAL_GetTick() - energy_report_tick) >= ENERGY_REPORT_INTERVAL_MS) {
} else if ((HAL_GetTick() - energy_report_tick) >= ENERGY_REPORT_INTERVAL_MS) {
report = 1;
}
if (report) {

View File

@ -54,14 +54,14 @@ extern UART_HandleTypeDef huart3;
//#define MQTT_PASSWORD "b612c2839c135934"
////RTOS版-投料机-无蠕变磅秤-01
#define MQTT_CLIENT_ID "46c080c385c3652e"
#define MQTT_USERNAME "766990788193702677"
#define MQTT_PASSWORD "6ae9622b7034326b"
//#define MQTT_CLIENT_ID "46c080c385c3652e"
//#define MQTT_USERNAME "766990788193702677"
//#define MQTT_PASSWORD "6ae9622b7034326b"
//RTOS版-投料机-无蠕变磅秤-03
//#define MQTT_CLIENT_ID "5791a8579d459290"
//#define MQTT_USERNAME "766990788193702677"
//#define MQTT_PASSWORD "5f6cd7748ec9db35"
#define MQTT_CLIENT_ID "5791a8579d459290"
#define MQTT_USERNAME "766990788193702677"
#define MQTT_PASSWORD "5f6cd7748ec9db35"
#define MQTT_SERVER_IP "58.17.14.95"
#define MQTT_SERVER_PORT 1880

View File

@ -117,7 +117,7 @@
- **防噪声假同步**:要求连续 3 帧且间隔 20~150ms 才认定在线PD2 悬空时电磁干扰偶发也能凑出校验和正确的假帧,但不可能连续卡在 50ms 节奏上)
- **滤波与零漂**:电压/电流/功率经 EMA 滑动平均(系数 1/8约 0.4s 响应)压空载跳变;电流再减零点偏移 `HLW_I_ZERO_A`(0.02A) 钳位到 0功率死区 `HLW_P_DEAD_W`(2W) 以下显示 0、超出再减 `HLW_P_ZERO_W`(0.5W)——宏都在 main.h
- **持久化**累计脉冲数uint64存 EEPROM 偏移 164~171每攒约 0.1kWh 写一次(限制擦写),所有计划内复位(`reset_log_mark` 覆盖的复位点)复位前写一次,断电预警(法拉电容续航内)再写一次——除突然死机外基本不丢电量
- **上报策略**功率 >10W 时每 30s 上报一次 `{"energy":%.2f}`≤10W 时仅首次联网报一次(省流量);继电器开关切换随状态大报文携带 energy。串口电能日志固定 10s 一条。阈值宏 `ENERGY_REPORT_POWER_W`间隔宏 `ENERGY_REPORT_INTERVAL_MS` 在 app_loop.c
- **上报策略**无论功率多少,每 3 分钟上报一次 `{"energy":%.2f,"power":%.1f}`;继电器开关切换随状态大报文携带 energy。串口电能日志固定 10s 一条。间隔宏 `ENERGY_REPORT_INTERVAL_MS` 在 app_loop.c
- **调试日志**:芯片在线时每 10s 打印一条(`电能: x.xxkWh 电压: xxx.xV 电流: x.xxA 功率: xxxx.xW`),与上报节奏无关
## OLED 屏幕显示128x64 + GB2312 字库 IC

View File

@ -208,3 +208,4 @@
- 断电时序改为:先发掉电消息(等OK) → 屏幕显示"发生掉电事件!"亮 3 秒 → 熄屏复位
- 蓝牙设置流程开头先硬复位模块BT_RST/PA7 拉高 100ms防模块状态异常时 PC5 进不了 AT 模式
- OLED 新增复位脚 PB14初始化前给 10ms 低脉冲硬件复位屏幕,防止上电时序异常花屏
- 电能/功率上报改为固定每 3 分钟一次(不再按功率阈值区分)