OMRON CP1HPLC 电子手轮控制伺服,如何接线,设定,编写程序。 PDF文档,我自己总结编写的教程,实际项目应用,私家珍藏。
一、硬件接线踩坑实录
电子手轮三根线(A/B相+5V)接到CP1H的X0-X2(建议用高速输入口),注意手轮差分信号要接0V和24V中间抽头。伺服驱动器这边,脉冲(PULS1)、方向(SIGN1)直接怼到Y0-Y1,急停信号务必串接常闭触点进PLC的急停输入点。有个骚操作:在伺服驱动器电源端并联100Ω电阻,实测能有效抑制脉冲信号毛刺。
二、参数设定暗号破解
- 伺服驱动器菜单:
Pn000=0001(脉冲+方向模式)
Pn002=5000(每转脉冲数,按机械减速比算)
Pn303=2(刚性等级,别超过3否则电机啸叫)
- PLC侧高速计数器配置:
CTBL指令设置通道0为相位差模式
MOV #8000 D20000(开启硬件滤波)
重点来了:在"PLC设置"-"输入响应"里把X0-X3的滤波时间设到0.1ms以下,否则高速脉冲直接丢帧
三、程序段子手写法
//=======手轮脉冲捕获=======
LD P_FirstCycle
@CTBL 0 //选通道0
#0003 //加减计数模式
D100 //目标值(随便填个大的)
#0000 //不启用比较中断
//=======实时位置同步=======
LD SM0.5 //0.5秒脉冲
PRV D1000 K0 #0010 //读取高速计数值
MOV D1000 D5000 //传给伺服的脉冲量
//=======倍率切换骚操作=======
LD X4 //X1档
MOV K1 D200
LD X5 //X10档
MOV K10 D200
LD X6 //X100档
MOV K100 D200
MUL D5000 D200 D5100 //实际发送脉冲量
四、调试翻车现场集锦
- 手轮转但伺服不动?先拿万用表量脉冲线电压,正常在0-5V跳变
- 往反方向跑?把伺服的SIGN1和COM-短接试试
- 遇到脉冲累积误差?在急停回路里加条INI指令复位计数器
- 手轮倍率切换卡顿?在D200变更时插入ZRST清除乘法寄存器
(注:具体参数需结合机械结构微调,建议准备两罐红牛通宵调试)