基于單片機的新型步進電機運動控制器
1 引言
數(shù)控技術(shù)是一種采用計算機對機械加工過程中各種控制信息進行數(shù)字化運算處理,并通過高性能的驅(qū)動單元對機械執(zhí)行構(gòu)件進行自動化控制的高新技術(shù)?,F(xiàn)代機械加工業(yè)逐步向柔性化、集成化、智能化方向發(fā)展,因此新一代數(shù)控技術(shù)就必需強調(diào)具有開放式、智能化、網(wǎng)絡(luò)化的特征[1]。本文采用新型微處理器、高性能集成電路,研究開發(fā)智能步進電機控制卡。
2 系統(tǒng)總體結(jié)構(gòu)設(shè)計
通過對步進電機控制器關(guān)鍵技術(shù)進行分析、研究和比較,并綜合國內(nèi)外運動控制器產(chǎn)品智能化、集成化、開放化的發(fā)展趨勢,我們提出的步進電機運動控制器總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
3 系統(tǒng)硬件電路設(shè)計
3.1 脈沖分頻電路設(shè)計
本系統(tǒng)的主要控制對象為步進電機。步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu),因此產(chǎn)生符合系統(tǒng)要求的步進電機驅(qū)動脈沖為整個系統(tǒng)設(shè)計中的關(guān)鍵。本系統(tǒng)的脈沖分頻電路由圖2所示。整個電路采用3片8254來產(chǎn)生X,Y,Z三個軸的驅(qū)動脈沖信號,鑒于Y,Z軸的電路與X軸相同,因此圖中只表示了X軸脈沖數(shù)輸出的電路原理。
Inte18254是可編程定時/計數(shù)器,片內(nèi)包含3個獨立通道,每個通道均為功能相同的16位計數(shù)器,每個計數(shù)器的工作方式和計數(shù)長度分別由軟件編程選擇。8254是8253的改進型,操作方式及引腳與8253完全相同。8253計數(shù)頻率為2.6MHz,8254的計數(shù)頻率則更高,可達到6MHz。本系統(tǒng)選擇8254作為脈沖分頻電路的主控芯片。
圖2 脈沖分頻電路圖
3.2 RS-232通信接口電路設(shè)計
在單片機系統(tǒng)的通信中,RS-232和RS-485標(biāo)準(zhǔn)總線應(yīng)用最為成熟。為了使運動控制器的適用范圍更加廣泛,配合PC的現(xiàn)有接口,我們選用RS-232標(biāo)準(zhǔn)總線來實現(xiàn)控制器和PC的通信,其接口電路如圖3所示。在圖3中,選用MAX232作為系統(tǒng)的通信接口芯片。MAX232是MAXIM公司生產(chǎn)的低功耗、單電源雙RS-232發(fā)送/接收發(fā)器,適用于各種EIA-232E和V.28/V.24的通信接口。MAX232芯片可以把輸入的+5V電源變換成RS-232輸出電平所需的±10V電壓,所以采用此芯片接口的串行通信系統(tǒng)只要單一的+5V電源就可以。
圖3 通信接口電路
MAX232外圍需要4個電解電容C1,C2,C3,C4是內(nèi)部電源轉(zhuǎn)換所需電容,其取值均為0.1μF/25V。C44為0.1μF的去耦電容。MAX232的引腳T1IN,T2IN,R1OUT,R2OUT為接TTL/CMOS電平的引腳。
引腳T1OUT,T2OUT,R1IN,R2IN為接RS-232C電平的引腳。因此TTL/CMOS電平的T1IN,T2IN引腳應(yīng)接MCS-51的串行發(fā)送引腳TXD;R1OUT,R2OUT應(yīng)接MCS-51的串行接收引腳RxD。與之對應(yīng)的RS-232C電平的T1OUT,T2OUT應(yīng)接PC機的接收端RD;R1IN,R2IN應(yīng)接PC機的發(fā)送端。
3.3 D/A轉(zhuǎn)換與V/I轉(zhuǎn)換電路設(shè)計
本運動控制器需要對電主軸的轉(zhuǎn)速進行控制,對電主軸的控制通過其驅(qū)動器來實現(xiàn)。電主軸驅(qū)動器根據(jù)輸入的電壓或電流的大小來確定主軸的轉(zhuǎn)速,因此系統(tǒng)需要輸出0~5V的電壓或0~20mA的電流,必須將系統(tǒng)處理過的數(shù)字量經(jīng)D/A轉(zhuǎn)換變成模擬量輸出。本控制器的D/A轉(zhuǎn)換主要由DAC0832芯片實現(xiàn)。DAC0832是8位微處理器兼容型數(shù)/模轉(zhuǎn)換器芯片,是DAC0830系列的一種。DAC0832與微機接口方便,可以充分利用微處理器的控制能力實現(xiàn)對D/A轉(zhuǎn)換的控制,因此在實際中得到了廣泛的應(yīng)用。
不同的電主軸驅(qū)動器對輸入的信號有不同的要求,有的需要0~5V的電壓信號,有的需要0~20mV的電流信號,因此我們同樣設(shè)計了V/I轉(zhuǎn)換電路,使系統(tǒng)具備了電流信號的輸出,增強了系統(tǒng)的適應(yīng)性。
3.4 開關(guān)信號輸入電路設(shè)計
在步進電機運動過程中,常采用機械式開關(guān)和光電開關(guān)構(gòu)成開關(guān)信號輸入回路,通過開關(guān)的閉合或斷開,以電平的形式反映步進電機的工況。這包括X,Y,Z軸限位;加工過程中對刀,X,Y,Z軸電機的回零操作等等[2-3]。
由于開關(guān)的機械式設(shè)計,觸點閉合或斷開時伴有機械抖動,會使輸出信號波形出現(xiàn)振蕩。若將該信號輸入到微控制器的計數(shù)器中,會造成錯誤的計數(shù)而導(dǎo)致系統(tǒng)控制混亂。開關(guān)量的輸入干擾是系統(tǒng)設(shè)計中客觀存在的問題。因此在獲得開關(guān)信號后,我們必須對開關(guān)信號進行處理,使其成為單片機可以識別的數(shù)字信號后才能做出相應(yīng)的反應(yīng)。系統(tǒng)共提供了12路的開關(guān)信號接口,限位開關(guān)信號處理如圖4所示。
圖4 限位開關(guān)信號處理電路原理圖
在開關(guān)信號輸入CPU之前,首先用電容對其進行濾波,抑制信號中的高頻分量。TPL光耦隔離實現(xiàn)了光電開關(guān)、限位開關(guān)信號和控制器之間的電平轉(zhuǎn)換,并實現(xiàn)了兩個不同回路間的隔離,保證了控制器電路不受來自開關(guān)信號電路的干擾。
3.5 硬件抗干擾技術(shù)
為了克服可能發(fā)生的各種干擾,保證系統(tǒng)能夠可靠的運行,現(xiàn)有的抗干擾技術(shù)在硬件方面采取如下措施[4]:
?、僖种齐娫锤蓴_。傳導(dǎo)干擾通常由交流電源端引入系統(tǒng)內(nèi)部。為了抑制這種干擾,系統(tǒng)通常在交流進線端串接入低通LC濾波器。這種方法在實際中己經(jīng)取得明顯效果,但為了抑制電源浪涌電壓的沖擊,系統(tǒng)還必須在電源線之間及電源線對地之間分別裝壓敏電阻。
?、谝种苽鬏斁€干擾。對于系統(tǒng)中傳輸距離較長的線路通常選用屏蔽電纜來實現(xiàn)系統(tǒng)各部分的連接,以達到抗干擾的目的。在一些應(yīng)用環(huán)境比較惡劣的系統(tǒng)中,為了進一步抑制干擾,可采用光電隔離方式將系統(tǒng)控制部分與I/O口部分分開,并采用雙電源供電。
?、郾M量減小干擾造成的影響。通常的做法有:1)增加硬件看門狗電路。2)增加電壓監(jiān)測電路。3)選擇抗干擾能力較強的單片機系列。4)盡可能使用單片機的內(nèi)部程序存儲器和內(nèi)部數(shù)據(jù)存儲器而不使用外部總線連接這些器件。5)協(xié)調(diào)好電路中不同類型IC的電平匹配。6)數(shù)據(jù)總線和控制總線間形成板與板連接時,應(yīng)加總線驅(qū)動器。
4 系統(tǒng)軟件設(shè)計
系統(tǒng)的主程序由消息循環(huán)和初始化程序構(gòu)成,其流程如圖5所示。在系統(tǒng)的主程序中,初始化程序的功能是在系統(tǒng)復(fù)位后完成單片機各個特殊功能寄存器的設(shè)置、各數(shù)據(jù)區(qū)的初始化、外部硬件設(shè)備的設(shè)置等操作;系統(tǒng)的消息循環(huán)則用來實現(xiàn)消息合法性的判斷及消息處理功能模塊的調(diào)用。
圖5 系統(tǒng)主程序流程圖
為了能夠?qū)ο⒌暮戏ㄐ赃M行判斷,我們?yōu)橄⒔M中的每個消息定義了對應(yīng)的合法性判斷標(biāo)識位。如果某消息所對應(yīng)的合法性判斷標(biāo)識位為“1”,則表示該消息是合法的消息,系統(tǒng)應(yīng)該調(diào)用相應(yīng)的消息處理功能模塊對消息進行處理;為“0”則表示該消息是非法的消息,系統(tǒng)應(yīng)該忽略該消息。為了實現(xiàn)“看門狗”功能,我們還在消息循環(huán)中加入了喂狗輸出操作。值得注意的是,在系統(tǒng)的串行通信處理模塊中,根據(jù)接收到的數(shù)據(jù)進行判斷是自動加工,或是手動加工,還是參數(shù)設(shè)置,分別對消息序列中的標(biāo)志位進行置位,以保證主程序能夠正確實現(xiàn)各處理模塊的調(diào)用。
5 本文創(chuàng)新點
本系統(tǒng)采用MCS51系列單片機對數(shù)據(jù)進行處理及對運動狀態(tài)進行控制,由8254可編程定時/計數(shù)器實現(xiàn)脈沖的分頻輸出,保證了運動控制的實時性要求。為了使運動控制器能夠在惡劣的環(huán)境下可靠地工作,我們采用X5045集成芯片為主要器件構(gòu)成低成本、高可靠性的抗干擾電路,實現(xiàn)對步進電機運動控制卡的自動保護。系統(tǒng)投入使用以來,產(chǎn)生直接經(jīng)濟效益50余萬元。