1、项目全景与需求分析:分拣机行业背景、项目目标、核心功能需求、技术选型

各位同学,欢迎来到《分拣机嵌入式全栈开发》的第一课。

做嵌入式开发这么多年,我见过太多人一上来就画原理图、写代码。结果呢?做到一半发现芯片选错了,传感器不匹配,通信协议根本跑不通。说白了,这就是典型的「需求没理清,后面全白干」。今天这一章,我们就先把地基打牢。

1.1 分拣机行业背景:为什么我们要学这个?

先聊聊行业。分拣机这东西,你可能在快递中转站、物流仓库里见过。传送带哗哗地跑,包裹唰唰地分到不同出口。嗯,背后就是一套嵌入式系统在控制。

我几年前参与过一个电商仓库的分拣机项目。客户要求每小时分拣 3000 件,误差率低于 0.01%。当时我心想,这要求不低啊。但真正做起来才发现,难点不在硬件,而在「实时性」和「可靠性」的平衡。

分拣机的核心场景无非三个:

  • 物流分拣:快递、包裹、电商订单。量大,速度快。
  • 工业分拣:零件、电子元器件、食品。精度要求高。
  • 医疗分拣:药品、试剂、样本。容错率极低。

你想想看,如果分拣错了,轻则退货重发,重则医疗事故。所以这个行业对嵌入式系统的要求就一个字:稳。

核心洞察: 分拣机的本质是一个「实时决策系统」。传感器采集数据 -> 主控芯片处理 -> 执行器动作。整个闭环必须在毫秒级完成。

1.2 项目目标:我们要交付什么?

我们这个课程的目标,是设计并实现一台「小型智能分拣机」的原型机。注意,是原型机,不是工业级产品。但麻雀虽小,五脏俱全。

具体目标如下:

  • 功能完整:能识别不同颜色/形状的物体,并分拣到指定位置。
  • 实时响应:从检测到执行,延迟不超过 50ms。
  • 可扩展:预留接口,方便以后加装扫码枪、称重模块。
  • 成本可控:整机 BOM 成本控制在 500 元以内。

我记得当时做第一个版本时,光电机驱动就烧了三次。后来才发现是电源纹波太大。嗯,这些坑后面都会讲到。

1.3 核心功能需求:分拣机到底要做什么?

功能需求,说白了就是「用户希望机器怎么干活」。我们把它拆成几个模块:

1.3.1 物料识别

这是第一步。物料来了,你得知道它是什么。常见方案有:

  • 颜色传感器:识别红、绿、蓝等颜色。便宜,但受环境光影响大。
  • 光电传感器:检测有无物体。简单粗暴。
  • 摄像头 + 图像识别:高级玩法,能识别形状、二维码。但算力要求高。

我们这次用颜色传感器 + 光电传感器组合。为什么?因为性价比高,而且实时性好。我在项目中遇到过用摄像头做识别,结果 OpenCV 处理一帧要 200ms,根本来不及。后来果断换方案。

1.3.2 传送与分拣执行

识别完了,得把物料送到对应位置。这里涉及:

  • 传送带控制:步进电机或直流电机。需要调速和启停控制。
  • 分拣机构:推杆、气动喷嘴、或者机械臂。我们选推杆,结构简单。
  • 位置检测:限位开关或编码器。确保推杆到位。

你想想看,如果推杆没到位,物料就卡住了。所以执行器的反馈信号非常重要。

1.3.3 人机交互

操作员总得知道机器在干嘛吧?所以需要:

  • 显示屏:显示当前分拣数量、故障信息。
  • 按键:启动、停止、复位。
  • 蜂鸣器/LED:报警提示。

这部分看似简单,但 UI/UX 设计不好,操作员会骂娘的。我见过一个项目,按键布局不合理,工人每天按错几十次。后来重新画了 PCB 才解决。

1.4 技术选型:芯片、传感器、执行器、通信协议

技术选型是重头戏。选对了,后面一路顺风;选错了,天天加班改板子。我个人习惯是先列需求,再选型,不盲目追新。

1.4.1 主控芯片选型

主控芯片是大脑。我们这次的需求是:

  • 至少 2 路 PWM(控制电机)
  • 至少 4 路 GPIO(传感器、按键)
  • 1 路 UART(调试或通信)
  • 1 路 I2C 或 SPI(连接显示屏)
  • 实时性好,中断响应快

我推荐 STM32F103C8T6。为什么?

  • 性价比高:淘宝几块钱一片。
  • 生态成熟:HAL 库、CubeMX、各种例程。
  • 性能够用:72MHz 主频,足够处理分拣逻辑。

个人建议: 如果你预算充足,也可以考虑 ESP32。自带 WiFi/蓝牙,方便做物联网。但实时性不如 STM32。看项目需求取舍。

1.4.2 传感器选型

传感器是眼睛。我们选:

传感器类型 型号 接口 用途
颜色传感器 TCS34725 I2C 识别物料颜色
光电传感器 E18-D80NK GPIO 检测物料有无
限位开关 微动开关 GPIO 推杆到位检测

TCS34725 这个芯片我用了很多次。它内置了滤光片,抗干扰能力不错。但要注意,它需要校准。我曾经在项目里没做白平衡校准,结果红色和橙色老是分不清。后来加了一步校准流程,问题解决。

1.4.3 执行器选型

执行器是手脚。我们选:

  • 传送带电机:28BYJ-48 步进电机 + ULN2003 驱动板。便宜,控制简单。
  • 推杆:SG90 舵机。5V 供电,PWM 控制角度。

这里有个坑要注意。SG90 舵机虽然便宜,但扭矩小。如果物料太重,推不动。我建议分拣轻量级物料(<50g)用这个方案。如果物料重,得换金属齿轮舵机或者气动推杆。

1.4.4 通信协议选型

通信协议是神经。我们这次用:

  • UART:用于调试和上位机通信。波特率 115200。
  • I2C:连接颜色传感器和 OLED 显示屏。
  • PWM:控制舵机和步进电机。

为什么不选 SPI?因为 I2C 只需要两根线,省 GPIO。而且 TCS34725 和 OLED 都是 I2C 接口,一根总线搞定。

避坑指南: 我曾经在 I2C 总线上挂了 3 个设备,结果通信老是出错。后来发现是上拉电阻没加。记住,I2C 总线必须加 4.7kΩ 上拉电阻,否则信号不稳定。

1.5 本章小结

好,这一章我们聊了分拣机的行业背景、项目目标、功能需求和技术选型。说白了,就是搞清楚「我们要做什么」和「用什么做」。

下一章,我们会开始画系统框图,然后进入硬件设计。到时候我会手把手教你怎么画原理图、怎么布局 PCB。嗯,那才是真正动手的时候。

记住一句话:需求分析做得越细,后面踩的坑越少。别急着写代码,先把需求吃透。

课后思考: 如果让你选主控芯片,你会选 STM32 还是 ESP32?为什么?欢迎在评论区留言讨论。