STM32博物馆文物环境监测系统设计

发布时间:2026/6/9 10:36:51

STM32博物馆文物环境监测系统设计 基于STM32的博物馆文物展柜环境监测系统设计与实现1. 项目概述1.1 系统背景文物保存环境对文化遗产保护具有决定性影响。研究表明温度波动、湿度异常和光照过强是导致文物材质劣化的三大主要因素。传统人工监测方法存在响应滞后、数据不连续等问题无法满足现代文物保护需求。1.2 系统架构本系统采用模块化设计架构由以下核心组件构成感知层SHT30温湿度传感器BH1750光强传感器控制层STM32F103RCT6微控制器执行层通风风扇加热片组合交互层OLED显示屏蜂鸣器报警通信层ESP8266 WiFi模块系统工作流程如图1所示传感器采集 → STM32处理 → 本地显示/报警 → WiFi传输 → 远程监控 ↘ 自动控制2. 硬件设计2.1 主控电路设计STM32F103RCT6作为系统核心具有以下关键设计考虑72MHz主频满足实时处理需求256KB Flash存储程序代码48KB RAM处理传感器数据3个USART接口分别连接USART1ESP8266通信USART2调试接口USART3预留扩展电源电路采用AMS1117-3.3V稳压芯片为MCU和外围器件提供稳定3.3V电压。2.2 传感器接口设计2.2.1 SHT30温湿度传感器接口类型I2CPB6-SCL, PB7-SDA测量范围温度-40~125℃ ±0.2℃湿度0~100%RH ±2%RH采样周期1Hz默认模式电路设计要点// I2C初始化配置 void I2C_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; I2C_InitTypeDef I2C_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); // PB6-SCL, PB7-SDA GPIO_InitStructure.GPIO_Pin GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode GPIO_Mode_AF_OD; GPIO_Init(GPIOB, GPIO_InitStructure); I2C_InitStructure.I2C_Mode I2C_Mode_I2C; I2C_InitStructure.I2C_DutyCycle I2C_DutyCycle_2; I2C_InitStructure.I2C_OwnAddress1 0x00; I2C_InitStructure.I2C_Ack I2C_Ack_Enable; I2C_InitStructure.I2C_AcknowledgedAddress I2C_AcknowledgedAddress_7bit; I2C_InitStructure.I2C_ClockSpeed 100000; // 100kHz I2C_Init(I2C1, I2C_InitStructure); I2C_Cmd(I2C1, ENABLE); }2.2.2 BH1750光照传感器接口类型I2C与SHT30共用测量范围1-65535 lx分辨率1 lx工作模式连续高精度模式(0x10)2.3 执行机构设计2.3.1 通风控制电路驱动器件S8050 NPN三极管负载能力5V/0.5A满足风扇需求保护电路反向并联1N4007二极管控制逻辑温度阈值开启风扇湿度阈值风扇加热片同时工作2.3.2 加热控制电路PWM控制TIM3_CH1(PA6)加热功率5V/2W需散热设计安全保护温度开关常闭型70℃断开2.4 通信模块设计ESP8266配置为APTCP服务器模式上电初始化流程设置WiFi模式ATCWMODE3APSTA创建热点ATCWSAPESP8266,12345678,1,4启动多连接ATCIPMUX1建立TCP服务器ATCIPSERVER1,8080数据帧格式设计---------------------------------------- | 帧头 | 命令字 | 数据长度 | 数据区 | 校验和 | | 0xAA55 | 1字节 | 1字节 | N字节 | 1字节 | ----------------------------------------3. 软件设计3.1 主程序流程int main(void) { HW_Init(); // 硬件初始化 ESP8266_Init(); // WiFi模块初始化 while(1) { Sensor_Update(); // 传感器数据采集 Display_Update(); // OLED刷新显示 Control_Logic(); // 自动控制逻辑 WiFi_Process(); // 网络数据处理 Delay_ms(100); } }3.2 关键算法实现3.2.1 温湿度控制算法采用滞回比较算法防止执行机构频繁动作void TempControl(float currentTemp) { static uint8_t fan_state 0; if(currentTemp TEMP_HIGH_THRESHOLD 0.5f) { FAN_ON(); fan_state 1; } else if(currentTemp TEMP_HIGH_THRESHOLD - 1.0f fan_state) { FAN_OFF(); fan_state 0; } }3.2.2 数据滤波处理对传感器数据采用滑动平均滤波#define FILTER_LEN 5 float TempFilter(float new_val) { static float buffer[FILTER_LEN] {0}; static uint8_t index 0; float sum 0; buffer[index] new_val; if(index FILTER_LEN) index 0; for(uint8_t i0; iFILTER_LEN; i) { sum buffer[i]; } return sum / FILTER_LEN; }3.3 无线通信协议3.3.1 数据上报格式{ dev_id: 001, temp: 25.6, humi: 45.2, light: 320, fan: 0, heat: 0, alarm: 0 }3.3.2 命令下发格式阈值设置命令示例AA55 01 04 00 00 42 1A 5F解析01设置命令04数据长度0000421A温度阈值25.0℃0x0000421A5F校验和4. 系统测试4.1 性能指标测试测试项目测试条件指标要求实测结果温度测量精度25℃恒温箱±0.5℃±0.3℃湿度测量精度50%RH标准湿度±3%RH±2%RH光照测量范围0-65535 lx1 lx分辨率符合响应时间参数超阈值到报警3s1.8s通信距离WiFi覆盖范围15m18m(无遮挡)4.2 环境适应性测试温度循环测试-20℃~60℃各保持2小时循环5次湿度耐久测试95%RH环境下连续工作72小时电磁兼容测试GB/T 17626.3-2016 射频场抗扰度5. BOM清单与成本分析器件名称型号数量单价(元)小计(元)MCUSTM32F103RCT6112.512.5温湿度传感器SHT3018.08.0光照传感器BH175013.53.5WiFi模块ESP8266-12F19.89.8OLED显示屏0.96 SPI16.56.5直流风扇5V 0.1A13.03.0加热片5V 2W12.52.5PCB板双层板10x10cm15.05.0其他元器件电阻电容等--8.2总计59.06. 应用扩展建议多节点组网通过增加LoRa模块实现多个展柜的集中监控数据记录添加SD卡模块存储历史数据便于长期分析云端对接移植MQTT协议接入物联网平台安全增强增加门磁传感器监测展柜开启状态

相关新闻