王璐
【摘要】控制系統(tǒng)技術(shù)發(fā)展的好壞直接決定著機械銑床工作質(zhì)量的優(yōu)劣,本文所設(shè)計的控制硬件系統(tǒng),可以實現(xiàn)三軸聯(lián)動,且能控制位置、速度,具有較好的適用性。
【關(guān)鍵詞】機械數(shù)字控制硬件系統(tǒng)
1控制系統(tǒng)總體分析與方案構(gòu)想
整個的控制系統(tǒng)是由上位機和下位機組成的,上位機發(fā)送命令,對下位機進行綜合指揮、分散控制、集中管理。下位機接收上位機的指令,通過對三個步進電機的控制,從而實現(xiàn)對數(shù)控銑床三軸的控制,同時也將控制狀態(tài)以及信息傳給上位機。
1.1控制系統(tǒng)的分析
數(shù)控銑床控制系統(tǒng)由上位機和下位機共同控制。主要控制由下位機完成??刂葡到y(tǒng)的主要任務(wù)是:實現(xiàn)數(shù)控銑床X、Y、Z軸的聯(lián)動;實現(xiàn)位置控制,包括快進、工進;直線和圓弧插補;實現(xiàn)速度控制:通過串行口與上位機通信。本文使用三個步進電機來控制三軸的運動:對于位置控制和速度控制,則需要使用軟件編程來實現(xiàn);與上位機的通信采用單片機自身的全雙工串行口來實現(xiàn)。整個控制過程中,控制系統(tǒng)對三軸進行位置、速度等方面的控制,控制結(jié)束后將數(shù)據(jù)信息傳回上位機。首先要有一套單片機控制卡,給系統(tǒng)上電后,打開單片機控制卡,先通過上位機的用戶交互界面設(shè)置實驗參數(shù),并將所設(shè)置的實驗參數(shù)發(fā)送到下位機,然后進行控制??刂崎_始,單片機控制卡觸發(fā)脈沖驅(qū)動步進電機運動,通過軟件編程實現(xiàn)位置和速度控制。
1.2控制系統(tǒng)總體方案
整個控制系統(tǒng)是由軟件和硬件的協(xié)調(diào)配合來完成的。由簡單的硬件可以實現(xiàn)的功能由軟件實現(xiàn)有可能會相當(dāng)復(fù)雜。因此協(xié)調(diào)好軟硬件之間的關(guān)系是非常重要的。
系統(tǒng)的整個控制過程是由上位機和下位機共同實現(xiàn)的,由上位機進行對參數(shù)的提供,下位機根據(jù)指令來進行控制。綜合分析硬軟件的功能和現(xiàn)有的資源,對系統(tǒng)進行整體描述,并對系統(tǒng)進行軟硬件功能的分解。將整個控制系統(tǒng)分為幾個模塊,這樣便于軟件編程。最后要將每個模塊最終實現(xiàn)并綜合在一起。
2.單片機控制卡功能分析與選擇
數(shù)控銑床控制系統(tǒng)中單片機控制卡是非常重要的部分,它在系統(tǒng)中擔(dān)負著控制其他單元的正常運行并協(xié)調(diào)各個單元相互配合的功能。本章主要介紹單片機控制卡的設(shè)計方法。
2.1功能分析
系統(tǒng)中的下位機控制卡是控制的核心組成部分,控制卡需要控制數(shù)控銑床三軸的位置和速度,并實現(xiàn)其聯(lián)動,控制選擇工作模式、與上位機通訊等。控制卡功能需求如下:實現(xiàn)數(shù)控銑床X、Y、Z軸的聯(lián)動;實現(xiàn)位置控制,包括快進、工進;直線和圓弧插補;實現(xiàn)速度控制;通過串行口與上位機通信;
2.2控制器選擇
當(dāng)前,控制器的家族里已經(jīng)出現(xiàn)了PLC、單片機、CPLD等優(yōu)秀產(chǎn)品。單片機由于具有編程方便、價格低廉、I/O資源豐富、控制功能強大、易于升級等優(yōu)點,使得其從問世的那天起便得到了人們的青睞。特別是用89系列單片機設(shè)計的系統(tǒng),可以反復(fù)進行系統(tǒng)試驗;每次試驗可以編入不同的程序,這樣可以保證用戶的系統(tǒng)設(shè)計達到最優(yōu)。而且隨用戶的需要和發(fā)展,還可以進行修改,使系統(tǒng)不斷能追隨用戶的最新要求,因此,本文采用89系列的單片機作為控制器。
3.主要功能模塊設(shè)計
單片機控制卡是以單片機為核心,并輔以必要的外圍電路和接口的單片機系統(tǒng)控制卡。傳統(tǒng)的硬件設(shè)計開發(fā)的過程是各個功能模塊的設(shè)計—模塊組合—調(diào)試。開發(fā)工具采用簡單易學(xué)且功能完善的Portel電子CAD軟件。單片機處理器是單片機控制卡的核心,使用單片機需要先對其I/O口、定時器、存儲器、中斷、通訊口等資源進行分配。本設(shè)計中產(chǎn)生的軟件可調(diào)節(jié)的脈沖是由單片機本身利用定時器來產(chǎn)生的。利用定時器產(chǎn)生脈沖信號方法的原理是:用定時器產(chǎn)生一定時間的定時,在定時時間內(nèi)在單片機的某一引腳上交替輸出高、低電平,從而產(chǎn)生所需頻率和占空比的脈沖信號。利用定時器產(chǎn)生脈沖信號根據(jù)所使用定時器的不同可分為軟件定時脈沖產(chǎn)生法和硬件定時脈沖產(chǎn)生法兩種。產(chǎn)生可編程的脈沖信號需要一個N分頻電路,產(chǎn)生脈沖后需要同時將信號延時。Intel公司的8253/8254定時器正好可以滿足這一需求。8253有六種工作方式:
(1)方式0:計數(shù)結(jié)束中斷
(2)方式1:可編程頻率發(fā)生
(3)方式2:頻率發(fā)生器
(4)方式3:方波頻率發(fā)生器
(5)方式4:軟件觸發(fā)的選通信號
(6)方式5:硬件觸發(fā)的選通信號
本次設(shè)計中是要三個步進電機來控制三個軸的運動,而一個步進電機需要兩個定時器來控制,一個觸發(fā)脈沖,一個用來計數(shù)。這樣算來,就需要6個定時器,除去89C52上自帶的3個定時器外,還需要擴展2片8253來控制兩個電機。其中,第一片8253被選定用來控制電動機1(X軸),用定時器0和定時器1。定時器1選用工作模式0來產(chǎn)生觸發(fā)脈沖的脈沖(CP1),定時器0選用工作模式3來計數(shù)脈沖數(shù),當(dāng)計數(shù)完畢就從OUT0出來,OUT0接89C52的P1.1口來檢測是否計完,來控制步進電機加速過程每一級所要的脈沖數(shù),并且用89C52上的P1.1口控制X軸步進電機的轉(zhuǎn)動方向,從而實現(xiàn)步進電機加速和減速的目的和方向的控制。
對于另一片8253,被選定控制步進電機2(Y軸),其控制方法與第一片8253相同。對于第一片8253,其中A0、A1接單片機P0.1、P0.2,D0-D7接單片機數(shù)據(jù)總線,讀寫控制分別與單片機讀寫控制相連。定時器1工作在方式3,門控接高電平始終有效。定時器0工作在方式0,通過計數(shù)脈沖來控制電動機速度。OUT1端與單片機的P1.5端通過與非門共同作用輸出步進電機1的脈沖。對于第二片8253,定時器0工作在方式5,通過計數(shù)來控制步進電機2的運動,定時器1工作在方式3,門控接高電平始終有效,時鐘線接單片機的P0.0端,OUT1端與單片機的P1.6端通過與非門共同作用輸出步進電機2的脈沖。微控制器AT89C52中,有一個全雙工異步通訊串行口UART,單片機控制卡就是通過這個串行口和上位機實現(xiàn)串口通訊。在單片機軟件設(shè)計中,使用串行口UART進行程序設(shè)計。在串口通訊中,需要使用串行口數(shù)據(jù)寄存器SBUF和串行口控制寄存器SCON。寄存器SBUF用于接收和發(fā)送數(shù)據(jù),寄存器SCON用于定義串行口的工作方式。同時,在發(fā)送或接收數(shù)據(jù)時,可以通過查詢SCON的TI或RI中斷標(biāo)志位,判斷數(shù)據(jù)通訊是否完或。endprint