基于51單片機(jī)的新型步進(jìn)電機(jī)運(yùn)動(dòng)控制器
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所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
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作為脈沖分頻電路的主控芯片。
圖2 脈沖分頻電路圖
3.2 RS-232通信接口電路設(shè)計(jì)
在單片機(jī)系統(tǒng)的通信中,RS-232和RS-485標(biāo)準(zhǔn)總線(xiàn)應(yīng)用最為成熟。為了使運(yùn)動(dòng)控制器的適用范圍更加廣泛,配合PC的現(xiàn)有接口,我們選用RS-232標(biāo)準(zhǔn)總線(xià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電源就可以。
圖3 通信接口電路
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ì)中客觀(guān)存在的問(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所示。
圖4 限位開(kāi)關(guān)信號(hào)處理電路原理圖
在開(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)線(xiàn)端串接入低通LC濾波器。這種方法在實(shí)際中己經(jīng)取得明顯效果,但為了抑制電源浪涌電壓的沖擊,系統(tǒng)還必須在電源線(xiàn)之間及電源線(xiàn)對(duì)地之間分別裝壓敏電阻。
?、谝种苽鬏斁€(xiàn)干擾。對(duì)于系統(tǒng)中傳輸距離較長(zhǎng)的線(xiàn)路通常選用屏蔽電纜來(lái)實(shí)現(xiàn)系統(tǒng)各部分的連接,以達(dá)到抗干擾的目的。在一些應(yīng)用環(huán)境比較惡劣的系統(tǒng)中,為了進(jìn)一步抑制干擾,可采用光電隔離方式將系統(tǒng)控制部分與I/O口部分分開(kāi),并采用雙電源供電。
③盡量減小干擾造成的影響。通常的做法有:1)增加硬件看門(mén)狗電路。2)增加電壓監(jiān)測(cè)電路。3)選擇抗干擾能力較強(qiáng)的單片機(jī)系列。4)盡可能使用單片機(jī)的內(nèi)部程序存儲(chǔ)器和內(nèi)部數(shù)據(jù)存儲(chǔ)器而不使用外部總線(xiàn)連接這些器件。5)協(xié)調(diào)好電路中不同類(lèi)型IC的電平匹配。6)數(shù)據(jù)總線(xiàn)和控制總線(xiàn)間形成板與板連接時(shí),應(yīng)加總線(xiàn)驅(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)用。
圖5 系統(tǒng)主程序流程圖
為了能夠?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)元。
光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理
評(píng)論