《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于MCU和DSP的步進(jìn)電機(jī)控制技術(shù)
基于MCU和DSP的步進(jìn)電機(jī)控制技術(shù)
摘要: 本文對(duì)步進(jìn)電機(jī)進(jìn)行了概括性的介紹,更多的細(xì)節(jié)等待著您的發(fā)現(xiàn),。但只要您理解了本文介紹的電機(jī)工作原理,,那么您就已經(jīng)完全可以開始設(shè)計(jì),、維護(hù)和調(diào)試步進(jìn)電機(jī)的驅(qū)動(dòng)軟、硬件了,。
Abstract:
Key words :

        步進(jìn)電機(jī)已經(jīng)滲透入我們生活的方方面面,本文介紹了一些重要的步進(jìn)電機(jī)相關(guān)技術(shù),為開發(fā)人員基本了解步進(jìn)電機(jī)的工作原理提供了足夠的信息,,同時(shí)也介紹了用微控制器或數(shù)字信號(hào)處理器控制步進(jìn)電機(jī)的方法。 

        步進(jìn)電機(jī)也叫步進(jìn)器,,它利用電磁學(xué)原理,,將電能轉(zhuǎn)換為機(jī)械能,人們?cè)缭?0世紀(jì)20年代就開始使用這種電機(jī),。隨著嵌入式系統(tǒng)(例如打印機(jī),、磁盤驅(qū)動(dòng)器、玩具,、雨刷,、震動(dòng)尋呼機(jī)、機(jī)械手臂和錄像機(jī)等)的日益流行,,步進(jìn)電機(jī)的使用也開始暴增,。不論在工業(yè)、軍事,、醫(yī)療,、汽車還是娛樂業(yè)中,只要需要把某件物體從一個(gè)位置移動(dòng)到另一個(gè)位置,,步進(jìn)電機(jī)就一定能派上用場(chǎng),。步進(jìn)電機(jī)有許多種形狀和尺寸,但不論形狀和尺寸如何,,它們都可以歸為兩類:可變磁阻步進(jìn)電機(jī)和永磁步進(jìn)電機(jī),。本文重點(diǎn)討論更為簡(jiǎn)單也更常用的永磁步進(jìn)電機(jī)。

圖1:具有雙齒槽和單繞組的定子

步進(jìn)電機(jī)的構(gòu)造 

        如圖1所示,,步進(jìn)電機(jī)是由一組纏繞在電機(jī)固定部件--定子齒槽上的線圈驅(qū)動(dòng)的,。通常情況下,一根繞成圈狀的金屬絲叫做螺線管,,而在電機(jī)中,,繞在齒上的金屬絲則叫做繞組、線圈,、或相,。如果線圈中電流的流向如圖1所示,并且我們從電機(jī)頂部向下看齒槽的頂部,,那么電流在繞兩個(gè)齒槽按逆時(shí)針流向流動(dòng),。根據(jù)安培定律和右手準(zhǔn)則,這樣的電流會(huì)產(chǎn)生一個(gè)北極向上的磁場(chǎng),。 

