南陽防爆集團股份有限公司 劉平順
中國礦業(yè)大學(xué)信息與電氣工程學(xué)院 喬鳳杰
智能步進電機控制器設(shè)計
南陽防爆集團股份有限公司 劉平順
中國礦業(yè)大學(xué)信息與電氣工程學(xué)院 喬鳳杰
本設(shè)計是根據(jù)現(xiàn)實生活中常用的步進電機和常用功能設(shè)計的驅(qū)動器,設(shè)計的主要目的是解決步進電機驅(qū)動器功能單一和生產(chǎn)成本的問題。設(shè)計中采用AT89S52單片機芯片作為核心控制模塊,驅(qū)動芯片采用帶細分功能的TB6560AHQ芯片,最多可達16細分,且自帶正弦波電流驅(qū)動,存儲芯片采用24C04。最終系統(tǒng)可以實現(xiàn)多模式選擇,圈數(shù)、速度設(shè)定和存儲,低速自動細分,各種數(shù)據(jù)的液晶顯示,過熱和掉電保護等功能。
步進電機;細分驅(qū)動;多模式;數(shù)據(jù)存儲
步進電機驅(qū)動器是步進電機控制系統(tǒng)的核心,步進電機能否更好的應(yīng)用,很大程度上取決于步進電機驅(qū)動器的水平。伴隨著步進電機的產(chǎn)生,步進電機驅(qū)動器就一直在不斷發(fā)展和進步,目前國內(nèi)外步進電機驅(qū)動器種類很多,但是大部分功能比較單一,很多是針對固定的步進電機或者固定的應(yīng)用領(lǐng)域,而且價格一般較高,很多不帶細分功能,很難滿足現(xiàn)實生活中需要靈活應(yīng)用且成本較低的場合。
本設(shè)計的目的就是解決現(xiàn)實生活中需要靈活應(yīng)用和低成本的問題,并且是使用應(yīng)用最廣泛的混合式步進電機而制作的步進電機控制器,步進電機采用三洋公司的2-4相兩用混和式步進電機。系統(tǒng)可以實現(xiàn)正反轉(zhuǎn)控制,多模式選擇,圈數(shù)、速度設(shè)定和存儲,速度調(diào)節(jié)范圍寬,低速自動細分,輸出轉(zhuǎn)矩大且可調(diào),各種數(shù)據(jù)的液晶顯示,過熱和掉電保護等功能。
方案1:細分完全靠軟件實現(xiàn),驅(qū)動電路采用三極管和A/D轉(zhuǎn)換芯片;脈沖用單片機的定時器產(chǎn)生;顯示采用數(shù)碼管;存儲采用單片機內(nèi)部的特殊存儲單元。這種方法側(cè)重于軟件設(shè)計,當脈沖太快時,定時器中斷就會和細分程序產(chǎn)生沖突,造成程序的混亂;存儲的數(shù)據(jù)容易丟失;顯示內(nèi)容比較單一;控制的實時性不易保證,調(diào)試也比較煩瑣,可靠性較低;而且效率較低,大部分能量消耗在三極管得發(fā)熱上。
方案2:驅(qū)動電路采用東芝公司最新推出的步進電機驅(qū)動芯片TB6560AHQ,它內(nèi)部集成雙全橋MOSFET驅(qū)動;最高耐壓40V,單相輸出最大電流3.5A(峰值);具有整步、1/2、1/8、1/16細分方式;內(nèi)置溫度保護芯片,溫度大于150℃時自動斷開所有輸出;具有過流保護;配合單片機可以實現(xiàn)自動細分、電流和力矩自動控制、過流和溫度過高自動保護等功能。掉電存儲電路采用Atmel公司的AT24C04(EEPROM);顯示電路采用1602液晶顯示模塊;輸入設(shè)備采用4*4矩陣鍵盤。
用分立元件做的驅(qū)動電路比較復(fù)雜,調(diào)試繁瑣,如果設(shè)計的電路稍有瑕疵,就會造成故障率急劇上升,效率較低,很大一部分能量浪費在驅(qū)動電路上,而且很難實現(xiàn)細分和正弦波電流驅(qū)動。集成芯片驅(qū)動方式具有外圍電路簡單,調(diào)試容易,穩(wěn)定性高,效率高,體積小,功能齊全等優(yōu)點,能做到自動細分和正弦波電流驅(qū)動,但是功率一般不能做的很大。
當速度增大時單片機定時器中斷較快,因此細分不能全部用軟件實現(xiàn),若使用三極管和A/D轉(zhuǎn)換芯片時必須大量依靠軟件實現(xiàn)細分;圈數(shù)和速度必須牢靠的存儲起來,方便應(yīng)用,因此必須使用專業(yè)的掉電存儲芯片;使用中必須實時顯示速度和圈數(shù),因此應(yīng)該選用能顯示多個數(shù)據(jù)的1602液晶顯示模塊;使用中對穩(wěn)定性和實用性有很高的要求,使用集成芯片外圍電路簡單、功能強大,可以把單片機大量的資源用在其他地方,不僅增加了系統(tǒng)的整體穩(wěn)定性和實用性,而且還能增加許多其他功能,使系統(tǒng)的實用性更強。
表1 力矩控制選擇模式
表2 電流衰減控制
圖1 總體設(shè)計框圖
所以綜合以上情況考慮,選用方案2來設(shè)計步進電機智能控制器??傮w設(shè)計框圖如圖1。
3.1.1 TB6560AHQ簡介
TB6560AHQ是東芝公司最新推出的步進電機驅(qū)動芯片,通過采用BICD工藝將低電阻與高許可損耗封裝相結(jié)合,使其與其它同類產(chǎn)品相比能夠極大減少熱量的產(chǎn)生,還能支持使用時鐘輸入控制的無微控制器應(yīng)用環(huán)境下的微步驅(qū)動。自動產(chǎn)生純正的正弦波控制電流,與其它高集成度步進電機控制芯片相比,在相同高轉(zhuǎn)速下力矩不但不會下降,反而有所增加;支持各種步進電機選型。
圖2 TB6560AHQ驅(qū)動電路
圖3 細分函數(shù)流程圖
TB6560AHQ的主要特點有:
●內(nèi)部集成雙全橋MOSFET驅(qū)動;
●最高耐壓40V,單相輸出最大電流3.5A(峰值);
●具有整步、1/2、1/8、1/16細分方式;
●內(nèi)置溫度保護芯片,溫度大于150℃時自動斷開所有輸出;
●具有過流保護。
3.1.2 硬件電路的設(shè)計及驅(qū)動原理
驅(qū)動芯片硬件電路如圖2。
圖4 掉電存儲電路
圖5 液晶顯示電路
圖6 矩陣鍵盤
工作原理如下:M1(22)和M2(23)引腳通過單片機的程序控制細分,共有2、8、16三種細分模式,CW/CCW(21)引腳控制電機的正反轉(zhuǎn),當需要正轉(zhuǎn)時單片機P1.2輸出高電平,需要反轉(zhuǎn)時輸出低電平;PROTECT(19)引腳是芯片的保護輸出端,當芯片正常工作時由于上拉電阻的作用,單片機P1.3口采集到高電平,當芯片過熱保護時,把單片機P1.3口拉低,此時可令程序斷開所有輸出,從而保護芯片;MO(17)引腳是芯片初始化引腳,芯片初始化結(jié)束后會輸出低電平,通過這個引腳單片機可以查詢芯片初始化是否結(jié)束。
TQ2(1)和TQ1(2)控制驅(qū)動芯片的輸出電流,通過這兩個端的選擇可以選擇不同的工作電流,具體選擇模式如表1??梢酝ㄟ^J1和J2跳線選擇最大電流的100%、75%、50%和25%。改變電機的驅(qū)動電流也就改變了電機力矩的大小。
DCY2(24)和DCY1(25)是電流衰減模式控制端,通過這兩個端的選擇可以選擇不同的衰減模式,具體模式如表2??梢酝ㄟ^J3和J4跳線選擇0、25%、50%和100%四種衰減模式。
圖7 主程序流程圖
圖8 加速曲線流程圖
由于電機本身狀況、供電電源狀況及脈沖頻率等其他因素的影響,步進電機可能會產(chǎn)生高頻噪聲,通過選擇不同的電流衰減模式可以很好的降低甚至消除這種噪聲。
OSC(7)引腳是斬波頻率控制端,所接電容的大小可以控制斬波頻率的大小。當所驅(qū)動的步進電機固定后,電容值也隨之確定。
當單片機上電后,在初始化程序中對芯片進行復(fù)位(把RESET(5)拉低,然后再置高電平),當檢測到M0(17)出現(xiàn)低電平時,表示芯片已經(jīng)初始化。然后根據(jù)按鍵輸入或者24C04存儲的信息輸出脈沖,芯片在脈沖的作用下產(chǎn)生正弦波驅(qū)動電流,驅(qū)動步進電機運轉(zhuǎn)。在芯片運行期間,保持ENABLE(4)引腳為高電平;當按下停止鍵或者PROTECT(19)引腳出現(xiàn)低電平時,保持ENABLE(4)引腳為低電平,斷開所有輸出。
3.1.3 軟件程序流程
驅(qū)動芯片的控制程序采用C語言進行程序設(shè)計,便于主程序的調(diào)用,程序流程如下:
⑴初始化TB6560AHQ;
⑵根據(jù)速度的大小定義芯片細分管腳;
⑶發(fā)送脈沖和正反轉(zhuǎn)信號;
⑷監(jiān)控芯片保護端,當溫度過高時自動斷開所有輸出。
驅(qū)動芯片的細分程序流程圖如圖3所示。
驅(qū)動芯片TB6560AHQ自帶2、8、16三種細分模式,單片機通過M1(22)和M2(23)兩個引腳可以實現(xiàn)對細分的控制。在程序設(shè)計中定義了一個細分標志位t2,當執(zhí)行完上述程序后t2會自動的被覆上細分值,在圈數(shù)程序處理單元,把t2自動的乘上,因此就能實現(xiàn)在細分情況下,速度和圈數(shù)的準確對應(yīng)。
3.2.1 硬件電路設(shè)計
掉電存儲模塊采用ATMEL公司生產(chǎn)的AT24C04芯片,它的容量是512字節(jié)×8位,既4k位,對于本系統(tǒng)來說已經(jīng)足夠了。電路的連接如圖4所示。
電路中的SDA接單片機的P3.0口,SCL接單片機的P3.1口,由單片機模擬I2C的工作與存儲芯片進行通信;上拉電阻如4圖所示,選用5.1k的普通電阻。
3.2.2 軟件程序設(shè)計
3.3.1 硬件電路的選擇與設(shè)計
顯示電路使用RT1602C顯示模塊,其接線圖如圖5。
3.3.2 顯示設(shè)置
本設(shè)計中,0—04h顯示"MODE";06h—0Bh顯示"SPEED:";0Ch—0Eh顯示三位速度值;然后第二行和第一行對應(yīng)顯示模式、圈數(shù)。
設(shè)計中采用P2口作為數(shù)據(jù)口;采用P3.5、P3.6、P3.7三個接口作為控制接口,通過設(shè)置電平高低控制1602的工作狀態(tài)。
3.4.1 硬件電路中晶振選擇
單片機的外圍電路選擇:因為步進電機運行時的速度靠定時器的定時中斷產(chǎn)生,因此中斷頻率要求高一些,所以晶振選用24MHZ。電容選用30PF的瓷片電容。
3.4.2 定時器初值計算
根據(jù)所用步進電機(三洋公司的2-4相兩用混和式步進電機)的資料進行分析和現(xiàn)場試驗得出:當用四相四拍方式運行時,每個脈沖周期走過1.8°,也就是200個脈沖周期走一圈;當用兩相兩拍(本設(shè)計所選驅(qū)動芯片驅(qū)動方式)時,每個脈沖周期走過0.9°,也就是400個脈沖周期走一圈。當使用細分驅(qū)動時,脈沖數(shù)還要乘上細分數(shù)。
因此可以得出公式如下:
式中:S—速度,單位:圈數(shù)/分;M—定時器每分鐘產(chǎn)生的脈沖數(shù);N—細分數(shù),有2、8、16三種。
脈沖的周期:
式中:P—脈沖的周期,單位:毫秒;定時器定時時間:T=P/2。
根據(jù)公式(1)和公式(2)可以得出:
根據(jù)定時器計算公式:
式中:T0—定時器初值;振蕩周期—1/24MHZ。
根據(jù)公式(3)和公式(4)可以得出:
當S=100轉(zhuǎn)/分,T=2.5ms;當S=200轉(zhuǎn)/分,T=1.5ms。
根據(jù)定時器計算軟件,根據(jù)T可以得出對應(yīng)的定時器T0初值。因此把T0初值和S帶入公式(4),并經(jīng)過修正,可以得出:
這樣就可以根據(jù)速度自動求出定時器初值:
3.4.3 圈數(shù)計算
由3.4.2的介紹可以得出每400個脈沖周期走一圈。當使用細分驅(qū)動時,脈沖數(shù)還要乘上細分數(shù)。可以在程序中設(shè)置一個標志位,標志位初值為0,每產(chǎn)生一個定時器中斷,標志位就自動加1,當標志位的值和400*N(N:細分數(shù))的值相等時,就表示走過了一圈,此時圈數(shù)自動減1或者加1,標志位自動清零。
使用4*4矩陣鍵盤作為輸入設(shè)備,[4]硬件電路如圖6,可以很方便的輸入各種數(shù)據(jù)和執(zhí)行各種操作,方便用戶使用。
其中數(shù)字鍵10個,用來輸入圈數(shù)和速度值、模式選擇鍵1個,用來選擇模式(共有2種模式:模式1和模式2。模式1能進行存儲;模式2不能存儲)、正轉(zhuǎn)鍵1個,按下后電機正轉(zhuǎn)、反轉(zhuǎn)鍵1個,按下后電機反轉(zhuǎn)、停止鍵1個,按下電機停止轉(zhuǎn)動、確定鍵1個,用來把輸入的圈數(shù)和速度值寫進程序的相應(yīng)位置、調(diào)整鍵1個,按下后進行速度和圈數(shù)的設(shè)定。
由于按鍵較多且各自都具有自己獨立的功能,在聯(lián)合調(diào)試時經(jīng)常出現(xiàn)按鍵混亂的現(xiàn)象,因此解決的辦法是在程序中增加按鍵判斷標志位,當進行設(shè)置速度、圈數(shù)時用對應(yīng)標志位屏蔽正、反轉(zhuǎn)按鍵,當電機運行時用標志位屏蔽設(shè)置按鍵的操作。
主程序模塊中包含了系統(tǒng)初始化、速度和圈數(shù)采集、定時器初值計算、按鍵的判斷、驅(qū)動芯片控制、以及各個模塊的調(diào)用等。其中定時器用的是單片機16位的定時器3。主程序流程圖如圖7所示。
步進電機細分技術(shù)是步進電機控制器的重要性能指標,細分可以有效降低步進電機運行時的震動和噪音,特別是低速狀態(tài)下。
但是,當電機需要高速運轉(zhuǎn)時,過多的細分會限制速度的提高,而且,在電機高速運轉(zhuǎn)的時候細分的效果已經(jīng)不太明顯,因此,什么狀態(tài)下細分、細分數(shù)的多少是細分驅(qū)動技術(shù)的關(guān)鍵點。本設(shè)計通過軟、硬件聯(lián)合實現(xiàn)細分驅(qū)設(shè)置細分數(shù)。因此可以達到很好的驅(qū)動效果。以八細分為例,通過細分可以很明顯觀察到細分后電流變化的效果,本來每個脈沖對應(yīng)的是一個方波的輸出,現(xiàn)在經(jīng)過8細分后每個脈沖只能達到原來的1/8,這樣電機的步進角就變?yōu)樵瓉淼?/8,而且根據(jù)速度的大小程序會自動的精度就提高為原來的8倍。這樣就很好的解決了電機在低速時的震動和精度問題。本設(shè)計采用軟硬件聯(lián)合實現(xiàn)細分實現(xiàn)容易、可靠性高,具有很好的應(yīng)用價值。
傳統(tǒng)的控制器由于種種原因大部分采用方波驅(qū)動,方波驅(qū)動實現(xiàn)容易。但是噪音和振動很大,而且不可能使轉(zhuǎn)速做的很高,輸出力矩也較小。正弦波驅(qū)動可以顯著提高步進電機的運行性能,可以增加電機的轉(zhuǎn)矩,可以提高空載轉(zhuǎn)速,可以降低電機運行時的震動和噪音,因此是新型控制器的首選方案。
步進電機在啟動的時候很重要的一個性能指標就是空載啟動頻率,在現(xiàn)實應(yīng)用中,特別是需要高速運動的場合,直接啟動頻率更是決定了步進電機控制器的應(yīng)用領(lǐng)域。提高電機啟動頻率的方法基本上有兩種:使用更好電流驅(qū)動波形和做一個加速曲線。本設(shè)計所用的電機在使用方波電流驅(qū)動和沒有加速曲線的情況下直接啟動的速度最高為200轉(zhuǎn)/分。本設(shè)計采用TB6560AQH驅(qū)動芯片,它內(nèi)部自帶正弦波電流驅(qū)動波形,能很好的提高步進電機的啟動頻率,但是經(jīng)過多次的實驗得出也只能提高到300轉(zhuǎn)/分左右,還是差強人意。
最終使用階躍式加速,速度一階一階遞進式加速,這種方法易于實現(xiàn),占用單片機資源較少,但是用這種方法時如果階躍得速度過大,電機會出現(xiàn)震動和噪聲。
但是為了不使電機出現(xiàn)震動和噪音,本設(shè)計在單片機資源允許的前提下使速度階躍盡可能的小。具體的做法是:單片機上電工作后首先對速度進行比較,以200轉(zhuǎn)/分為基準,如果速度小于200轉(zhuǎn)/分則完全可以直接啟動,不需要加速曲線;當速度高于200轉(zhuǎn)/分時,首先把速度差求出來,讓定時器首先以200轉(zhuǎn)/分的速度產(chǎn)生脈沖,在定時器中斷函數(shù)中根據(jù)速度差把速速逐漸提高,直到速度差為零。具體的流程圖如圖8。
⑴運行速度精度:可以使速度精度達到96%以上(速度精度=實際速度/設(shè)定速度*100%)。
⑵最大空載起動頻率:可達到的最大空載啟動頻率為1.5KHZ。
⑶最大空載的運行頻率:最大空載運行頻率3KHZ。
⑷運行矩頻特性:本設(shè)計由于沒有專業(yè)的轉(zhuǎn)矩測試儀器,因此無法給出準確的轉(zhuǎn)矩數(shù)值,轉(zhuǎn)矩變化時的頻率為800HZ。
步進電機是一種通過電脈沖信號控制相繞組電流實現(xiàn)定角轉(zhuǎn)動的機電元件,與其他類型電機相比具有易于開環(huán)精確控制、無積累誤差等優(yōu)點,在眾多領(lǐng)域中獲得了廣泛的應(yīng)用。國內(nèi)研究步進電機驅(qū)動器的科研單位和公司很多,但是功能大多單一化,很多都是只能驅(qū)動固定用途的步進電機,且多不帶細分,價格較貴。很難滿足社會生活中需要靈活運用、低成本且功能要求較全的場合。
本設(shè)計是根據(jù)現(xiàn)實生活中常用的步進電機和常用功能設(shè)計的驅(qū)動器,設(shè)計的主要目的是解決步進電機驅(qū)動器功能單一和生產(chǎn)成本的問題。
[1]杜坤梅等.電機控制技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2002年2月
[2]徐大誠等.微型計算機控制技術(shù)及應(yīng)用[M].北京:高等教育出版社,2003年5月
[3]沙占友等.單片機外圍電路設(shè)計[M].北京:電子工業(yè)出版社,2006年6月
[4]余永全等.單片機應(yīng)用系統(tǒng)的功率接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004年9月
[5]葛寶明等.先進控制理論及其應(yīng)用[M].北京:機械工業(yè)出版社,2007年6月
喬鳳杰(1986—),男,河南安陽人,現(xiàn)就讀與中國礦業(yè)大學(xué)信息與電氣工程學(xué)院。