夏繼強(qiáng) 鄔學(xué) 弈乙(北京航空航天大學(xué)100083)
郭永豐 劉晉春(哈爾濱工業(yè)大學(xué))
摘 要 設(shè)計(jì)了一種用于經(jīng)濟(jì)翌-數(shù)控的通用型 步進(jìn)電機(jī)微步驅(qū)動(dòng)系統(tǒng),該系統(tǒng)由一片8031單片機(jī)作為CPU,可以用于額定電流3A以下的三相、四相、五相反應(yīng)式步進(jìn)電動(dòng)機(jī)的微步驅(qū)動(dòng)。由于其靈活的軟硬件設(shè)計(jì),系統(tǒng)可以方便地用于脈沖驅(qū)動(dòng)、RS232接口、CTD總線接口等場(chǎng)合。文中著重介紹了系統(tǒng)的軟硬件設(shè)計(jì)。
敘 詞 步進(jìn)電動(dòng)機(jī)微步驅(qū)動(dòng)通用軟硬件設(shè)計(jì)
1 引 言
步進(jìn)電機(jī)是一種能將電脈沖信號(hào)轉(zhuǎn)換成角位移和線位移的執(zhí)行元件,由于其具有步距準(zhǔn)確、可開環(huán)控制、便于數(shù)字控制等優(yōu)點(diǎn),廣泛用在各種執(zhí)行機(jī)構(gòu)上,也是經(jīng)濟(jì)型數(shù)控機(jī)床中最常采用的執(zhí)行元件之一[1]。步進(jìn)電機(jī)的性能與其驅(qū)動(dòng)電路密切相關(guān),為了提高步進(jìn)電機(jī)的步進(jìn)分辨率,微步驅(qū)動(dòng)是十分有效的措施[z]。另外,采用步進(jìn)電機(jī)微步驅(qū)動(dòng),可以用機(jī)械直拖,省去了中間傳動(dòng)環(huán)節(jié),不僅使進(jìn)給精度得到保證,也使得進(jìn)給系統(tǒng)的頻率響應(yīng)大大提高。隨著數(shù)控技術(shù)的發(fā)展,微步驅(qū)動(dòng)技術(shù)不斷得到完善,出現(xiàn)了多種驅(qū)動(dòng)器。但是,目前國(guó)內(nèi)的微步驅(qū)動(dòng)器往往是針對(duì)某一種類步進(jìn)電機(jī)獨(dú)立設(shè)計(jì)的,通用性較差,國(guó)外的通用驅(qū)動(dòng)器價(jià)格又比較昂貴,而且對(duì)外接口單一,通常只有RS232接口[3]。因此,研制一種通用的驅(qū)動(dòng)系統(tǒng)很有必要。這種驅(qū)動(dòng)器應(yīng)具有以下幾個(gè)特征:驅(qū)動(dòng)電路性能良好,功耗低、效率高、體積;通用性好,驅(qū)動(dòng)器應(yīng)具有一定的智能控制功能,不需硬件改劫就能驅(qū)動(dòng)多種步進(jìn)電機(jī);接口多,除了能接收脈沖信號(hào)外,還應(yīng)有RS232等多種接口,以便和其它系統(tǒng)通訊,使其不但是一個(gè)獨(dú)立的驅(qū)動(dòng)器,而且是一個(gè)智能驅(qū)動(dòng)模塊。
本文利用脈寬調(diào)制電流控制技術(shù)和單片機(jī)技術(shù)設(shè)計(jì)了通用驅(qū)動(dòng)器,滿足了上述要求。文中對(duì)驅(qū)動(dòng)器的軟硬件設(shè)計(jì)作了詳細(xì)介紹。
2驅(qū)動(dòng)系統(tǒng)的硬件設(shè)計(jì)
整個(gè)硬件結(jié)構(gòu)如圖1所示,它包括控制通用型步進(jìn)電動(dòng)機(jī)微步驅(qū)動(dòng)系統(tǒng)電路、驅(qū)動(dòng)電路和接口電路三個(gè)部分,設(shè)計(jì)電路時(shí),嚴(yán)格按照STD模板尺寸設(shè)計(jì)。
控制電路主要由單片機(jī)最小系統(tǒng)、譯碼器、微動(dòng)開關(guān)、DlA轉(zhuǎn)換和環(huán)分電路組成。微動(dòng)開關(guān)與單片機(jī)8031的Pl口相連,用于不同場(chǎng)合的步進(jìn)電機(jī)相數(shù)設(shè)置、細(xì)分?jǐn)?shù)設(shè)置以及不同連接接口的設(shè)置。8031單片機(jī)系統(tǒng)是控制電路的核心,用于不同需要的軟件以子程序或中斷服務(wù)程序存儲(chǔ)于程序存儲(chǔ)器中。執(zhí)行步進(jìn)命令時(shí),單片機(jī)把電機(jī)電流對(duì)應(yīng)的數(shù)字量輸入到D/A轉(zhuǎn)換器的數(shù)據(jù)端口,D/A轉(zhuǎn)換器的模擬輸出量經(jīng)環(huán)分電路輸送給驅(qū)動(dòng)電路。DlA轉(zhuǎn)換器可根據(jù)轉(zhuǎn)換精度的需要選擇8位的DAC0832或12位的DAC12 30,只要改變相應(yīng)的軟件即可。
驅(qū)動(dòng)電路采用脈寬調(diào)制技術(shù)實(shí)現(xiàn)微步驅(qū)動(dòng)中各相平均電流的控制,脈寬調(diào)制由專用集成芯片TL494完成,簡(jiǎn)化了電路的設(shè)計(jì),而且電路的可靠性和抗干擾能力都大大提高。脈寬調(diào)制后的電流控制信號(hào)變成不同脈沖寬度同頻率的一系列脈沖串,這些脈沖串與功放電路的輸入相連,控制功放管的導(dǎo)通和關(guān)斷。在控制不同相屯流時(shí),功放管始終工作于開關(guān)狀態(tài),發(fā)熱少,省去了散熱裝置,減小了驅(qū)動(dòng)電路的體積,這是功放管工作于放大狀態(tài)時(shí)所不能做到的。最末一級(jí)功放管采用VMOS管,它是一種電壓型驅(qū)動(dòng)元件,對(duì)驅(qū)動(dòng)電流的要求很低,但是考慮到其柵源間的電容,在它的輸入級(jí)前又增加了一級(jí)推挽驅(qū)動(dòng),使驅(qū)動(dòng)脈沖的上升沿和下降沿都很陡,功放管的導(dǎo)通和關(guān)斷過渡時(shí)間更短,進(jìn)一步降低了功率損耗。對(duì)于不同額定電流的步進(jìn)電機(jī),反饋信號(hào)的放大倍數(shù)可以調(diào)整,實(shí)踐表明,所設(shè)計(jì)的驅(qū)動(dòng)電路對(duì)于額定電流小于3A以下的反應(yīng)式步進(jìn)電機(jī)都是適用的。
接口電路的多樣性使系統(tǒng)的適應(yīng)性更強(qiáng)。在系統(tǒng)設(shè)計(jì)中,除了用單片機(jī)的P3,3、P3.4作為系統(tǒng)的脈沖驅(qū)動(dòng)接口外,還應(yīng)用1488、1489擴(kuò)展了RS232接口,應(yīng)用兩片數(shù)據(jù)鎖存器擴(kuò)展了STD總線接口,這主要是出于系統(tǒng)用在多軸聯(lián)動(dòng)控制時(shí)的考慮。另外,硬件中還用555設(shè)計(jì)了脈沖發(fā)生器,使系統(tǒng)可以獨(dú)立地用于步進(jìn)電機(jī)不同速度下的轉(zhuǎn)動(dòng)。
3 系統(tǒng)的軟件設(shè)計(jì)
軟件設(shè)計(jì)是本系統(tǒng)適應(yīng)性強(qiáng)的關(guān)鍵。本設(shè)計(jì)的突出特點(diǎn)是用同一電路,不用改變硬件連線,只要設(shè)計(jì)不同的控制軟件,就可以方便靈活地實(shí)現(xiàn)多種控制方案,圖2是系統(tǒng)的軟件總體結(jié)構(gòu)簡(jiǎn)圖。
3.1針對(duì)不同相數(shù)步進(jìn)電機(jī)的設(shè)計(jì)
在設(shè)計(jì)中考慮了系統(tǒng)可以用于多種步進(jìn)電機(jī)的特點(diǎn),因此可以用于驅(qū)動(dòng)三相、四相、五相反應(yīng)式步進(jìn)電機(jī)。如果要求微步驅(qū)動(dòng)的步距角是均勻的,對(duì)于不同相數(shù)的步進(jìn)電機(jī),即使額定電流相同,驅(qū)動(dòng)電流的波形也是不一樣的。要實(shí)現(xiàn)一個(gè)驅(qū)動(dòng)器用于不同電流波形的驅(qū)動(dòng),對(duì)于硬件電路是很難實(shí)現(xiàn)的,而對(duì)于軟件就容易得多,只需將離散的不同電流波形存儲(chǔ)于程序存儲(chǔ)器的不同區(qū)域,8031的CPU使用時(shí)正確調(diào)用即可。另外,對(duì)于不同相數(shù)的步進(jìn)電機(jī),環(huán)行分配器也是不同的,這也靠軟件環(huán)分實(shí)現(xiàn),不同的環(huán)分表以表格數(shù)據(jù)存儲(chǔ)于程序存儲(chǔ)器中,在初始化時(shí)根據(jù)需要調(diào)入內(nèi)存,在程序中控制模擬開關(guān)的選通信號(hào)。如驅(qū)動(dòng)四相反應(yīng)式步進(jìn)電機(jī)時(shí),兩片D/A轉(zhuǎn)換器輸出波形如圖3所示,對(duì)應(yīng)的選通信號(hào)分別是001和010,oV模擬信號(hào)所對(duì)應(yīng)的選通信號(hào)為000,相應(yīng)的環(huán)形分配表就是表1的形式。電機(jī)繞組產(chǎn)生如圖4所示的微步驅(qū)動(dòng)電流波形。系統(tǒng)和外部的信息交換更加靈活多樣,尤其是STD總線接口,被定義地址后,外部可以通過不同的命令,控制系統(tǒng)的動(dòng)作。
3.2針對(duì)不同通訊方式的設(shè)計(jì)
在STD總線通訊方式時(shí);外部命令向本系統(tǒng)8031的CPU申請(qǐng)中斷,系統(tǒng)命令的執(zhí)行靠中斷服務(wù)程序完成。系統(tǒng)接到中斷申請(qǐng)后,先向外部發(fā)出響應(yīng)口令。然后,系統(tǒng)針對(duì)不同命令執(zhí)行相應(yīng)的操作,再向外部發(fā)出相應(yīng)口令。系統(tǒng)針對(duì)不同命令執(zhí)行相應(yīng)的操作,再向外部發(fā)出相應(yīng)口令,通知外部。圖5給出了與外界通訊的軟件框圖。系統(tǒng)的8031本身具有串行通訊的能力,與RS232的連按很簡(jiǎn)單,雖然串行通訊相對(duì)較慢,但系統(tǒng)用于多軸聯(lián)動(dòng)控制時(shí),與微機(jī)可采用這種方式通訊,軟件中命令的執(zhí)行與STD總線通訊方式相似。表1微步驅(qū)動(dòng)的環(huán)形分配表
3.3 可變微步距的設(shè)計(jì)步角
從硬件電路的介紹中可知,在使用前可以通過微動(dòng)開關(guān)設(shè)置不同的微步距。但在一些應(yīng)用場(chǎng)合,步距角實(shí)時(shí)可變是必要的。如在電火花加工伺服控制中,精密加工時(shí),進(jìn)給速度慢,放電間隙小,為了正確地跟蹤放電間隙、穩(wěn)定加工,要求進(jìn)給步距角。欢诳蛰d進(jìn)給或短路回退時(shí),步距角應(yīng)該較大,節(jié)省時(shí)間。由于系統(tǒng)有多種通訊方式,步距角的改變就簡(jiǎn)單了,只要定義改變步距角的命令即可。系統(tǒng)用DAC0832作DlA轉(zhuǎn)換器時(shí),考慮轉(zhuǎn)換誤差,可以40細(xì)分,變步距后可以增加20、10、8、5、4、2、1七種細(xì)分?jǐn)?shù)設(shè)置,如果細(xì)分?jǐn)?shù)更多或精度更高,可選用DAC1230代替DAC0832。
4結(jié)語
實(shí)踐表明,系統(tǒng)通用性強(qiáng)、可靠性好、安全性強(qiáng)。
|