圖2:雙相雙極電機(jī)

        現(xiàn)在假設(shè)我們構(gòu)造一個(gè)定子上纏繞有兩個(gè)繞組的電機(jī),,內(nèi)置一個(gè)能夠繞中心任意轉(zhuǎn)動(dòng)的永久磁鐵,,這個(gè)可旋轉(zhuǎn)部分叫做轉(zhuǎn)子。圖2給出了一種簡(jiǎn)單的電機(jī),,叫做雙相雙極電機(jī),,因?yàn)槠涠ㄗ由嫌袃蓚€(gè)繞組,而且其轉(zhuǎn)子有兩個(gè)磁極,。如果我們按圖2a所示方向給繞組1輸送電流,,而繞組2中沒有電流流過,那么電機(jī)轉(zhuǎn)子的南極就會(huì)自然地按圖中所示,,指向定子磁場(chǎng)的北極,。 

        再假設(shè)我們切斷繞組1中的電流,而按圖2b所示方向給繞組2輸送電流,,那么定子的磁場(chǎng)就會(huì)指向左側(cè),而轉(zhuǎn)子也會(huì)隨之旋轉(zhuǎn),,與定子磁場(chǎng)方向保持一致,。 

        接著,我們?cè)賹⒗@組2的電流切斷,,按照?qǐng)D2c的方向給繞組1輸送電流,,注意:這時(shí)繞組1中的電流流向與圖2a所示方向相反。于是定子的磁場(chǎng)北極就會(huì)指向下,,從而導(dǎo)致轉(zhuǎn)子旋轉(zhuǎn),,其南極也指向下方。 

        然后我們又切斷繞組1中的電流,,按照?qǐng)D2d所示方向給繞組2輸送電流,,于是定子磁場(chǎng)又會(huì)指向右側(cè),從而使得轉(zhuǎn)子旋轉(zhuǎn),,其南極也指向右側(cè),。 

圖3:雙相6極電機(jī)

        最后,我們?cè)僖淮吻袛嗬@組2中的電流,,并給繞組1輸送如圖2a所示的電流,,這樣,轉(zhuǎn)子又會(huì)回到原來的位置,。 

        至此,,我們對(duì)電機(jī)繞組完成了一個(gè)周期的電激勵(lì),電機(jī)轉(zhuǎn)子旋轉(zhuǎn)了一整圈,。也就是說,,電機(jī)的電頻率等于它轉(zhuǎn)動(dòng)的機(jī)械頻率。 

        如果我們用1秒鐘順序完成了圖2所示的這4個(gè)步驟,,那么電機(jī)的電頻率就是1Hz,。其轉(zhuǎn)子旋轉(zhuǎn)了一周,,因而其機(jī)械頻率也是1Hz??傊?,一個(gè)雙相步進(jìn)電機(jī)的電頻率和機(jī)械頻率之間的關(guān)系可以用下式表示: 

        fe=fm*P/2 (1) 

        其中,fe代表電機(jī)的電頻率,,fm代表其機(jī)械頻率,,而P則代表電機(jī)轉(zhuǎn)子的等距磁極數(shù)。 

        從圖2中我們還可以看出,,每一步操作都會(huì)使轉(zhuǎn)子旋轉(zhuǎn)90°,,也就是說,一個(gè)雙相步進(jìn)電機(jī)每一步操作造成的旋轉(zhuǎn)度數(shù)可由下式表示: 

        1 step= 180°/P (2) 

        由等式(2)可知,,一個(gè)雙極電機(jī)每動(dòng)作一次可以旋轉(zhuǎn)180°/2=90°,,這與我們?cè)趫D2中看到的情形正好相符。此外,,該等式還表明,,電機(jī)的磁極數(shù)越多,步進(jìn)精度就越高,。常見的是磁極數(shù)在12和200個(gè)之間的雙相步進(jìn)電機(jī),,這些電機(jī)的步進(jìn)精度在15°和 0.9°之間。 

