8个驱动器只连了一个电机和编码器,然后用galiltool进行调试。
这个是控制箱,8轴卡有两个端子板,图片上一个端子板LED灯亮了前两个:DMC ON 和 READY,第二个板READY没有亮,不知道是出什么问题了。
随便写了一个程序,执行后报错: ?5 BG X;
使用SC命令返回值:4,4,4,4,4,4,4,4(8个驱动器我都开了,但是只有一个驱动器连接了电机,而且我没有使用ST命令),使用TC命令返回值是20,说电机没有开。
我中间使用ED命令也报错,
INVALID COMMAND ERROR. DL,UL,ED, and QD are not allowed from GALIL::command()
我直接在terminal中输入三行命令也会报错,用TC命令返回值为0(TC命令返回值从1-255,返回0 我不知道什么情况),分析原因应该是电机使能没有开,我检查了接线好像没什么问题。希望刘工能帮我看看可能是什么原因。
SH命令可以打开使能并且让电机进行转动,但那时候PA这些命令没有用,只有SH和MO两个命令有用,就是让电机转和停,不能调速
这个是控制卡需要按照不同的控制方式进行正确的初始配置,才能对电机的运动状态实现控制。
结果这次又出现电机使能打不开
控制器上有一些保护功能设置,在一定的情况下会自动关闭电机。由于电机控制的基本配置都还没有做,所以也不必确认是出了什么情况(什么情况都没有出才是意外)。您先输入指令OE0,这样就可以确认SH可以打开电机了。下面的步骤我很多年前在论坛贴过,但是现在找不到了。
GALIL 控制卡连接伺服电机的一般步骤
1、在没有连接伺服电机的情况下,向卡输入以下命令(以下假设电机连接在X
轴)
KPX=0
KDX=0
OFX=0
MOX
BN
(以上指令是为了确保连上电机后,上电时不会飞车)
2、关闭电源,确认GALIL 卡上跳线SMX 没有连接。连接伺服电机,确保以下
信号连接可靠:
编码器信号 A+、A-、B+、B-,编码器的Z(INDEX)信号不是必须的
驱动器使能信号
速度指令信号
3、上电
此时电机应该不动,而且没有扭矩,如电机转动,则检查使能信号线是否连
接正确,并检查伺服驱动器的参数,确认电机的使能是由外部信号控制。
4、向控制卡输入指令
SHX
此时电机应该低速转动(零飘)
5、在+/-0.1 的范围内,写入OFX 的值。并观察电机转速的变化,如写入数值越
大,则电机正转速度越大,或者写如数值越小,电机反向转动速度越大。则
直接进行下一步。如果与上述情况相反,则要调整MTX 的值(1 改为-1,或
者-1 改为1)。
如果电机不转,或者OFX 的值对转速无影响,则检查模拟量信号线是否连接
正确,检查伺服驱动器参数,是否为速度控制方式,检查伺服驱动器参数和
其它接线,是否有限制信号或其它有效的限制信号输入。
6、观察编码器计数方向:如果正转时计数增加,反转时计数减少,则直接进行
下一步,否则,要更改CEX 的值(0 改为2,或2 改为0)。如编码器不计数,
或计数情况与电机转动情况无明确关系,请检查编码器信号连接线。
7、输入如下指令
MOX
KPX=1
BN
SHX
此时电机应保持大致静止状态,输入 TTX,反馈即控制卡当前输出电压值,
即抑制零漂所需要的电压输出,输入OFX 为此值。
8、计算前馈系数
在驱动器参数中,查找输入电压与转速的关系,如松下电机,其出厂默认值
通常为1V 电压对应500rpm,不同厂家的驱动器,此参数的定义可能不同,
请根据伺服的手册,计算出1V 电压对应的转速V(rpm),确认电机的编码
器线数P(ppr)如CEX 为0 或者2,那么这个数要乘以4。
FVX=60000000/1.22/V/P
此时,电机基本受控,应能基本满足大部分运动控制要求,下一步就是细调PID
了。
(注意:以上所使用的所有GALIL 指令,请阅读GALIL 手册以了解详细情况)