《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于ATMEGA48單片機(jī)的儀表步進(jìn)電機(jī)的細(xì)分控制
基于ATMEGA48單片機(jī)的儀表步進(jìn)電機(jī)的細(xì)分控制
摘要: 步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元件,。在非超載的情況下,,電機(jī)轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),,而不受負(fù)載變化的影響,,即給電機(jī)某相線圈加一脈沖信號(hào),電機(jī)則轉(zhuǎn)過(guò)一個(gè)步距角,。這一線性關(guān)系的存在,,加上步進(jìn)電機(jī)只有周期性的誤差而無(wú)累積誤差等特點(diǎn),使得在速度,、位置等控制領(lǐng)域用步進(jìn)電機(jī)來(lái)控制變得非常簡(jiǎn)單,。雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不像普通的直流電機(jī),、交流電機(jī)那樣在常規(guī)下使用,。它必須在雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)下使用,。
Abstract:
Key words :

 儀表步進(jìn)電機(jī)

  步進(jìn)電機(jī)" title="步進(jìn)電機(jī)">步進(jìn)電機(jī)是將電脈沖信號(hào)" title="脈沖信號(hào)">脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元件,。在非超載的情況下,電機(jī)轉(zhuǎn)速,、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),,而不受負(fù)載變化的影響,,即給電機(jī)某相線圈加一脈沖信號(hào),電機(jī)則轉(zhuǎn)過(guò)一個(gè)步距角,。這一線性關(guān)系的存在,,加上步進(jìn)電機(jī)只有周期性的誤差而無(wú)累積誤差等特點(diǎn),使得在速度,、位置等控制領(lǐng)域用步進(jìn)電機(jī)來(lái)控制變得非常簡(jiǎn)單,。雖然步進(jìn)電機(jī)已被廣泛地應(yīng)用,但步進(jìn)電機(jī)并不像普通的直流電機(jī),、交流電機(jī)那樣在常規(guī)下使用,。它必須在雙環(huán)形脈沖信號(hào)、功率驅(qū)動(dòng)電路等組成控制系統(tǒng)下使用,。

  儀表步進(jìn)電機(jī)屬于步進(jìn)電機(jī)中體積,、功耗較小的類別,可以由單片機(jī)或?qū)S眯酒囊_直接驅(qū)動(dòng),,不需外接驅(qū)動(dòng)器,,因而在儀表中被用于指針的旋轉(zhuǎn)控制。

  需求分析

  本方案中使用的儀表具有如下特點(diǎn)和設(shè)計(jì)參數(shù):

  ●指針響應(yīng)靈敏,、走位準(zhǔn)確,,即收到驅(qū)動(dòng)脈沖后不能丟步;

  ●指針轉(zhuǎn)動(dòng)平穩(wěn),即指針從當(dāng)前位置到目標(biāo)位置之間的走位要平穩(wěn),,正,、反轉(zhuǎn)都不能出現(xiàn)抖動(dòng);

  ●兩相、步距角10o,、轉(zhuǎn)動(dòng)范圍300o,。

  根據(jù)技術(shù)參數(shù)可知,采用兩相四拍和兩相八拍時(shí)的步距角為10o和5o,,在300o的范圍內(nèi)只能作30和60個(gè)刻度劃分,,在實(shí)際應(yīng)用中,會(huì)發(fā)現(xiàn)指針步距角不能滿足要求而且抖動(dòng)不可避免,。為了實(shí)現(xiàn)指針高精度的準(zhǔn)確走位和平穩(wěn)運(yùn)轉(zhuǎn),,要對(duì)步進(jìn)電機(jī)步距進(jìn)行高分辨率細(xì)分,這也是設(shè)計(jì)的難點(diǎn)所在,。

  步進(jìn)電機(jī)的細(xì)分技術(shù)是一種電子阻尼技術(shù),,其主要目的是提高電機(jī)的運(yùn)轉(zhuǎn)精度,實(shí)現(xiàn)步進(jìn)電機(jī)步距角的高精度細(xì)分,。其基本概念為:步進(jìn)電機(jī)通過(guò)細(xì)分驅(qū)動(dòng)器的驅(qū)動(dòng),,其步距角變小了。如驅(qū)動(dòng)器工作在10細(xì)分狀態(tài)時(shí),,其步距角只為電機(jī)固有步距角的十分之一,。以兩相四拍為例:當(dāng)電機(jī)工作在不細(xì)分的整步狀態(tài)時(shí),,控制系統(tǒng)每發(fā)一個(gè)步進(jìn)脈沖,電機(jī)轉(zhuǎn)動(dòng)10o;而用細(xì)分驅(qū)動(dòng)器工作在10細(xì)分狀態(tài)時(shí),,電機(jī)只轉(zhuǎn)動(dòng)了1o,。細(xì)分功能完全是由驅(qū)動(dòng)器或單片機(jī)靠精確控制電機(jī)的相電流所實(shí)現(xiàn)的,,與電機(jī)本身無(wú)關(guān),。

  細(xì)分原理 

 

  兩相四拍A、B,、/A,、/B的驅(qū)動(dòng)狀態(tài)表如表1所示。

  兩相八拍A,、B,、/A、/B的驅(qū)動(dòng)狀態(tài)表如表2所示,。

  從以上的分析可知,,兩相四拍是整步運(yùn)轉(zhuǎn)不細(xì)分,兩相八拍其實(shí)是2細(xì)分,。合成的磁場(chǎng)和電流矢量夾角以90o和45o的方式變化,,如此往復(fù)循環(huán)。

  參考相關(guān)資料后不難發(fā)現(xiàn):細(xì)分驅(qū)動(dòng)技術(shù)常用近似正弦波" title="正弦波">正弦波的階梯型電流代替矩形波電流,,產(chǎn)生一個(gè)微步旋轉(zhuǎn)磁場(chǎng),,從而帶動(dòng)電機(jī)以更小的步距角轉(zhuǎn)動(dòng),其電流波形和旋轉(zhuǎn)磁場(chǎng)矢量如圖1所示,。同時(shí)由于正弦波電流變化平滑,,使電機(jī)運(yùn)行更平穩(wěn)、噪聲更小,。即通過(guò)改變相鄰兩相(A,,B)電流的大小和方向(A相正弦波和B相余弦波矢量疊加),以改變合成磁場(chǎng)的夾角,,通過(guò)電流矢量合成的方式來(lái)控制步進(jìn)電機(jī)運(yùn)轉(zhuǎn),。


  硬件設(shè)計(jì)和軟件編程

  根據(jù)細(xì)分原理可知,對(duì)于兩相步進(jìn)電機(jī),,需要同時(shí)控制兩組線圈的電壓大小和方向才能達(dá)到合成電流矢量控制的目的,,控制線圈的電流大小有兩種方案:其一是通過(guò)單片機(jī)寫(xiě)入數(shù)字量,由數(shù)模轉(zhuǎn)換器件輸出模擬電壓,,控制線圈電流大小;其二是通過(guò)某些單片機(jī)自帶的PWM引腳輸出占空比" title="占空比">占空比可控的方波,,用其交流有效值控制線圈電流大小。很顯然,,按照正弦規(guī)律變化的占空比決定了線圈電流大小也按照相同的正弦規(guī)律變化,。線圈的電壓施加方向可以通過(guò)邏輯門(mén)電路" title="門(mén)電路">門(mén)電路來(lái)實(shí)現(xiàn),。

