1. 项目背景与需求分析
去年夏天帮邻居维修传统晾衣架时,发现手动调节高度的不便性让我萌生了改造想法。传统晾衣架存在几个痛点:晴天需要手动升高晾晒被子,雨天又要紧急收回;老年人操作费力;突发降雨时若家中无人衣物就会被淋湿。这些实际需求催生了这个智能伸缩晾衣架项目。
这个设计要实现三个核心功能:根据天气自动调节高度、支持手机远程控制、具备手动应急操作模式。选择STM32作为主控是因为其丰富的外设接口和实时性优势——需要同时处理传感器数据、电机控制和网络通信,Cortex-M内核的实时响应特性正好满足需求。
2. 硬件系统设计
2.1 核心器件选型
主控采用STM32F103C8T6最小系统板,这款72MHz主频的MCU自带PWM输出和多个USART接口。对比过ESP32后还是选择了STM32,因为电机控制需要更精确的定时器,而WiFi功能通过外接ESP-01s模块实现。
电机选用42步进电机配合TB6600驱动器,相比直流电机具有位置保持优势。测试发现0.9°步距角的电机在1.8m行程中定位误差小于3mm,完全满足晾衣架需求。关键参数计算:
code复制总步数 = 行程(1800mm) / 丝杠导程(4mm) * 电机每转步数(400)
= 1800/4*400 = 180,000步
2.2 传感器布置方案
- 雨滴传感器:安装在顶部遮阳板边缘,通过比较器输出数字信号
- 光敏电阻:检测环境光照强度,ADC采样后换算为lux值
- 限位开关:两端各安装一个机械限位,防止电机过冲
- 称重传感器(可选):HX711模块监测衣物重量,防止超载
3. 机械结构实现
3.1 传动机构设计
采用T型丝杠+直线导轨方案,测试发现直径8mm的丝杠在1.8m长度下最大下垂量仅2mm。关键设计要点:
- 丝杠两端需要角接触轴承支撑
- 导轨与丝杠平行度误差需控制在0.1mm/m以内
- 晾衣杆连接件使用3D打印的PLA材料,壁厚不小于3mm
3.2 防水防锈处理
所有金属部件经过三步处理:
- 喷砂除锈
- 镀锌层防护
- 喷涂汽车底盘装甲涂料
实测在潮湿环境下连续使用三个月无锈蚀现象
4. 控制系统开发
4.1 电机驱动逻辑
使用STM32的TIM1产生PWM脉冲,关键代码
解锁全文
加入我们的会员,获取最新、最热、最精彩的开发者技术内容