摘 要:運動控制器在開放式數(shù)控系統(tǒng)中占有很重要的地位。開發(fā)了一款基于單片機的新型步進(jìn)電機運動控制器。硬件部分重點對運動控制器的脈沖分頻電路、RS-232通信接口電路、D/A轉(zhuǎn)換電路、V/I轉(zhuǎn)換電路、開關(guān)信號輸入電路、系統(tǒng)抗干擾電路等進(jìn)行了設(shè)計和分析;軟件方面提出了系統(tǒng)的總體架構(gòu)。
關(guān)鍵字:運動控制;步進(jìn)電機;單片機;電路設(shè)計
Abstract: The motion controller plays a significant role in the open-architecture NC system. A new motor controller for step motor based on SoC is developed in this article. It designs the hardware system of motion controller, lays stress on analyzing the pulse output circuit, serial communication interface circuit, D/A conversion circuit, V/I conversion circuit, switch input circuit and the anti-interference circuit. At last, it confirms the general architecture of software.
Keywords: Motion Control; Step Motor; SoC; Circuit Design
1 引言
數(shù)控技術(shù)是一種采用計算機對機械加工過程中各種控制信息進(jìn)行數(shù)字化運算處理,并通過高性能的驅(qū)動單元對機械執(zhí)行構(gòu)件進(jìn)行自動化控制的高新技術(shù)。現(xiàn)代機械加工業(yè)逐步向柔性化、集成化、智能化方向發(fā)展,因此新一代數(shù)控技術(shù)就必需強調(diào)具有開放式、智能化、網(wǎng)絡(luò)化的特征[1]。本文采用新型微處理器、高性能集成電路,研究開發(fā)智能步進(jìn)電機控制卡。
2 系統(tǒng)總體結(jié)構(gòu)設(shè)計
通過對步進(jìn)電機控制器關(guān)鍵技術(shù)進(jìn)行分析、研究和比較,并綜合國內(nèi)外運動控制器產(chǎn)品智能化、集成化、開放化的發(fā)展趨勢,我們提出的步進(jìn)電機運動控制器總體結(jié)構(gòu)如圖1所示。
[align=center]

圖1 系統(tǒng)總體結(jié)構(gòu)[/align]
3 系統(tǒng)硬件電路設(shè)計
3.1 脈沖分頻電路設(shè)計
本系統(tǒng)的主要控制對象為步進(jìn)電機。步進(jìn)電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu),因此產(chǎn)生符合系統(tǒng)要求的步進(jìn)電機驅(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的改進(jìn)型,操作方式及引腳與8253完全相同。8253計數(shù)頻率為2.6MHz,8254的計數(shù)頻率則更高,可達(dá)到6MHz。本系統(tǒng)選擇8254作為脈沖分頻電路的主控芯片。
[align=center]

圖2 脈沖分頻電路圖[/align]
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電源就可以。
[align=center]

圖3 通信接口電路[/align]
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)速進(jì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è)計
在步進(jìn)電機運動過程中,常采用機械式開關(guān)和光電開關(guān)構(gòu)成開關(guān)信號輸入回路,通過開關(guān)的閉合或斷開,以電平的形式反映步進(jì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)信號進(jìn)行處理,使其成為單片機可以識別的數(shù)字信號后才能做出相應(yīng)的反應(yīng)。系統(tǒng)共提供了12路的開關(guān)信號接口,限位開關(guān)信號處理如圖4所示。
[align=center]

圖4 限位開關(guān)信號處理電路原理圖[/align]
在開關(guān)信號輸入CPU之前,首先用電容對其進(jìn)行濾波,抑制信號中的高頻分量。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)通常在交流進(jìn)線端串接入低通LC濾波器。這種方法在實際中己經(jīng)取得明顯效果,但為了抑制電源浪涌電壓的沖擊,系統(tǒng)還必須在電源線之間及電源線對地之間分別裝壓敏電阻。
②抑制傳輸線干擾。對于系統(tǒng)中傳輸距離較長的線路通常選用屏蔽電纜來實現(xiàn)系統(tǒng)各部分的連接,以達(dá)到抗干擾的目的。在一些應(yīng)用環(huán)境比較惡劣的系統(tǒng)中,為了進(jìn)一步抑制干擾,可采用光電隔離方式將系統(tǒng)控制部分與I/O口部分分開,并采用雙電源供電。
③盡量減小干擾造成的影響。通常的做法有: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)用。
[align=center]

圖5 系統(tǒng)主程序流程圖[/align]
為了能夠?qū)ο⒌暮戏ㄐ赃M(jìn)行判斷,我們?yōu)橄⒔M中的每個消息定義了對應(yīng)的合法性判斷標(biāo)識位。如果某消息所對應(yīng)的合法性判斷標(biāo)識位為“1”,則表示該消息是合法的消息,系統(tǒng)應(yīng)該調(diào)用相應(yīng)的消息處理功能模塊對消息進(jìn)行處理;為“0”則表示該消息是非法的消息,系統(tǒng)應(yīng)該忽略該消息。為了實現(xiàn)“看門狗”功能,我們還在消息循環(huán)中加入了喂狗輸出操作。值得注意的是,在系統(tǒng)的串行通信處理模塊中,根據(jù)接收到的數(shù)據(jù)進(jìn)行判斷是自動加工,或是手動加工,還是參數(shù)設(shè)置,分別對消息序列中的標(biāo)志位進(jìn)行置位,以保證主程序能夠正確實現(xiàn)各處理模塊的調(diào)用。
5 本文創(chuàng)新點
本系統(tǒng)采用MCS51系列單片機對數(shù)據(jù)進(jìn)行處理及對運動狀態(tài)進(jìn)行控制,由8254可編程定時/計數(shù)器實現(xiàn)脈沖的分頻輸出,保證了運動控制的實時性要求。為了使運動控制器能夠在惡劣的環(huán)境下可靠地工作,我們采用X5045集成芯片為主要器件構(gòu)成低成本、高可靠性的抗干擾電路,實現(xiàn)對步進(jìn)電機運動控制卡的自動保護(hù)。系統(tǒng)投入使用以來,產(chǎn)生直接經(jīng)濟(jì)效益50余萬元。
參考文獻(xiàn)
[1]王正兵,任偲.開放式體系結(jié)構(gòu)-數(shù)控系統(tǒng)發(fā)展的潮流[J].制造技術(shù)與機床,2002,42(1):42.
[2]徐雅暉,程明霄,張玉華.基于80196與PBL3717的步進(jìn)電機控制系統(tǒng)[J].微計算機信息, 2007,23(4-2):123-125.
[3]荀殿棟,徐志軍.數(shù)字電路設(shè)計用手冊[M].北京:電子工業(yè)出版社,2003.
[4]宋學(xué)君,朱明剛,烏鴻彥.數(shù)字電子技術(shù)[M].北京:科學(xué)出版社,2002.