1. 电子手轮与伺服控制的基础认知
第一次接触电子手轮控制伺服电机时,我被这个看似简单实则精密的系统深深吸引。电子手轮(Hand Wheel)本质上是一个高精度脉冲发生器,通过旋转产生正交编码信号(A/B相脉冲),每转通常对应100个脉冲。而伺服系统则通过接收这些脉冲指令,实现精确的位置跟随。
在CP1H PLC平台上实现这个功能,关键在于理解三个核心环节的信号交互:
- 电子手轮输出的差分信号(通常为5V或24V)需要接入PLC的高速计数器
- PLC通过程序将脉冲频率转换为速度指令
- 伺服驱动器根据接收到的脉冲指令控制电机运转
特别注意:不同品牌的电子手轮输出信号存在差异,欧姆龙CP1H的输入电路设计更适合接收NPN开路集电极输出型信号。若使用其他类型手轮,可能需要增加信号转换模块。
2. CP1H硬件配置要点解析
2.1 硬件选型清单
- CP1H-XA40DT-D:推荐型号,自带4轴脉冲输出和4路高速计数器
- 伺服系统:测试使用安川Σ-7系列,支持脉冲+方向控制模式
- 电子手轮:选择每转100脉冲的工业级手轮,防水防油设计
- 接线组件:双绞屏蔽电缆(用于手轮信号传输)、终端电阻(120Ω)
2.2 关键硬件参数设置
在伺服驱动器侧需要配置以下参数:
plaintext复制Pn000.1=1 // 脉冲+方向控制模式
Pn202=100 // 电子齿轮分子(与手轮每转脉冲数一致)
Pn203=1 // 电子齿轮分母
Pn210=3000 // 最大转速限制(r/min)
CP1H的PLC设置需要通过CX-Programmer软件完成:
- 打开"PLC设置"→"内置输入设置"
- 将CT0-CT3设为"相位差输入模式"
- 设置计数模式为"线性模式"
- 输入滤波器时间设为2ms(防止触点抖动)
3. 电气接线实战图解
3.1 手轮到PLC的接线规范
使用CP1H的CT0通道(对应输入点0.00-0.01)连接手轮:
code复制手轮A相 → PLC 0.00
手轮B相 → PLC 0.01
手轮Z相 → PLC 0.02(可选,用于原点信号)
手轮+24V → PLC外部电源正极
手轮GND → PLC外部电源负极
血泪教训:曾因未使用屏蔽电缆导致脉冲丢失,建议采用以下接法:
- 屏蔽层单端接地(PLC侧)
- 信号线与动力线保持30cm以上距离
- 过长的电缆需加装磁环
3.2 PLC到伺服的脉冲输出
使用CP1H的脉冲输出0通道(100.00-100.01):
code复制PLC 100.00 → 伺服PP(脉冲正)
PLC 100.01 → 伺服NP(脉冲负)
PLC 100.02 → 伺服DIR(方向正)
PLC 100.03 → 伺服NG(方向负)
PLC COM → 伺服COM
4. PLC程序编写详解
4.1 高速计数器配置
使用CTBL指令建立高速计数器表:
structured复制MOV #0001 D100 // 计数器模式:相位差4倍频
MOV #0 D101 // 复位方式:软件复位
CTBL D100 #0 // 将设置应用到CT0
4.2 速度控制算法
通过PRV指令读取高速计数器当前值,经PID运算后输出脉冲:
structured复制LD P_First_Cycle
MOV #0 D200 // 目标位置清零
MOV #0 D210 // 当前位置清零
LD Always_ON
PRV #0 D210 #0 // 读取CT0当前值到D210
SUB D210 D200 D220// 计算位置偏差
MUL D220 K10 D230 // 比例系数Kp=10
LIM K-1000 K1000 D230 // 输出限幅
PLS2 D230 K5000 #0 // 脉冲输出
4.3 异常处理机制
添加以下保护逻辑:
structured复制LD SM251 // 脉冲输出0忙标志
ANDNOT A200.00 // 急停按钮
OUT TR0
LD TR0
MOV #0 D230 // 紧急停止时清零输出
5. 系统调试与优化技巧
5.1 响应速度调校
通过调整三个关键参数改善动态性能:
- 速度前馈增益:在D230计算中加入微分项
structured复制SUB D210 D211 D240 // 计算速度差 MUL D240 K2 D241 // 微分系数Kd=2 ADD D230 D241 D230 // 加入速度前馈 - 加减速曲线:修改PLS2指令的加减速时间参数
- 死区补偿:当|D220|<5时,强制D230=5
5.2 典型问题排查表
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 手轮旋转但电机不动 | 1. 脉冲输出未使能 2. 伺服未上使能 |
检查PLC的SM251状态 测量伺服SON信号电压 |
| 电机运行方向相反 | 1. 手轮AB相接反 2. 伺服方向逻辑设反 |
交换手轮A/B相接线 修改Pn000.0参数 |
| 高速时丢步 | 1. 脉冲频率超限 2. 电子齿轮比错误 |
降低PLS2频率 重新计算Pn202/203 |
6. 进阶应用:多轴联动控制
在数控钻床应用中,我们实现了X/Y轴同步控制:
- 使用CT0和CT1分别采集两个手轮信号
- 通过PLS2指令独立控制两路脉冲输出
- 添加轴间耦合算法:
structured复制// 主从轴跟随算法
LD Always_ON
PRV #0 D300 #0 // 读取主轴位置
PRV #1 D301 #0 // 读取从轴位置
SUB D300 D301 D302
MUL D302 K8 D303 // 耦合系数
ADD D230 D303 D230// 修正从轴输出
经过72小时连续运行测试,位置跟随误差稳定在±3个脉冲以内。这套方案已成功应用于PCB钻孔设备和玻璃雕刻机,相比传统控制方式,操作响应速度提升40%,定位精度达到0.01mm。
