儀表步進電機
步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機某相線圈加一脈沖信號,電機則轉(zhuǎn)過一個步距角。這一線性關(guān)系的存在,加上步進電機只有周期性的誤差而無累積誤差等特點,使得在速度、位置等控制領(lǐng)域用步進電機來控制變得非常簡單。雖然步進電機已被廣泛地應用,但步進電機并不像普通的直流電機、交流電機那樣在常規(guī)下使用。它必須在雙環(huán)形脈沖信號、功率驅(qū)動電路等組成控制系統(tǒng)下使用。
儀表步進電機屬于步進電機中體積、功耗較小的類別,可以由單片機或?qū)S眯酒囊_直接驅(qū)動,不需外接驅(qū)動器,因而在儀表中被用于指針的旋轉(zhuǎn)控制。
需求分析
本方案中使用的儀表具有如下特點和設計參數(shù):
●指針響應靈敏、走位準確,即收到驅(qū)動脈沖后不能丟步;
●指針轉(zhuǎn)動平穩(wěn),即指針從當前位置到目標位置之間的走位要平穩(wěn),正、反轉(zhuǎn)都不能出現(xiàn)抖動;
●兩相、步距角10o、轉(zhuǎn)動范圍300o。
根據(jù)技術(shù)參數(shù)可知,采用兩相四拍和兩相八拍時的步距角為10o和5o,在300o的范圍內(nèi)只能作30和60個刻度劃分,在實際應用中,會發(fā)現(xiàn)指針步距角不能滿足要求而且抖動不可避免。為了實現(xiàn)指針高精度的準確走位和平穩(wěn)運轉(zhuǎn),要對步進電機步距進行高分辨率細分,這也是設計的難點所在。
步進電機的細分技術(shù)是一種電子阻尼技術(shù),其主要目的是提高電機的運轉(zhuǎn)精度,實現(xiàn)步進電機步距角的高精度細分。其基本概念為:步進電機通過細分驅(qū)動器的驅(qū)動,其步距角變小了。如驅(qū)動器工作在10細分狀態(tài)時,其步距角只為電機固有步距角的十分之一。以兩相四拍為例:當電機工作在不細分的整步狀態(tài)時,控制系統(tǒng)每發(fā)一個步進脈沖,電機轉(zhuǎn)動10o;而用細分驅(qū)動器工作在10細分狀態(tài)時,電機只轉(zhuǎn)動了1o。細分功能完全是由驅(qū)動器或單片機靠精確控制電機的相電流所實現(xiàn)的,與電機本身無關(guān)。
細分原理
兩相四拍A、B、/A、/B的驅(qū)動狀態(tài)表如表1所示。
兩相八拍A、B、/A、/B的驅(qū)動狀態(tài)表如表2所示。
從以上的分析可知,兩相四拍是整步運轉(zhuǎn)不細分,兩相八拍其實是2細分。合成的磁場和電流矢量夾角以90o和45o的方式變化,如此往復循環(huán)。
參考相關(guān)資料后不難發(fā)現(xiàn):細分驅(qū)動技術(shù)常用近似正弦波的階梯型電流代替矩形波電流,產(chǎn)生一個微步旋轉(zhuǎn)磁場,從而帶動電機以更小的步距角轉(zhuǎn)動,其電流波形和旋轉(zhuǎn)磁場矢量如圖1所示。同時由于正弦波電流變化平滑,使電機運行更平穩(wěn)、噪聲更小。即通過改變相鄰兩相(A,B)電流的大小和方向(A相正弦波和B相余弦波矢量疊加),以改變合成磁場的夾角,通過電流矢量合成的方式來控制步進電機運轉(zhuǎn)。
硬件設計和軟件編程
根據(jù)細分原理可知,對于兩相步進電機,需要同時控制兩組線圈的電壓大小和方向才能達到合成電流矢量控制的目的,控制線圈的電流大小有兩種方案:其一是通過單片機寫入數(shù)字量,由數(shù)模轉(zhuǎn)換器件輸出模擬電壓,控制線圈電流大小;其二是通過某些單片機自帶的PWM引腳輸出占空比可控的方波,用其交流有效值控制線圈電流大小。很顯然,按照正弦規(guī)律變化的占空比決定了線圈電流大小也按照相同的正弦規(guī)律變化。線圈的電壓施加方向可以通過邏輯門電路來實現(xiàn)。
綜上,選用具有兩路16位精度PWM功能的ATMEGA48單片機,外圍硬件電路設計如圖2。
使用該單片機具有PWM功能的PB1和PB2連接PWM_A和PWM_B,使用兩個普通引腳連接DIR_A和DIR_B即可實現(xiàn)對電機的控制。原理說明如下:電機的A、/A、B、/B分別對應四輸入與門電路的3、6、8、11引腳。在DIR_A和DIR_B為低電平時,門電路的1、9引腳為0狀態(tài),三極管Q3、Q4截止,門電路的4、12引腳由于上拉處于1狀態(tài),這樣,與門電路的3、8輸出為0,即A、B為0;此時與門電路的6、11輸出與PWM_A和PWM_B保持一致,即/A、/B由PWM_A和PWM_B決定。在其他狀態(tài)下,也具有同類特點:A和/A之間、B和/B之間的通電極性由DIR_A和DIR_B決定;A和/A之間、B和/B之間的電流大小由PWM_A和PWM_B的占空比決定。而且只要三極管Q3、Q4工作正常,與門電路就不會出現(xiàn)邏輯混亂的情況。
配合硬件的設計,軟件上編寫了一個由64個數(shù)據(jù)組成的數(shù)組,分別對應了0~90o正弦波幅度變化的8位數(shù)字量化值(以階梯波的方式模擬了64點正弦波抽樣),每個值用來控制輸出波形占空比,實際上參與了電流矢量夾角轉(zhuǎn)動90o過程中其電流大小的計算。眾所周知,正弦、余弦波相位相差90o,在已知0~90o正弦波幅度變化表后,同樣可以得出90o~180o、180o~270o、270o~360o(0o)的正弦波、余弦波幅度變化表,所以通過0~90o正弦波幅度變化的8位數(shù)字量化表的演化,就可以在兩相八拍(二細分)的基礎(chǔ)上把電流矢量夾角分成四個象限,配合極性的控制,在每個象限中把A或/A的正弦波和B或/B的余弦波作8種組合,在每種組合中完成電流大小的變化,最終作到兩相64拍(16細分)的控制。而且,最巧妙的一點就在于:通過選擇64個數(shù)據(jù)對應每90o范圍的正弦波的64個點,就可以用一個字節(jié)的大小來作為區(qū)分4個象限的標志,便于對正、余弦的角度進行演化,即0~63對應0~90o,64~127對應90o~180o,128~191對應180o~270o,192~255對應270o~360o。
兩相64拍A、B、/A、/B的驅(qū)動狀態(tài)表如表3(以B為起始狀態(tài))。
由于儀表指針從當前角指向目標角時,變化量會有不同。為保證指針響應靈敏、無抖動,必須在正、反轉(zhuǎn)時考慮加、減速控制。程序中,可以根據(jù)變化量的大小和正負設定幾個控制區(qū)間,分別寫入不同的延時參數(shù),根據(jù)此延時參數(shù)來控制電流大小、方向(改變PWM_A和PWM_B、DIR_A和DIR_B)變化時間,就達到了加、減速的控制的目的。
結(jié)語
通過雙PWM方式控制兩相步進電機,既達到了高精度細分的目的,又在硬件成本上得到了優(yōu)化。在現(xiàn)有電路的后級增加功率驅(qū)動電路并作程序的少量修改,就可以做成高精度、多細分步進電機驅(qū)動器。