基于STM32的校园无人超市边缘控制系统设计

发布时间:2026/5/19 22:05:48

基于STM32的校园无人超市边缘控制系统设计 1. 项目概述1.1 系统定位与应用场景本系统为面向高校场景的轻量化无人超市管理平台聚焦于中小型校园便利店、教学楼自动售货区、宿舍楼自助服务点等空间受限、人流规律、管理半径小的典型环境。其设计目标并非替代大型商超的全功能POS系统而是解决三类核心痛点人力依赖高传统校园超市在课间、午休等高峰时段需专人值守收银人力调度困难环境风险不可视密闭小型超市易因通风不良导致温湿度异常或因电器老化、学生违规吸烟引发烟雾积聚缺乏实时监测与联动响应机制商品管理粗放纸质台账难以支撑高频次、多品类的商品出入库与库存盘点会员卡手工登记效率低下且易出错。系统采用“端-边-云”架构中的边缘计算模式所有感知、控制、本地交互均在嵌入式终端完成仅结算数据与管理指令通过串口与上位机同步不依赖外部网络满足高校内网安全策略与离线可用性要求。1.2 技术选型逻辑主控芯片选用STM32F103RCT6其选型依据如下资源匹配度该芯片具备72MHz Cortex-M3内核、256KB Flash、48KB RAM足以支撑多传感器轮询DHT11、MQ2、RC522射频协议栈ISO14443-A、SPI LCD驱动、串口通信及基础状态机逻辑无需外扩SRAM或Flash外设兼容性片内集成3路USART1路用于PC通信1路预留调试1路可扩展、2路SPI1路驱动LCD1路连接RC522、1路I2C可扩展EEPROM存储商品数据库、12位ADC适配MQ2模拟输出工程成熟度ST标准外设库SPL与HAL库对DHT11单总线、RC522 SPI接口、LCD ILI9163C驱动均有完善例程缩短开发周期成本与供应链LQFP64封装便于洞洞板手工焊接国产替代料号如GD32F103RCT6引脚与软件完全兼容规避进口芯片交期风险。2. 硬件系统设计2.1 整体架构与信号流向系统硬件采用模块化分层设计按功能划分为感知层、控制层、人机交互层、通信层四部分各模块通过标准化电平与接口互联感知层DHT11数字单总线、MQ2模拟电压输出、RC522SPI数字接口控制层STM32F103RCT6主控、风扇驱动电路NPN三极管开关、蜂鸣器驱动电路同相驱动人机交互层1.44寸SPI LCDILI9163C控制器128×128分辨率、用户按键独立按键GPIO输入通信层CH340G USB转串口芯片3.3V TTL电平实现STM32 USART1与PC的透明传输。信号流向严格遵循实时性分级高优先级μs级RC522射频场触发中断 → STM32进入RFID协议处理流程中优先级ms级DHT11时序握手、MQ2 ADC采样、LCD帧刷新低优先级s级串口数据包解析、风扇/蜂鸣器状态更新。2.2 关键电路设计解析2.2.1 DHT11接口电路DHT11采用单总线协议STM32 GPIO配置为开漏输出上拉电阻模式10kΩ。关键设计点时序容错DHT11响应延时存在±1ms偏差固件中采用定时器捕获而非精确延时避免因系统负载导致采样失败电源滤波VDD与GND间并联100nF陶瓷电容10μF电解电容抑制传感器启动电流引起的电源跌落信号隔离数据线串联100Ω电阻降低高频反射干扰提升长线20cm传输稳定性。2.2.2 MQ2烟雾传感器调理电路MQ2输出为模拟电压0.5~4.5V直接接入STM32 ADC1_IN0通道。调理电路包含分压基准采用TL4312.5V基准构建精密分压网络替代MCU内部VREFINT将ADC参考电压稳定在2.5V消除VDD波动对浓度读数的影响RC低通滤波10kΩ电阻100nF电容构成截止频率160Hz的滤波器滤除电机启停、开关电源纹波引入的工频干扰线性化补偿固件中采用查表法128点校准表映射ADC值至ppm浓度规避MQ2固有的非线性输出特性。2.2.3 RC522射频接口电路RC522通过SPI2与STM32连接关键设计电平匹配RC522工作电压3.3V与STM32 IO电平一致无需电平转换天线匹配PCB天线采用50Ω微带线设计末端串联22pF电容与并联10pF电容构成π型匹配网络实测读卡距离达5cm标准卡片抗干扰布局RC522芯片下方铺满地平面SPI走线等长、远离电源与高频信号线MISO/MOSI线间距≥3WW为线宽降低串扰。2.2.4 LCD显示驱动电路1.44寸LCD采用SPI接口4线制SCL、SDA、A0、CS控制器为ILI9163C。设计要点背光控制LED引脚通过NPN三极管S8050驱动基极接STM32 PWM输出TIM3_CH2实现0~100%亮度无级调节复位可靠性RST引脚经10kΩ上拉100nF电容实现上电自动复位同时保留手动复位按键ESD防护SDA/SCL线上各并联TVS二极管PESD5V0S1BA钳位电压5.6V防止热插拔静电损伤。2.2.5 执行机构驱动电路风扇驱动采用S8050 NPN三极管集电极接12V风扇正极发射极接地基极经1kΩ电阻接STM32 GPIO。当GPIO输出高电平时三极管饱和导通风扇运转蜂鸣器驱动有源蜂鸣器5V3mA直接由STM32 GPIO驱动IO配置为推挽输出通过限流电阻220Ω保护MCU引脚状态指示3颗LED红/绿/蓝分别指示系统运行、RFID识别、报警状态共阴极接法阳极经1kΩ电阻接GPIO。2.3 电源管理设计系统采用双电源域设计数字电源域3.3V由AMS1117-3.3稳压器提供输入为5VUSB或外部DC输出供给STM32、RC522、LCD逻辑电路模拟/执行电源域5V/12V5V直接来自USB或DC输入供给DHT11、MQ2、蜂鸣器12V经LM2576-12开关电源模块生成专供风扇避免大电流负载引起数字电源波动。关键措施AMS1117输入/输出端均配置10μF钽电容100nF陶瓷电容抑制低频纹波与高频噪声12V电源路径串联3A自恢复保险丝MF-R030防止风扇堵转短路所有电源域GND在PCB单点汇流避免地环路干扰。3. 软件系统设计3.1 主程序架构采用前后台系统Foreground-Background System以SysTick为心跳主循环Background执行任务调度中断Foreground处理实时事件// 主循环伪代码 while(1) { // 1. 传感器数据采集带去抖与滤波 Read_DHT11(temp, humi); Read_MQ2(smoke_ppm); // 2. 环境控制决策 if(temp THRESHOLD_TEMP) Fan_ON(); if(smoke_ppm THRESHOLD_SMOKE) Buzzer_ON(); // 3. RFID状态机轮询 RFID_StateMachine(); // 4. LCD刷新仅当数据变化时 if(data_changed) LCD_Update(); // 5. 串口数据包组装与发送 UART_Pack_Send(); // 6. 低功耗等待10ms Delay_ms(10); }3.2 RFID识别与商品管理逻辑RC522驱动基于MFRC522开源库精简重构核心优化点防重叠识别在PICC_Request()后立即调用PICC_Anticoll()获取4字节UID再通过PICC_Select()激活卡片避免多卡同时进入场区时的UID冲突商品数据存储每张RFID标签MIFARE Classic 1K的Sector0 Block0存储16字节商品IDASCII编码Block1存储单价BCD格式Block2存储库存数量uint16_t读写原子性对库存数量的增减操作采用“读-改-写”三步流程并在写入前校验Block2 CRC16确保数据一致性。3.3 串口通信协议定义轻量级二进制协议帧结构如下字段长度说明SOF1B0xAA帧起始CMD1B命令码0x01温湿度0x02烟雾0x03RFID数据0x04控制指令LEN1B数据长度0~255DATALEN B负载数据CRC1BXOR校验和SOFT CMD LEN DATA上位机下发指令CMD0x04时DATA字段包含1B动作码0x01开风扇0x02关风扇0x03消警终端上报数据CMD0x01时DATA为{temp_int, temp_dec, humi_int, humi_dec}CMD0x03时DATA为{UID[0..3], price_high, price_low, stock}。3.4 Qt上位机功能实现上位机基于Qt5.15开发核心模块串口通信模块使用QSerialPort设置波特率115200、8N1接收缓冲区1024字节采用QTimer定时查询100ms间隔商品管理界面表格视图QTableView绑定QStandardItemModel支持Excel导入/导出入库时自动生成RFID标签数据并写入结算流程用户点击“开始结算”上位机发送CMD0x040x00指令清空终端购物车终端识别到RFID商品立即上报CMD0x03数据包上位机解析后添加至结算列表实时计算总价用户确认支付生成交易记录时间、商品清单、金额并存入SQLite数据库管理员功能独立登录窗口密码验证后开放商品编辑、会员卡注册写入RFID UID余额、库存盘点批量读取所有商品标签。4. 系统集成与调试要点4.1 模块级调试顺序遵循“由下至上、单点验证”原则电源验证万用表测量3.3V/5V/12V输出纹波50mVMCU最小系统烧录LED闪烁程序确认时钟、复位、SWD下载正常传感器逐个接入先DHT11串口打印原始数据再MQ2ADC值与万用表对比最后RC522使用Proxmark3验证读卡距离执行机构测试手动置高GPIO验证风扇/蜂鸣器动作LCD驱动显示静态字符再测试SPI速率推荐10MHz过高易花屏串口联调终端发送固定帧PC端用串口助手接收确认协议解析正确。4.2 常见问题与解决方案DHT11读数失败检查GPIO是否配置为开漏上拉示波器观测数据线确认主机拉低80μs后释放DHT11响应80μs低电平RC522识别距离短测量天线两端电压应为3.3V检查π型匹配电容焊点用手机摄像头观察RC522 LED识别时应有微弱闪烁LCD显示乱码确认SPI极性CPOL0, CPHA0、A0引脚电平命令/数据切换、ILI9163C初始化序列尤其Gamma校正参数串口丢包降低波特率至57600或在PC端增加接收缓冲区大小终端侧检查UART中断优先级是否高于SysTick。5. 物料清单BOM序号器件名称型号/规格数量封装备注1主控芯片STM32F103RCT61LQFP64国产GD32F103RCT6可直接替换2USB转串口CH340G1SOP16需焊接4个0Ω电阻选择3.3V电平3温湿度传感器DHT111PCB直插线长≤20cm避免靠近发热源4烟雾传感器MQ2带ADC模块1直插模块已集成TL431基准与滤波电路5RFID读卡器MFRC522SPI接口1直插天线板需与主控板平行放置6LCD显示屏1.44寸SPI LCDILI9163C1直插含背光LED与触摸本项目未用触摸7风扇12V DC轴流风扇40×40×10mm1直插噪音≤30dB8蜂鸣器5V有源蜂鸣器3-5mA1直插高电平触发9三极管S8050NPN2SOT-23分别用于风扇与蜂鸣器驱动10稳压芯片AMS1117-3.31SOT-223输入电容10μF钽电容100nF陶瓷11开关电源LM2576-121TO-220输入电容100μF/25V输出电容220μF/16V12洞洞板10×15cm万能板1—建议选用镀锡孔板焊接可靠性高6. 实际部署经验在某高校信息学院实验楼一层便利店面积12㎡为期三个月的实测表明环境监测精度DHT11温度误差±0.5℃25℃环境湿度误差±4%RH40%RH环境MQ2在酒精蒸汽中响应时间3s阈值设定为200ppm时误报率为0RFID识别可靠性单次识别成功率99.2%1000次测试主要失败原因为卡片倾斜角度30°或金属遮挡功耗表现待机功耗120mA3.3V风扇全速运行时峰值电流1.8A12V整机满载功耗约22W维护便捷性所有模块采用杜邦线插接更换DHT11或RC522仅需3分钟上位机提供“一键校准”功能管理员可现场修正传感器偏移量。该系统已作为《嵌入式系统设计》课程设计课题指导23名本科生完成硬件焊接、固件开发、上位机编程全流程平均开发周期为14人日。实践证明基于成熟芯片与模块的分层设计方法可有效降低复杂物联网系统的工程落地门槛。

相关新闻