圖4:同時(shí)激勵(lì)電機(jī)的兩個(gè)繞組

        圖3給出的例子是一個(gè)雙相,、6極步進(jìn)電機(jī),,其中包含3個(gè)永久磁鐵,因而有6個(gè)磁極,。第一步,,如圖3a所示,我們給繞組1施加電壓,,在定子中產(chǎn)生一個(gè)北極指向其頂部的磁場(chǎng),,于是,轉(zhuǎn)子的南極(圖3a中紅色的“S”一端)轉(zhuǎn)向了該圖的上方,。接著,,在圖3b中,我們給繞組2施加電壓,,定子中產(chǎn)生一個(gè)北極指向其左側(cè)的磁場(chǎng),。于是,轉(zhuǎn)子的一個(gè)距離最近的南極轉(zhuǎn)向了圖的左方,,即轉(zhuǎn)子順時(shí)針轉(zhuǎn)動(dòng)了30°,。第三步,在圖3c中,,我們又向繞組1施加一個(gè)電壓,,在定子中產(chǎn)生一個(gè)北極指向圖下方的磁場(chǎng),,從而又使轉(zhuǎn)子順時(shí)針旋轉(zhuǎn)30°到達(dá)圖3c所示的位置。而在圖3d中,,我們給繞組2施加電壓,,在定子中產(chǎn)生一個(gè)北極指向定子右側(cè)的磁場(chǎng),再一次使轉(zhuǎn)子順時(shí)針旋轉(zhuǎn)30°,,到達(dá)圖3d所示的位置,。最后,我們?cè)傧蚶@組1施加電壓,,產(chǎn)生一個(gè)如圖3a所示的北極指向定子上方的磁場(chǎng),,使得轉(zhuǎn)子順時(shí)針旋轉(zhuǎn)30°,結(jié)束一個(gè)電周期,。如此可以看出,,4步電激勵(lì)造成了120°的機(jī)械旋轉(zhuǎn)。也就是說,,該電機(jī)的電頻率是機(jī)械頻率的3倍,,這一結(jié)果符合等式(1)。此外,,我們從圖3和等式(2)也能看出,該電機(jī)的轉(zhuǎn)子每一步旋轉(zhuǎn)30°,。 

圖5:可用于驅(qū)動(dòng)電機(jī)每個(gè)繞組的H橋電路

        如果同時(shí)向兩個(gè)繞組輸送電流,,還能增大電機(jī)的扭矩,如圖4所示,。這時(shí),,電機(jī)定子的磁場(chǎng)是兩個(gè)繞組各自產(chǎn)生的磁場(chǎng)的矢量和,雖然這一磁場(chǎng)每一次動(dòng)作仍然只使電機(jī)旋轉(zhuǎn)90°,,就象圖2和圖3中一樣,,但因?yàn)槲覀兺瑫r(shí)激勵(lì)兩個(gè)電機(jī)繞組,所以此時(shí)的磁場(chǎng)比單獨(dú)激勵(lì)一個(gè)繞組時(shí)更強(qiáng),。由于該磁場(chǎng)是兩個(gè)垂直場(chǎng)的矢量和,,因此它等于單獨(dú)每個(gè)場(chǎng)的2×1.414倍,從而電機(jī)對(duì)其負(fù)載施加的扭矩也成正比增大,。

電機(jī)的激勵(lì)順序 

        既然我們知道了一系列激勵(lì)會(huì)使步進(jìn)電機(jī)旋轉(zhuǎn),,接下來就要設(shè)計(jì)硬件來實(shí)現(xiàn)所需的步進(jìn)序列。一塊能讓電機(jī)動(dòng)起來的硬件(或結(jié)合了硬件和軟件的一套設(shè)備)就叫做電機(jī)驅(qū)動(dòng)器,。 

        從圖4中可以看出我們?cè)鯓蛹?lì)雙相電機(jī)的繞組才能使電機(jī)轉(zhuǎn)子旋轉(zhuǎn),,圖中,電機(jī)內(nèi)的繞組抽頭分別被標(biāo)為1A,、1B,、2A和2B,。其中,1A和1B是繞組1的兩個(gè)抽頭,,2A和2B則是繞組2的兩個(gè)抽頭,。 

        首先,要給腳1B和2B施加一個(gè)正電壓,,并將1A和2A接地,。然后,給腳1B和2A施加一個(gè)正電壓,,而將1A和2B接地,,這一過程其實(shí)取決于導(dǎo)線繞齒槽纏繞的方向,假設(shè)導(dǎo)線纏繞的方向與上一節(jié)所述相符,。依次進(jìn)行下去,,我們就得到了表1中總結(jié)的激勵(lì)順序,其中,,“1”表示正電壓,,“0”表示接地。 

        電流在電機(jī)繞組中有兩種可能的流向,,這樣的電機(jī)就叫做雙極電機(jī)和雙極驅(qū)動(dòng)序列,。雙極電機(jī)通常由一種叫做H橋的電路驅(qū)動(dòng),圖5給出了連接H橋和步進(jìn)電機(jī)兩根抽頭的電路,。H橋通過一個(gè)電阻連接到一個(gè)電壓固定的直流電源(其幅度可根據(jù)電機(jī)的要求選取),,然后,該電路再經(jīng)過4個(gè)開關(guān)(分別標(biāo)為S1,、S2,、S3和S4)連接到繞組的兩根抽頭。這一電路的分布看起來有點(diǎn)象一個(gè)大寫字母H,,因此叫做H橋,。 

