基于MCU和DSP的步進電機控制技術
單極電機及其驅動器
前面我們已經討論了雙極步進電機和驅動器。單極電機與雙極電機類似,不同的是在單極電機中外部能夠接觸到的只有每個繞組的中心抽頭,如圖6所示。我們將從繞組頂部抽出的抽頭標為抽頭B,底部抽出的標為抽頭A,中間的為抽頭C。
有時我們會遇到一些抽頭沒有標注的電機,如果我們清楚步進電機的構造,就很容易通過測量抽頭之間的阻值,識別出哪些抽頭屬于哪根繞組。不同繞組的抽頭之間阻抗通常為無窮大。如果經測量,抽頭A和C之間的阻抗為100歐姆,那么抽頭B和C之間的阻抗也應是100歐姆,而A和B之間的阻抗為200歐姆。200歐姆這一阻抗值就叫做繞組阻抗。
圖8
圖7給出一個單極電機的單相驅動電路。從中可以看出,當S1閉合而S2斷開時,電流將由右至左流經電機繞組;而當S1斷開,S2閉合時,電流流向變?yōu)橛勺笾劣?。因此,我們僅用兩個開關就能改變電流的流向(而在雙極電機中需要4個開關才能做到)。表3所示為單極電機驅動電路中,每一步激勵時開關所處的位置。
雖然單極電機的驅動器控制起來相對簡單,但由于在電機中使用了中心抽頭,因此它比雙極電機更復雜,而且其價格通常比雙極電機貴。此外,由于電流只流經一半的電機繞組,所以單極電機只能產生一半的磁場。
在知道了單極電機和雙極電機的構造原理之后,當我們遇到一個沒有標示抽頭也沒有數(shù)據(jù)手冊的電機時,我們就能自己推導出抽頭和繞組的關系。帶4個抽頭的電機就是一個雙相雙極電機,我們可以通過測量導線之間的阻抗來分辨哪兩個抽頭屬于同一個繞組。帶6個抽頭的電機可能是一個雙相單極電機,也可能是一個三相雙極電機,具體情況可以通過測量導線之間的阻抗來確定。
表1 雙相電機動作過程中的繞組抽頭極性
電機控制
本文前面討論的電機控制理論可以采用全硬件方案實現(xiàn),也可以用微控制器或DSP實現(xiàn)。圖8說明了如何用晶體管作為開關來控制雙相單極電機。每個晶體管的基極都要通過一個電阻連接到微控制器的一個數(shù)字輸出上,阻值可以從1到10M歐姆,用于限制流入晶體管基極的電流。每個晶體管的發(fā)射極均接地,集電極連到電機繞組的4個抽頭。電機的中心抽頭均連接到電源電壓的正端。
每個晶體管的集電極均通過一個二極管連接到電壓源,以保護晶體管不被旋轉時電機繞組上的感應電流燒壞。轉子旋轉時,電機繞組上會出現(xiàn)一個感應電壓,如果晶體管集電極沒有通過二極管連接到電壓源,感應電壓造成的電流就會涌入晶體管的集電極。
表2:雙相電機動作過程中開關的位置
舉個例子,假設數(shù)字輸出do1為高而do2為低,于是do1會使晶體管T1導通,電流從+V流經中心抽頭和T1的基極,然后由T1的發(fā)射極輸出。但此時do2處于斷開狀態(tài),因此電流無法流經T2。這樣推理下去,我們就能將表3改為驅動電機所需的微控制器數(shù)字輸出的改變順序。
一旦清楚了驅動電機所需的硬件和數(shù)字輸出的順序,我們就可以對最順手的微控制器或DSP編寫軟件,實現(xiàn)這些序列。
固件控制
我本人在一塊Microchip PIC16F877上,利用1N4003二極管和2SD1276A達靈頓晶體管實現(xiàn)了以上談到的電機控制器。PIC的PortA第0位到第3位用來做數(shù)字輸出。電機采用在Jameco購買的5V雙相單極電機(Airpax [Thomson]生產,型號為M82101-P1),并且用同一個5V電源為PIC和電機供電。但在真正應用時,為避免給微控制器的電源信號引入噪聲,建議大家還是分別用不同的電源為電機和微控制器供電。
列表1給出了控制程序的匯編源代碼,該程序每50毫秒旋轉電機一次。首先,程序會將微控制器的數(shù)字輸出初始化為表4中第一步的值,然后每隔50毫秒(此時間常數(shù)由程序中的常量waitTime定義)按照正確的順序循環(huán)輸出數(shù)字信號。若需使電機反向旋轉,只需按與表4所示相反的順序輸出數(shù)字信號即可。
本人所用的電機為24極電機,即每一步輸出可以控制電機旋轉180°/24=7.5°。電機每50毫秒旋轉7.5°,也就是每2.4秒轉一周。如果將常量waitTime減小一半,電機轉速會加快一倍。但因為轉子受慣性、摩擦力和其他機械限制,所以電機轉速有一個上限,當定子磁場旋轉過快時,轉子的轉速無法跟上,導致電機的旋轉也無法跟上,開始跳動(skipping)。如果這時再降低歐姆aitTime,電機很可能干脆就停止旋轉。
除了本文重點討論的雙相電機以外,步進電機還有其他類型,如三相步進電機或四相步進電機。另外還有一些雙相步進電機,它們只有一個中心抽頭,同時連接到兩個繞組的中心點,這類步進電機外部有5個抽頭引出。
同樣,步進電機也不是電機家族中的唯一成員,最古老也最簡單的電機是直流(DC)電機。早期的直流電機使用電刷,現(xiàn)在已經不再流行。如今常見的無刷直流電機,就是利用電子線路代替電刷進行換向的直流電機,這類電機中不存在電刷老化問題,因此其壽命比有刷直流電機長很多。
還有一種感應電機,其工作原理與步進電機或直流電機完全不同。直流電機采用的是直流電壓源,而感應電機則采用交流(AC)電壓源,并且步進電機和直流電機中轉子與定子磁場的旋轉是同步的,而感應電機中轉子的轉速滯后于定子磁場的轉速。
評論