junzimengyou 发表于 2016-6-19 17:37:39

关于步进电机运动的限位开关的算法问题探究。

我做的运动控制板,快到最后一步,已经完成了s曲线的加减速。现在还差最后一步,步进电机的复位处理。步进电机在运动之前,都要检查限位开关是否到位,不然的话复位。关于复位的算法我想过几种。A直接采用梯形加速,最大速度比较小,检测到开关直接停止,小瑕疵是 步进电机没有减速段,有小冲击,而且复位耗时多。B梯形加速,最大速度比较大,遇到开关马上减速,减速距离比较小,优点无冲击,复位速度快,缺点算法复杂。请问坛里的大神,复位如何处理比较好。步进电机检测限位开关量的时候,还能运动5毫米以内,不然就撞到底部钣金了。

myqiang1990 发表于 2016-6-19 19:15:29

肯定是第一种方法~负载重的就慢点,轻的就快点,就是你这个位置无闭环的情况下~肯定是第一种方法~如果你的设备有位置闭环,也就是能知道电机上电后的位置(这样也没必要复位了),那么用第二种方法~电机复位肯定是碰到开关就要停~你还减速?肯定会导致复位不准,除非你减到0后,在回头慢慢去找开关的边缘,而且5ms的距离要从高速减速到0,过冲跟直接停一样冲击大~

mcu_lover 发表于 2016-6-19 20:38:17

碰到开关后减速,脱离开关后停止。

霸气侧漏 发表于 2016-6-19 20:39:53

mcu_lover 发表于 2016-6-19 20:38
碰到开关后减速,脱离开关后停止。

这样的好处是,,,

myxiaonia 发表于 2016-6-19 22:45:41

对于不能立刻停下的设备,这是前提,你得假定他不能立刻停下

whatcanitbe 发表于 2016-6-20 10:58:39

霸气侧漏 发表于 2016-6-19 20:39
这样的好处是,,,

每次复位都是一个位置,误差一个脉冲当量。

whatcanitbe 发表于 2016-6-20 11:01:58

你还可以参看MCX314As手册,里面有很多种复位找初始位置的方法。

bulejeans 发表于 2016-6-20 12:01:50

换个思路,在机械上零位不远处装个减速传感器

our2008 发表于 2016-6-20 13:08:15

严格意义上说,限位是机械上的事.
步进电机其实只是需要一个标记信号!

lostking2008 发表于 2016-6-20 17:17:58

这个要分情况的,如果负载的行程本身就比较短,那没有必要快速复位,直接慢速复位就行了。如果行程较长,这个时候才要考虑快速复位,快速复位就让电机过冲,设备就是见复位信号开始减速,这个时候电机肯定是过冲的,但是过冲的距离比较短,这样就可以把一个长距离复位问题变成短距离复位了,这样电机再反转复位,或者也可以直接反转慢速复位,这样既可以解决复位精度的问题,又可以缩短复位的时间。

gy54321 发表于 2016-6-21 08:42:48

多次复位的方法,
1. 先快速转, 到达限位开关,就减速停;
2. 低速往回走设定的行程。超过限位开关。
3. 再低速走到限位开关,马上停止。
这样应该也可以,
如果一定要求复位快的话。
不过还是用你的第一种会好点, 低速往回走,到位就停,误差也小, 对设备冲击也小!

lryxr2507 发表于 2016-6-23 13:30:41

myqiang1990 发表于 2016-6-19 19:15
肯定是第一种方法~负载重的就慢点,轻的就快点,就是你这个位置无闭环的情况下~肯定是第一种方法~如果你的 ...

   请教一下:其实这个问题一直让我为难的是在开环状态下,如果遇到是丝杆类似的怎样测算初始状态下电机停止的位置? 我目前的处理方法是假设是停在任意一个位置的,然后向任意一个方向走,当感应到限位开关后就可以判断位置了,但这里有一个非常大的弊端,就是假设运行中突然遇到设备停电,电机有可能过冲,超过某个限位开关,那么开机启动走的刚好又是那个方向,结果会很悲剧的,撞坏设备.(我已经遇到过,机械设备师跟我吵了一架{:mad:})

jenkins 发表于 2016-6-23 14:25:04

本帖最后由 jenkins 于 2016-6-23 14:28 编辑

可以参考三菱PLC的“带DOG搜索的原点回归 - DSZR指令”,不过需要在硬件上增加一个近点信号。

myqiang1990 发表于 2016-6-23 14:47:23

bulejeans 发表于 2016-6-20 12:01
换个思路,在机械上零位不远处装个减速传感器

是一个好办法~{:lol:}

myqiang1990 发表于 2016-6-23 14:54:34

本帖最后由 myqiang1990 于 2016-6-23 14:58 编辑

lryxr2507 发表于 2016-6-23 13:30
请教一下:其实这个问题一直让我为难的是在开环状态下,如果遇到是丝杆类似的怎样测算初始状态下电机 ...

哈哈哈~~明白你的意思~~我也遇到你这种情况~~不过~很好办~在行程两头装限位开关~~你听我细细道来:

