1. 项目概述
这个电气火灾监测系统是我去年为一个工厂配电房设计的实际项目,经过3个月的开发和调试最终投入实际使用。系统以STM32F103C8T6为主控芯片,通过多传感器协同工作实现了对电气设备的全方位监控。在实际运行中,它成功预警了两次因线路老化导致的过热隐患,避免了可能发生的火灾事故。
核心监测参数包括:
- 电压:0-400V交流(通过电压互感器采集)
- 电流:0-100A(霍尔传感器检测)
- 温度:-55℃~+125℃(DS18B20数字传感器)
- 烟雾浓度(MQ-2模拟传感器)
关键设计要点:所有传感器信号都经过隔离和滤波处理,确保在强电磁干扰的工业环境下仍能稳定工作。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件系统设计
2.1 主控模块选型
选择STM32F103C8T6的原因:
- 72MHz主频足够处理多路传感器数据
- 内置12位ADC满足模拟量采集精度要求
- 多个USART接口方便扩展无线模块
- 丰富的GPIO可驱动显示和报警设备
- 性价比高(约15元/片)
c复制// 系统时钟配置示例
void SystemClock_Config(void) {
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
// 配置HSE振荡器
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
// 配置系统时钟
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_
