编码器反馈脉冲数一直累加 点击:6854 | 回复:19



xianglily0425

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-09-24 14:13:09
楼主

刘工:

       您好。

       之前有请教过您,也得到了回复。非常有帮助,非常感谢。现在我这又遇到一个问题,想请教一下您。

       galil的以太网控制器DMC-1846,控制转台,不带位置反馈时,反馈回的数据没问题,利用“DP,0”,“TP,Y”,指令。但是用命令"DE,0", "TD,Y",应该反馈回来是0或者是很小的一个数,但是现在也没有其他的指令,反馈回来的数很大,并且是一直累加的。转台的编码器是HEIDENHEIN的RON-886.不知道是哪里出了问题。这个编码器也是前不久才返到HEIDENHEIN那边检修的。应该不是编码器的问题吧。

       大致就是这样一个现象。谢谢。




刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2012-09-24 18:42:23
1楼

DMC-1846,应该是PCI接口的吧。

您所说的现象,目前是连接了位置反馈了么?Y轴的MT和CE设置分别是多少?

 

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-09-25 08:20:12
2楼
刘老师,我们公司有两台工控机设备。昨天我们做了试验,一项项排除,测试。最后发现是连接放大器的电缆有问题,才导致了现在的现象。谢谢了。

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-09-25 16:55:14
3楼

刘老师,今天又出现一个问题了。不知道怎么回事。编码器是辅编码器,反馈回来的1°对应20000脉冲数。电机编码器是主编码器,1°对应100/360*8192个脉冲数 。

如果直接在DMC-terminal里编辑

DE,0

AC,5000

DC,5000

SP,5000

PR,100/360*8192*10         ‘(对应的转台转动10°)

BGY

TDY

反馈回来的脉冲数是199980。

但是在VB编程里也是这样编写的,如:

Dim rc As String
Dim hDmc As Long
Dim Response As String * 256
Dim val2 As String
Private Sub Command1_Click()
           rc = DMCCommand(hDmc, "DE,0", Response, 256)
           
           
            val2 = "PR," & Str(100 / 360 * 8192 * 10)
            rc = DMCCommand(hDmc, val2, Response, 256)
            rc = DMCCommand(hDmc, "BGY", Response, 256)
            rc = DMCCommand(hDmc, "AMY", Response, 256)
            rc = DMCCommand(hDmc, "TDY", Response, 256)
            Text1.Text = Str(Val(Response))
          
End Sub
Private Sub Form_Load()
    Controller = 1
    rc = DMCOpen(Controller, 0, hDmc)
    End Sub

Private Sub Form_Unload(Cancel As Integer)
    rc = DMCClose(hDmc)
End Sub

这样text里显示的数值是177550,相差太大了。为什么会这样呢,按道理来讲,命令是一样的,反馈回来的数值应该也一样啊。是不是长度定义有问题?

希望刘老师能帮我看看,谢谢了。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2012-09-25 18:51:00
4楼

用RP指令看一下结果是不是一样,那个值应该是一样的.

RP反馈的是控制卡内的参考位置;TP反馈的是主编码器位置也就是电机轴的角度位置;TD反馈的是辅助编码器位置,也就是经过传动机构之后检测的位置.

当给相同的运动命令时,RP一定是相同的,

TP应该是相近的,但是由于外部阻力的不确定性,和KP\KI\KD几个参数的设置会有微小的不同‘

TD差多少很难说,可能是由于电机本身的动作不一致(通过TP可以看出来),也可能是由于产个机构的问题造成不负载与电机的动作不完全一样,比如存在打滑或者间隙.

.

 

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-09-25 19:02:57
5楼

但是现在利用DMC-terminal那个软件,返回TDY,和激光干涉仪检测出来的是一致的。而用VB程序反馈回来的不一样。这就说不过去了吧,您说呢。

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-09-25 19:05:15
6楼
是不是我上面的VB程序编辑有什么问题呢?

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2012-09-26 09:19:05
7楼

抱歉,昨天还真没仔细看您的VB程序。

 

程序确实有点问题,问题就在rc = DMCCommand(hDmc, "AMY", Response, 256)上。

1、AMY并不意味着电机运动真正的结束,只是意味着它应该结束了。实际电机的动作与这个“应该”多少总是有点不一致的,通常是滞后。也就是说,您在VB程序中读TDY反馈时,电机还没走到位置。从数据的差异来看您的电机滞后不少,建议增加KP、KI等增益参数。


