
## 1. 项目概述 ### 1.1 系统架构 智能营养称系统采用主从式架构设计以STM32F103C8T6为核心控制器通过HX711模块采集称重传感器数据经OLED显示本地测量结果后由ESP8266模块建立WIFI通信链路与手机APP交互。系统硬件组成架构如下图所示注此处应为框图实际写作时用文字描述 - 传感层HX711压力传感器实现重量信号采集 - 控制层STM32完成数据处理与系统调度 - 人机交互层OLED显示按键输入APP远程监控 - 通信层ESP8266构建WIFI数据传输通道 ### 1.2 核心功能 1. 高精度称重测量分辨率1g 2. 实时重量显示本地OLED远程APP双通道 3. 食物热量计算基于重量与食物类型 4. 饮食数据记录与查询SQLite数据库存储 ## 2. 硬件设计详解 ### 2.1 主控电路设计 采用STM32F103C8T6最小系统板作为控制核心关键设计参数 - 工作电压3.3V通过AMS1117-3.3稳压 - 时钟源8MHz外部晶振内部PLL倍频至72MHz - 调试接口SWD四线制SWDIO/SWCLK/GND/VCC c // 系统时钟配置示例使用标准库 RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) RESET); RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9); RCC_PLLCmd(ENABLE);2.2 称重模块电路HX711模块与STM32的连接方案HX711引脚STM32引脚功能说明DTPB12数据输入SCKPB13时钟输出VCC5V电源输入GNDGND信号地称重传感器选型要点量程5kg满足日常食物称重需求输出灵敏度2.0mV/V非线性度±0.03%FS2.3 无线通信模块ESP8266-01S工作配置固件版本AT_V2.2.0.0工作模式APTCP Server关键AT指令ATCWMODE2 // 设置为AP模式 ATCWSAPNutriScale,12345678,1,4 // 配置热点 ATCIPMUX1 // 启用多连接 ATCIPSERVER1,8080 // 开启TCP服务3. 软件实现3.1 主程序流程ststart: 系统初始化 op1operation: 传感器校准 op2operation: 创建WIFI热点 op3operation: 启动TCP服务 condcondition: 有按键触发? eend: 数据上传 st-op1-op2-op3-cond cond(yes)-e cond(no)-op33.2 称重算法实现采用滑动窗口滤波算法提升测量稳定性#define SAMPLE_SIZE 10 float weight_filter(float raw_data) { static float buffer[SAMPLE_SIZE]; static uint8_t index 0; float sum 0; buffer[index] raw_data; if(index SAMPLE_SIZE) index 0; for(uint8_t i0; iSAMPLE_SIZE; i) { sum buffer[i]; } return sum/SAMPLE_SIZE; }3.3 通信协议设计APP与设备采用JSON格式通信{ cmd: weight_update, value: 256.5, unit: g }4. 系统测试数据4.1 称重精度测试标准砝码(g)测量值(g)误差(%)100101.21.2500498.7-0.2610001002.40.244.2 通信距离测试距离(m)RSSI(dBm)丢包率(%)1-3505-580.210-721.55. 关键问题解决方案5.1 传感器漂移补偿通过定期自动去皮和温度补偿算法解决void auto_tare() { float offset 0; for(int i0; i20; i) { offset hx711_read(); delay(50); } calib_offset offset/20; }5.2 多任务调度采用时间片轮询架构typedef struct { void (*task_func)(void); uint32_t interval; uint32_t last_run; } TASK_STRUCT; TASK_STRUCT task_list[] { {weight_measure, 100, 0}, {wifi_process, 50, 0}, {display_update, 200, 0} };6. 生产指导6.1 BOM关键器件器件名称型号数量主控MCUSTM32F103C8T61WIFI模块ESP8266-01S1称重传感器HX7115kg1套OLED显示屏SSD1306 0.9616.2 校准流程空载状态下长按校准键3秒放置500g标准砝码按确认键完成线性校准系统自动保存校准系数至Flash