熊超美
(湖北地質(zhì)勘查裝備中心,湖北武漢 430034)
步進(jìn)電機(jī)的單片機(jī)控制硬件系統(tǒng)設(shè)計(jì)
熊超美
(湖北地質(zhì)勘查裝備中心,湖北武漢 430034)
文章以28BY J-48步進(jìn)電機(jī)為例,以STC89C52單片機(jī)為控制核心,以串行通訊接口為程序下載通道,以protel99SE為電路設(shè)計(jì)平臺(tái),對(duì)步進(jìn)電機(jī)及其控制方法進(jìn)行了論述,設(shè)計(jì)了硬件接口。該設(shè)計(jì)具有通用性,對(duì)于不同步進(jìn)電機(jī),可以通過(guò)修改相應(yīng)的電路及相關(guān)程序?qū)崿F(xiàn),提高了系統(tǒng)控制的靈活性。此種方法高效、方便、成本低廉,在實(shí)際應(yīng)用中有著很高的利用價(jià)值。
步進(jìn)電機(jī);STC單片機(jī);控制系統(tǒng)
為了提高步進(jìn)電機(jī)硬件系統(tǒng)控制的靈活性,以28BY J-48步進(jìn)電機(jī)為例,以STC89C52單片機(jī)為控制核心,以串行通訊接口為程序下載通道,以Protel99SE為電路設(shè)計(jì)平臺(tái)設(shè)計(jì)的硬件接口,對(duì)于不同步進(jìn)電機(jī),可以修改相應(yīng)的電路及相關(guān)程序?qū)崿F(xiàn),在實(shí)際應(yīng)用中有極高的利用價(jià)值。
步進(jìn)電機(jī)的單片機(jī)控制系統(tǒng)硬件原理圖如圖1所示。
圖1 系統(tǒng)控制硬件結(jié)構(gòu)示意圖
用內(nèi)部含F(xiàn)lash存儲(chǔ)器的單片機(jī)STC89C52RC[1]作為核心部件,并配以晶振電路,復(fù)位電路,通過(guò)擴(kuò)展外圍設(shè)備及接口電路完成整個(gè)系統(tǒng)對(duì)步進(jìn)電機(jī)的控制。本系統(tǒng)環(huán)形分配功能由單片機(jī)系統(tǒng)實(shí)現(xiàn),采用軟件編程的辦法實(shí)現(xiàn)脈沖分配。
本系統(tǒng)中所使用的串行通訊芯片為MAX232[2]。RS232-C是標(biāo)準(zhǔn)的串行通訊的協(xié)議,也就是說(shuō)它是用于相關(guān)設(shè)備進(jìn)行串行通訊所使用的標(biāo)準(zhǔn)。
2.1 串行通訊接口的優(yōu)點(diǎn)
所謂串口類似于一條車道,而并口就是有8個(gè)車道同一時(shí)刻能傳送8位(一個(gè)字節(jié))數(shù)據(jù)。由于8位通道之間的互相干擾,傳輸時(shí)速度就受到了限制,所以并不比串口快。而且當(dāng)傳輸出錯(cuò)時(shí),要同時(shí)重新傳8個(gè)位的數(shù)據(jù)。串口沒(méi)有干擾,傳輸出錯(cuò)后重發(fā)一位就可以了,因而傳輸速度要比并口快。所以,它通常是用來(lái)作為跟PC機(jī)和單片機(jī)進(jìn)行通訊的首要選擇。本文也正是利用了它的這一特點(diǎn)。
2.2 串口的硬件連接圖
串口的硬件連接圖如圖2所示。
圖2中最左邊的D形9針接口是與上位機(jī)的接口,MAX232CPE是電平轉(zhuǎn)換芯片,實(shí)現(xiàn)單片機(jī)與上位機(jī)的串行通訊過(guò)程中的電平轉(zhuǎn)換,即將RS232對(duì)地對(duì)稱的12 V邏輯電平轉(zhuǎn)換成5 V的 TTL電平。接線圖中,除一些必要的電源和電容的連接外,其10口T1IN與單片機(jī)的TXD端相接,9口R2OUT端與單片機(jī)的RXD端相接,實(shí)現(xiàn)單片機(jī)與上位機(jī)的通訊,用來(lái)向單片機(jī)中燒寫程序。
3.1 單片機(jī)最小應(yīng)用系統(tǒng)的電路
單片機(jī)最小應(yīng)用系統(tǒng)的電路如圖3所示。
圖2 串口的硬件連接圖
圖3 單片機(jī)最小應(yīng)用系統(tǒng)
3.1.1 時(shí)鐘電路[3]
STC89C52RC雖然有內(nèi)部振蕩電路,但要形成時(shí)鐘,必須外部附加電路。80C51單片機(jī)的時(shí)鐘產(chǎn)生方法有兩種:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。
本文采用內(nèi)部時(shí)鐘方式,利用芯片內(nèi)部的振蕩電路,在XTAL1、XTAL2引腳上外接定時(shí)元件,內(nèi)部的振蕩電路便產(chǎn)生自激振蕩。本設(shè)計(jì)采用最常用的內(nèi)部時(shí)鐘方式,即用外接晶體和電容組成的并聯(lián)諧振回路。振蕩晶體可在1.2 MHz到12 MHz之間選擇。電容值無(wú)嚴(yán)格要求,但電容取值對(duì)振蕩頻率輸出的穩(wěn)定性、大小、振蕩電路起振速度有少許影響,CX1、CX2可在20 pF到100 pF之間取值,在本設(shè)計(jì)中,振蕩晶體選擇11.059 2 MHz,電容選擇30 pF。
在制作電路板時(shí),晶體和電容應(yīng)盡可能靠近單片機(jī)芯片安裝,以減少寄生電容,更好地保證振蕩器穩(wěn)定和可靠地工作。為了提高溫度穩(wěn)定性,應(yīng)采用NPO電容。
3.1.2 復(fù)位電路[3]
STC89C52RC的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。復(fù)位引腳RST通過(guò)一個(gè)斯密特觸發(fā)器用來(lái)抑制噪聲,在每個(gè)機(jī)器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。
復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。
最簡(jiǎn)單的上電自動(dòng)復(fù)位電路中上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過(guò)1 ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。時(shí)鐘頻率用12 MHz時(shí)C取22μF,R取1 kΩ。
除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。本設(shè)計(jì)就是用的按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過(guò)RST端經(jīng)電阻與電源Vcc接通而實(shí)現(xiàn)的。時(shí)鐘頻率選用12 MHz時(shí),C取22μF,R0取100Ω,R1取1 kΩ。
3.2 單片機(jī)的選擇
51系列的應(yīng)用目前來(lái)說(shuō)也是最為廣泛的,所以理所當(dāng)然地選擇了51系列。但同時(shí)考慮到后續(xù)過(guò)程中程序的燒寫問(wèn)題,選擇了能夠通過(guò)串口進(jìn)行程序燒寫的STC89C52RC,雖然對(duì)于本文應(yīng)用到的硬件資源來(lái)說(shuō),用這個(gè)單片機(jī)有點(diǎn)浪費(fèi),但考慮到主要矛盾是程序下載的更便宜解決方法,綜合考慮就選擇了用STC89C52RC作為控制芯片。
4.1 電機(jī)的接口定義
實(shí)際接線紅線接電源5 V;定義橙色線為A相,接P1.0口;黃色線為B相,接P1.0口;粉色線為C相,接P1.2口;藍(lán)色線為D相,接P1.3。
由所選電機(jī)作如下接線設(shè)定:P1.0接A相(橙色線),P1.1口接B相(黃色線),P1.2口接C相(粉色線),P1.3口接D相(藍(lán)色線),由于本設(shè)計(jì)中有一部分是用到兩個(gè)電機(jī)的,另一個(gè)電機(jī)接線定義如下: P1.4口接A相,P1.5口接B相,P1.6口接 C相, P1.7口接D相。
4.2 電機(jī)驅(qū)動(dòng)
對(duì)電機(jī)的驅(qū)動(dòng)實(shí)際上是功率的放大。因?yàn)闊o(wú)論是選擇硬件環(huán)還是軟件環(huán)分,其輸出的功率極小(只有幾毫安的電流),這樣就必須將其經(jīng)過(guò)功率放大器進(jìn)行放大,才能給繞組提供足夠的驅(qū)動(dòng)電流,而且步進(jìn)電機(jī)有幾相就需要幾組功率放大驅(qū)動(dòng)。步進(jìn)電機(jī)工作系統(tǒng)如圖4所示。
圖4 步進(jìn)電機(jī)的工作系統(tǒng)框圖
4.3 驅(qū)動(dòng)芯片的選擇
由于集成電路的飛速發(fā)展,現(xiàn)在無(wú)需自己搭建驅(qū)動(dòng)電路[13],可以很方便地直接選用驅(qū)動(dòng)芯片??紤]到通用性及性能,本設(shè)計(jì)選擇最較常用的驅(qū)動(dòng)芯片ULN2003作為電機(jī)驅(qū)動(dòng)。因?yàn)閁LN2003工作電壓高,工作電流大,灌電流可達(dá)500 mA,并且能夠在關(guān)態(tài)時(shí)承受50 V的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行,剛好能夠滿足步進(jìn)電機(jī)運(yùn)轉(zhuǎn)對(duì)高電流的需求。
4.4 步進(jìn)電機(jī)工作電路圖
步進(jìn)電機(jī)的工作電路圖如圖5所示。
整個(gè)系統(tǒng)起初擬定的是采用一個(gè)USB電源供電,實(shí)際使用電路時(shí)發(fā)現(xiàn)僅使用這個(gè)電源只能驅(qū)動(dòng)一個(gè)電機(jī)工作,其他部分均因?yàn)殡娏鞑蛔愣鵁o(wú)法工作,故又增加一個(gè)電源,對(duì)ULN2003和電機(jī)單獨(dú)采用9 V干電池供電,改進(jìn)之后發(fā)現(xiàn)各部分均能正常工作。唯一欠缺的是,單片機(jī)與驅(qū)動(dòng)芯片之間沒(méi)加光電隔離[4]以防干擾,不過(guò)這也是考慮本系統(tǒng)的被控制對(duì)象較單一(只有兩個(gè)電機(jī)和一個(gè)四門數(shù)碼管)的緣故。
4.5 速度顯示電路[5]
本設(shè)計(jì)中用兩片4位八段數(shù)碼管L G3641BH作顯示器,并具有雙重功能,在單個(gè)電機(jī)作加減速運(yùn)動(dòng)時(shí)動(dòng)態(tài)顯示[3]電機(jī)的各時(shí)間段的不同速度;在兩電機(jī)作直線插補(bǔ)運(yùn)動(dòng)時(shí)分兩位用十六進(jìn)制顯示各電機(jī)所走的步數(shù)。
由于單片機(jī)的輸出功率比較小需要使用驅(qū)動(dòng),選擇相對(duì)較為便宜的驅(qū)動(dòng)方法——三極管驅(qū)動(dòng)[2]LED位選線。
硬件電路圖如圖6所示。
圖6中,數(shù)碼管為共陽(yáng)極型的,采用PNP型的三極管作為驅(qū)動(dòng)。
該設(shè)計(jì)具有通用性,對(duì)于不同步進(jìn)電機(jī),可以通過(guò)修改相應(yīng)的電路及相關(guān)程序?qū)崿F(xiàn),提高系統(tǒng)控制的靈活性。該方法高效、方便、成本低廉,在實(shí)際應(yīng)用中有著很高的利用價(jià)值。結(jié)果表明,該步進(jìn)電機(jī)控制系統(tǒng)能實(shí)現(xiàn)預(yù)期的走步和兩軸協(xié)調(diào)運(yùn)行,達(dá)到了較好的控制效果。
圖5 步進(jìn)電機(jī)工作電路圖
圖6 顯示電路
[1] 徐進(jìn)強(qiáng).基于STC單片機(jī)的經(jīng)濟(jì)型步進(jìn)電機(jī)控制系統(tǒng)[J].現(xiàn)代電子技術(shù),2009,(14):197-199.
[2] 王海波,吳曉光,李沛,等.基于AT89S52單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)[J].萬(wàn)方數(shù)據(jù),2009,11:161-162.
[3] 余錫存,曹國(guó)華.單片機(jī)原理及接口技術(shù)[M].西安:西安電子科技大學(xué)出版社,2000.
[4] 劉興輝,畢國(guó)玲.步進(jìn)電機(jī)的單片機(jī)控制系統(tǒng)研制[J].遼寧大學(xué)學(xué)報(bào)自然科學(xué)版,2007,(4):319-321.
[5] 李正浩,姜寶鈞,鄧興成.51單片機(jī)在LED數(shù)碼管顯示中的應(yīng)用[J].實(shí)驗(yàn)科學(xué)與技術(shù),2006,12(增刊):95-98.
Single-chip Control Hardware System Design of Stepper Motor
XIONG Chao-mei
(Hubei Geological Prospecting Equipment Center,W uhan430034,China)
Taking the 28BY J-48 stepper motor as an example,the STC89C52 single-chip as the control core,the serial communication connection as the procedure downloading channel,by the protel99SE circuit design platform, the paper has carried on the elaboration to the stepper motor and its control method,and designed the hardware interface.The design has versatility,regarding different stepper motors,and it might realize to enhance the systems control flexibility through modifying the circuit and related procedures.This method is highly effective,convenient and cost is low,so it has the very high use value in the practical application.
stepper motor;stc single-chip;control system
TD68
A
1003-5540(2011)01-0061-04
熊超美(1958-),男,工程師,主要從事選礦設(shè)備電氣自動(dòng)化及電路設(shè)計(jì)工作。
2010-10-26