换成相应的延时.

Dim rc As String
Dim hDmc As Long
Dim Response As String * 256
Dim val2 As String
Private Sub Command1_Click()
           rc = DMCCommand(hDmc, "DE,0", Response, 256)
            val2 = "PR," & Str(100 / 360 * 8192 * 10)
            rc = DMCCommand(hDmc, val2, Response, 256)
            rc = DMCCommand(hDmc, "BGY", Response, 256)
End Sub

Private Sub Timer1_Timer()

            rc = DMCCommand(hDmc, "TDY", Response, 256)
            Text1.Text = Str(Val(Response))
End Sub

Private Sub Form_Load()
    Controller = 1
    rc = DMCOpen(Controller, 0, hDmc)
    End Sub

Private Sub Form_Unload(Cancel As Integer)
    rc = DMCClose(hDmc)
End Sub

 

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-10-30 08:12:57
8楼

刘老师,现在有个问题想请教您。

之前我跟您说过,我们的驱动是安川的,控制卡是DMC-1846,互联模块是PICM-3900S。

之前驱动是速度控制,连接方式是半闭环控制。反馈是从驱动模块CN1出来连接到互联模块输出口Y上的。这种方式运动没什么问题。

现在我们将连接方式改成全闭环了。反馈是从外置圆编码器RON886直接连到互联模块输出口Y上,驱动还是速度控制。各种参数也没改。用上位机命令JG,5000;BGY.相比之前的连接方式,同样的指令。速度变的很慢,并且现在做试验,在转台的固定的两个点上有窜动,不知道什么原因。还请刘老师给分析一下。谢谢。

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-10-30 12:36:15
9楼
刚我们做了一个实验,脱开与PICM-3900S的连接,用驱动来控制电机带动工作台转动,这样是没有问题的。怀疑是不是连接到互联模块的线是不是有问题。下午试试看看,但是从编码器出来的信号线是和互联模块的线是一一对应焊接的,这样会有问题吗。还有控制速度的模拟量和这个编码器的信号线是一个插头的,也会有干扰吗?

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2012-10-30 15:10:42
10楼

速度有变化是应该的。指令JG,5000的单位是控制卡上连接的反馈分辨率/秒。您反馈的方式变了,自然速度的单位也就变了,同样的数值,速度当然不一样。

在两个固定的位置有窜动,比较大的可能不是因为干扰,而是因为反馈信号来源不同。问题出在机械结构上的可能性比较大。

 

杺!

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 178回
  • 年度积分:0
  • 历史总积分:192
  • 注册:2012年10月11日
发表于:2012-10-30 16:32:11
11楼

嗯,学习下。不是很明白

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-10-30 20:52:49
12楼
那是不是圆编码器装的不同心,还有这个机械传动是涡轮涡杠的。

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-10-30 20:57:00
13楼
那是不是圆编码器装的不同心,还有这个机械传动是涡轮涡杠的。,

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2012-10-31 10:51:06
14楼

有可能不同心,但如果只有微小的不同心,不至于在两个固定点上有窜动。

 

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-11-01 08:15:49
15楼

我们 用编码器信号检测仪器检测过信号的强弱,这样也能看出来安装的好不好。检测出来是一半信号强,一半信号弱。这样应该可以肯定是不同心,但是为啥会在两个固定点窜动呢。不是很明白。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2012-11-01 11:33:13
16楼

编码器偏心要有这么大的影响,那要是开放的编码器,还要偏得很远才有可能。远到信号已经不稳定的程度。

有问题的两个点是圆周上对称的两点么?

 

xianglily0425

  • 精华:0帖
  • 求助:2帖
  • 帖子:2帖 | 24回
  • 年度积分:0
  • 历史总积分:149
  • 注册:2012年7月11日
发表于:2012-11-01 19:29:12
17楼
不是对称的两点,刚把cn1出来的那个模拟量信号的线换成带屏蔽的双绞线,重新运动。现在换到另外两个地方窜动了。不知道这啥原因

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2012-11-05 17:49:51
18楼

还是建议查机械部分。

蓝静0812

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 79回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2015年7月13日
发表于:2018-07-06 13:16:36
19楼

谢谢楼主!在攒积分中。。。


热门招聘
相关主题

官方公众号

智造工程师