V1.5: 文档补齐(EMA滤波/零漂宏/底数1kWh/上报策略/转义修复说明/OLED布局与欢迎页)
This commit is contained in:
parent
6c89a0d049
commit
01b5ab0e44
|
|
@ -114,18 +114,21 @@
|
|||
- **通信**:4800bps 8E1(F1 上按 9 位帧长 + 偶校验配置),芯片每 50ms 主动上报 24 字节帧,只收不发;帧同步 = 首字节 0x55/0xAA/0xFx + 第二字节 0x5A + 校验和([2]~[22] 相加低 8 位)
|
||||
- **电量算法**(手册公式):`kWh = 总脉冲 × 功率参数寄存器 × 电压系数 × 电流系数 / (10^9×3600)`;PF 寄存器 16 位溢出由数据更新寄存器 bit7 翻转计数(`总脉冲 = k×65536 + PF`),50ms 一帧不可能漏翻转;芯片断电重启(计数值倒退)自动重新基准
|
||||
- **系数宏**:`main.h` 的 `HLW_U_COEF`(=100K/49.9/1000=2.004)、`HLW_I_COEF`(=1/(0.002×1000)=0.5)——改电阻/互感器只动这两个宏
|
||||
- **防噪声假同步**:要求连续 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
|
||||
- **底数 1kWh**:首次(EEPROM 空白或累计不足 1 度)同步到首帧时补足 1.00kWh 并落盘(平台过滤 0 值,保证有数据显示),只生效一次
|
||||
- **持久化**:累计脉冲数(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
|
||||
- **调试日志**:芯片在线时每分钟日志同时打印电压/电流/功率(`运行时间: ... 电能: x.xxkWh 电压: xxx.xV 电流: x.xxA 功率: xxxx.xW`)
|
||||
- **调试日志**:芯片在线时每 10s 打印一条(`电能: x.xxkWh 电压: xxx.xV 电流: x.xxA 功率: xxxx.xW`),与上报节奏无关
|
||||
|
||||
## OLED 屏幕显示(128x64 + GB2312 字库 IC)
|
||||
|
||||
- 移植自《485模拟磅秤数据带CRC》的 oledisp 驱动,GPIO 模拟 SPI(屏幕 CS1 + 字库 CS2 两路片选,字库数据从 FSO 脚读回)
|
||||
- 字符串直接写中文(工程源文件即 GBK 编码,字库 IC 按 GB2312 地址换算取字模)
|
||||
- **已联网界面**(sys_task 每 1s 刷新):第 0 行 电压/电流,第 1 行 功率/电能(计量芯片离线时显示"计量芯片离线"),第 2 行 继电器状态中文(`开关:开开关关`),第 3 行 网络 + 运行时间(`WiFi已连接02:35`,满 1 天显示 `1天02时`)
|
||||
- **已联网界面**(sys_task 每 1s 刷新):第 0 行 网络 + 运行时间(`WiFi 00:02:35`,天:时:分),第 1 行 电压/电流,第 2 行 功率/电能(计量芯片离线时显示"计量芯片离线"),第 3 行 继电器状态中文(`开关:开开关关`)
|
||||
- **未联网界面**:只显示联网进度,不显示电能/开关——4G 模式显示"正在等待4G联网"+ 最近完成阶段(模块复位成功/AT指令成功/SIM卡检测成功/附着网络成功/连接服务器中/无SIM卡,状态由 `g_net_ui_phase` 从 air780e.c 各阶段更新);WiFi 固定热点显示"WiFi固定模式 正在搜索热点"+倒计时,SmartConfig 显示"智能配网 请打开APP广播"+倒计时(倒计时由 esp_wait_countdown 写入 `g_net_ui_countdown`)
|
||||
- **防烧屏**:每 10s 内容整体右移 0/2/4px 轮换
|
||||
- 开机显示"智能控制器 + 版本号"欢迎页,首次刷新后进入常态界面
|
||||
- 开机欢迎页按产品模式显示标题(带秤=`智能水产投料机`,无秤=`继电器控制终端`)+ `V1.5.0 RTOS`;4G 阻塞建链期间由 bg_delay 钩子每 500ms 刷进度页(调度器启动前 sys_task 未运行,曾一直卡在欢迎页)
|
||||
|
||||
## 双通道网络(4G 优先,WiFi 兜底)
|
||||
|
||||
|
|
|
|||
|
|
@ -126,3 +126,10 @@
|
|||
原 9 处 #if 编译分支全部改运行时判断(状态上报字段/sw1·feeding 语义/继电器1记忆/秤轮询)
|
||||
- OLED 欢迎页改"继电器控制终端 / V1.5.0 RTOS";修复 4G 阻塞建链期间屏幕不显示联网进度
|
||||
(bg_delay 挂调度器启动前的 500ms 刷新钩子)
|
||||
- 电能底数:首次同步补足 1.00kWh(平台过滤 0 值,保证上电即有数据显示)
|
||||
- 电能上报策略:>10W 每 30s 一次,≤10W 仅首次联网报一次,开关切换随状态大报文携带
|
||||
- 电流零点偏移(HLW_I_ZERO_A)/功率死区+偏移(HLW_P_DEAD_W/HLW_P_ZERO_W);
|
||||
电压/电流/功率 EMA 滑动平均滤波(1/8) 压空载跳变;HLW8032 连续 3 帧 20~150ms 防噪声假同步
|
||||
- 修复 4G MPUB 转义错误:`` 误写为 C 八进制 ``(=0x12 字节),energy/pow/指令应答
|
||||
共 8 处独立报文平台收不到(上电能收到是因为状态大报文转义本来就对)
|
||||
- OLED 欢迎页按产品模式显示标题;运行时间改 天:时:分 格式
|
||||
|
|
|
|||
Loading…
Reference in New Issue