1. 项目背景与核心需求
去年在自动化设备展会上看到一台乒乓球分拣机,让我萌生了动手做一个简易分拣装置的想法。这个"大小球分拣系统"的核心目标很简单:把混合在一起的不同直径球体(比如乒乓球和网球)自动分类到不同容器中。听起来简单?但真正动手时会发现从传感器选型到机械结构设计处处是坑。
这套系统最典型的应用场景就是体育用品生产线末端的品质分拣环节。比如乒乓球厂每天要处理成千上万个成品球,人工分拣不仅效率低,而且容易因疲劳导致误判。通过光电传感器+舵机控制的自动化方案,分拣准确率可以稳定在99%以上,速度更是人工的5-10倍。
2. 系统设计与硬件选型
2.1 传感器方案对比
测试过三种主流检测方案:
- 红外对射传感器:成本最低(单价<5元),但易受环境光干扰。实测在阳光直射环境下误触发率高达15%
- 超声波传感器:检测距离稳定,但对小球(<4cm)分辨率不足。HC-SR04在3cm内存在盲区
- 激光测距模块:最终选用VL53L0X(单价约25元)。0.1mm级分辨率,10Hz采样率完全满足需求
关键技巧:安装传感器时需与传送带呈30°夹角,避免球体表面反光造成读数跳变
2.2 机械结构设计要点
分拣机构采用舵机+挡板方案比气动推杆更经济。需要注意:
- 挡板长度要大于最大球体直径的1.5倍
- 使用MG996R金属齿轮舵机(扭矩11kg·cm)
- 在挡板末端粘贴3mm厚硅胶垫减少噪音
传送带速度建议控制在0.3m/s以下,太快会导致:
- 传感器来不及完成多次采样
- 球体在挡板处分拣不彻底
3. 核心算法实现
3.1 动态阈值判定法
传统固定阈值法在球体颜色变化时效果差。改进方案:
python复制# 滑动窗口均值滤波
window_size = 5
history = []
def dynamic_threshold(current):
history.append(current)
if len(history) > window_size:
history.pop(0)
avg = sum(history) / len(history)
return avg * 1.2 # 20%浮动阈值
3.2 防误触发机制
现场测试发现的典型问题:
- 两个球紧贴通过传感器
- 球体在传送带打滑
- 异物遮挡传感器
解决方案:
- 增加最小间隔时间判定(>300ms)
- 连续三次采样结果一致才触发
- 加入看门狗定时器自动复位
4. 现场调试实录
4.1 电气干扰排查
初期遇到舵机运行时传感器读数异常,最终发现:
- 舵机电源与传感器共用5V线路
- 电机启动瞬间电压跌落至4.3V
改进方案:
- 为传感器单独配置LDO稳压模块
- 在电源输入端增加4700μF电容
4.2 机械结构优化
原设计挡板动作时间(200ms)导致小概率漏检:
- 将舵机PWM频率从50Hz提升到100Hz
- 改用24齿金属齿轮替代原厂塑料齿轮
- 动作时间缩短至120ms
5. 性能测试数据
连续8小时压力测试结果:
| 指标 | 乒乓球(40mm) | 网球(67mm) |
|---|---|---|
| 通过量 | 1824个/小时 | 976个/小时 |
| 误分拣率 | 0.12% | 0.08% |
| 卡球故障次数 | 3次 | 0次 |
关键改进点:
- 在分拣口加装导向斜面
- 将传送带侧挡板间距缩小至72mm
- 增加光电开关实时监测堵料状态
6. 成本控制方案
批量生产时的降本技巧:
- 用槽型光电开关替代激光传感器(精度下降但成本减半)
- 传送带电机改用N20减速电机(需重新计算扭矩)
- 控制板换成STC8H1K08(资源足够且单价<3元)
这套系统最终物料成本可以控制在200元以内,而市面同类设备售价通常在2000元以上。对于小批量生产的体育用品厂商来说,自制分拣设备的投资回报周期不超过两个月。