搜索
bottom↓
回复: 43

求助,安川伺服电机在停止运转后,编码器输出脉冲

[复制链接]

出0入0汤圆

发表于 2014-5-28 10:38:16 | 显示全部楼层 |阅读模式
最近在使用安川200w的SGMAH伺服电机,使用位置控制,编码器为2048线的增量式的,用MC3486差分接收器接收伺服驱动器的PAO/PBO,然后用HCTL2032采集MC3486输出的A相/B相脉冲。电机运转时,MCU能够准确读到HCTL2032采集到的电机转动量(即编码器的输出脉冲量)。
现在的问题是:停止运转的电机(停止对伺服驱动位置控制的输入脉冲,电机处于使能状态),HCTL2032一直采集到脉冲,也就是说,编码器一直在输出脉冲,HCTL2032读到的脉冲数一直在增加。如果使电机禁止然后使能但电机还是停止,这时候编码器就没有输出了。电机停止后,编码器一直在输出同向的脉冲,是干扰的原因?振动的话有可能,但是如果是振动的话,脉冲应该是有正向和反向的哈。各位有经验的达人帮分析哈。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-5-28 10:56:29 | 显示全部楼层
上示波器看看到底是啥东西

出0入0汤圆

发表于 2014-5-28 10:59:17 | 显示全部楼层
伺服电机停止的时候不是完全停止的,而是在一个小范围内正反转动。所以HCTL2032能够接收到脉冲,但是是有正有负的,你可以同时检测下HCTL2032的方向信号就知道了

出0入0汤圆

 楼主| 发表于 2014-5-28 11:03:07 | 显示全部楼层
huangxiaolpbany 发表于 2014-5-28 10:59
伺服电机停止的时候不是完全停止的,而是在一个小范围内正反转动。所以HCTL2032能够接收到脉冲,但是是有正 ...

一直是一个方向的,所以很纳闷

出0入0汤圆

发表于 2014-5-28 11:17:43 | 显示全部楼层
HCTL2032的方向输出也是一个方向的?

出0入0汤圆

 楼主| 发表于 2014-5-28 12:25:33 | 显示全部楼层
huangxiaolpbany 发表于 2014-5-28 11:17
HCTL2032的方向输出也是一个方向的?

是的,而且换了几个电机,也一样

出0入0汤圆

 楼主| 发表于 2014-5-28 12:26:02 | 显示全部楼层
ddqq 发表于 2014-5-28 10:56
上示波器看看到底是啥东西

确实要用示波器看看

出0入0汤圆

发表于 2014-5-28 17:37:35 | 显示全部楼层
为什么不用AM26LS32C呢

出0入0汤圆

发表于 2014-5-28 18:48:41 | 显示全部楼层
本帖最后由 RobotRD 于 2014-5-28 18:51 编辑

看波形,是4*模式吗

出90入4汤圆

发表于 2014-5-28 20:37:28 | 显示全部楼层
“抖动”???看看波形,应该是不合法的正交脉冲吧

出0入0汤圆

 楼主| 发表于 2014-5-28 22:23:08 | 显示全部楼层
RobotRD 发表于 2014-5-28 18:48
看波形,是4*模式吗

1x 模式,2x模式 都一样,4x模式没试过

出0入0汤圆

 楼主| 发表于 2014-5-28 22:25:49 | 显示全部楼层
szmachine 发表于 2014-5-28 17:37
为什么不用AM26LS32C呢

用过AM26LS32C,效果差不多,据说AM26LS32C与安川的sn75174与AM26LS32C配合会丢脉冲,没验证过

出0入0汤圆

 楼主| 发表于 2014-5-28 22:26:12 | 显示全部楼层
jswd0810 发表于 2014-5-28 17:17
lz没有换个驱动器看看?

换了,一样的效果

出0入0汤圆

 楼主| 发表于 2014-5-28 22:26:54 | 显示全部楼层
john78 发表于 2014-5-28 20:37
“抖动”???看看波形,应该是不合法的正交脉冲吧

应该是,是得上示波器看看了

出0入0汤圆

