amobbs.com 阿莫电子技术论坛

标题: 步进电机带负载时抖动,是怎么回事? [打印本页]

作者: eydj2008    时间: 2009-6-1 19:38
标题: 步进电机带负载时抖动,是怎么回事?
步进电机带负载时抖动,是怎么回事,怎么解决?(不带负载时运行还平滑,已经细分过)
有熟悉这一块儿的没有? 请指点。
作者: yuanshi3    时间: 2009-6-1 20:43
你对这个严格要求吗?
作者: csformat    时间: 2009-6-1 21:32
那就再转的慢点。

或者加大电压,增大力矩
作者: eydj2008    时间: 2009-6-1 21:49
那肯定的呀 抖动就不对 搞技术还是严谨一点的好 研究中嘛  
慢也是一样 速度不是问题的关键  如果我先找到了 我会公布的。如果有人有这方面经验 请指点一二
作者: general_dwf    时间: 2009-6-1 22:00
有算过电机带载能力吗?负载过大,电机吃不消啊
作者: holycat    时间: 2009-6-1 22:51
抖动可能只是现象,仔细观察下有没有丢步?
如有丢步要怀疑下有没有严格遵守该步进电鸡规定的启动速率,及检查下驱动电路够不够提供足够的电流。
作者: electrician    时间: 2009-6-1 22:55
电机控制是不是比较难?单片机控制中比较难的一个方向?
作者: whb_85    时间: 2009-6-1 23:21
看看参考输出电压是否与实际相符
作者: sun137    时间: 2009-6-1 23:49
我也顺便过路问下,我是这样做的,用两路PWM接2803来驱动单极性6线的步进电机的,
如要求不太高的,一般可以满足,只是在PWM的每个像限的初始时,会一快一慢(极底速时才能发觉),
以下为图,

2CH pwm 驱动步进电机 (原文件名:2803.jpg)

我的代码是这样的(粗写一下,U盘不在身边):
(我用的是带硬8位PWM的MCU,用前先初始化,PWM频率为46.71KHz左右,24M晶体)

[51MCU]
#define pwm1  CCAP0H
#define pwm2  CCAP1H

uchar   MAXSP,cnt,task;

void T0int() interrupt 1
{
     TH0 = 0xff; //
     TL0 = 0x00;

     MAXSP=2; //最大速度[可改为可调]
     //此处用的是固定256细分
     
     if(++cnt>=MAXSP)
      {
       cnt=0;
       if(task>3)task=0; //如要改变方向,task++改为task--即可;此改为:if(task==0xff)task=3;  //注:此程序本人用来测试电机用的,力度也很大,一般场合也够用!
       switch(task)
        {
          case 0: if(++pwm1==255){task++;}    pwm2=0;   break; //像限1区
          case 1: if(++pwm2==255){task++;}    pwm1=255; break; //....2
          case 2: if(--pwm1==0)  {task++;}    pwm2=255; break; //....3
          case 3: if(--pwm2==0)  {task++;}    pwm1=0;   break; //....4
          default:   task=0; break;
        }
       }
}
作者: sun137    时间: 2009-6-1 23:55
用以上程序,包保你的步进电机"力大无穷"的转起来! 非常简单!电路也是非常简单!

如要定位,那程序得改进下。。。。。。
^_^
作者: menghong_4    时间: 2009-6-2 08:14
改改PWM的占空比
作者: ebug    时间: 2009-6-2 15:23
关注一下
作者: zhwm3064    时间: 2009-6-2 15:47
可能的原因:
驱动力 (或者说驱动电流)不够
这样 会造成在空载时 电机可以转起来
负载时电机就在原地抖动

以上是我经过几天几夜得到的结论
作者: sun137    时间: 2009-6-2 18:37
要计算负载与电机的系数,负载大肯定要加减速控制。
我调速是改细分的,一般起步时,细分最大,速度也最慢,慢慢加速细分相应减少到整步时,速度最快。
作者: lovehebut    时间: 2009-6-2 19:21
不搞这个,不大懂~~~ 帮你顶下吧
作者: steel    时间: 2009-6-3 01:32
用驱动器做过驱动步进电机。略说一下:
1)看一下步进电机的技术资料,尤其要注意矩频曲线。计算你的负载转矩,看看电机的输出力矩是不是符合要求
2)要留意一下驱动器的拨码开关,根据电源和需要功率设置电流值。
作者: taiwentaotwt    时间: 2009-6-3 10:40
赞同  holycat 仙猫的说法,遇到过这种情况
作者: eydj2008    时间: 2009-6-5 19:18
当然了,步进电机的矩频特性  一般的电机 在500-2000HZ  程序正中进一步研究中。。。
下面是正在研究中的 波形及图片

