微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 双极步进马达加速和减速过程应用

双极步进马达加速和减速过程应用

时间:08-19 来源:作者:Jose I. Quinones,德州仪器 (TI) 应用工程师 点击:

需要调用 1000 次。

另外一种方法是,加速度定时器调用频率减半,然后 SPS 周期性增加 2。相比前一个例子,加速度定时器的 ISR 仅调用了 500 次,但马达仍然以 200SPS 启动,并在 1 秒内达到 1200SPS。两者的差别是更实时的可用性,但代价是分辨率下降。换句话说,为了达到 999 SPSPS 的精确加速速率,必须使用第一种方法。

必须在两种方法之间进行权衡,因为您的选择决定了可以达到什么样的马达工作质量。例如,如果要求有很多粒度以达到所有可能的加速度过程,则需要尽可能地调用加速度定时器的 ISR。

但是,在前面的 SPS 定时器方程式中,存在除运算。根据所使用处理器内核的不同,这种除运算可能会极大限制 ISR 被有效调用并正确产生新 SPS 速率的次数。在使用 TI MSP430™ 且 CPU 运行在 16 MHz下的实现中,一次除运算耗时约 500 µs。结果,ISR 每秒被调用的最大次数为 2000 次。这种限制决定了增量因数的大小。加速速率大于 2000 时,必须使用大于 1 的增量。

在马达启动前不久,便进行一次加速速率计算。负责该计算的软件,确定加速度定时器的时间间隔和增量因数大小,然后对各变量进行相应的配置。同时使用这些变量,直到对 SPS 速率的修改足以达到目标速度为止。一旦达到目标速度,加速终止。

减速过程与加速过程基本一致,但增量因数为负而非正的情况除外。另外,必须规定一个马达能够安全停止的新目标速度。

图 3 显示了一个加速/减速过程,其中,加速和减速速率对称。也可以使用非对称速率。

3 加速/减速过程

\

位置控制

到目前为止,在速度控制环路中操作马达看似十分简单。马达达到某个目标速度,然后在某个时刻收到停止指令。但是,当需要在某段预定时间内执行某个预定步进数时,结果会怎样呢?加速/减速过程变得比任何时候都要重要。在这种运行控制拓扑结构中,所有计划步进都执行完毕后马达便停止,这一点至关重要。规定步进数的变量被称作 number_of_steps。

必须对马达运动情况编码,以使马达在规定时间停止,不用等待减速命令。实现这个目标的一个方法是对一个名叫steps_to_stop的变量编程,使其小于number_of_steps。之后,软件通过监测steps_to_stop,确定需要开始减速的时机。

在达到目标速度以前,加速会一直执行。达到目标速度后,在达到steps_to_stop计数(开始减速之时)以前,仍允许步进马达运行。例如,1000步进运行时,steps_to_stop设置为800。因此,马达通过一个加速过程启动,持续运行至步进800,此时马达开始减速,直到停止运行。

根据所有系统变量的配置,我们需要研究下列5种情况(参见图 4):

情况1在马达达到目标速度以前所有步进结束。

情况2马达达到目标速度时所有步进结束。

情况3达到停止速度以前所有步进结束。

情况4达到停止速度时所有步进结束。

情况5达到停止速度后所有步进结束。


4 5 种加速/减速情况

\

恰好在达到停止速度时马达停止(情况4)是一种理想情况。在达到停止速度前不久(情况3)或者以后(情况5)马达停止是可以接受的,具体取决于出现这些情况时距离理想情况还差多少个步进。例如,如果马达转动过快时所有步进结束,则马达传动轴可能会因转动惯量而失去位置。但是,如果在所有步进执行完以前达到停止速度,则执行该次马达运动控制所需的总时间会过长。

情况1和2仅为说明需要,应该不会出现,因为设计人员应始终确保steps_to_stop小于number_of_steps。了解所有可能出现的情况以后,设计人员可以简单地对系统进行微调,以获得最佳响应。

只需少许微调的另一种方法是,将步进总数分割成几个百分数,分配给每个加速/减速过程特定区域。在这种算法实现中,可选择步进总数的20%用以对马达加速,60%用以使马达恒速运行,其余20%用以对马达减速(参见图5)。如果number_of_steps为1000,则马达以预设加速度加速200个步进,然后无论它达到何种步进速率都停止加速。之后,以这种速率执行600个步进,并且最后200个步进执行完全部减速过程。

5 基于百分比的加速/减速过程

\

请注意,使用这种算法时,假设正确选择百分比的情况下,步进不可能在马达运动过程的错误部分耗尽。就图5所示例子而言,由于加速和减速部分都很平衡,因此马达最可能以相同速度开始和停止。这种方法的缺点是,很难保证达到目标速度。如果目标速度不那么重要,则可以使用这种算法来确保马达始终在安全速度下停止。

如果速度达到对应用来说过慢,使用这种算法加速马达传动轴的唯一方法是,提高加速速率,或者增加加速/减速区域中使用的步进数百分比。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top