# 氧化测试仪器控制系统文档

## 系统概述

这是一个基于ESP32的氧化测试仪器控制系统，集成了温度控制、流量控制、人机交互、远程监控等功能。系统采用模块化设计，具有高精度的PID控制和完善的通信接口。

## 核心功能

1. 温度控制
   - 基于模糊PID算法的精确温度控制
   - 温度范围：0-200℃
   - 控制精度：0.01℃

2. 流量控制
   - 12路独立流量控制
   - 支持流量校准
   - 实时流量监测

3. 人机交互
   - DWIN串口屏显示
   - 触摸控制
   - 参数配置界面

4. 远程监控
   - 4G网络连接
   - MQTT协议通信
   - 远程数据采集

## 系统架构

### 核心模块

1. [主控制模块](Oxygen_Ctrl.md)
   - 系统初始化
   - 状态机管理
   - 数据采集与控制

2. [温度控制模块](fuzzy.md)
   - 模糊PID控制算法
   - PWM输出控制
   - 温度校准

3. [任务调度模块](task.md)
   - 协作式多任务
   - 定时器管理
   - 看门狗保护

4. [配置管理模块](config.md)
   - 参数存储
   - 系统配置
   - EEPROM管理

### 通信模块

1. [Modbus通信](modbus.md)
   - 传感器通信
   - 寄存器操作
   - CRC校验

2. [串口通信](serial.md)
   - UART配置
   - 数据收发
   - RS485控制

3. [显示控制](dwin.md)
   - 屏幕通信
   - 界面切换
   - 数据显示

4. [远程通信](mqtt.md)
   - MQTT客户端
   - 数据上传
   - 远程控制

### 存储模块

1. [EEPROM管理](eeprom.md)
   - 配置存储
   - 参数持久化
   - NVS操作

2. [常量定义](const.md)
   - Modbus常量
   - 功能码定义
   - 系统参数

## 开发指南

### 环境配置
```python
# 基本环境要求
- MicroPython环境
- ESP32开发板
- Python 3.x
```

### 依赖安装
```python
# 必要的库
- machine
- network
- umqtt.simple
- esp32
```

### 项目结构
```
.
├── main.py              # 主入口
├── Oxygen_Ctrl.py       # 核心控制
├── fuzzy.py            # 温度控制
├── task.py             # 任务调度
├── config.py           # 配置管理
├── modbus.py           # Modbus实现
├── serial.py           # 串口通信
├── dwin.py            # 显示控制
├── mqtt.py            # MQTT客户端
├── eeprom.py          # 存储管理
└── const.py           # 常量定义
```

## 使用说明

### 系统启动
```python
import Oxygen_Ctrl

if __name__ == '__main__':
    Oxygen_Ctrl.ctrl_run()
```

### 参数配置
```python
from config import Config
from eeprom import EEPROM

# 创建配置实例
eeprom = EEPROM()
config = Config(eeprom)

# 设置参数
config.SetTempra = 800    # 80.0℃
config.Flow01 = 1000      # 100.0ml/min

# 保存配置
config.save_param(eeprom)
```

### 远程监控
```python
from mqtt import init_mqtt

# 初始化MQTT
mqtt_client = init_mqtt()

# 发送数据
data = {
    "Temperature": 25.5,
    "Flow01": 45.3
}
mqtt_client.update(data)
```

## 维护指南

### 定期维护
1. 检查系统日志
2. 校准温度传感器
3. 校准流量计
4. 更新系统参数

### 故障处理
1. 温度控制异常
   - 检查PID参数
   - 验证传感器数据
   - 检查加热器状态

2. 流量控制异常
   - 校准流量计
   - 检查管路连接
   - 验证控制参数

3. 通信故障
   - 检查网络连接
   - 验证Modbus通信
   - 确认MQTT配置

## 安全注意事项

1. 温度控制
   - 设置合理的温度上限
   - 启用过温保护
   - 定期检查加热器

2. 数据安全
   - 定期备份配置
   - 加密远程通信
   - 保护系统参数

3. 操作安全
   - 遵循操作流程
   - 定期培训操作人员
   - 建立应急预案

## 系统升级

### 版本控制
- 使用Git管理代码
- 记录版本变更
- 维护更新日志

### 升级步骤
1. 备份当前配置
2. 更新系统固件
3. 恢复配置参数
4. 验证系统功能

## 技术支持

### 文档资源
- 详细的模块文档
- API参考手册
- 示例代码

### 故障报告
- 记录故障现象
- 收集系统日志
- 分析原因并改进

## 许可证

本项目采用GNU GPL version 3许可证。详细信息请参见LICENSE文件。

## 作者

- 作者：xukaiming
- 版权所有 © 2024