实物图 (原文件名:1.jpg)

42 步进电机矩频特性 (原文件名:12.jpg)


L293D  步进电机细分驱动原理图 (原文件名:l293d.JPG)


电机中A相线圈中电流波形 (原文件名:TEK0000.JPG)


电机中A相线圈中电流波形 正反转时 (原文件名:TEK0009.JPG)


较好波形 (原文件名:TEK0010.JPG)


PWM 输入L293D   25us (原文件名:TEK0011.JPG)


PWM输入L293D波形 10MS (原文件名:TEK0012.JPG)
作者: mslmcu    时间: 2009-6-6 12:14
mark
作者: sun137    时间: 2009-6-7 00:01
哈哈!LZ是搞舞台灯光行业的,我也是过来人!

除PAN和TILT的电机要求高点外,其它转距小的可以用2803通过2路PWM控制单极步进电机就OK了。

你的DMX控制板用NXP的LPC2103??不会吧,用ARM控制呀!不过这芯片也挺平宜的了,有14路PWM,实在是爽!
不过现在很多51的芯片也有6路8bit的PWM的。

最后建议一下LZ(PAN和TILT的电路用DA+L6219好搞一点,我当时用PWM和L6219搞死me了.....)
作者: eydj2008    时间: 2009-6-8 10:24
YES LPC2103
作者: firs_avr    时间: 2009-6-25 14:55
我感觉和电机的转速有关系的,你可以让电机慢慢加速到你想要的速度,而且步进电机的速度最好不要超过1000r/min,转速太快,力矩就非常小了。个人浅见
作者: eydj2008    时间: 2009-7-2 00:25
对的 楼上一位 说正确了 我改变了我的速度曲线   抖动小多了,只是这个曲线推算复杂,涉及到太多知识面。仍在进一步学习中 我控制的步进电机转速在1-100R/MIN  因为有负载,不能太快 太快会失步 响应频率在500-2500HZ
如果有同样问题的人 请参见:http://www.gongkong.com/webpage/paper/200805/2008052216012900002.htm   
抖动基本得到解决
作者: dust2    时间: 2009-7-2 08:41
mark下
作者: yangyongwen    时间: 2009-7-2 09:44
mark
作者: eydj2008    时间: 2009-7-10 21:06
现在基本已经找到问题所在,是因为我没有考虑,惯性的影响,产生了过冲  我的加速度和力矩控制好了 步进电机基本上没有抖动了。
希望后面碰到这个问题的朋友得到解决


(原文件名:TEK0001.JPG)


(原文件名:TEK0002.JPG)


(原文件名:TEK0003.JPG)
作者: plank    时间: 2009-7-10 21:24
ls,你的相电流用啥测得?电流探头?
作者: eydj2008    时间: 2009-7-11 17:36
呵呵 很简单 在线圈中串一个1R --10R的电阻 就可以了。测电压,出来的不就是电流了
作者: sonic    时间: 2009-7-11 18:17
帮顶一下!
作者: plank    时间: 2009-7-11 18:40
【27楼】 eydj2008 风

积分:108
派别:
等级:------
来自:深圳
呵呵 很简单 在线圈中串一个1R --10R的电阻 就可以了。测电压,出来的不就是电流了