你的问题在于限位开关之后有一段死区!也就是假如设备上电的时候刚好在死区里,也就是在行程开关后面,那么如果直接往那个方向复位的话,设备肯定是找不到行程开关,因为行程开关在设备后面了~当然是找不到的~
你可以这样解决,上电的时候,设备往复位反方向走一段距离~让设备在上电的时候退出那段死区,然后在往复位方向去复位,这样就可以避开死区了,不知道你明白我的意思吗?
但是这个也有问题,因为上电的时候,设备有可能在最大行程的位置,如果还往后倒,那么肯定要装东西~那么这个时候我们可以在最大行程出装一另外一个限位开关,当设备在执行退出死区的动作时,可以检测这个开关,来判定设备是否已经退到最大行程处了,如果是,则直接停止,然后执行复位程序,这样就可以避免在退出死区的时候,因设备在最大行程处会装东西的问题~
那如果最大行程出的行程开关也有死区,这样就不好办了~~
所以,在设计结构的时候,就要保持这个死区尽量小~

weichao4808335 发表于 2016-6-23 14:59:33

做一个撞工,撞到限位开关后减速,但是开关一直有信号,就可以知道当前的位置

lryxr2507 发表于 2016-6-23 15:26:00

myqiang1990 发表于 2016-6-23 14:54
哈哈哈~~明白你的意思~~我也遇到你这种情况~~不过~很好办~在行程两头装限位开关~~你听我细细道来:

你的 ...

   目前我就是这样做的,就是正转,反转,没有感应到,继续加大行程,直到感应到限位开关为止,但麻烦呀,开机速度慢,我想有更好的办法....还有我的终极解决办法是在两端再加两个终端开关,最高优先机器关机(就是上次与机械工程师吵架后的解决办法),然后人工手动复位.很是丢脸的....{:funk:}

GoingDown 发表于 2016-6-23 15:26:45

讨论的很好,mark之步进电机运动的限位开关。

myqiang1990 发表于 2016-6-23 15:56:58

本帖最后由 myqiang1990 于 2016-6-23 16:02 编辑

lryxr2507 发表于 2016-6-23 15:26
目前我就是这样做的,就是正转,反转,没有感应到,继续加大行程,直到感应到限位开关为止,但麻烦呀,开机速 ...

难道你的设备是两头都可以复位的吗?我刚才回头看了一下你的问题,我发现你可以朝任意一个方向复位?
如果是只朝一个方向复位,是可以用我说的那种方法解决的~因为不管你上不上电,复位方向你是知道到的~所以上电的时候,我可以往复位反方向走出行程开关死区的~然后在往复位方向复位

lryxr2507 发表于 2016-6-23 16:13:43

myqiang1990 发表于 2016-6-23 15:56
难道你的设备是两头都可以复位的吗?我刚才回头看了一下你的问题,我发现你可以朝任意一个方向复位?
如 ...

         复位只能一个方向,但是在实际运行中可能会造成丝杆停留在任意一个位置,这样就出现了我描述的问题,原则上机器正式运行前都必须在起点,但因突然停电等可能的原因会停留在任意一位置,这样再次通电开机时就麻烦了.买的步固高运动控制器能解决这个问题,自己编写程序就没想到怎样解决.可能我的描述不确切,这样理解吧:假如一根丝杆左右摆放的,感应开关分别为" 起始段限位感应---起点(复位原点)感应----终端感应---终端限位感应(起点感应到终端感应这段距离为有效工作范围,其余的为保护设施).因为起点限位和终端限位两端为了保护设备,在限位的末端丝杆还留有过冲余地,如果突发故障过冲,丝杆运行到非工作范围就会出现我描述的故障.

myqiang1990 发表于 2016-6-23 16:42:16

本帖最后由 myqiang1990 于 2016-6-23 16:55 编辑

" 起始段限位感应---起点(复位原点)感应----终端感应---终端限位感应"
我明白你的意思,也就是起始限位感应和终端限位感应这两个限位器后面还有一段行程的余地来防止过冲装到东西的~
起始我觉得,你们应该吧起始限位感应和终端限位感应直接放到过冲区后面去~不要放在过冲区前面来~如果放在过冲区前面,那么起始限位感应和终端限位感应感觉没多大用处~
我有个终极解决办法,保证可行:
你在电机轴后面加一个简单的光电增量编码器,复位的时候用这个编码器做简单的闭环,只要装到东西,那么编码器计数值是不变的,那么这个时候可以判断撞到东西了,然后立马停下来,执行复位程序,因为是瞬间的事,所以不会损伤设备。
如果是设备本身有位置闭环,那就更加简单了~

995971182 发表于 2016-6-24 19:29:39

whatcanitbe 发表于 2016-6-20 11:01
你还可以参看MCX314As手册,里面有很多种复位找初始位置的方法。

您好,您参考过还是用过这颗芯片

xuxueliang 发表于 2016-6-24 19:49:04

本帖最后由 xuxueliang 于 2016-6-24 19:53 编辑

最好的建议,是11楼的多次复位。复位不仅仅是复位快不快的问题,最重要的是保证复位的一致性,一个系统刚上电时复位、复位一次后复位以及急停后复位的方法是不同的,不同的方法可能会导致复位的最终找到的点存在方法带来的偏差,多次复位法,要求第一次快递逼近零点开关时足够快,后面的复位保证每次复位的速度,加速度等因素的一致性,既保证快速又最大程度保证复位点的可信
页: [1]
查看完整版本: 关于步进电机运动的限位开关的算法问题探究。