根据我们的开发框架:STM32—>CEMS,前面的学习成功打通了“数据采集与补偿”(零点/量程标定)和“通信与联网”(Modbus RTU),现在开始进入逻辑控制分支的学习
mindmap
root((CEMS 分析仪成品))
数据采集与补偿
双重滤波算法
算术平均
一阶滞后
物理量转化
零点标定
量程缩放
状态补偿
温度补偿: PT100
压力补偿: 绝压传感器
标态换算: 0度, 101.325kPa
通信与联网
Modbus RTU
RS485 差分传输
寄存器点表设计
CRC 校验
报警输出
4-20mA 模拟输出
继电器开关量输出
人机交互
显示界面
实时浓度波形
系统状态/报警信息
菜单系统
多级菜单逻辑
校准参数设置
输入控制
旋转编码器/按键
权限管理: 用户/专家密码
逻辑控制与保护
时序管理
定时反吹控制
自动零点校准时序
故障诊断
传感器断线检测
光源老化/泵故障预警
看门狗保护
IWDG 防止死机
数据持久化
参数存储
FLASH 存储校准值
FLASH 存储配置参数
历史记录
RTC 实时时钟
历史报警/日志记录
可以从这三个点进行切入:
- 自动反吹逻辑 (Back-flushing Control)
- 硬件:电磁阀 + 继电器。
- 软件逻辑:STM32 维护一个计时器。例如每 8 小时触发一次,动作顺序:停止采样泵 -> 开启反吹电磁阀 30 秒 -> 关闭阀门 -> 延时 2 分钟等待气路稳定 -> 重新开启采样泵。
- PID 伴热控温 (Temperature Control)
- 硬件:PT100 温度传感器 + PWM 控制固态继电器。
- 软件逻辑:你需要编写一个 PID 算法,根据实测温度动态调整加热功率。
- 气路切换与校准逻辑
- 动作:通过控制多个三通电磁阀,实现“样气”、“零气(氮气)”、“标气(标准浓度 $SO_2$)”的自动切换。
- 意义:这配合你刚才写的 Modbus 06 功能码,可以实现远程自动化校准。
学习路径:
- 继电器驱动与逻辑隔离:如何用 STM32 的 GPIO 安全地驱动 220V 的电磁阀和泵。
- 温度采集与计算:学习 PT100 的分度表查找算法或专用采集芯片(如 MAX31865)。
- PID 算法基础:如何在 STM32 中实现一个简单的增量式 PID,控制加热管。
- 状态机编程:用
switch-case编写一个复杂的“校准/反吹/采样”状态切换逻辑。
如何驱动继电器控制电磁阀
STM32 的 GPIO 引脚输出电压只有 3.3V,驱动电流微乎其微(约 20mA),无法直接驱动电磁阀。因此,我们需要一个“中间人”——继电器 (Relay)。
硬件清单
- 电力控制与执行模块
- 继电器模块:建议买 4 路 5V 继电器模块 (带光耦隔离)。
- 用途:控制采样泵、反吹电磁阀、标气切换阀。
- 电磁阀:买 DC 12V 或 24V 二位三通电磁阀 (2 个)。
- 注意:实验阶段尽量不要用 220V AC,12V/24V DC 安全得多。
- 直流电源适配器:12V 2A 或 24V 2A 1 个。
- 用途:给电磁阀和继电器线圈供电。
- 继电器模块:建议买 4 路 5V 继电器模块 (带光耦隔离)。
- 温度与状态补偿模块(解决标态换算)
- PT100 温度探头:买 工业级 PT100 三线制探头 1 个。
- MAX31865 采集模块:1 个。
- 用途:PT100 不是线性电阻,直接接 ADC 很不准。MAX31865 是专用的电阻转数字芯片,是工业测温的标准方案。
- 绝压传感器模块:如 BMP280 或工业级 4-20mA 压力变送器。
- 用途:用于计算大气压补偿。****
- 气路模拟与外设
- 微型真空泵 (采样泵):DC 12V 微型气泵 1 个。
- 用途:模拟从烟囱抽气。
- HMI 串口屏:推荐 大陶屏 (TJC) 或 迪文屏 (DWIN),2.8 寸或 3.5 寸。
- 用途:这是我们最后一章的重头戏,这类屏幕只需 Modbus 通讯。
- 微型真空泵 (采样泵):DC 12V 微型气泵 1 个。
|
|