您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术基于MCU和DSP的步进电机控制技术 正文
基于MCU和DSP的步进电机控制技术

基于MCU和DSP的步进电机控制技术

点击数:7688 次   录入时间:03-04 11:58:09   整理:http://www.55dianzi.com   嵌入式系统-技术

图4:同时激励电机的两个绕组
       
图3给出的例子是一个双相、6极步进电机,其中包含3个永久磁铁,因而有6个磁极。第一步,如图3a所示,我们给绕组1施加电压,在定子中产生一个北极指向其顶部的磁场,于是,转子的南极(图3a中红色的“S”一端)转向了该图的上方。接着,在图3b中,我们给绕组2施加电压,定子中产生一个北极指向其左侧的磁场。于是,转子的一个距离最近的南极转向了图的左方,即转子顺时针转动了30°。第三步,在图3c中,我们又向绕组1施加一个电压,在定子中产生一个北极指向图下方的磁场,从而又使转子顺时针旋转30°到达图3c所示的位置。而在图3d中,我们给绕组2施加电压,在定子中产生一个北极指向定子右侧的磁场,再一次使转子顺时针旋转30°,到达图3d所示的位置。最后,我们再向绕组1施加电压,产生一个如图3a所示的北极指向定子上方的磁场,使得转子顺时针旋转30°,结束一个电周期。如此可以看出,4步电激励造成了120°的机械旋转。也就是说,该电机的电频率是机械频率的3倍,这一结果符合等式(1)。此外,我们从图3和等式(2)也能看出,该电机的转子每一步旋转30°。

图5:可用于驱动电机每个绕组的H桥电路
       
如果同时向两个绕组输送电流,还能增大电机的扭矩,如图4所示。这时,电机定子的磁场是两个绕组各自产生的磁场的矢量和,虽然这一磁场每一次动作仍然只使电机旋转90°,就象图2和图3中一样,但因为我们同时激励两个电机绕组,所以此时的磁场比单独激励一个绕组时更强。由于该磁场是两个垂直场的矢量和,因此它等于单独每个场的2×1.414倍,从而电机对其负载施加的扭矩也成正比增大。

电机的激励顺序
       
既然我们知道了一系列激励会使步进电机旋转,接下来就要设计硬件来实现所需的步进序列。一块能让电机动起来的硬件(或结合了硬件和软件的一套设备)就叫做电机驱动器。
       
从图4中可以看出我们怎样激励双相电机的绕组才能使电机转子旋转,图中,电机内的绕组抽头分别被标为1A、1B、2A和2B。其中,1A和1B是绕组1的两个抽头,2A和2B则是绕组2的两个抽头。
       
首先,要给脚1B和2B施加一个正电压,并将1A和2A接地。然后,给脚1B和2A施加一个正电压,而将1A和2B接地,这一过程其实取决于导线绕齿槽缠绕的方向,假设导线缠绕的方向与上一节所述相符。依次进行下去,我们就得到了表1中总结的激励顺序,其中,“1”表示正电压,“0”表示接地。
      
电流在电机绕组中有两种可能的流向,这样的电机就叫做双极电机和双极驱动序列。双极电机通常由一种叫做H桥的电路驱动,图5给出了连接H桥和步进电机两根抽头的电路。H桥通过一个电阻连接到一个电压固定的直流电源(其幅度可根据电机的要求选取),然后,该电路再经过4个开关(分别标为S1、S2、S3和S4)连接到绕组的两根抽头。这一电路的分布看起来有点象一个大写字母H,因此叫做H桥。

图6
       
从表1中可以看出,要激励该电机,第一步应将抽头2A设为逻辑0,2B设为逻辑1,于是,我们可以闭合开关S1和S4,并断开开关S2和S3。接着,需要将抽头2A设为逻辑1,2B设为逻辑0,于是,我们可以闭合S2、S3,并断开S1和S4。与此类似,第三步我们可以闭合S2、S3并断开S1和S4,第四步则可以闭合S1、S4并断开S2、S3。
       
对绕组1的激励方法也不外乎如此,使用一对H桥就能产生需要的激励信号序列。表2所示就是激励过程中每一步开关所在的位置。

图7:单极电机的控制电路
       
