第二讲:制氧机参数分类——运行参数、校准参数与用户设置

大家好,我是你们的老朋友。今天咱们聊聊制氧机里那些需要存进EEPROM的参数。

说实话,我刚入行那会儿,觉得参数分类这事儿挺简单的——不就是把数据存起来嘛。直到有一次,我在一个项目里把校准参数和运行参数混在一起存,结果用户一改流量,校准值也跟着乱了。嗯,从那以后,我再也不敢小看参数分类了。

2.1 运行参数:流量与浓度

运行参数,说白了就是制氧机工作时实时变化的数据。主要包括两个:

  • 流量:单位时间内输出的氧气量,通常用L/min表示
  • 浓度:输出气体中氧气的百分比,一般在90%以上才算合格

我个人习惯把运行参数叫做“动态参数”。为什么?因为它们在设备运行过程中会频繁变化。你想想看,用户可能今天调大流量,明天又调小,这些数据每次关机前都得存下来。

重要提醒:运行参数的存储频率要把握好。我见过有人每秒钟都往EEPROM里写一次,结果芯片寿命很快就耗尽了。EEPROM的擦写次数有限,一般也就10万次左右。

我的做法是:只在参数变化超过一定阈值时才存储。比如流量变化超过0.1L/min,或者浓度变化超过1%,才触发一次写入操作。

2.2 校准参数:传感器零点与满量程

校准参数,这是我最想强调的部分。为什么?因为一旦丢了,整个设备可能就没法正常工作了。

校准参数主要包括:

  • 传感器零点:没有氧气输出时,传感器的基准值
  • 传感器满量程:最大输出时,传感器的满度值

我曾经在一个项目中,因为校准参数存储不当,设备每次断电重启后,浓度读数都漂移得厉害。后来查了三天才发现,原来是零点校准值在掉电时没保存住。

避坑指南:校准参数一定要做多重备份。我一般会在EEPROM里存三份,写入时用校验和,读取时做多数表决。别嫌麻烦,这招救过我不少次。

校准参数的存储策略和运行参数完全不同。它们几乎不会变化——除非用户重新校准。所以写入频率极低,但可靠性要求极高。

2.3 用户设置:定时与报警阈值

用户设置,这部分是用户和设备的交互界面。主要包括:

参数类型 具体内容 存储特点
定时设置 开关机时间、定时时长 用户手动修改,频率中等
报警阈值 浓度下限、流量上限等 出厂预设,用户可调

用户设置这块,我建议做一层“默认值保护”。什么意思呢?就是当EEPROM里的数据因为某种原因损坏时,设备能自动加载出厂默认值,而不是直接罢工。

小技巧:在EEPROM里专门划出一块区域,存放“参数有效性标志”。每次写入用户设置时,先写数据,最后再写标志位。读取时先检查标志位,如果不对,就用默认值。这样即使写入过程中掉电,也不会读到垃圾数据。

2.4 三类参数的存储策略对比

好了,咱们把三类参数放在一起对比一下,这样更清楚:

参数类别 变化频率 可靠性要求 推荐存储方式
运行参数 中等 阈值触发写入,带校验
校准参数 极低 极高 多重备份,多数表决
用户设置 中等 较高 默认值保护,标志位校验

我个人习惯在项目初期就把这个表格画出来,贴在工位上。每次设计存储方案时,对照着看一遍,基本不会出大问题。

2.5 实际项目中的一点经验

最后,分享一个我踩过的坑。

有一次做一款便携式制氧机,为了省成本,选了一款小容量的EEPROM。结果发现运行参数、校准参数、用户设置全塞进去后,空间所剩无几。更麻烦的是,校准参数需要三份备份,根本放不下。

后来怎么解决的?我把运行参数改成了只存变化量,而不是全量存储。比如流量从5.0变成5.2,我只存一个“+0.2”的增量值。这样每个参数只占2个字节,省了不少空间。

当然,这种做法也有风险——如果增量数据丢失,恢复起来比较麻烦。所以我又加了一个“全量快照”机制,每100次增量写入后,强制存一次完整数据。

嗯,这就是我今天想分享的内容。参数分类看似简单,但背后涉及的存储策略、可靠性设计,其实挺考验功力的。下一讲,咱们聊聊EEPROM的硬件选型,看看不同型号的芯片到底该怎么挑。