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