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