圖6

        從表1中可以看出,要激勵(lì)該電機(jī),,第一步應(yīng)將抽頭2A設(shè)為邏輯0,,2B設(shè)為邏輯1,于是,,我們可以閉合開關(guān)S1和S4,,并斷開開關(guān)S2和S3。接著,,需要將抽頭2A設(shè)為邏輯1,,2B設(shè)為邏輯0,于是,我們可以閉合S2,、S3,,并斷開S1和S4。與此類似,,第三步我們可以閉合S2,、S3并斷開S1和S4,第四步則可以閉合S1,、S4并斷開S2,、S3。 

        對(duì)繞組1的激勵(lì)方法也不外乎如此,,使用一對(duì)H橋就能產(chǎn)生需要的激勵(lì)信號(hào)序列,。表2所示就是激勵(lì)過程中每一步開關(guān)所在的位置。 

圖7:?jiǎn)螛O電機(jī)的控制電路

        注意,,如果R=0,,而開關(guān)S1和S3又不小心同時(shí)閉合,那么流經(jīng)開關(guān)的電流將達(dá)到無窮大,。這時(shí),,不但開關(guān)會(huì)被燒壞,電源也可能損壞,,因此電路中使用了一個(gè)非零阻值的電阻,。盡管這個(gè)電阻會(huì)帶來一定的功耗,也會(huì)降低電機(jī)驅(qū)動(dòng)器的效率,,但它可以提供短路保護(hù),。

單極電機(jī)及其驅(qū)動(dòng)器 

        前面我們已經(jīng)討論了雙極步進(jìn)電機(jī)和驅(qū)動(dòng)器。單極電機(jī)與雙極電機(jī)類似,,不同的是在單極電機(jī)中外部能夠接觸到的只有每個(gè)繞組的中心抽頭,如圖6所示,。我們將從繞組頂部抽出的抽頭標(biāo)為抽頭B,,底部抽出的標(biāo)為抽頭A,中間的為抽頭C,。 

        有時(shí)我們會(huì)遇到一些抽頭沒有標(biāo)注的電機(jī),,如果我們清楚步進(jìn)電機(jī)的構(gòu)造,就很容易通過測(cè)量抽頭之間的阻值,,識(shí)別出哪些抽頭屬于哪根繞組,。不同繞組的抽頭之間阻抗通常為無窮大。如果經(jīng)測(cè)量,,抽頭A和C之間的阻抗為100歐姆,,那么抽頭B和C之間的阻抗也應(yīng)是100歐姆,而A和B之間的阻抗為200歐姆。200歐姆這一阻抗值就叫做繞組阻抗,。 

