摘 要
隨著制造業(yè)的發(fā)展,人們深刻的感受到數(shù)控機床在生產中的地位是越來越重要。本文結合機電一體化的需要,設計以單片機作為控制系統(tǒng)的X-Y型工作臺(X-Y工作臺是指能分別沿著X向和Y向移動的工作臺)。通過對X-Y型工作臺機械結構設計和控制電路接口的設計,闡述了機電一體化設計中的共性和關鍵技術。這種工作臺通常與整機設計成一個整體,其形狀,尺寸,結構因機器類型不同而有較大差異,但其工作原理有著共同點。
關鍵詞:X-Y數(shù)控十字滑臺;機電一體化;單片機
Abstract
Along with manufacturing industry development,people's profound feeling numerical control engine bed in production status is more and more important. Combine mechanical-electrical integration’s need, design a Model X-Y working bench with one-chip computer as the of the control system(X-Y working bench is separately along X and Y motion work table.). Though describing the working bench mechanical’s design of structure and interface of the control circuit to Model X-Y, have explained generality in the design of mechanical-electrical integration and its key technology. This kind of working bench is usually designed with the complete machine into a whole , its form , size, there is a greater difference because types of the machine are different in the structure, but its operation principle has common point.
Keywords: X-Y numerical control cross slippery platform; The mechanical-electrical integration; One-chip computer
目 錄
1 緒論 1
1.1數(shù)字控制技術的產生和發(fā)展 1
1.2我國數(shù)控機床的發(fā)展情況 2
1.3數(shù)控機床中十字滑臺的設計 2
2 機床改造總體方案設計 4
3 確定機械傳動改造方案 5
3.1 設計原始參數(shù) 5
3.2 確定切削用量 5
3.3 進給運動的切削負載分析及計算方法 5
3.3.1、各個方向的分力 5
3.3.2、摩擦阻力 5
3.3.3、等效轉動慣量計算 6
3.3.4、絲杠摩擦阻力矩的計算 6
3.3.5、等效負載轉矩Tm的計算 6
3.3.6、起動慣性阻力矩的計算 6
3.3.7、步進電機輸出軸總的負載轉矩的計算 6
3.4 步進電機的匹配選擇 7
3.5 滾珠絲杠的選擇與校核 7
3.5.1、工作原理及結構 7
3.5.2、滾珠絲杠副的特點 7
3.5.3、承載能力的校核 8
3.5.4、壓桿穩(wěn)定性驗算 8
3.5.5、剛度驗算 8
3.6 齒輪的校核計算 9
3.7 軸承的選擇與校核 12
3.8 導軌的選擇 13
4 控制系統(tǒng)的硬件及軟件設計 14
4.1 確定控制系統(tǒng)方案 14
4.2 單片機控制系統(tǒng)硬件設計 14
4.2.1、單片機控制系統(tǒng)的硬件構成 14
4.2.2、單片機引腳及其功能 15
4.2.3、控制線 15
4.3 單片機的選擇 16
4.4 存儲器的選用與擴展 16
4.5 存儲器的選用及連接 16
4.6 地址鎖存器 17
4.7 鍵盤與顯示電路及其程序 18
4.7.1、8155工作方式設定 19
4.7.2、狀態(tài)查詢 20
4.7.3、8155定時功能 20
4.7.4、鍵盤顯示電路工作原理 22
4.8 步進電機接口電路 29
5 總結 32
參考文獻 33
致謝 34
1 緒論
1.1數(shù)字控制技術的產生和發(fā)展
最早采用數(shù)字控制技術進行機械加工的思想,是在20世紀40年代提出的。當時美國北密執(zhí)安的一個小型飛機葉片輪廓樣板時,利用全數(shù)字電子計算機對葉片輪廓的加工路徑進行了處理,并考慮了刀具對加工路徑的影響,使加工精度達到±0.0381mm。以當時的水平來看,是相當高的。
1952年,美國麻省理工學院研制出一套實驗性數(shù)字控制系統(tǒng),并把它裝在一臺數(shù)字立式銑床上,成功地實現(xiàn)了同時控制三軸的運動。這臺數(shù)控機床被大家稱為世界上的第一臺數(shù)控機床,是數(shù)控機床的第一代。但是這臺機床畢竟是一臺實驗性機床,到了1954年11月,在帕爾森專利的基礎上,第一臺工業(yè)用的數(shù)控機床由美國本迪克公司生產出來的。
1959年,電子行業(yè)研制出晶體管元器件,因而數(shù)控系統(tǒng)中廣泛采用晶體管和印刷電路版,從而使數(shù)控機床跨入了第二代。同年3月,由美國克耐·杜列克公司發(fā)明了帶有自動換刀裝置的數(shù)控機床,稱為“加工中心”?,F(xiàn)在加工中心已成為數(shù)控機床中一種非常重要的品種,在工業(yè)發(fā)達的國家中占數(shù)控機床總量的1/4左右。
1960年,研制出了小規(guī)模集成電路。由于它的體積小,功耗低,使數(shù)控系統(tǒng)的可靠性得以進一步提高,數(shù)控系統(tǒng)發(fā)展到第三代。
以上三代,都是采用專用控制的硬件數(shù)控系統(tǒng)(NC)。
1967年,英國首先把幾臺數(shù)控機床聯(lián)成具有柔性的加工系統(tǒng),這就是最初的FMS-Flexible Manufacturing System 柔性制造系統(tǒng)。之后,美、歐、日等國也相繼進行了開發(fā)和應用。
隨著計算機技術的發(fā)展,小型計算機的價格和使用了微處理器。1974年,美、日等國首先先研制出以微處理器為核心的數(shù)控機床。30多年來,微處理機數(shù)控系統(tǒng)的數(shù)控機床得到飛速發(fā)展和應用,這是第五代數(shù)控。后來,人們將MNC也統(tǒng)稱為CNC。
20世紀80年代初,國際上又出現(xiàn)了柔性制造單元FMC。這種單元投資少、見效快,既可單獨長時間少人看管運行,也可集成制造系統(tǒng)中使用。所以近幾十年來,得到快速發(fā)展和應用。
FMC和FMS被認為是實現(xiàn)CIMS-Computer Integrated Manufacturing System 計算機集成制造系統(tǒng)的必經階段和基礎。
1.2我國數(shù)控機床的發(fā)展情況
我國從1958年開始研究數(shù)控技術,一直到20世紀60年代中期處于研制、開發(fā)時期。
1965年,國內開始研制晶體管數(shù)控系統(tǒng)。20世紀60年代末70年代初研制成功X53K-1G立式數(shù)控銑床、CJK-18數(shù)控系統(tǒng)和數(shù)控非圓齒輪插齒機。
從20世紀70年代開始,數(shù)控技術在車、銑、鉆、鏜、磨、齒輪加工、電加工等領域全面開展,數(shù)控加工中心在上海、北京研制成功。但數(shù)控系統(tǒng)的可靠性、穩(wěn)定性未得到解決。在這一時期,數(shù)控機床結構簡單,使用方便。20世紀80年代,我國從國外引進部分系列的數(shù)控系統(tǒng)和直流主軸電機技術和一些新的技術,使我國的數(shù)控機床在性能上有了質的飛躍。
1995年以后,我國數(shù)控機床的品種有了新的發(fā)展。數(shù)控機床品種不斷增多,規(guī)格齊全。許多技術復雜的大型數(shù)控機床、重型數(shù)控機床都相繼研制出來。
現(xiàn)在我國已經建立了以中,低檔數(shù)控機床為主的產業(yè)體系,未來幾十年,我國將成為數(shù)控機床的生產,使用大國。
1.3數(shù)控機床中十字滑臺的設計
隨著制造業(yè)的發(fā)展,人們深刻的感受到數(shù)控機床在生產中的地位是越來越重要,雖然近幾年我國組合機床的技術在不斷的發(fā)展,然而組合機床通用部件中的大型滑臺,至今仍主要是單坐標的滑臺。而有些國家的組合機床早在70年代(或更早些)就有了雙坐標的十字滑臺。
機電一體化技術的數(shù)控機械如數(shù)控機床、繪圖機、火焰切割機、電加工機床以及衣料開片機等都有一個在X-Y平面內作配合運動的工作臺。這種工作臺通常與整機設計成一個整體,其形狀,尺寸,結構因機器類型不同而有較大差異,但其工作原理有著共同點。該設計的數(shù)控X-Y工作臺是一個既能用于生產實際又可用于數(shù)控教學的典型機電一體化產品??紤]到8031單片微機具有較高的性能價格比,具有強有力的指令系統(tǒng),決定選用INTER公司生產的8位8031單片機芯片作為本系統(tǒng)的微處理器。
X-Y工作臺是指能分別沿著X向和Y向移動的工作臺。本文通過對X-Y工作臺的機械系統(tǒng)、控制系統(tǒng)及接口電路的設計,闡述了機電一體化系統(tǒng)設計中的共性和關鍵的技術。
在超精密機床和超精密加工中,為使機床微位移的分辨率進一步提高;為進行機床和加工誤差的在線補償,以提高加工精度;為進行某些特殊的非軸對稱表面的加工,都需要使用微量進給裝置。高精度微量進給裝置現(xiàn)在已成為超精度機床的一個重要的關鍵裝置?,F(xiàn)在高精度微量進給裝置已可達到0.001~0.01μm的分辨率。這對實現(xiàn)超薄切削,實現(xiàn)高精度尺寸加工和實現(xiàn)在線誤差補償是十分有用的。
數(shù)控X-Y工作臺、數(shù)控鉆床等設備實際上是2軸半的系統(tǒng),即工作臺的兩個方向聯(lián)動、垂直于工作臺的刀具不必與工作臺聯(lián)動。在對一些X-Y工作臺的研究調查中發(fā)現(xiàn)目前的簡易數(shù)控控制系統(tǒng)基本上是基于普通單片機,顯示為LED數(shù)碼管的系統(tǒng),操作很不方便而且通用性不強。為此,在此基礎上設計了通用的2軸半數(shù)控控制器。其基本思想是采用最新的微處理技術和集成電路技術,提高系統(tǒng)集成度,從而提高可靠性,降低成本,減小體積。它具有良好的人-機交互界面,滿足一般2軸半數(shù)控系統(tǒng)的需要。
2 機床改造總體方案設計
對數(shù)控十字滑臺而言,主要是縱橫方向兩個坐標的傳動,根據(jù)設計任務要求,決定采用點位控制,用步進電機驅動的開環(huán)控制系統(tǒng),這樣可以使控制系統(tǒng)簡單,成本低,調試維修容易,為確保數(shù)控系統(tǒng)的傳動精度和工作平穩(wěn)性,此工作臺采用滾珠絲杠螺母副和滾珠滾動導軌,為盡量消除齒側間隙,計算機系統(tǒng)仍采用MCS-51系列單片機擴展系統(tǒng)。
X-Y數(shù)控十字滑臺的總體框圖如下:
圖 2-1(結構總體框圖)
3 確定機械傳動改造方案
3.1 設計原始參數(shù)
(1)、工作滑臺面長X寬(mm) 250mmX250mm
(2)、銑刀 Φ20mm
(3)、銑削深度 αp=5mm
(4)、銑刀齒數(shù) Z=3
(5)、齒進給量
(6)、被加工材料 HB=250
(7)、工作臺移動速度 x=2 、y=2m/min
3.2 確定切削用量
根據(jù)加工方式不同,切削用量選擇方式也不同。對銑削而言,主要是切削速度V,切削深度,切削寬度,每齒進給量,銑刀齒數(shù)z,銑刀直徑D。切削用量主要根據(jù)刀具的類型,刀具的材料,被加工工件的材料等參數(shù)和有關手冊及教科書確定。除了工作進給速度而外,還有一個快進速度問題,一般情況下,推薦快進速度為V≤0.2/min。這里要注意把機床的主運動與進給速度分開。
3.3 進給運動的切削負載分析及計算方法
設計參數(shù)為:銑刀的直徑D=20mm,齒數(shù)Z=3,切削深度,每齒進給量,被加工材料HB=250。據(jù)實際工作情況可認為同時工作的齒數(shù)為2齒,每齒切削層面積為S=0.2×5=1.00mm,兩齒為2×1=2mm,則圓周力 Fc=2×250=500kgf=5000N
3.3.1、各個方向的分力
沿進給方向的水平分力 Fh=0.4×Fc=2000N
沿進給方向的垂直分力 Fv=0.90×Fc=4500N
沿銑刀軸向分力 Fa=0.55×Fc=2750N
3.3.2、摩擦阻力
銑床工作臺與導軌間的相對運動為滑動摩擦,取摩擦系數(shù)u=0.1。摩擦力等于正壓力乘摩擦系數(shù)。正壓力應包括主切削力及工作臺之動力矩,設工作臺重量為100kg,故可算出其摩擦阻力為:F摩=(100×10+2750)×0.1=375N
3.3.3、等效轉動慣量計算
其中:
i—齒輪傳動比,—步距角,—螺距,δ—脈沖當量
i=0.75×6/360×0.01=1.25
Z1=20;Z2=25;m=1.5(模數(shù));b=20mm(齒寬);壓力角為20
df1=mZ1=30mm;df2=mZ2=37.5mm;de1=33mm;de2=40.5mm
若將齒輪看作近似的圓柱體,齒輪材料為45鋼,則齒輪的轉動慣量分別為:
Jz1=
Jz2=
根據(jù)類比的方法,滾珠系直徑選擇為d0=32mm;L=0.55 m;材料為45鋼,則系杠的轉動慣量可近似算出為
Js=
查手冊預選電機為110BF003
查得的電機轉子軸的轉動慣量為,拆算到電動機軸上的總轉動慣量為:
3.3.4、絲杠摩擦阻力矩的計算
由于床用的是滾珠絲杠,摩擦阻力矩很小,可以忽略不計。
3.3.5、等效負載轉矩Tm的計算
Tm=1/2×3.14(F縱+F摩) V溜/n
Tm=1/(2×23.14)×(2000+375)×2/416.67=1.81Nm
3.3.6、起動慣性阻力矩的計算
以最不利條件下的快速起動計算,設起動加速式制動減速的時間△t=0.3S,由于步進電機的角速度==2×3.14×416.67/60=43.63
則角加速度為:=43.63/0.3=145.4
則: T慣=JΣ×=0.85×103?×145.4=0.124(Nm)
3.3.7、步進電機輸出軸總的負載轉矩的計算
JΣ=Tm+T慣
JΣ=1.81+0.124=1.934(Nm)
3.4 步進電機的匹配選擇
考慮到機械傳動系統(tǒng)的效率為n,安全系數(shù)取K,此時的負載總轉矩
TΣ=(1.5/0.7) ×1.934=4.15Nm
由預選的步進電機型號為三相六拍,步距角0.75,其最大靜轉矩Tymax=7.84Nm,為保證正常的起動與停止,步進電機的起動轉矩Tg必須大于或等于TΣ由下表可以查出Tg/Tymax之比值。
電機相數(shù)
3
4
5
6
運行拍數(shù)
3
6
4
8
5
10
6
Tg/Tymax
0.5
0.866
0.707
0.707
0.809
0.915
0.866
則可算出 Tg=0.866×7.84=6.789(Nm),因為比4.15 Nm大,所以選擇合適。
3.5 滾珠絲杠的選擇與校核
3.5.1、工作原理及結構
絲杠和螺母的螺紋滾道間置有滾珠,當絲杠或螺母轉動時,滾珠沿螺紋滾道滾動,則絲杠與螺母之間相對運動時產生的滾動摩擦,為防止?jié)L珠從滾道中滾出,在螺母的旋轉槽兩端設有回程引導裝置。
3.5.2、滾珠絲杠副的特點
(1)剛度好 通過給螺母組件內施加預壓來獲得較高的系統(tǒng)剛度,可滿足各種機械傳動要求,無爬行現(xiàn)象,始終保持傳動高效率,效率高達90%~95%,耗費的能量僅為滑動絲杠的1/3。
(2)傳動具有可逆性 既可將回轉運動變?yōu)橹本€運動,又可將直線運動變?yōu)榛剞D運動,且逆?zhèn)鬟f可保持運動的平穩(wěn)性和靈敏性。
(3)傳動精度高 經過淬硬并精磨螺紋滾道后的滾珠絲杠副本身就具有很高的制造精度,又由于摩擦小,絲杠副工作時溫升和熱變形小,容易獲得較高的傳動精度。
(4)使用壽命長 滾珠是在淬硬的滾道上作滾動運動,磨損極小,長期使用后仍能保持其精度,因而受命長,具有很高的可靠性。其壽命一般比滑動絲杠要高5~6倍。
(5)不能自鎖 特別是垂直安裝的絲杠,當運動停止后,螺母將在重力作用下下滑,故常需設置制動裝置。
(6)制造工藝復雜 滾珠絲杠和螺母等零件加工精度、表面粗糙度要求高,制造成本高。
滾珠絲杠的選擇,一般是根據(jù)機床原來絲杠的大小,按類比法來選擇直徑,因此必須進行以下項目的校核。
3.5.3、承載能力的校核
式中——滾珠絲杠壽命系數(shù)=60nT/
fw——載荷系數(shù),中等沖擊1.2-1.5
T——使用壽命時間 15000
——硬度系數(shù) 1.0
=F縱+F摩=2000+375=2375N
則Q=
查表可知道滿足要求。
3.5.4、壓桿穩(wěn)定性驗算
式中 Pk——實際承受載荷的能力
FK——壓桿穩(wěn)定的支承系數(shù),雙推-雙推時為4,單推-單推時為1,又推簡支時為2,雙推自由式為0.25;
E——剛的彈性模量2.1×10 (Mpa);
I——絲桿穩(wěn)定安全系數(shù),一般取2.5---4,垂直安裝取小值.
由上例,取
由上例,取Fk=2,I=3.14/32*2.5=3.83,d1=25mm;取K=4,L=La=120cm(系杠長度) 4
則 Pk=1.72×10N≥Pmax(Pmax=2375N)
3.5.5、剛度驗算
絲杠的剛度是要保證第一導程的變形量在允許的范圍內,起變形計算公式為: △L=
式中 S-絲杠最小截面積;
M-扭距(N.m),系數(shù)符號同上.
式中的正號用于拉伸,負號用于壓縮.若都為拉伸,有如下計算結果:
設 t=0.6mm,S=3.1416×R1^2=3.14160× (1.42/2)^2=1.58mm2
I=0.4cm,M=Tmax.i=7.84×1.25=9.0(N.m),P=Pmax=2375N
則:
ΔL=2375×0.6/(2.1*10)×1.58+9808×0.62/(2×3.1416×0.4×2.1×)
=496.4×
Cm=5.0u 滿足使用要求
所以,我們的電機選擇型號:110BF003 絲杠選 LL32×6。
圖3-1(滾珠絲杠螺母副)
即螺紋調隙式的滾珠絲杠螺母副,其一個螺母的外端有凸緣而另一個螺母的外端沒有凸緣而制有螺紋,它伸出在套筒外,并用兩個圓螺母固定著。旋轉圓螺母時,即可消除間隙,并產生預緊拉力,調整好后再用另一個圓螺母把它鎖緊。
這種結構的特點是結構緊湊,調整方便,雖軸向位移不太精確,但應用較廣泛。
3.6 齒輪的校核計算
所選齒輪參數(shù)如下:
Z1=20;Z2=25;m=1.5(模數(shù));b=20mm(齒寬);壓力角為20
df1=mZ1=30mm;df2=mZ2=37.5mm;de1=33mm;de2=40.5mm
小齒輪用40Cr,調質處理,硬度為241HB-286HB,平均為260HB。大齒輪用45鋼,調質處理,硬度為229HB-286HB,平均取240HB。
齒間載荷分布系數(shù):
齒向載荷分布系數(shù):
查表得:
荷系數(shù):
彈性系數(shù):查表得=189.8
節(jié)點區(qū)域系數(shù):查圖得
接觸最小安全系數(shù):由表得
工作時間:
應力循環(huán)次數(shù):查表可估計
則指數(shù)m=8.78
故原估計應力次數(shù)正確。
接觸壽命系數(shù)查圖得:
由查表得:
許用接觸應力:
算接觸應力:
故選擇合適
齒根彎曲疲勞強度驗算:
重合度系數(shù):
齒間載荷分配系數(shù):
齒向載荷分布系數(shù):
由查圖可得:
載荷系數(shù)K:
齒形系數(shù) 查圖得:=2.8,
應力修正系數(shù) 查圖得:=1.54,
彎曲疲勞極限 查圖得:
彎曲最小安全系數(shù) 由表估計得:
原估計循環(huán)次數(shù)正確
彎曲壽命系數(shù)由圖得:
尺寸系數(shù)由圖得:
許用彎曲應力:
校核:
3.7 軸承的選擇與校核
在軸承的選擇上選用深溝球軸承和推力球軸承配合。深溝球軸承承受軸向力,推力球軸承承受軸向力。
預選軸承:
深溝球軸承6205 d=25 D=52 B=18
推力球軸承51305 d=25 D=52 B=18
有輕微沖擊,預期使用壽命為:=5000h 采用脂潤滑
E查機械零件設計表18.7得 e=0.38
故查表18.7得:X=1,Y=0
故所選軸承合格。
3.8 導軌的選擇
根據(jù)導軌的設計要求,選擇滾動導軌。
滾動導軌是在導軌面之間放置滾珠,滾針,滾柱等滾動體,使相配的兩個導軌面只同滾動體接觸而不直接接觸導軌。
滾動導軌的特點是導軌面之間是滾動摩擦,而不是滑動摩擦。由于摩擦阻力小,故使工作部件移動起來很靈敏。滾動摩擦的摩擦系數(shù)小,并且它和運動速度快慢無關,低速時運動也均勻,工作部件的定位精度高,并且不易出現(xiàn)爬行現(xiàn)象。因為滾動摩擦阻力小,所以工作部件的啟動和運行的功率小。滾動導軌的磨損小,它的精度持久性好。但滾動導軌對贓物比較敏感,故必須有良好的防護裝置。
經比較,選用滾動導軌中的滾珠導軌。
4 控制系統(tǒng)的硬件及軟件設計
4.1 確定控制系統(tǒng)方案
微機實現(xiàn)機電一體化方法有兩種:一種是以微機為中心設計控制部件;另一種是采用標準的步進電機數(shù)字控制系統(tǒng)作為主要控制裝置。前者需要重新設計控制系統(tǒng),比較復雜;后者選用單片機控制系統(tǒng),由單片機、步進電機及專用控制程序組成的開環(huán)控制。其結構簡單,價格低廉,對機床的控制過程大多是由單片機接照輸入的加工程序進行插補運算,產生進給,由軟件或硬件實現(xiàn)脈分配,輸出一系列脈沖,經功率放大,驅動工作臺,縱橫運動的步進電動機,實現(xiàn)工作臺按規(guī)定的輪廓線軌跡運動。擬訂方案如圖(2-1)。
4.2 單片機控制系統(tǒng)硬件設計
對十字滑臺X-Y軸控制要求作如下規(guī)定:步進電機3相6拍,脈沖當量為0.01,能用鍵盤輸入命令,控制X,Y向運動及實現(xiàn)其它功能,能實時顯示工作臺的當前運動位置,具有越程指示報警及提示功能,采用硬件進行環(huán)形分配,字符發(fā)生及鍵盤掃描均由軟件實現(xiàn)。
4.2.1、單片機控制系統(tǒng)的硬件構成
現(xiàn)選用8031單片機芯片為主芯片。它有P0-P3四個8位口,P0可驅動8個TTL
圖4-1(硬件構成)
門電路,16根地址線由它經地址鎖存器(74LS373)提供第8位A0-A7,而高8位A8-A15由由P2口提供。數(shù)據(jù)總線由P0口提供??刂瓶偩€有P3口的第二功能狀態(tài)和4根獨立的控制線RESET,-EA,ALE,-PSEN組成。僅剩P1口可供控制外設,因此不能滿足上述要求,又由8031總片無ROM,且只有128字節(jié)的RAM,也不夠用,故需要擴展。現(xiàn)采用8155和2764,6264作為I/O和存儲器擴展芯片,顯示器采用LED數(shù)碼顯示,從控制要求來看,需要5位數(shù)碼顯示,其中整數(shù)部分3位,小數(shù)部分3位。其它輔助電路有復位電路,時鐘電路,越位報警指示電路,延時可利用8155的定時器/計數(shù)器的引腳TMRIN和TMROUT。
4.2.2、單片機引腳及其功能
(1)電源線 2根
Vcc:編程和正常操作時的電源電壓,接+5V
Vss:地電平
(2)晶振 2根
XTAL1:震蕩器的反相放大器輸入。使用外部震蕩器時必須接地。
XTAL2:震蕩器的反相放大器輸出和內部時鐘發(fā)生器的輸入。當使用外部震蕩器時用于輸入外邊震蕩信號。
(3)I/O口共有p0 p1 p2 p3四個8位口,32根I/O線,其功能
p0.0-p0.7 (AD0-AD7):是I/O端口O的引腳。端口O是一個8位漏極開路的雙向I/O端口。在存取外部存儲器時,該端口分時地用作低8位的地址線和8位雙向的數(shù)據(jù)端口。
p1.0-p1.7:端口1的引腳,是一個帶內部上拉電阻的8位雙向I/O口通道,專供用戶使用。
p2.0-p2.7 (A8-A15):端口2的引腳。端口2是一個百內部上拉電阻的8位雙向I/O口,在訪問外部存儲器時,它輸出高8位地址A8-A15。
p3.0-p3.7:端口3的引腳。端口3是一個帶內部上拉電阻的8位雙向I/O口,該口的每一位均可獨立地定義第一I/O口功能或第二I/O口功能。作為第一功能使用時,口的結構與操作與p1口完全相同。
4.2.3、控制線
(1)PSEN:程序存儲器的使能引腳,是外部程序存儲器的讀選通信號,低電平有效。從外部程序存儲器取數(shù)時,在每個機器周期內二次有效。
(2)Vpp:EA為高電平時,CPU執(zhí)行內部程序存儲器的指令。EA為低電平時CPU僅執(zhí)行外部程序存儲器的指令。因8031沒有內部程序存儲器,故EA必須接地。Vpp是在8751EPROM編程時為+21的編程電源輸入端。
(3)PROG,ALE是地址鎖存使能信號。作為地址鎖存允許時高電平有效。因為p0端口是分時傳送數(shù)據(jù)和低8位地址。故訪問外部存儲器時,ALE信號鎖存低8位地址。即使在不訪問外部存儲器時,也可以1/6振蕩頻率的固定頻率產生ALE,因此可以用它作為外部的時鐘信號。ALE主要是提供一個定時信號,在從外部程序存儲器取令時,把p0口的低8位地址字節(jié)鎖存到外接的地址鎖存器中。
(4)T/VPD 是復位/備用電源端。在振蕩器運行時,使RST行腳至少保持兩個機器周期為高電平,可實現(xiàn)復位操作,復位后程序計數(shù)器清零,即程序從0000H單元開始執(zhí)行。在Vcc關斷之前加上VPD(掉電保護)RAM的內容將不變。
單片機時鐘利用內部振蕩電路,在XTL1,XTAL2 引腳上外接定時元件,晶振可以在1.2-12MHz間任選,電容在5-30PF之間,對時鐘有微調作用。越界報警,指示電路,采用4個點位開關。一旦越界,應立即停止工作臺運動,這里采用中斷方式,利用8031外部中斷-INT0,只要有一個開關閉合,即工作臺的X向或Y向有一越界,便能產生中斷信號-INT0。為了報警,設置了兩個發(fā)光二極管燈,一個紅用于報警,綠的為正常工作,兩燈均由8031的P1.4控制。為了整體控制需要,應將8155的輸出端TMROUT與8031的T0端相連,而且應與不進電機控制用環(huán)形分配器的CP端相連接。
4.3 單片機的選擇
由于對機床進行數(shù)控,其控制功能簡單,為了結約成本,因而,采用價格低廉的MCS—51系列的8031單片機作為該控制系統(tǒng)的CPU已能滿足控制要求。該單片機內部集成ROM存儲器,需要對其進行存儲器的擴展。
4.4 存儲器的選用與擴展
由控制系統(tǒng)所遷用單片機內部集成ROM存儲器,同時128位的RAM輸出不能滿足控制系統(tǒng)程序和數(shù)據(jù)的存儲量,因此要進行存儲器擴展。
4.5 存儲器的選用及連接
程序存儲器選用Inter2764,它是一種5V的8K UVEPROM存儲器芯片,采用HMOS工藝制成,標準存取時間250ns具有可擦除特性,管腳數(shù)28。
由于車削加工的指令數(shù)量較少,因而所需程序存儲器容量較少,所以選用Inter6264靜態(tài)RAM足夠,該存儲器具有8K的容量,200ns的存取時間,所需電源
為5V,采用HMOS工藝, 管腳數(shù)28。
圖4-2(8031與2764,6264的擴展接線圖)
4.6 地址鎖存器
由于單片機8031芯片的p0口是分時傳送低8位地址線和數(shù)據(jù)線,故8031擴展系統(tǒng)中一定要有地址鎖存器。常用的地址鎖存器芯片是74LS373。74LS373是帶三態(tài)緩沖輸入的8D觸發(fā)器。其引腳結構如下圖:
圖4-3(8031引腳結構)
4.7 鍵盤與顯示電路及其程序
單片機應用系統(tǒng)中,鍵盤掃描只是CPU工作的內容之一。CPU在忙于各項工作任務時,如何兼顧鍵盤掃描又不占用過多的時間。則采用程序掃描工作方式,它是利用CPU在完成其他工作的空閑,調用鍵盤掃描子程序,來響應鍵輸入要求。在執(zhí)行鍵功能程序時,CPU不再響應鍵輸入要求。
由于非編碼鍵盤,硬件電路極為簡單,應用廣泛,因而選用非編碼鍵盤作為數(shù)據(jù)輸入鍵盤。非編碼鍵盤常用一些按鍵排列成行列矩陣按鍵的作用只是使相應接點接通或數(shù)據(jù)開,在相應程序配合下也可產生被按按鍵的鍵碼。
為了減少硬件開鎖,提高系統(tǒng)可靠性和降低成本,單片機控制系采用動態(tài)顯示。
這里用8155來實現(xiàn)鍵盤、顯示的接口控制。
8155的結構框圖及引腳排列見下圖:
圖4-4(8155的邏輯結構和引腳圖)
8155具有40條引腳的雙列直插式芯片,其引腳的功能見下表:
引腳
含義
引腳
含義
AD0~AD7
地址數(shù)據(jù)線
ALE
地址鎖存
PA0~PA7
A口
RD
讀
PB0~PB7
B口
WR
寫
PC0~PC7
C口
RESET
復位
TIMERIN
定時輸入
Vss
地
TIMEROUT
定時輸出
Vcc
電源
IO/M
IO/RAM口選擇
CE
片選
其中IO/M是內部RAM和I/O口的選擇線,IO/M=0(低電平時)選擇片內RAM,AD0~AD7上的地址信息為8155中的RAM單元地址。當IO/M=1時,選擇I/O口,AD0~AD7上的地址信息為I/O口地址。它利用ALE的下降沿將此信息鎖存到片
鎖存器中。
4.7.1、8155工作方式設定
8155I/O工作方式選擇通過對8155內部命令寄存器(命令口)設定命令控制字實現(xiàn)。命令寄存器格式及對應的工作方式見下圖:
圖4-5(8155工作方式)
8155I/O有四種工作方式,即ALT1,ALT2,ALT3,ALT4。其中各符號說明如下:
AINTR:A口中斷,請求輸入信號,高電平有效。
BINTR:B口中斷,請求輸入信號,高電平有效。
ABF(BBF):A口(B口)緩沖器滿狀態(tài)標志輸出線,(緩沖器有數(shù)據(jù)時BF為高電平);ASTB(BSTB):A口(B口)設備選通信號輸入線,低電平有效。
4.7.2、狀態(tài)查詢
8155還有一個狀態(tài)寄存器,用于鎖存I/O口和定時器的當前狀態(tài),供CPU
查詢用。其格式如下:
圖4-6(8155狀態(tài)查詢格式)
狀態(tài)寄存器和命令寄存器共用一個地址,命令寄存器只能寫入不能讀出,而狀態(tài)寄存器只能讀出不能寫入。所以可以認為,CPU讀該地址時,作為狀態(tài)寄存器,讀出的是當前I/O口和定時器的狀態(tài),而寫該地址時,則作為命令寄存器對I/O口工作方式的選擇。
4.7.3、8155定時功能
8155芯片內有一個14位減法計數(shù)器,可對輸入脈沖進行減法計數(shù)。外部有兩個定時器引腳TINEIN 和TIMEOUT。TINEIN為定時器時鐘輸入,有外部輸入時鐘脈沖,TIMEOUT為定時器輸出,輸出各種信號脈沖波形。
定時器的格式、輸出波形見下:
圖4-7(8155記數(shù)方式和輸出波形圖)
由上圖可見,定時器的低8位和高6位計數(shù)器定時是出方式由04H、05H寄存器確定。對定時器編程時,首先將計數(shù)器及定時器方式送入定時器口,(定時器的低8位和高6位,定時器方式M)04H,05H。計數(shù)常數(shù)在002H~3FFF之間。計數(shù)器的起動和停止由命令寄存器的最高兩位TM2和TM1決定。但何時讀都可以置定時器的長度和工作方式,然后必須將起動命令寫入命令寄存器。既使計數(shù)器已經計數(shù),在寫入起動命令后,仍可改變定時器的工作方式。
圖4-8(8031與8155接線圖)
上圖中畫出了8031通過8155對六只共陰極LED的接口和30個按鍵的鍵盤。按鍵分為三類:一是數(shù)字鍵0—F,二是功能鍵12個;三是兩個鍵沒有定義,作為擴展有鍵位。
4.7.4、鍵盤顯示電路工作原理
(1)判數(shù)是否有鍵按下
CPU把全“1”送到8155C口就可以在所有行線L5—L0上得到TTL低電平,然后讀取B口的列值就可以判斷是否有鍵按下,若無鍵按下則所讀列值必為1FH;若有鍵按下,則列值必因被按按鍵的行列線接通而不等于1FH。
(2)被按按鍵行值和列值的讀取
若CPU發(fā)現(xiàn)有鍵按下,CPU獲取被按接鍵行值和列值只要逐行對、鍵盤掃描,即輪流地使C口中每條行線變?yōu)榈碗娖揭约白x取和判斷B口的值。若列值為1FH,則表明有被按按鍵不在本行,若列值不為1FH,則對應的行值和列值就是被按按鍵的的列值和行值。
(3)按鍵的去抖動和竄鍵處理
在按下某個按鍵時,被按按鍵的簧片總會能輕微的抖動,這個科動常會持續(xù)10ms左右時間。因此,CPU在按鍵拌動期間掃描鍵盤必然會得到錯誤的行值和列值,最好的辦法是使CPU在檢測到有鍵按下時延時 20ms再進行行掃描。
較低當用戶在操作時常常不小心同時按下個以上的鍵時,即發(fā)生竄鍵盤,CPU處理竄鍵是以最后放開的按鍵認和真正被按的鍵。CPU在行掃描時必須不以發(fā)現(xiàn)第一個被近鍵為滿足,而是繼續(xù)完成對所有行的一遍掃描,并在該行掃描結束后根據(jù)竄鍵標志來判斷是否發(fā)生竄鍵。
如果未發(fā)現(xiàn)竄鍵,則本遍掃描的行值和列值就是被按按鍵的行值和列值;如果發(fā)現(xiàn)了竄鍵,則CPU再進行一遍行掃描就可獲取最后放開鍵的行值和列值了。
求鍵值
求鍵值必須選先求關鍵字,求關鍵字必須知道行值和列值
求行號:行序號和行值的關可以從鍵盤電路中看出CPU把被按按鍵的行值右移到全“0”時得到的移位次數(shù)減1必為行序號。
求鍵字:由鍵值表可以看到,CPU把行序號移到高四位并和列值低四位相加便可得到相應關鍵字。
求鍵值:被按按鍵的鍵值是查表次數(shù)減1。
被按按鍵的類型判別:在鍵值表中,數(shù)字鍵的鍵值必小于10H,功能鍵的鍵值大于10H的。因此,CPU用被按按鍵的鍵值是大于10H或是小于10H來判斷按鍵的類型。
鍵盤按鍵分布圖、鍵盤掃描程序流程圖、求鍵值子程序流程圖。
鍵盤按鍵分布圖
關鍵字
鍵值
行值
列值
按鍵
0F H
00 H
01 H
0F H
0
1F H
01 H
02 H
0F H
1
17 H
02 H
02 H
17 H
2
1B H
03 H
02 H
1B H
3
2F H
04 H
04 H
0F H
4
27 H
05 H
04 H
17 H
5
1B H
06 H
04 H
1B H
6
3F H
07 H
08 H
0F H
7
37 H
08 H
08 H
17 H
8
3B H
09 H
08 H
1B H
9
3D H
0A H
08 H
1D H
A
2D H
0B H
04 H
1D H
B
1D H
0C H
02 H
1D H
C
0D H
0D H
01 H
1D H
D
0B H
0E H
01 H
1B H
E
07 H
0F H
01 H
17 H
F
0E H
10 H
01 H
1E H
1E H
11 H
02 H
1E H
2E H
12 H
04 H
1E H
3E H
13 H
08 H
1E H
4F H
14 H
10 H
0F H
47 H
15 H
10 H
17 H
4B H
16 H
10 H
1B H
4D H
17 H
10 H
1D H
5F H
18 H
20 H
0F H
57 H
19 H
20 H
17 H
5B H
1A H
20 H
1B H
5D H
1B H
20 H
1D H
鍵盤掃描程序流程圖
圖4-9
求鍵值子程序流程圖
圖4-10
顯示子程序
ORG 0600
MOV B ,A
DISPIY: MOV A, #105
MOV DPTR, #8000H
MOVX @DPTR, A
DISPIY1: MOV R5, #FEH
MOV A, R5
LD: MOV DPTR, #8003H
MOVX @DPTR, A
MOV DPTR, #8001H
MOV A, B
ADD A, #DTAB
MOVC @DPTR, A
ACALL DELAY
MOV A, R3
JNB ACC.5 LD1
RL A
MOV R5, A
LD1: RET
DTAB: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H
DB 92H, 82H, 0F8H, 80H, 90H
DB 88H, 83H, 0C6H, 0A1H, 86H
DB 83H, 0FFH, 0CH, 89H, 7FH
DB 0BFH
DELAY: MOV R7, #02H
DELAY1: MOV R6, #0FFH
DELAY2: DJNZ R6, DELAY2
DJNZ R7, DELAY1
RET
END
鍵盤掃描子程序
GRG 0900H
SCAN:MOV A,#00H
MOV DPTR, #8001H
MOVX @DPTR, A
MOV A #3FH
MOV DDPTR, #8003H
MOVX #DPTR, A
MOV DPTR, #8002H
MOVX A, @DPTR
ANL A, #1FH
CJNE3 A, #1FH, NEXT1
SJMP NEXT4
NEXT1: ACALL DS20ms
CLR C
MOV R2, #00H
MOV R1, #01H
LOOP: INC DPTR
MOV A,R1
MOVX #DPTR, A
MOV DOTR, #8002H
MOVX A, @DPTR
ANL A, #1FH
CJNE A, #1FH, NEXT2
SJMP NEXT3
NEXT2: INC R2
CJNE R2, #01H, NEXT4
MOV R4, A
MOV A,R1
MOV R3,A
NEXT3: MOV A,R1
RLC A
MOV R1,A
CJNE A,#40H, LOOP
AJMP KCODE
NEXT4:CLR A
RET
END
求鍵值子程序
ROG 0960H
KCODE:MOV R1,#00H
MOV A, R3
CLR C
LOOP: RRC A
JZ NEXT1
INC R1
SJMP LOOP
NEXT1:MOV A, R1
SWAP A
MOV R1,A
MOV A, R4
ANL A, #0FH
ORL A, R1
MOV B, A
MOV DPTR, #KTAB
MOV R0, #00H
CLR A
REPE:MOVC A,@A+DPTR
CJNE A, B,NEXT2
SJMP RESV
NEXT2:INC R0
MOV A, R0
SJMP REPE
RESV: MOV A, R0
RET
KTAB:DB 0FH,1FH,17H,1BH,2FH,27H
DB 2BH,3FH,37H,3BH,3DH,2DH
DEB1DH,0DH,0BH,07H,03H,1EH
DB 23H,3EH,4FH,47H,4BH,4DH
DB 5FH,57H,5BH,5DH
END
4.8 步進電機接口電路
由于該數(shù)控改造機床采用步進電機控制,步進電機是否轉動是由控制繞組輸入脈沖的個數(shù)來控制,每步的角度和方向是由三相控制繞組中的通電方式決定的,因此,步進電機的控制是要求單片機和軟件產生按上述規(guī)律變化的序脈沖,然后通過接口和驅動放大電路來驅動步進電機控制繞組工作。
由于采用三相六拍步進電動機,其工作方式為: A→AB→B→BC→C→CA→A
控制模型表
圖4-11
R4 放X軸步進電機要走的步數(shù)
R5 放Y軸步進電機要走的步數(shù)
PWS.4 放X軸步進電機轉向標志。若要正轉,則F0H中放“0”;否則,放“1”。
PWS.5 放Y軸步進電機轉向標志。若要正轉,則F0H中放“0”;否則,放“1”。
20H—25H 放X軸步進電機正轉模型。
26H放X軸步進電機正轉模型結束標志00H。
27H—2CH放X軸步進電機反轉模型。
2DH放X軸步進電機正轉模型結束標志00H。
30H—35H 放Y軸步進電機正轉模型。
36H放Y軸步進電機正轉模型結束標志00H。
37H—3CH放Y軸步進電機反轉模型。
3DH放Y軸步進電機正轉模型結束標志00H。
步進電機驅動程序:
ORG 2100H
PUSH ACC
MOV R5,#N
MOV R6,#N
CLR C
ORL C,PWS.4
JC ROTEX
MOV R0,#20H
AJMP NEXT1
ROTEX: MOV R0,#27H
MEXT1: CLR C
ORL C,PSW.5
JC ROTEY
MOV R1,#30H
AJMP NEXT2
ROTEY:MOV R1,#37H
NEXT2: DJNZ R4,ABC1
NEXT3: DJNZ R5,ABC2
MOV A,R4
MOV 40H,R5
CJNE A,40H,NEXT2
AJMP END
ABC1: MOV A,@R0
MOV P1,A
ACALL DELAY
INC R0
MOV A, #00H
ORL A, @R0
JZ TPL1
AJMP NEXT3
ABC2:MOV A,@R1
MOV P1,A
ACALL DELAY
INC R1
MOV A, #00H
ORL A,@R1
JZ TPL2
AJMP NEXT2
TPL1:MOV A,R0
CLR C
SUBB A, #06H
MOV R0,A
AJMP NEXT3
TPL2:MOV A, R1
CLR C
SUBB C
MOV R0,A
AJ