MAATS (Material Accelerated Aging Test System) is a control and monitoring system designed for material accelerated aging tests. It maintains a controlled environment with specific CO2 concentration and humidity for material sample reactions.
- Precise Environment Control: PID-based closed-loop control for CO2 concentration and humidity.
- Real-time Data Acquisition: Supports S8-005 (CO2) via UART and AHT10 (Temp/Humid) via I2C.
- Industrial Communication: 4G MQTT for remote cloud monitoring and RS485 (Modbus RTU) for dehumidifier control.
- Robust Storage: Local data logging to TF card in CSV format.
- Local Interaction: 5-inch TFT display for status visualization and keypad for local control.
- Cloud Integration: Real-time dashboard and history query via Web client.
- MCU: GigaDevice GD32F470Z (ARM Cortex-M4F @ 240MHz)
- Sensors:
- CO2: Sensirion S8-005 (UART)
- Temp/Humid: AHT10 / SHT40 (I2C)
- Actuators:
- CO2 Valve: GPIO
- Humidifier: GPIO
- Dehumidifier: RS485 (Modbus RTU)
- Connectivity: 4G LTE Module (MQTT)
- Storage: MicroSD Card (FAT32)
- Display: 5" TFT RGB LCD
| Task Name | Priority | Cycle | Responsibility |
|---|---|---|---|
SensorTask |
3 | 1s | Acquire CO2, Temperature, and Humidity |
ActuatorTask |
2 | 500ms | Control valves and RS485 devices |
ControlTask |
1 | 200ms | Run PID algorithms for CO2 and Humidity |
CommTask |
2 | 5s | Sync data with cloud via MQTT |
StorageTask |
4 | 60s | Log data to CSV on TF card |
DisplayTask |
5 | 1s | Refresh local UI |
KeyScanTask |
5 | 100ms | Handle user input |
- Toolchain:
arm-none-eabi-gcc(Tested with 14.2.1) - Build System: CMake 3.10+ & Make
- SDK: GD32F4xx Firmware Library
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../toolchain.cmake ..
make -j$(nproc)Using OpenOCD:
openocd -f interface/stlink.cfg -f target/gd32f4x.cfg -c "program build/MAATS_ColletAgent.elf verify reset exit".
├── CMakeLists.txt # Build configuration
├── main.c # Application entry and FreeRTOS tasks
├── docs/ # SRS, Test Plans, and Design Documents
├── toolchain.cmake # Cross-compilation settings
└── gd32f4xx_it.c # Interrupt Service Routines
Internal Project - Copyright (c) 2026 raintiliang.