注意,如果R=0,而开关S1和S3又不小心同时闭合,那么流经开关的电流将达到无穷大。这时,不但开关会被烧坏,电源也可能损坏,因此电路中使用了一个非零阻值的电阻。尽管这个电阻会带来一定的功耗,也会降低电机驱动器的效率,但它可以提供短路保护。

www.55dianzi.com

单极电机及其驱动器
       
前面我们已经讨论了双极步进电机和驱动器。单极电机与双极电机类似,不同的是在单极电机中外部能够接触到的只有每个绕组的中心抽头,如图6所示。我们将从绕组顶部抽出的抽头标为抽头B,底部抽出的标为抽头A,中间的为抽头C。
       
有时我们会遇到一些抽头没有标注的电机,如果我们清楚步进电机的构造,就很容易通过测量抽头之间的阻值,识别出哪些抽头属于哪根绕组。不同绕组的抽头之间阻抗通常为无穷大。如果经测量,抽头A和C之间的阻抗为100欧姆,那么抽头B和C之间的阻抗也应是100欧姆,而A和B之间的阻抗为200欧姆。200欧姆这一阻抗值就叫做绕组阻抗。

图8
       
图7给出一个单极电机的单相驱动电路。从中可以看出,当S1闭合而S2断开时,电流将由右至左流经电机绕组;而当S1断开,S2闭合时,电流流向变为由左至右。因此,我们仅用两个开关就能改变电流的流向(而在双极电机中需要4个开关才能做到)。表3所示为单极电机驱动电路中,每一步激励时开关所处的位置。
       
虽然单极电机的驱动器控制起来相对简单,但由于在电机中使用了中心抽头,因此它比双极电机更复杂,而且其价格通常比双极电机贵。此外,由于电流只流经一半的电机绕组,所以单极电机只能产生一半的磁场。
       
在知道了单极电机和双极电机的构造原理之后,当我们遇到一个没有标示抽头也没有数据手册的电机时,我们就能自己推导出抽头和绕组的关系。带4个抽头的电机就是一个双相双极电机,我们可以通过测量导线之间的阻抗来分辨哪两个抽头属于同一个绕组。带6个抽头的电机可能是一个双相单极电机,也可能是一个三相双极电机,具体情况可以通过测量导线之间的阻抗来确定。

表1 双相电机动作过程中的绕组抽头极性

电机控制
       
本文前面讨论的电机控制理论可以采用全硬件方案实现,也可以用微控制器或DSP实现。图8说明了如何用晶体管作为开关来控制双相单极电机。每个晶体管的基极都要通过一个电阻连接到微控制器的一个数字输出上,阻值可以从1到10M欧姆,用于限制流入晶体管基极的电流。每个晶体管的发射极均接地,集电极连到电机绕组的4个抽头。电机的中心抽头均连接到电源电压的正端。
       
每个晶体管的集电极均通过一个二极管连接到电压源,以保护晶体管不被旋转时电机绕组上的感应电流烧坏。转子旋转时,电机绕组上会出现一个感应电压,如果晶体管集电极没有通过二极管连接到电压源,感应电压造成的电流就会涌入晶体管的集电极。

表2:双相电机动作过程中开关的位置
       
举个例子,假设数字输出do1为高而do2为低,于是do1会使晶体管T1导通,电流从+V流经中心抽头和T1的基极,然后由T1的发射极输出。但此时do2处于断开状态,因此电流无法流经T2。这样推理下去,我们就能将表3改为驱动电机所需的微控制器数字输出的改变顺序。
       
一旦清楚了驱动电机所需的硬件和数字输出的顺序,我们就可以对最顺手的微控制器或DSP编写软件,实现这些序列。

固件控制
       
我本人在一块MICroChip PIC16F877上,利用1N4003二极管和2SD1276A达灵顿晶体管实现了以上谈到的电机控制器。PIC的PortA第0位到第3位用来做数字输出。电机采用在Jameco购买的5V双相单极电机(Airpax [Thomson]生产,型号为M82101-P1),并且用同一个5V电源为PIC和电机供电。但在真正应用时,为避免给微控制器的电源信号引入噪声,建议大家还是分别用不同的电源为电机和微控制器供电。

上一页  [1] [2] [3]  下一页


本文关键字:技术  步进电机  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术