圖8

        圖7給出一個(gè)單極電機(jī)的單相驅(qū)動(dòng)電路,。從中可以看出,當(dāng)S1閉合而S2斷開時(shí),,電流將由右至左流經(jīng)電機(jī)繞組,;而當(dāng)S1斷開,S2閉合時(shí),,電流流向變?yōu)橛勺笾劣?。因此,我們僅用兩個(gè)開關(guān)就能改變電流的流向(而在雙極電機(jī)中需要4個(gè)開關(guān)才能做到),。表3所示為單極電機(jī)驅(qū)動(dòng)電路中,,每一步激勵(lì)時(shí)開關(guān)所處的位置。 

        雖然單極電機(jī)的驅(qū)動(dòng)器控制起來相對(duì)簡(jiǎn)單,,但由于在電機(jī)中使用了中心抽頭,,因此它比雙極電機(jī)更復(fù)雜,而且其價(jià)格通常比雙極電機(jī)貴,。此外,,由于電流只流經(jīng)一半的電機(jī)繞組,所以單極電機(jī)只能產(chǎn)生一半的磁場(chǎng),。 

        在知道了單極電機(jī)和雙極電機(jī)的構(gòu)造原理之后,,當(dāng)我們遇到一個(gè)沒有標(biāo)示抽頭也沒有數(shù)據(jù)手冊(cè)的電機(jī)時(shí),我們就能自己推導(dǎo)出抽頭和繞組的關(guān)系,。帶4個(gè)抽頭的電機(jī)就是一個(gè)雙相雙極電機(jī),,我們可以通過測(cè)量導(dǎo)線之間的阻抗來分辨哪兩個(gè)抽頭屬于同一個(gè)繞組。帶6個(gè)抽頭的電機(jī)可能是一個(gè)雙相單極電機(jī),,也可能是一個(gè)三相雙極電機(jī),,具體情況可以通過測(cè)量導(dǎo)線之間的阻抗來確定。

表1 雙相電機(jī)動(dòng)作過程中的繞組抽頭極性


電機(jī)控制 

        本文前面討論的電機(jī)控制理論可以采用全硬件方案實(shí)現(xiàn),,也可以用微控制器或DSP實(shí)現(xiàn),。圖8說明了如何用晶體管作為開關(guān)來控制雙相單極電機(jī)。每個(gè)晶體管的基極都要通過一個(gè)電阻連接到微控制器的一個(gè)數(shù)字輸出上,,阻值可以從1到10M歐姆,,用于限制流入晶體管基極的電流。每個(gè)晶體管的發(fā)射極均接地,,集電極連到電機(jī)繞組的4個(gè)抽頭,。電機(jī)的中心抽頭均連接到電源電壓的正端。 

        每個(gè)晶體管的集電極均通過一個(gè)二極管連接到電壓源,,以保護(hù)晶體管不被旋轉(zhuǎn)時(shí)電機(jī)繞組上的感應(yīng)電流燒壞,。轉(zhuǎn)子旋轉(zhuǎn)時(shí),,電機(jī)繞組上會(huì)出現(xiàn)一個(gè)感應(yīng)電壓,如果晶體管集電極沒有通過二極管連接到電壓源,,感應(yīng)電壓造成的電流就會(huì)涌入晶體管的集電極,。 

表2:雙相電機(jī)動(dòng)作過程中開關(guān)的位置


        舉個(gè)例子,假設(shè)數(shù)字輸出do1為高而do2為低,,于是do1會(huì)使晶體管T1導(dǎo)通,,電流從+V流經(jīng)中心抽頭和T1的基極,然后由T1的發(fā)射極輸出,。但此時(shí)do2處于斷開狀態(tài),,因此電流無法流經(jīng)T2。這樣推理下去,,我們就能將表3改為驅(qū)動(dòng)電機(jī)所需的微控制器數(shù)字輸出的改變順序,。 

        一旦清楚了驅(qū)動(dòng)電機(jī)所需的硬件和數(shù)字輸出的順序,我們就可以對(duì)最順手的微控制器或DSP編寫軟件,,實(shí)現(xiàn)這些序列,。

