登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:求助,步进电机怎么配合编码器使用?

点击:3830 回复:11

大师们大家好:
这几天学习看到
步进电机的步距角1.8度,360度=200脉冲,选择8细分时候是一圈1600脉冲,
我现在编码器一圈是600脉冲,那这样步进电机1圈1600脉冲,编码器1圈600脉冲,两者不相同!我怎么能通过步进电机发的脉冲数,通过编码器反馈回来脉冲数在走一段距离比较停止呢?
我现在主要不明白编码器和步进电机都是一圈但是不是一个脉冲数 那么编码器反馈回来不就不对了吗?
螺杆导程8mm,1600脉冲一圈走8mm,编码器一圈才600脉冲这个怎么对应呀?编码器怎么判断步进电机是需要走的那一段距离呢?
20-12-31 17:43
螺杆导程8mm,编码器一圈600脉冲,一个脉冲是8000/600=13.333微米
步进电机1600脉冲走一圈,一个脉冲是8000/1600=5微米
假设你要走100MM的行程,100000微米。
PLC脉冲指令需要发出的脉冲数是100000/5=20000个。
编码器需要的反馈数是100000/13.333=7500,你就拿这个7500与高速计数器进行比较好了。
设定长度需要两个计算
一个,设定长度(微米)/5       给脉冲指令发脉冲给步进驱动器。
一个,设定长度(微米)/13.333  用来与高速计数器进行比较。
20-12-31 18:18
要计算实际位置
PLC上位机脉冲发送位置:=步进电机一圈移动量8mm*(发送脉冲量/1600).
编码器反馈位置:=编码器一圈移动量8mm*(高速计数器反馈值/600)
例:PLC发送了3200个脉冲,
工作台位置,8mm*(3200/1600)=16mm
编码器是2圈,应该是1200,带入公式,8mm*(1200/600)=16mm
补充一下,
计算PLC发送脉冲量,也就是你给定移动位置,计算的脉冲量.
=(给定位置/一圈的移动量8mm)*1600
例如给定16mm
=(16/8)*1600
最后修改:2020/12/31 20:11:59
20-12-31 19:13

sgx

又一个抠门的老板,但我喜欢!
分辩率为600的编码器低了点,我们可以通过AB相的时序对之细分到2400。还有你细分后转一圈的脉冲数能不能取到2400的倍数,或说是600的倍数?一般来说,两相步进很难取到,但三相步进的步距角为1.2度。不细分的话转一圈为300个脉冲。这样控制起来就简单多了。但听说还有一种步进驱动器可以任意细分(我没见过:))不知道你是否明白,取倍数就是控制误差。细分为2400就是控制精度。希望对你有帮助!
附件 微信图片_20201231224112.jpg
20-12-31 22:44

引用 YXBK 在 2020/12/31 18:18:43 发言【内容省略】

不好意思呀,我在追问下,那既然步进发20000个脉冲是定长走100mm距离,编码器7500脉冲是定长也是走100mm反馈,那为什么又要用编码器进行反馈呢?步进直接走20000脉冲就好了,何必再用编码器反馈呢?
21-01-01 09:13

引用 byf394127375 在 2021/1/1 9:13:33 发言【内容省略】

步进电机容易丢步,所以加个反馈检测到底有没有走那么多。
好比要小孩做作业,是叫他做了,到底有没有做完了,需要检查一下。
21-01-01 16:53
这就是开环与闭环的区别
21-01-01 20:11
看来楼主还不知道编码器的好处
21-01-01 21:08

引用 YXBK 在 2021/1/1 16:53:16 发言【内容省略】

明白了谢谢您了
最后修改:2021/1/1 21:30:32
21-01-01 21:30
编码器=旋转电子尺
和步进电机配合使用,二者任选其一,如果用了编码器,那么就不能用系统的脉冲数。如果用了系统脉冲数,这时候如果和编码器的数据对不上,这个时候系统听谁的呢?叫你编程人员也是一个头大的问题。如果允许用一个正负公差值,那要编码器做什么用?还有就是电机和编码器误差就一二个脉冲,这个时候怎么办?
所以说,用了编码器,就不要去纠结多少个脉冲数了。直接使用点动指令,达到编码器的设定值停机,就这么简单粗暴。
21-01-04 12:48

上一页下一页

工控新闻

更多新闻资讯