• <cite id="rsuug"><span id="rsuug"></span></cite>

  • <u id="rsuug"><tbody id="rsuug"></tbody></u>

      <rt id="rsuug"><nav id="rsuug"><strike id="rsuug"></strike></nav></rt>
    1. <rp id="rsuug"><meter id="rsuug"></meter></rp>
      <rt id="rsuug"><nav id="rsuug"></nav></rt>
      
      
        <rp id="rsuug"><nav id="rsuug"></nav></rp>
      1. <tt id="rsuug"><noscript id="rsuug"><samp id="rsuug"></samp></noscript></tt>
      2. 有关步进电机驱动器使用的心得

        文章来源:锐特步进电机 时间:2020-01-02 11:02:33 浏览:

          最近用到步进电机,程序也自己弄,所以有些细节问题都要搞清楚,今天简单总结一下。

          目前的步进电机大多直接采用驱动器进行驱动,这样在控制上就相对简便一些,一般最少只需提供方向与脉冲信号就可以驱动电机转动,以我使用的THB6128为例电路很简单,就不说了,主要介绍一下关于电机驱动上的一些问题。

          1.细分

          步进电机有一个参数叫步距角,就是转动一步所走过的角度,以1.8°为例,就是说走一步转动1.8°,那转动一周则需要200步,在没有细分概念的情况下,提供一个脉冲电机可以走一步,200个脉冲可以转一圈

          细分是通过驱动器精确控制输出相电流,改变电机的步距角,可以理解为将步距角分解,迈小步向前走,2细分代表走一步转动0.9°,10细分代表走一步转动0.18°,以此类推,如果10细分的话那转动一圈则需要2000个脉冲,那为什么需要细分呢?

          看这个图

          

         

          在没有细分时,一个脉冲驱动电机走过的路线可以认为是AC,二细分之后,一个脉冲驱动电机走过的路线则是AB,同样的角度二细分则需要两个脉冲才可以达到C点,在细分数足够大时,可以看出其路线是越来越逼近圆的,也可以认为电机的转动越来越平滑,对,细分就是为了达到这个效果

          当然细分也要看场合使用,细分越大,达到既定速度的时间也就越长,一般对于低转速场合可以使用大一点的细分,减少震动,使运行平滑稳定,高转速时则可以适当减少细分,尽快达到最高转速,这里可以引出一个问题,我们知道步进电机的转速是靠外部脉冲的频率设定的,那如果一开始就给一个高频脉冲电机是会卡死堵转的,这是因为步进电机的转动实际上靠的是不断改变外部线圈(定子)的磁场,依靠同性相吸来带动转子的转动,当启动频率过高时,转子还没到下一个位置就已经接收到下一个磁场,导致转子没有足够的力摆脱当前磁场,始终固定在一个位置

          如下图,以两项电机为例,运动轨迹a-b-c-d。

          

         

          2、衰减模式

          步进电机的驱动器实际上内部也是靠一个H桥型的MOS来控制输出波形的,衰减模式可以在切换相位时控制MOS导通关断切换速度来控制放电速度,一般可以分为三种,快衰减、慢衰减、混合衰减,电机高速转动时选择快衰减,可以尽快改变相电流,达到更高的速度,不然可能会出现卡死、震动大的问题,低速时选择慢衰减,可以增大力矩,混合衰减就是先快衰减后慢衰减,具体时间分配看芯片。

          3、力矩

          通俗点说就是电机转动的“劲儿”大小,通常影响力矩的有以下几个方面

          (1) 转速

          转速越大,力矩越小,步进电机的规格书中,都会有一个曲线,力矩随着转速的提高会不断下降,原因就是在转动时会产生反向电动势,转速越高,反向电动势就越大,而电机对外的有效力矩是克服反向电动势与摩擦阻力之后的力,所以说会越来越小

          

         

          (2) 驱动电流

          步进电机都会有一个额定电流,在额定电流以下也可工作,只是各方面性能不会达到最优,一般驱动器都会有设定驱动输出电流的设置,选择适配电机的设定可以增大力矩。

          (3) 驱动电压

          步进电机在转动时,会产生反向电动势,驱动电压要在抵消这一部分电动势之后再去驱动电机转动,所以合理范围内更高的电压可以提供给电机实际使用的电能就越多。

          4、软件设计

          驱动上大家都知道只要给脉冲电机就能转,但是如果转速稍微高一点的应用上,如果直接给固定频率的脉冲,启动和停止时都会咯噔咯噔的不平滑,转速再高一些的应用有可能会直接卡死,最开始自己写的程序最高也就一分钟500转同样的电机用别的驱动器就能达到一分钟1500转,这个就是加减速的不合理,目前比较合理的驱动方式是应用S曲线计算频率输出,启动阶段,加速度低,缓慢启动,中间过程加速度最大,临近最大速度时,加速度降低,平稳运行,减速过程反之。

          

         

          网上这方面的资源较多,但是对实际的程序参数的解释不是很接地气儿,这里我结合自己的实际操作与理解大概介绍一下

          

         

          落实到程序里,只介绍加速过程:

          for(a=0; a

          {

          melo = flexible * (a-len/2) / (len/2);

          deno = 1.0 / (1 + expf(-melo));

          fre = (fre_max-fre_min) * deno + fre_min;

          period = (unsigned short)(72000000 / fre);

         ?。?/p>

          这里面的

          (1)Len表示将S曲线频率增长过程中划分的点数,值越大,计算的次数越多,划分越细致,每次频率增加的越少,更平稳,但是会延长加速时间,一般设定三四千,公式中的num一般取值为len/2

          (2)fre_max为公式中的Fmax,表示设定的最大频率值,这个与实际输出频率不是对应的,需要根据你系统的时钟调试确定,值越大,电机达到的速度越大,但是需要跟着改动其他参数,来更改加速效果,否则容易卡死

          (3)fre_min为公式中的Fmin,表示设定的最小频率值,也就是刚起步的频率值,尽可能的大一些,可以减少加速时间

          (4)flexible为公式中的Flex,表示S曲线中加速过程的斜率,值越大,曲线越陡峭,加速过程越快,取值1-6,大了电机容易卡死,小了加速时间长,调试确定

          (5)expf这是指数函数,程序里需要调用math.h

          (6)fre是当前计算的频率值,如果传入程序的PWM或定时器输出,还需要根据系统时钟转换一下,程序中72M则是系统时钟

          暂时就学到这些,先分享这些。

        TAG 步进电机 步进电机驱动器
        更多信息请关注 深圳锐特步进电机 http://www.supersock5.com/
        上一篇:伺服电机基础   下一篇:如何避免步进电机出现共振问题?

        自动化领域,锐特机电为您选择合适的步进电机产品

        横财神三肖六码精选资料