PMAC 误差补偿的方法及步骤
电机的进行运动控制的过程中,由于误差的存在,因此要进行补偿。
补偿的基本步骤是:1.测量误差数据
2.使用误差数据制作补偿表
3.在程序中写入补偿表
4.测试补偿后的数据
以下进行详细说明。
本文我使用的是PMAC进行直线电机的控制,使用光栅反馈,1mm对应20000个脉冲,并且使用激光干涉仪作为基准。
(一)测量误差数据
误差数据的测量就是发送指令让PMAC控制电机移动某个距离,同时对比激光干涉仪的数据,两个数据的差值就是误差值。
具体步骤:
(1)给PMAC输入指令#1j^1000000控制电机1向前移动50mm(1mm对应20000个脉冲),同时观察激光干涉仪的数值并进行记录。我这里一共测量10个数据,到500mm为止。记录的方式可以是手动记录,也可以使用干涉仪自带的软件进行数据的记录。我使用的是干涉仪软件的记录方法。
(2)反方向也同样进行测量。
(3)得到测量的数据如下:
系数 | 目标 (mm) | 运行次数 1 (+) 位置 | 运行次数 1 (+) 误差 |
1 | 50.0000 | 50.0081 | 8.1 |
2 | 100.0000 | 100.0105 | 10.5 |
3 | 150.0000 | 150.0219 | 21.9 |
4 | 200.0000 | 200.0341 | 34.1 |
5 | 250.0000 | 250.0455 | 45.5 |
6 | 300.0000 | 300.0576 | 57.6 |
7 | 350.0000 | 350.0713 | 71.3 |
8 | 400.0000 | 400.0856 | 85.6 |
9 | 450.0000 | 450.0990 | 99.0 |
10 | 500.0000 | 500.1128 | 112.8 |
系数 | 目标 (mm) | 运行次数 1 (-) 位置 | 运行次数 1 (-) 误差 |
1 | -50.0000 | -50.0108 | -10.8 |
2 | -100.0000 | -100.0254 | -25.4 |
3 | -150.0000 | -150.0361 | -36.1 |
4 | -200.0000 | -200.0475 | -47.5 |
5 | -250.0000 | -250.0600 | -60.0 |
6 | -300.0000 | -300.0717 | -71.7 |
7 | -350.0000 | -350.0842 | -84.2 |
8 | -400.0000 | -400.0967 | -96.7 |
9 | -450.0000 | -450.1084 | -108.4 |
10 | -500.0000 | -500.1209 | -120.9 |
(二)制作补偿表
(1)将误差值除以0.05(光栅分辨率为0.05um)得到值2
(2)将值2乘以16(PMAC寄存器相关量)得到值3
得到如下数据:
目标 (mm) | 运行次数 1 位置 | 运行次数 1 误差 | 误差/分辨率 | *16 | |
1 | 50 | 50.0081 | 8.1 | 162 | 2592 |
2 | 100 | 100.0105 | 10.5 | 210 | 3360 |
3 | 150 | 150.0219 | 21.9 | 438 | 7008 |
4 | 200 | 200.0341 | 34.1 | 682 | 10912 |
5 | 250 | 250.0455 | 45.5 | 910 | 14560 |
6 | 300 | 300.0576 | 57.6 | 1152 | 18432 |
7 | 350 | 350.0713 | 71.3 | 1426 | 22816 |
8 | 400 | 400.0856 | 85.6 | 1712 | 27392 |
9 | 450 | 450.099 | 99 | 1980 | 31680 |