綜上,選用具有兩路16位精度PWM功能的ATMEGA48單片機(jī),,外圍硬件電路設(shè)計(jì)如圖2,。

  使用該單片機(jī)具有PWM功能的PB1和PB2連接PWM_A和PWM_B,使用兩個(gè)普通引腳連接DIR_A和DIR_B即可實(shí)現(xiàn)對(duì)電機(jī)的控制,。原理說(shuō)明如下:電機(jī)的A,、/A、B,、/B分別對(duì)應(yīng)四輸入與門(mén)電路的3,、6、8,、11引腳,。在DIR_A和DIR_B為低電平時(shí),門(mén)電路的1,、9引腳為0狀態(tài),,三極管Q3、Q4截止,,門(mén)電路的4,、12引腳由于上拉處于1狀態(tài),這樣,,與門(mén)電路的3,、8輸出為0,即A,、B為0;此時(shí)與門(mén)電路的6,、11輸出與PWM_A和PWM_B保持一致,即/A,、/B由PWM_A和PWM_B決定,。在其他狀態(tài)下,也具有同類特點(diǎn):A和/A之間,、B和/B之間的通電極性由DIR_A和DIR_B決定;A和/A之間,、B和/B之間的電流大小由PWM_A和PWM_B的占空比決定。而且只要三極管Q3,、Q4工作正常,,與門(mén)電路就不會(huì)出現(xiàn)邏輯混亂的情況。

  配合硬件的設(shè)計(jì),,軟件上編寫(xiě)了一個(gè)由64個(gè)數(shù)據(jù)組成的數(shù)組,,分別對(duì)應(yīng)了0~90o正弦波幅度變化的8位數(shù)字量化值(以階梯波的方式模擬了64點(diǎn)正弦波抽樣),每個(gè)值用來(lái)控制輸出波形占空比,,實(shí)際上參與了電流矢量夾角轉(zhuǎn)動(dòng)90o過(guò)程中其電流大小的計(jì)算,。眾所周知,,正弦、余弦波相位相差90o,,在已知0~90o正弦波幅度變化表后,,同樣可以得出90o~180o、180o~270o,、270o~360o(0o)的正弦波,、余弦波幅度變化表,所以通過(guò)0~90o正弦波幅度變化的8位數(shù)字量化表的演化,,就可以在兩相八拍(二細(xì)分)的基礎(chǔ)上把電流矢量夾角分成四個(gè)象限,,配合極性的控制,在每個(gè)象限中把A或/A的正弦波和B或/B的余弦波作8種組合,,在每種組合中完成電流大小的變化,最終作到兩相64拍(16細(xì)分)的控制,。而且,,最巧妙的一點(diǎn)就在于:通過(guò)選擇64個(gè)數(shù)據(jù)對(duì)應(yīng)每90o范圍的正弦波的64個(gè)點(diǎn),就可以用一個(gè)字節(jié)的大小來(lái)作為區(qū)分4個(gè)象限的標(biāo)志,,便于對(duì)正,、余弦的角度進(jìn)行演化,即0~63對(duì)應(yīng)0~90o,,64~127對(duì)應(yīng)90o~180o,,128~191對(duì)應(yīng)180o~270o,192~255對(duì)應(yīng)270o~360o,。

  兩相64拍A,、B、/A,、/B的驅(qū)動(dòng)狀態(tài)表如表3(以B為起始狀態(tài)),。

  由于儀表指針從當(dāng)前角指向目標(biāo)角時(shí),變化量會(huì)有不同,。為保證指針響應(yīng)靈敏,、無(wú)抖動(dòng),必須在正,、反轉(zhuǎn)時(shí)考慮加,、減速控制。程序中,,可以根據(jù)變化量的大小和正負(fù)設(shè)定幾個(gè)控制區(qū)間,,分別寫(xiě)入不同的延時(shí)參數(shù),根據(jù)此延時(shí)參數(shù)來(lái)控制電流大小,、方向(改變PWM_A和PWM_B,、DIR_A和DIR_B)變化時(shí)間,,就達(dá)到了加、減速的控制的目的,。

  結(jié)語(yǔ)

  通過(guò)雙PWM方式控制兩相步進(jìn)電機(jī),,既達(dá)到了高精度細(xì)分的目的,又在硬件成本上得到了優(yōu)化,。在現(xiàn)有電路的后級(jí)增加功率驅(qū)動(dòng)電路并作程序的少量修改,,就可以做成高精度、多細(xì)分步進(jìn)電機(jī)驅(qū)動(dòng)器,。

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