1. 项目概述:手机背光检测设备的核心需求
在手机制造产线上,背光模组的质量检测直接关系到屏幕显示效果。传统人工检测方式存在效率低、一致性差的问题,我们开发的这套自动化设备采用三菱FX5U PLC作为控制核心,通过4轴伺服系统实现精准定位,结合串口通讯与视觉检测模块完成数据交互。整个项目从电气设计到程序开发历时3个月,最终实现检测节拍8秒/片,误检率低于0.5%。
设备工作流程可分为三个阶段:首先由X/Y轴伺服模组将待测背光板移送至检测工位,Z轴升降机构配合视觉相机完成对焦,随后通过RS485通讯获取亮度均匀性数据,最后由R轴旋转机构将NG品分拣至不良品区。这种结构化设计使得日产能提升至4000片,较人工检测效率提高300%。
2. 硬件架构设计要点
2.1 伺服系统选型与配置
选用三菱MR-JE-40A伺服驱动器搭配HG-KR43J系列电机,关键参数配置如下:
| 参数项 | 设定值 | 说明 |
|---|---|---|
| 电子齿轮比 | 10000:2500 | 匹配5μm/pulse分辨率 |
| 速度环增益 | 35rad/s | 影响动态响应特性 |
| 位置环增益 | 25Hz | 决定定位稳定性 |
| 加减速时间 | 200ms | 平衡效率与机械冲击 |
调试心得:电子齿轮比计算需考虑机械减速比(2:1)和丝杆导程(5mm),实际脉冲当量=导程/(编码器分辨率×减速比)=5mm/(131072×2)≈0.02μm,最终取整设置为10000:2500实现5μm控制精度。
2.2 IO系统规划策略
采用模块化IO分配方案,将128个IO点按功能划分为:
-
输入组(X00-X37):
- X00-X07:急停/安全门信号
- X10-X17:伺服报警信号
- X20-X27:光电传感器组
- X30-X37:按钮/开关量输入
-
输出组(Y00-Y37):
- Y00-Y07:伺服使能信号
- Y10-Y17:电磁阀控制
- Y20-Y27:指示灯/报警器
- Y30-Y37:预留扩展口
这种分组方式使故障排查效率提升40%,比如当X10-X17出现异常时可直接锁定伺服系统问题。
3. 软件架构深度解析
3.1 结构化编程实现
采用FB(功能块)封装核心功能,主要模块包括:
structuredtext复制// 轴控制功能块示例
FUNCTION_BLOCK FB_AxisControl
VAR_INPUT
i_TargetPos : DINT;
i_Speed : DINT;
i_Execute : BOOL;
END_VAR
VAR_OUTPUT
o_Done : BOOL;
o_Error : WORD;
END_VAR
VAR
r_MoveCmd : MC_MoveAbsolute;
END_VAR
// 运动控制指令调用
r_MoveCmd(
Axis := 1,
Position := i_TargetPos,
Velocity := i_Speed,
Done => o_Done,
Error => o_Error
);
该功能块实现以下特性:
- 参数化封装:通过输入接口接收目标位置、速度等参数
- 状态反馈:输出Done和Error信号供上级逻辑判断
- 指令缓冲:内部变量r_MoveCmd保持指令状态
3.2 多轴同步控制算法
背光检测需要X/Y轴实现直线插补运动,采用三菱专用指令MC_Interpolation:
st复制// 两轴直线插补示例
MC_Interpolation(
Group := 1,
Command := 1, // 绝对定位
XPos := 100.0, // X轴目标(mm)
YPos := 50.0, // Y轴目标(mm)
Speed := 200.0,// 合成速度(mm/s)
Acceleration := 1000.0,
Deceleration := 1000.0,
InPosition => bInPos,
Error => wError
);
关键参数说明:
- 合成速度按勾股定理计算实际轴速
- 加减速时间t=(Vmax/a)×1000,本例中t=(200/1000)×1000=200ms
- 采用S型加减速曲线减少机械振动
4. 通讯系统实现细节
4.1 串口通讯协议设计
与视觉检测仪采用Modbus RTU协议通讯,关键帧格式:
| 字段 | 示例值 | 说明 |
|---|---|---|
| 设备地址 | 01H | 视觉模块站号 |
| 功能码 | 03H | 读取保持寄存器 |
| 起始地址 | 0000H | 亮度数据起始地址 |
| 数据长度 | 0008H | 读取8个寄存器 |
| CRC校验 | 85F1H | 校验码 |
PLC端数据处理逻辑:
st复制// 数据接收处理
IF bReceiveComplete THEN
wCRC := Calc_CRC(abyReceiveBuffer, 6);
IF wCRC = abyReceiveBuffer[6] THEN
// 提取亮度数据
rBrightness := INT_TO_REAL(
(abyReceiveBuffer[3] << 8) + abyReceiveBuffer[4]
) / 10.0;
END_IF
END_IF
4.2 异常处理机制
设计三级通讯容错策略:
- 超时重试:500ms无响应触发重发
- CRC校验失败时自动重试3次
- 连续5次失败触发设备报警(Y26=ON)
统计显示该机制使通讯成功率从92%提升至99.8%。
5. 人机界面设计要点
5.1 触摸屏画面布局
采用GT Designer3开发的HMI包含:
- 监控主页:实时显示4轴位置、检测结果波形图
- 参数设置:伺服参数、检测标准值设置
- 数据追溯:最近1000条检测记录查询
- 报警历史:按日期分类的故障记录
5.2 关键控件实现
亮度均匀性曲线显示使用GOT2000系列的特殊功能:
- 创建数据日志元件,采样周期设为200ms
- 配置XY曲线显示区域尺寸为600×400像素
- 绑定PLC的D100-D115作为数据源
- 设置纵轴范围0-1000lux,横轴时间跨度5s
6. 调试与优化实录
6.1 伺服系统振动抑制
初期调试发现Y轴在加减速阶段出现明显振动,通过以下措施解决:
- 调整速度前馈增益从0%增至30%
- 启用机械共振抑制滤波器(设定频率45Hz)
- 更换更柔软的联轴器(刚度系数降低40%)
6.2 视觉通讯延迟优化
原方案每帧检测耗时1.2s,通过以下改进降至0.8s:
- 将Modbus波特率从9600提升至115200
- 改用二进制传输替代ASCII模式
- 预加载检测模板到视觉模块内存
设备最终通过72小时连续运行测试,关键指标:
- 定位重复精度:±0.02mm
- 检测节拍稳定性:8±0.3s
- 系统MTBF:4500小时
这个项目让我深刻体会到,优秀的自动化设备需要机械、电气、软件的完美配合。比如伺服刚性调整需要配合机械特性,通讯协议优化要考虑硬件性能边界。下次我会尝试将更多AI算法集成到视觉检测环节,进一步提升缺陷识别准确率。
