background image

现,也可以用微控制器或DSP实现。图8说明了如何用晶体管作为开关来控制双相单极电机。每个晶体管的基极都要通过一个电阻连接到微控
制器的一个数字输出上,阻值可以从1到10M欧姆,用于限制流入晶体管基极的电流。每个晶体管的发射极均接地,集电极连到电机绕组的4个
抽头。电机的中心抽头均连接到电源电压的正端。  

每个晶体管的集电极均通过一个二极管连接到电压源,以保护晶体管不被旋转时电机绕组上的感应电流烧坏。转子旋转时,电机绕组上会出
现一个感应电压,如果晶体管集电极没有通过二极管连接到电压源,感应电压造成的电流就会涌入晶体管的集电极。  

举个例子,假设数字输出do1为高而do2为低,于是do1会使晶体管T1导通,电流从+V流经
中心抽头和T1的基极,然后由T1的发射极输出。但此时do2处于断开状态,因此电流无法
流经T2。这样推理下去,我们就能将表3改为驱动电机所需的微控制器数字输出的改变顺
序。  

一旦清楚了驱动电机所需的硬件和数字输出的顺序,我们就可以对最顺手的微控制器或DS
P编写软件,实现这些序列。  

固件控制  

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

 

列表1给出了控制程序的汇编源代码,该程序每50
毫秒旋转电机一次。首先,程序会将微控制器的
数字输出初始化为表4中第一步的值,然后每隔50
毫秒(此时间常数由程序中的常量waitTime定义)
按照正确的顺序循环输出数字信号。若需使电机
反向旋转,只需按与表4所示相反的顺序输出数字
信号即可。  

本人所用的电机为24极电机,即每一步输出可以
控制电机旋转180°/24=7.5°。电机每50毫秒旋
转7.5°,也就是每2.4秒转一周。如果将常量wai
tTime减小一半,电机转速会加快一倍。但因为转
子受惯性、摩擦力和其他机械限制,所以电机转
速有一个上限,当定子磁场旋转过快时,转子的
转速无法跟上,导致电机的旋转也无法跟上,开
始跳动(skipping)。如果这时再降低欧姆aitTim
e,电机很可能干脆就停止旋转。  

除了本文重点讨论的双相电机以外,步进电机还
有其他类型,如三相步进电机或四相步进电机。
另外还有一些双相步进电机,它们只有一个中心
抽头,同时连接到两个绕组的中心点,这类步进
电机外部有5个抽头引出。  

同样,步进电机也不是电机家族中的唯一成员,
最古老也最简单的电机是直流(DC)电机。早期的
直流电机使用电刷,现在已经不再流行。如今常
见的无刷直流电机,就是利用电子线路代替电刷
进行换向的直流电机,这类电机中不存在电刷老
化问题,因此其寿命比有刷直流电机长很多。  

还有一种感应电机,其工作原理与步进电机或直
流电机完全不同。直流电机采用的是直流电压
源,而感应电机则采用交流(AC)电压源,并且步进电机和直流电机中转子与定子磁场的旋转是同步的,而感应电机中转子的转速滞后于定子
磁场的转速。  

本文小结  

本文对步进电机进行了概括性的介绍,更多的细节等待着您的发现。但只要您理解了本文介绍的电机工作原理,那么您就已经完全可以开始
设计、维护和调试步进电机的驱动软、硬件了。  

作者:Dan Simon,电子与计算机工程系,克里夫兰州立大学

  

Page 3 of 4

步进电机的构造及控制技术解析

2008-11-11

http://www.cndzz.com/tech/Article/cg/200604/8297.html