智能桌面收纳管家:从雪糕棒液压原型到 3D 打印机电产品的迭代实录
记录一个从寒假手工打造的针管液压原型机起步,经 B 站 3 万播放激励,最终迭代为集成自动升降、语音控制、多模态交互的机电产品的完整过程。
关联荣誉
项目概述#
| 项目属性 | 内容 |
|---|---|
| 项目名称 | 智能桌面收纳管家 |
| 项目类型 | 校级本科生创新创业训练项目 |
| 项目时间 | 2024.01 – 2025.03(已结题,评价良好) |
| 我的角色 | 项目创建者(独立完成) |
| 技术栈 | SolidWorks、STM32、嘉立创 EDA、C++、蓝牙、语音识别、3D 打印 |
| 成果 | 校级创新体验竞赛三等奖、B 站 3 万+ 播放、校级本创结题 |
为什么做这个项目#
大一上学期,我刚学完 SolidWorks 和 STM32,正好有个校级创新体验竞赛。当时我桌上堆满了各种开发板、传感器模块和导线——自己的宿舍也一样,找个零件像大海捞针。
我就想,能不能用刚学的这些东西,给自己做一个”智能桌面收纳管家”?让它能分类存放这些小器件,还能自动升降。
那时候我其实没有任何产品开发的经验。SolidWorks 只会画简单的零件,STM32 刚点完灯和按键。但我觉得——学了不用等于没学。既然学了,就找个真实的需求做出来。
V1 原型:寒假卧室里的针管液压#
结构:雪糕棒、针管、硬纸板#
寒假回到家,我的卧室就成了实验室。先用 SolidWorks 把整个箱体的尺寸建好模,然后用硬纸板一块块裁切外壳。
最难的是升降装置。我还没学电机驱动,就想干脆自己设计一个简易液压系统。我用两支针管,中间连上软管,做成一个液压传动结构:推动一个针管的活塞,另一个针管就会带动平台升降。
为了把这个针管液压和平台连杆固定好,我找了一堆雪糕棒,用家里一把旧得发涩的小锯子,蹲在卧室里一根一根锯到合适的长度。锯着锯着手就打滑,被划了好几个口子,创可贴贴了掉、掉了贴,地上全是碎木屑。妈妈进来扫地时都叹气。
电控:面包板 + 杜邦线#
在 STM32 控制端,我用杜邦线和面包板把蓝牙模块、按键、OLED 屏幕、舵机逐个连接起来,写了第一套让多模块协同工作的代码。那也是我第一次真实体会到,代码不只是屏幕上的字符,它是能让实体动起来的指令。
第一次推动活塞#
整套东西组装完,最紧张的时刻来了——第一次推动活塞,平台纹丝不动。
那一瞬间,一股挫败感从头浇到底:我在这个纸盒子上花了这么多心血,它连动都不动一下。我是不是高估自己了?
拆开一看,是连杆粘合的角度不对,受力方向歪了,直接卡死。反复拆粘、调试了三四次。最后一次轻轻一推,平台”咔”一声顺滑地升了起来。我盯着那个吱吱呀呀但确实在动的纸盒子,一个人在卧室里笑出了声。
最终,这个粗糙但完整的原型机拿到了校级创新体验竞赛三等奖。
B 站 3 万播放:比三等奖更重要的东西#
初代机拿到三等奖后,我花了整整一个周末,把从建模到锯木头到代码调试的全过程,剪成了一段十几分钟的视频,发在了 B 站上。发完就没再管,觉得顶多几十个播放。
隔了两天打开,私信和评论竟然炸了,播放量一路冲到了 3 万多。评论区成了我的第二课堂:有人说结构可以换成齿轮齿条更稳定,有人说可以加个语音模块还画了张电路图给我看。
说真的,那个三等奖证书带给我的成就感,远不及这几万播放给我的冲击大。那些来自素未谋面的人的建议和鼓励,让我第一次强烈地感受到——原来真诚地分享自己笨拙但真实的学习过程,是可以连接到这么多人的,也是能反过来滋养自己的。
V2 升级:从手工品到机电产品#
B 站评论里很多人说那个针管液压太粗糙、不稳定。这些话我都认。
于是,我以这个原型为基础,申报了一项校级本科生创新项目,决心把整个系统做一次彻彻底底的升级。
结构升级:从针管液压到齿轮齿条自动升降#
第一个动刀的,就是那个靠手推的液压升降台。当时我已经开始接触 3D 打印机了,我决定从零开始,用 SolidWorks 重新设计一套配合精密的齿轮齿条升降机构。
建模比原来复杂了很多倍。不只是画一个齿轮——要计算模数、齿数、传动比,要确保齿轮和齿条的啮合间隙在合理的范围内,要设计轴承座和电机支架的安装定位。公差要反复核算。
我用 PETG 材料打印出所有零件,连接到一个直流减速电机上。当我通电后,看到它安静、顺滑、自动地升起,和一年前那个吱呀作响的手动针管形成鲜明对比——我心里只有两个字:值了。
硬件升级:从面包板到 PCB 集成板#
初代机的电路就是面包板 + 几十根杜邦线——跑着跑着就松了,碰一下就有接触不良。
我开始学习嘉立创 EDA,画了一块 PCB 集成板。这个板子本质上是一块”插线板”——我梳理了各个模块的引脚定义,把主控、蓝牙模块、LCD 显示屏、语音模块的接口都集成到一块板上,插上去、通上电,就能直接用。
虽然主控板和各个模块还是独立焊接而非贴片集成的,但相比面包板,稳定性上了一个巨大的台阶。
功能升级:从单按键到三合一交互#
初代机只有按键控制。在 V2 中我增加了蓝牙模块和语音识别模块。
- 实体按键:保留最基础的存取操作,GPIO 中断 + 软件消抖
- 手机蓝牙:自定义串口协议,实现远程控制和状态查询
- 语音控制:LD3320 语音识别模块,关键词触发——说出”升起二号箱”,它就能听令而动
原来的小屏幕也被我换成了一块更大的 OLED 屏,我重新设计了全部交互画面,让显示更加清晰直观。
核心代码架构#
// 多模块调度使用非阻塞状态机
typedef enum {
STATE_IDLE,
STATE_RISING,
STATE_FALLING,
STATE_ROTATING,
STATE_ERROR
} System_State_t;
// 存储位置管理——简单但有效的分配算法
uint8_t Allocate_Box(uint8_t item_type) {
for (int i = 0; i < MAX_BOX_NUM; i++) {
if (box_list[i].is_occupied == 0) {
box_list[i].item_type = item_type;
box_list[i].store_time = HAL_GetTick();
box_list[i].is_occupied = 1;
return box_list[i].box_id;
}
}
return 0xFF; // 无空闲位置
}c复盘:做对了什么,做错了什么#
做对了的:
- 用竞赛倒逼自己动手。如果没有那个校级竞赛的 deadline,我可能一直在”学”而不会真的”做”。竞赛逼着我用最快的方式把想法变成实物,这种”先跑起来再说”的思维,后来在更多项目里帮了我。
- 把过程发到 B 站。那 3 万播放不只是虚荣——它让我获得了一批免费且真诚的”外部评审”。很多改进方向都是从评论区来的,这比我自己闷头想要高效得多。
- 先做粗糙原型,再迭代升级。V1 花了不到一个寒假,V2 花了近一年。如果一上来就追求完美,可能 V1 都做不出来。
做错了的:
- PCB 设计上太保守。我做的其实是一块”插线板”而非真正的集成 PCB,各个模块还是独立焊接的。如果能更早地学习模块的贴片封装设计,整体的体积和可靠性还能再上一个台阶。
- 机械结构没有做 FEA 分析。齿轮齿条的受力计算全靠直觉和反复试打,如果当时会用 SolidWorks 的仿真模块,可以少跑好几轮 3D 打印迭代。
- 代码重构来晚了。V1 的代码是”能用就行”的风格,到了 V2 加功能时发现耦合度太高。如果能在一开始就规划好模块化架构,后续升级会轻松很多。
可迁移收获#
第一,闭环能力。 这个项目让我第一次跑通了”结构设计 → 嵌入式开发 → 快速原型制造”的完整链条。从 SolidWorks 建模,到 STM32 联调,再到 3D 打印落地,我一个人就能把方案从图纸变成能动的实物。这个能力在后来做电赛云台、搭 AGV 实验平台时,都是最基础但最有用的底子。
第二,3D 打印 + 结构设计的肌肉记忆。 收纳管家是我 3D 打印的”训练场”。从 PETG 材料的特性、公差配合的手感、到齿轮啮合的经验——这些都是在一次次打印失败中积累的。到了电赛做云台支架时,我已经能很自然地基于材料特性和制造约束来反推设计。
第三,外部反馈远比自我感觉重要。 B 站的经历让我养成了”做出来就拿给别人看”的习惯。后来做 ROS2 项目时,我也主动找师兄和老师要反馈。闭门造车的上限,就是自己的认知上限。
初稿写于 2025 年 5 月,2026 年 4 月根据项目复盘更新。