发表于 2014-5-29 00:20:47 来自手机 | 显示全部楼层
爬行,控制器的问题

出0入0汤圆

发表于 2014-5-29 07:25:39 来自手机 | 显示全部楼层
楼主可以查看驱动器的诊断,看电机编码器有没有在计数,如果驱动器显示也有脉冲累加,那可能是的位置控制的上位机有问题,干扰什么的。如果驱动器上电机编码器不动,那是你的计数问题。

出0入0汤圆

发表于 2014-5-29 08:18:08 | 显示全部楼层
编码器计数必须4*才对

出0入0汤圆

发表于 2014-5-29 09:02:58 | 显示全部楼层
编码器 计数方法有问题吧

出0入0汤圆

 楼主| 发表于 2014-5-29 09:40:50 | 显示全部楼层
不知勿笑 发表于 2014-5-29 00:20
爬行,控制器的问题

电机轴没有任何转动,没有爬行,但不排除抖动

出0入0汤圆

 楼主| 发表于 2014-5-29 09:42:04 | 显示全部楼层
RobotRD 发表于 2014-5-29 08:18
编码器计数必须4*才对

你是说HCTL2302必须采用4x模式?

出0入0汤圆

发表于 2014-5-31 12:58:20 | 显示全部楼层
只有4*模式计数才正确,另外还要看伺服驱动器输出端子的上升沿、下降沿的宽度,          沿触发

出0入0汤圆

发表于 2014-5-31 17:48:58 | 显示全部楼层
换个编码器重新试下

出0入0汤圆

发表于 2014-5-31 19:51:43 来自手机 | 显示全部楼层
kingie2006 发表于 2014-5-29 09:40
电机轴没有任何转动,没有爬行,但不排除抖动

怎么知道轴没转动?1024个脉冲停止后有多少呢,将编码器脱开,看还有增加么?

出0入0汤圆

发表于 2014-6-2 15:03:29 来自手机 | 显示全部楼层
楼主的电机在哪里买的,多少前?

出0入0汤圆

发表于 2014-6-2 23:17:39 来自手机 | 显示全部楼层
是不是测量的时间不够?抖动会有十几个或几十个脉冲吧。

出0入0汤圆

发表于 2014-6-3 06:59:49 | 显示全部楼层
SON信号使能,脉冲信号不给的话,电机轴其实是高频振荡的。
你用1*,2*模式采集脉冲不可能锁住位置。用4*模式计数可以解决问题。
伺服本身没问题,要是编码器错误,老早报故障了。

出0入0汤圆

 楼主| 发表于 2014-6-5 00:39:16 | 显示全部楼层
xss_2082 发表于 2014-6-2 15:03
楼主的电机在哪里买的,多少前?

x宝上的二手货

出0入0汤圆

 楼主| 发表于 2014-6-5 00:40:58 | 显示全部楼层
heky 发表于 2014-6-3 06:59
SON信号使能,脉冲信号不给的话,电机轴其实是高频振荡的。
你用1*,2*模式采集脉冲不可能锁住位置。用4*模 ...

用了4*模式,确实可以了,多谢。另外加了减速机,1*、2*、4*都正常了。应该是高频振荡的原因

出0入0汤圆

发表于 2014-6-28 18:19:25 | 显示全部楼层
楼主,你好,请问你的HCTL2032的电路是怎么样的?我也在用HCTL2032,用30MHZ有源晶振提供时钟信号,输入10KHZ的相位固定的正交信号,但是方向引脚U/D输出的脉冲信号,而不是高低电平,不知道是怎么回事,单片机读出的数据一直是0。请帮忙分析一下,万分感谢!

出0入0汤圆

发表于 2014-6-28 18:19:42 | 显示全部楼层
楼主,你好,请问你的HCTL2032的电路是怎么样的?我也在用HCTL2032,用30MHZ有源晶振提供时钟信号,输入10KHZ的相位固定的正交信号,但是方向引脚U/D输出的脉冲信号,而不是高低电平,不知道是怎么回事,单片机读出的数据一直是0。请帮忙分析一下,万分感谢