固件控制 

        我本人在一塊Microchip PIC16F877上,利用1N4003二極管和2SD1276A達(dá)靈頓晶體管實(shí)現(xiàn)了以上談到的電機(jī)控制器,。PIC的PortA第0位到第3位用來做數(shù)字輸出,。電機(jī)采用在Jameco購買的5V雙相單極電機(jī)(Airpax [Thomson]生產(chǎn),型號(hào)為M82101-P1),,并且用同一個(gè)5V電源為PIC和電機(jī)供電,。但在真正應(yīng)用時(shí),為避免給微控制器的電源信號(hào)引入噪聲,,建議大家還是分別用不同的電源為電機(jī)和微控制器供電,。 

        列表1給出了控制程序的匯編源代碼,該程序每50毫秒旋轉(zhuǎn)電機(jī)一次,。首先,,程序會(huì)將微控制器的數(shù)字輸出初始化為表4中第一步的值,然后每隔50毫秒(此時(shí)間常數(shù)由程序中的常量waitTime定義)按照正確的順序循環(huán)輸出數(shù)字信號(hào),。若需使電機(jī)反向旋轉(zhuǎn),,只需按與表4所示相反的順序輸出數(shù)字信號(hào)即可。 

        本人所用的電機(jī)為24極電機(jī),,即每一步輸出可以控制電機(jī)旋轉(zhuǎn)180°/24=7.5°。電機(jī)每50毫秒旋轉(zhuǎn)7.5°,,也就是每2.4秒轉(zhuǎn)一周,。如果將常量waitTime減小一半,電機(jī)轉(zhuǎn)速會(huì)加快一倍,。但因?yàn)檗D(zhuǎn)子受慣性,、摩擦力和其他機(jī)械限制,所以電機(jī)轉(zhuǎn)速有一個(gè)上限,當(dāng)定子磁場(chǎng)旋轉(zhuǎn)過快時(shí),,轉(zhuǎn)子的轉(zhuǎn)速無法跟上,,導(dǎo)致電機(jī)的旋轉(zhuǎn)也無法跟上,開始跳動(dòng)(skipping),。如果這時(shí)再降低歐姆aitTime,,電機(jī)很可能干脆就停止旋轉(zhuǎn)。 

        除了本文重點(diǎn)討論的雙相電機(jī)以外,,步進(jìn)電機(jī)還有其他類型,,如三相步進(jìn)電機(jī)或四相步進(jìn)電機(jī)。另外還有一些雙相步進(jìn)電機(jī),,它們只有一個(gè)中心抽頭,,同時(shí)連接到兩個(gè)繞組的中心點(diǎn),這類步進(jìn)電機(jī)外部有5個(gè)抽頭引出,。 

        同樣,,步進(jìn)電機(jī)也不是電機(jī)家族中的唯一成員,最古老也最簡(jiǎn)單的電機(jī)是直流(DC)電機(jī),。早期的直流電機(jī)使用電刷,,現(xiàn)在已經(jīng)不再流行。如今常見的無刷直流電機(jī),,就是利用電子線路代替電刷進(jìn)行換向的直流電機(jī),,這類電機(jī)中不存在電刷老化問題,因此其壽命比有刷直流電機(jī)長(zhǎng)很多,。 

        還有一種感應(yīng)電機(jī),,其工作原理與步進(jìn)電機(jī)或直流電機(jī)完全不同。直流電機(jī)采用的是直流電壓源,,而感應(yīng)電機(jī)則采用交流(AC)電壓源,,并且步進(jìn)電機(jī)和直流電機(jī)中轉(zhuǎn)子與定子磁場(chǎng)的旋轉(zhuǎn)是同步的,而感應(yīng)電機(jī)中轉(zhuǎn)子的轉(zhuǎn)速滯后于定子磁場(chǎng)的轉(zhuǎn)速,。 

本文小結(jié) 

        本文對(duì)步進(jìn)電機(jī)進(jìn)行了概括性的介紹,,更多的細(xì)節(jié)等待著您的發(fā)現(xiàn)。但只要您理解了本文介紹的電機(jī)工作原理,,那么您就已經(jīng)完全可以開始設(shè)計(jì),、維護(hù)和調(diào)試步進(jìn)電機(jī)的驅(qū)動(dòng)軟、硬件了,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。