这个啊,我也是这么测的。有些驱动板可以,但是有些驱动板对这种方法十分敏感,行不通。
作者: chengtina    时间: 2009-7-12 00:10
mark
作者: xyang18    时间: 2009-7-12 01:15
我也遇到过一种情况,电机在到位置应该停止的时候,还会出现电机往前运动的情况,当时续流二极管已经加了,还是不能解决,后来每当动作停止的时候,我就将上面的两个桥臂打开,为线圈提供泻放回路,问题就解决了,停止的时候动作不再过冲,据分析,因该是由于线圈中的电感由于存在能量,所以动作会出现惯性
作者: eydj2008    时间: 2009-7-12 07:18
续流二极管 是肯定有的 一般驱动IC里面都有加 我用的L293D 里面也是自带得有的,当然了过冲,就是指能量过剩出现的,减小输出也可以达到这个目的,如果做得不好过冲,不光是停止的时候有,运行时也会有。  你难道还另加泻放电路?
不过明白了这点道理的人,电机和步进电机是入门了,抖动是步进电机中最难解决的问题,有时还伴随着速度而来,负载不同均不相同
计算很复杂的,一般的单片机没有这个运算能力
作者: armok    时间: 2009-7-12 07:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: dust2    时间: 2009-7-13 22:55
额,貌似我也碰到这个问题了。
用现成的驱动器驱动电机也会出现抖动?也要考虑加减速?
作者: plank    时间: 2009-7-14 10:22
看你需要的转速及负载了,这个阿莫最后应该会公布带负载的时候最大启动频率,只要在这个标称之内就不会出现上述问题。
作者: eydj2008    时间: 2009-7-14 19:52
如果问题有那么简单 谁都能搞步进电机了 那我们也不用学那么多 多麻烦 我学这个都快半年多了,接触这个已经好些年,但一直没弄明白,最近进步神速罢了,得到不少人的帮助
作者: fdx32810    时间: 2009-8-20 17:48
我也遇到了同样的问题
我采取的是297与298联合控制步进电机
焊的第一个板子都是完全正确的 但是重新焊一个的时候
就出现了带负载抖动 不带负载正常转动
请问是什么原因呢?
作者: fdx32810    时间: 2009-8-22 17:03
问题已解决
297坏了。。。。。。。。。。。。。。。
作者: shyany    时间: 2009-8-24 10:41
mark一下。
作者: xw13668    时间: 2010-7-2 11:17
8楼的    sun137 case

我照你的方法做了一个,做扫描灯,电机只来回走一个很小角度,不知道原因,指点一下,或者加我QQ 56845380
作者: TRINAMIC    时间: 2010-9-11 14:15
TRINAMIC 产品中有个专利技术混合衰减可保证低速时候电机平稳运行
作者: wangwish    时间: 2010-9-20 14:48
mark
作者: a105    时间: 2011-10-31 01:38
mark
作者: yuyanlzh    时间: 2011-10-31 08:08
mark
作者: yuyanlzh    时间: 2011-10-31 08:10
mark
作者: dinglei618    时间: 2011-10-31 13:36
除了速度以外,造成抖动的另一个因素是加速度的问题,试着降低加速度,也许能解决问题
作者: WinLiu    时间: 2011-11-1 16:09
mark
作者: mayiqing888    时间: 2011-12-7 16:21
回复【25楼】eydj2008  风
现在基本已经找到问题所在,是因为我没有考虑,惯性的影响,产生了过冲  我的加速度和力矩控制好了 步进电机基本上没有抖动了。
希望后面碰到这个问题的朋友得到解决

(原文件名:tek0001.jpg)

(原文件名:tek0002.jpg)

(原文件名:tek0003.jpg)
-----------------------------------------------------------------------

你的这个力矩是怎么改变的?难道电流大小也可以随着频率的改变而调节吗?
作者: pcwinner    时间: 2011-12-7 16:46
MARK
作者: tanwolf    时间: 2012-9-22 22:22
顶一下,mark
作者: Th.Ca    时间: 2012-9-22 22:30
MARK一個
作者: iversonY    时间: 2013-9-21 16:25
eydj2008 发表于 2009-7-2 00:25
对的 楼上一位 说正确了 我改变了我的速度曲线   抖动小多了,只是这个曲线推算复杂,涉及到太多知识面。仍 ...

看了您给出的那篇文章,有一个不懂的地方,希望您指点指点:文章提出的脉冲定时怎么理解?与脉冲周期有什么区别?

作者: 1069182055    时间: 2016-2-16 15:54
我也遇到类似的问题,步进电机停下来的时候会抖动一下,怎么才能很好的解决这个问题啊,我用的是查表的方法,驱动芯片是L6205PD
作者: 铁驴不倒!    时间: 2016-9-22 15:40
步进电机低速抖动 学习了   我的步进电机用LV8731驱动 低速时会出现停转的问题 解决ing...




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4