唐艷芳,李鐘慎
(華僑大學(xué)電機(jī)及自動(dòng)化學(xué)院,福建廈門 361021)
隨著微型計(jì)算機(jī)和數(shù)字控制技術(shù)的發(fā)展,應(yīng)用步進(jìn)電動(dòng)機(jī)作為數(shù)控系統(tǒng)執(zhí)行部件越來越受到關(guān)注。由于步進(jìn)電機(jī)低速運(yùn)行時(shí)的電機(jī)振動(dòng)幅度較大,傳統(tǒng)的改善方法為在步進(jìn)電機(jī)軸上加磁性阻尼器,但這種方式對(duì)機(jī)械結(jié)構(gòu)的改變較大。也可采用步距角更小的步進(jìn)電機(jī),如三相或五相步進(jìn)電機(jī),或采用帶有細(xì)分功能的驅(qū)動(dòng)器[1-2]。嵌入式系統(tǒng)是指以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適用于對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。嵌入式系統(tǒng)在硬件和軟件方面都出現(xiàn)了許多新的特點(diǎn)。依據(jù)細(xì)分原理,本文提出了采用STM8S903單片機(jī)為內(nèi)核芯片控制低速二相步進(jìn)電機(jī)的嵌入式系統(tǒng)。采用STM8S903單片機(jī)的嵌入式系統(tǒng)[3]相比其他系列單片機(jī)的控制系統(tǒng)更具優(yōu)勢(shì)[4-7],其優(yōu)點(diǎn)是系統(tǒng)內(nèi)核小、專用性強(qiáng)、精簡(jiǎn)、實(shí)時(shí)性高。
圖1為系統(tǒng)的結(jié)構(gòu)。STM8S903單片機(jī)控制驅(qū)動(dòng)器使其采用細(xì)分動(dòng)作驅(qū)動(dòng)步進(jìn)電機(jī),并利用反饋控制原理實(shí)時(shí)檢測(cè)步進(jìn)電機(jī)的轉(zhuǎn)速[8],若有過電流或短路情況立即送入控制器處理,從而保證步進(jìn)電機(jī)安全可靠地運(yùn)行。
圖1 系統(tǒng)結(jié)構(gòu)
步進(jìn)電機(jī)依靠單片機(jī)產(chǎn)生的脈沖來控制轉(zhuǎn)矩。由于單片機(jī)本身驅(qū)動(dòng)電流過小,驅(qū)動(dòng)電機(jī)繞組需要采用驅(qū)動(dòng)芯片進(jìn)行驅(qū)動(dòng)。
多源BCD(Bipolar,CMOS,DMOS)技術(shù)是集成單個(gè)或者多個(gè) DMOS場(chǎng)效應(yīng)晶體管,并混合MOS管/二極管的控制電路技術(shù)。L6203是一種采用多源BCD技術(shù)用于電機(jī)切換驅(qū)動(dòng)的整塊全橋芯片。通過使用這種技術(shù)使得芯片具備兼容所有TTL、COMS和μC的能力,并且可以消除外部MOS設(shè)備的驅(qū)動(dòng)問題。
兩相四線步進(jìn)電機(jī)采用2片L6203聯(lián)合驅(qū)動(dòng)步進(jìn)電機(jī)(如圖2所示)。L6203芯片中的BOOT1引腳外接自舉電容來確保第1級(jí)DMOS場(chǎng)效應(yīng)管有效,BOOT2引腳外接電容來確保第1級(jí)DMOS場(chǎng)效應(yīng)管有效。L6203芯片中的OUT1對(duì)應(yīng)第1個(gè)半橋的輸出口,OUT2對(duì)應(yīng)第2個(gè)半橋的輸出口。ENABLE引腳高電平有效,其功能是選擇IN1或者IN2接口。當(dāng)ENABLE為1時(shí),如果將PWM信號(hào)傳遞給IN1,則PWM信號(hào)反向后傳遞給IN2,這樣調(diào)整PWM即可改變步進(jìn)電機(jī)的轉(zhuǎn)速。最后,為防止電流過大或者短路造成對(duì)步進(jìn)電機(jī)運(yùn)行穩(wěn)定性的影響,采用8個(gè)二極管進(jìn)行續(xù)流保護(hù)。
圖2 驅(qū)動(dòng)電路
步進(jìn)電機(jī)連接檢測(cè)電路的主要作用是檢測(cè)驅(qū)動(dòng)電路側(cè)是否存在連接器脫落情況或連接器到步進(jìn)電機(jī)的配線有斷線或短路的情況。主要是利用LM358處理放大信號(hào)并送往單片機(jī)。
在步進(jìn)電機(jī)步距角不能滿足使用要求的條件下,可采用細(xì)分驅(qū)動(dòng)原理驅(qū)動(dòng)步進(jìn)電機(jī)。細(xì)分驅(qū)動(dòng)原理是通過改變相鄰(A,B)電流的大小來改變合成磁場(chǎng)的夾角以控制步進(jìn)電機(jī)的運(yùn)轉(zhuǎn)。
本實(shí)驗(yàn)采用二相步進(jìn)電機(jī),其額定相電流為2 A。如果使用普通驅(qū)動(dòng)器直接驅(qū)動(dòng)步進(jìn)電機(jī),電機(jī)每轉(zhuǎn)動(dòng)一步,其繞組內(nèi)的電流將從0突變?yōu)? A或從2 A突變到0。相電流的突然巨變必然會(huì)導(dǎo)致電機(jī)轉(zhuǎn)動(dòng)的振動(dòng)和噪音變大。如果使用細(xì)分驅(qū)動(dòng)器,在16細(xì)分的狀態(tài)下驅(qū)動(dòng)該電機(jī)時(shí),電機(jī)每轉(zhuǎn)動(dòng)一小步,其繞組內(nèi)的電流變化僅有0.125 A,且電流以正弦曲線規(guī)律變化,從而極大地改善了電機(jī)的振動(dòng)和噪音情況。表1的數(shù)據(jù)來源依據(jù)原理為:0~90°細(xì)分的PWM數(shù)據(jù)范圍為0~128,細(xì)分N=16,步進(jìn)電機(jī)走到第n步時(shí)轉(zhuǎn)過的角度為:
此時(shí)在坐標(biāo)系的位置為:
此算法按照逆時(shí)針表順序,以半周期進(jìn)行細(xì)分。由表1可知,步進(jìn)電機(jī)在運(yùn)行時(shí),避免了整步達(dá)到90°的跨度,微步使得電機(jī)運(yùn)行更平穩(wěn)。
表1 16細(xì)分實(shí)驗(yàn)數(shù)據(jù)
對(duì)于24 r/min的低速步進(jìn)電機(jī),在未細(xì)分時(shí)每分鐘輸出的PWM波為96個(gè),采用16細(xì)分時(shí)每分鐘輸出的PWM波為384個(gè)。未細(xì)分時(shí)與細(xì)分時(shí)實(shí)驗(yàn)需要產(chǎn)生的PWM波對(duì)比如圖3所示。
圖3 PWM波仿真對(duì)比
系統(tǒng)程序設(shè)計(jì)流程如圖4所示。系統(tǒng)程序主要分為4個(gè)模塊:故障檢測(cè)、PWM波程序、正轉(zhuǎn)、反轉(zhuǎn)。步進(jìn)電機(jī)穩(wěn)定運(yùn)行的前提是沒有發(fā)生故障,所以程序在每次初始化后從故障檢測(cè)模塊開始執(zhí)行,然后根據(jù)實(shí)際需求運(yùn)行正反轉(zhuǎn)程序。
圖4 程序設(shè)計(jì)流程
本文設(shè)計(jì)的低速步進(jìn)電機(jī)控制系統(tǒng)采用STM8S903單片機(jī),結(jié)合步進(jìn)電機(jī)驅(qū)動(dòng)芯片L6203和電流檢測(cè)電路來實(shí)時(shí)控制步進(jìn)電機(jī)。STM8S903輸出PWM波控制驅(qū)動(dòng)芯片控制步進(jìn)電機(jī),簡(jiǎn)化了硬件電路;STM8S903單片機(jī)的STLINK接口使得程序調(diào)試和軟件更新更加方便。試驗(yàn)結(jié)果表明:步進(jìn)電機(jī)經(jīng)過本文的細(xì)分驅(qū)動(dòng)控制后,其振動(dòng)明顯減弱,整個(gè)系統(tǒng)穩(wěn)定可靠,經(jīng)濟(jì)實(shí)用性較好。
[1]陳培民.步進(jìn)電機(jī)的高性能驅(qū)動(dòng)[J].華僑大學(xué)學(xué)報(bào):自然科學(xué)版,1998,19(4):347 -349.
[2]范正翹,劉進(jìn),程勝.單片機(jī)控制的步進(jìn)電動(dòng)機(jī)綜合微步驅(qū)動(dòng)系統(tǒng)[J].驅(qū)動(dòng)控制,1996(3):30-31.
[3]潘永雄.STM8S系列單片機(jī)原理與應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2011.
[4]董磊,王春民,尹晶,等.基于MSP430F169的步進(jìn)電機(jī)控制系統(tǒng)[J].吉林大學(xué)學(xué)報(bào):信息科學(xué)版,2011,29(6):549-553.
[5]高琴,劉淑聰,彭宏偉.步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)及應(yīng)用[J].制造業(yè)自動(dòng)化,2012,34(1):150 -152.
[6]張旭波.一種步進(jìn)電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)[J].甘肅科技,2011,27(20):41 -43.
[7]李文廣,湯清華,吳國(guó)安.基于AVR單片機(jī)和L6208的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)[J].電機(jī)與控制應(yīng)用,2011,38(1):43 -46.
[8]陳瑞.基于8089單片機(jī)控制的電動(dòng)機(jī)轉(zhuǎn)速實(shí)時(shí)檢測(cè)系統(tǒng)[J].儀器儀表裝置,2002(3):16-18.