出0入0汤圆

 楼主| 发表于 2014-6-29 00:52:53 | 显示全部楼层
rossih 发表于 2014-6-28 18:19
楼主,你好,请问你的HCTL2032的电路是怎么样的?我也在用HCTL2032,用30MHZ有源晶振提供时钟信号,输入10K ...

我采用单片机ECLK输出频率给到HCTL2032的时钟脚。读数脉冲失败和你的电路及程序都有关系,你帮你的电路和程序放上来,可以帮你看看

出0入0汤圆

发表于 2014-6-29 10:16:55 | 显示全部楼层
电机停止后,把伺服使能关闭,看看还有脉冲输出吗?

出0入0汤圆

 楼主| 发表于 2014-6-29 11:37:57 | 显示全部楼层
cpu100 发表于 2014-6-29 10:16
电机停止后,把伺服使能关闭,看看还有脉冲输出吗?

谢谢,这个问题已经解决了,原因是电机的高频振荡引起的。关闭使能肯定是OK的,现在我的选择了HCTL2032的4*模式来解决这个问题的。

出0入0汤圆

发表于 2014-6-29 21:26:35 | 显示全部楼层
电路图是这样接的,问题还没解决,明天上班把测试波形也贴上来,请帮忙赐教,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-6-29 23:49:38 | 显示全部楼层
rossih 发表于 2014-6-29 21:26
电路图是这样接的,问题还没解决,明天上班把测试波形也贴上来,请帮忙赐教,谢谢!
...

首先测量你的CLK时钟波形是否正确,确保时钟OK
然后把你的电路如下更改:
1 Pin 23 -- Test 直接接地或悬空
2 Pin17 和Pin19 悬空
3 确保正常运行状态时 Pin11和Pin12为高电平

出0入0汤圆

发表于 2014-6-30 10:47:44 | 显示全部楼层
还是不行,测试波形贴上,芯片应该没问题吧?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-6-30 12:10:42 | 显示全部楼层
你是采用的4*模式?看起来已经猜到脉冲了。检查了程序呢?

出0入0汤圆

 楼主| 发表于 2014-6-30 12:11:55 | 显示全部楼层
rossih 发表于 2014-6-30 10:47
还是不行,测试波形贴上,芯片应该没问题吧?

你是采用的4*模式?看起来已经采到脉冲了。检查了程序呢

出0入0汤圆

发表于 2014-6-30 13:08:45 | 显示全部楼层
你好,我用的是4*模式。CNTDECx的信号是正常的。但是U/Dx信号不正常,不知道为什么?
程序没应该没问题,现在芯片的方向信号是脉冲输出,工作不正常。
OE1(1);
XY1(1);
SELA1(1);
SELB1(1);
nRST1(1);
nRST2(1);
               
OE1(0);
SELA1(0);
SELB1(1);
cnt1 = PDL_Read();

SELA1(1);
SELB1(1);
cnt2 = PDL_Read();

SELA1(0);
SELB1(0);
cnt3 = PDL_Read();

SELA1(1);
SELB1(0);
cnt4 = PDL_Read();

OE1(1);

出0入0汤圆

 楼主| 发表于 2014-6-30 13:35:16 | 显示全部楼层
rossih 发表于 2014-6-30 13:08
你好,我用的是4*模式。CNTDECx的信号是正常的。但是U/Dx信号不正常,不知道为什么?
程序没应该没问题,现 ...

在下面两条语句间延时25ms左右看看,你可以参考下官方的参考程序。我开始没有延时,也读不出数据
nRST2(1);
               
OE1(0);

至于U/Dx信号不正常,感觉很奇怪。

出0入0汤圆

发表于 2014-9-18 15:05:55 | 显示全部楼层
mark,伺服电机,备用

出0入0汤圆

发表于 2014-12-16 15:57:01 | 显示全部楼层
还是喜欢用德国的,除了伺服放大器麻烦一点。

出0入0汤圆

发表于 2014-12-16 15:59:36 | 显示全部楼层
检杳一下电源怎么样,原来碰过坏伺服的和谐波有关,当然各地电网情况不同,加隔离变就好了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-15 13:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表