【正文】
X軸反向進(jìn)給程序Y軸反向進(jìn)給程序flag_3=flag_32*x_g2+1 ,x_g2=x_g21flag_3=flag_32*y_g2+1 ,y_g2=y_g21Flag_xiangxian=?X軸正向進(jìn)給程序Y軸正向進(jìn)給程序X軸反向進(jìn)給程序Y軸反向進(jìn)給程序flag_3=flag_3+2*x_g2+1 ,x_g2=x_g2+1flag_3=flag_3+2*y_g2+1 ,y_g2=y_g2+1Flag_finish= Flag_finish1圖84 順圓插補(bǔ)流程圖 逆圓插補(bǔ)程序分析3214214Y3N YN開始x_g2= x_start_valuey_g2= y_start_valueFlag_finish= x_finish_value x_start_value+ x_finish_value x_start_valueFlag_xiangxian=?Flag_finish=0?ENDFlag_3≥0X軸正向進(jìn)給程序Y軸正向進(jìn)給程序X軸反向進(jìn)給程序Y軸反向進(jìn)給程序flag_3=flag_32*x_g2+1 ,x_g2=x_g21flag_3=flag_32*y_g2+1 ,y_g2=y_g21Flag_xiangxian=?X軸正向進(jìn)給程序Y軸正向進(jìn)給程序X軸反向進(jìn)給程序Y軸反向進(jìn)給程序flag_3=flag_3+2*x_g2+1 ,x_g2=x_g2+1flag_3=flag_3+2*y_g2+1 ,y_g2=y_g2+1Flag_finish= Flag_finish1圖85 逆圓插補(bǔ)流程圖逆圓插補(bǔ)流程圖見圖85。如果為象限三則運行Y軸正向進(jìn)給程序,進(jìn)行偏差判別運算flag_3=flag_32*y_g2+1,改變坐標(biāo)值y_g2=y_g21。在圖38中,用SR和NR分別表示順圓弧和逆圓弧,所以可以用SRSRSRSRNRNRNRNR4 8種圓弧分別表示第一至第四象限的順圓弧和逆圓弧。 圓弧插補(bǔ)中的終點判別機(jī)制圓弧插補(bǔ)的終點判別方法和直線插補(bǔ)相同。令瞬間加工點為m(Xm,Ym),它與圓心的距離為Rm,顯然,可以比較Rm和R來反映加工誤差。若已經(jīng)插補(bǔ)到終點,則返回監(jiān)控,否則重復(fù)以上過程。特別要注意,加工的起點是坐標(biāo)原點,起點的偏差是已知的,即F0=0。7 XY數(shù)控工作臺直線插補(bǔ)軟件設(shè)計 逐點比較法的直線插補(bǔ)的數(shù)學(xué)原理 逐點比較法的直線查補(bǔ)的偏差判別機(jī)制根據(jù)逐點比較法插補(bǔ)原理,必須把每一插值點(動點)的實際位置與給定軌跡的理想位置間的誤差,即“偏差”算出來,根據(jù)偏差的正、負(fù)決定下一步的走向,來逼近給定軌跡。 插補(bǔ)總流程分析2341開始flag_g=?逆圓插補(bǔ)程序END直線插補(bǔ)程序快速進(jìn)給程序順圓插補(bǔ)程序圖52 插補(bǔ)總流程圖插補(bǔ)總理路程圖見圖52。 Main 函數(shù)功能解釋Main函數(shù)完成了對程序的初始化,包括打開CPU總中斷、打開定時/計數(shù)器T0中斷、打開定時/計數(shù)器T1中斷、打開外部INT1中斷、定時/計數(shù)器工作方式選擇為定時器方式一、將定時器T0/T1的計時初值分別寫入各自的計時初值寄存器、外部INTI中斷觸發(fā)方式設(shè)定為電平觸發(fā)、令電機(jī)轉(zhuǎn)向初始狀態(tài)、設(shè)定8255工作方式、在顯示內(nèi)容寄存器中存入相應(yīng)的初始數(shù)據(jù)。圖43 鍵盤硬件電路接線圖 XY數(shù)控工作臺顯示電路分析圖44 XY數(shù)控工作臺仿真顯示電路數(shù)控XY工作臺顯示電路使用的是8位8段共陰極數(shù)碼管如圖44所示,引腳A、B、C、D、E、F、G和DP是數(shù)碼管的段驅(qū)動信號輸入端口,從圖上看出,設(shè)計時連接的是8255A的PA口;引腳7和8分別是數(shù)碼管的位選擇信號輸入端口,設(shè)計時連接的是8255A的PB口。方式控制字圖38 方式選擇控制字格式C口置位/復(fù)位控制字圖39C口控制字格式4 基于PROTEUS仿真電路分析 XY數(shù)控工作臺控制系統(tǒng)仿真電路圖圖41 XY數(shù)控工作臺控制系統(tǒng)仿真電路圖 XY數(shù)控工作臺控制系統(tǒng)硬件資源及其分配XY數(shù)控工作臺控制系統(tǒng)硬件資源主要包括有:AT89C52單片機(jī)、鎖存器74LS37可編程控制器8255A、8位8段共陰數(shù)碼管、四行四列矩陣鍵盤、限位/急停按鈕、晶振電路、復(fù)位電路、以及六線制的四相八拍工作制的X和Y向步進(jìn)電動機(jī)各一個。這種方式下PA口、PB口通過編程設(shè)定為輸入口或輸出口,而PC口則分成兩部分,分別用作PA口和PB口的控制和同步信號,以便于8255A和CPU之間傳送信息和中斷請求。PC7為最高位,用于傳送I/O數(shù)據(jù)或控制/狀態(tài)信息,可以設(shè)定為輸入或輸出方式,也可設(shè)定為控制/狀態(tài)方式。若為高電平,則8255A不被選中;若為低電平,則8255A選中。數(shù)據(jù)總線緩沖器:這是一個8位雙向三態(tài)驅(qū)動器,用于8255A和單片機(jī)的數(shù)據(jù)總線相連,以實現(xiàn)8255A與單片機(jī)的數(shù)據(jù)發(fā)送。表312 AT89C52單片機(jī)P0口和P3口引腳的第二功能口線第二功能信號名稱T2定時器/計數(shù)器2的外部計數(shù)輸入或時鐘輸出T2EX定時器/計數(shù)器2的捕捉/重載觸發(fā)信號和方向控制RXD串行數(shù)據(jù)接收TXD串行數(shù)據(jù)發(fā)送外部中斷0請求信號輸入外部中斷1請求信號輸入T0定時器/計數(shù)器0計數(shù)輸入T1定時器/計數(shù)器1計數(shù)輸入外部RAM寫選通外部RAM讀選通 可編程并行接口芯片8255A8255A有24條I/O線,分為A、B、C共3個端口來使用;8條數(shù)據(jù)線,用于數(shù)據(jù)和控制命令傳送;兩條地址線,讀/寫時用于選擇片內(nèi)的控制寄存器或A、B、C口對應(yīng)的3個端口寄存器PA、PB、PC;讀/寫信號控制線各一根;還有復(fù)位信號,片選信號、電源等引腳。/VPP:外部訪問允許。圖35 PDIP封裝形式的AT89C52單片機(jī)引腳排列VCC:電源電壓GND:接地RST:復(fù)位輸入。PS=1設(shè)定串行口為高優(yōu)先級中斷;PS=0為低優(yōu)先級中斷PT1T1中斷優(yōu)先級控制位。ET2定時器/計數(shù)器T2中斷控制位,ET2=1,允許T2計數(shù)溢出中斷;ET2=0,禁止T2中斷。表38 中斷允許控制寄存器IED7D6D5D4D3D2D1D0EA ET2ESET1EX1ET0EX0表39 中斷優(yōu)先級控制寄存器IPD7D6D5D4D3D2D1D0——PT2PSPT1PX1PT0PX0表310 中斷控制專用寄存器標(biāo)志位的功能特殊功能寄存器標(biāo)志位定義和功能控制寄存器 TCONIE1外部中斷請求標(biāo)志位。6個中斷源有兩個中斷優(yōu)先級,可形成中斷嵌套,并在程序存儲器中各有固定的中斷入口地址??刂萍拇嫫鱐CON見表34,方式控制寄存器TMOD表35,其相應(yīng)標(biāo)志位的功能及編程時的使用方法見表337。兩種讀端口的方式。圖34 片內(nèi)數(shù)據(jù)寄存器的結(jié)構(gòu)表32 工作寄存器激活地址表組 號RS1 () RS1 () R0R1R2R3R4R5R6R700000H01H02H03H04H05H06H07H10108H09H0AH0BH0CH0DH0EH0FH21010H11H12H13H14H15H16H17H31118H19H1AH1BH1CH1DH1EH1FH表33 特殊功能寄存器SFR特殊功能寄存器功能名稱物理地址可否位尋址B寄存器BF0H可以A(ACC)累加器E0H可以PSW程序狀態(tài)寄存器(標(biāo)志寄存器)D0H可以IP中斷優(yōu)先級控制寄存器B8H可以P3P3口鎖存器B0H可以IE中斷允許控制寄存器A8H可以P2P2口鎖存器A0H可以SBUF串行數(shù)據(jù)緩沖器99H不可以SCON串行接口控制寄存器98H可以P1P1口鎖存器90H可以TH1T1計數(shù)器高8位寄存器8DH不可以TH0T0計數(shù)器高8位寄存器8CH不可以TL1T1計數(shù)器低8位寄存器8BH不可以TL0T0計數(shù)器低8位寄存器8AH不可以TMOD定時器/計數(shù)方式控制寄存器89H不可以TCON定時器控制寄存器88H可以PCON電源控制寄存器87H不可以DPH數(shù)據(jù)指針高8位83H不可以DPL數(shù)據(jù)指針低8位82H不可以SP堆棧指針寄存器81H不可以P0P0口鎖存器80H可以(3)AT89C52單片機(jī)的I/O接口AT89C52單片機(jī)內(nèi)部集成了4個可編程的并行I/O接口(P0~P3),每個接口電路都有鎖存器和驅(qū)動器,輸入接口電路具有三態(tài)門控制。圖33 存儲器空間分布圖(2)AT89C52單片機(jī)的存儲器AT89C52單片機(jī)芯片內(nèi)配置有8KB(0000H~1FFFH)的Flash程序存儲器ROM和256字節(jié)(00H~FFH)的數(shù)據(jù)存儲器RAM,根據(jù)需要可外擴(kuò)到最大64KB的程序存儲器和64KB的數(shù)據(jù)存儲器,因此AT89C52的存儲器結(jié)構(gòu)可分為4部分:片內(nèi)程序存儲器、片外程序存儲器、片內(nèi)數(shù)據(jù)存儲器和片外數(shù)據(jù)存儲器(見圖33)。00時為工作寄存器0組,01時為工作寄存器1組,10時為工作寄存器2組,11時為工作寄存器3組OV溢出標(biāo)志位所謂溢出是指運算結(jié)果數(shù)值的絕對值超過了允許表示的最大值,執(zhí)行運算指令時,如果運算結(jié)果超出了目的寄存器A所能夠表示的符號數(shù)的范圍(128~+127),硬件自動置位溢出標(biāo)志位,即OV=1;否則OV=0。(1)AT89C52單片機(jī)的CPUAT89C52單片機(jī)的CPU是8位字長,主要包括運算器和控制器兩部分。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。圖21 四相步進(jìn)電機(jī)步進(jìn)示意圖圖21為四相步進(jìn)電動機(jī)步進(jìn)示意圖。⑤ 將沒有錯誤的絕對目標(biāo)代碼裝入μVision2調(diào)試器進(jìn)行仿真調(diào)試,調(diào)試成功后將HEX文件寫入到單片機(jī)應(yīng)用系統(tǒng)的EPROM中[2] 周潤景,張麗娜,[M].北京:機(jī)械工業(yè)出版社,2007,第82頁.。 程序開發(fā)環(huán)境KeilμVision2簡介μVision2是一個標(biāo)準(zhǔn)的Windows應(yīng)用程序,支持長文件名操作,其界面類似于MS Visual C++,可以再Windows95/98/2000/XP平臺上運行,功能十分強(qiáng)大。本次設(shè)計的XY數(shù)控工作臺選用的是微機(jī)控制系統(tǒng)(AT89C52單片機(jī)),在基于AT89C52單片機(jī)的原理上設(shè)計了一個小型的微機(jī)控制系統(tǒng),運用C51編程將控制信號送到執(zhí)行器件(X和Y向步進(jìn)電動機(jī)),通過機(jī)械傳動機(jī)構(gòu)(齒輪減速和絲桿傳動),帶動機(jī)械執(zhí)行機(jī)構(gòu)(工作臺)做X向和Y向的運動;實現(xiàn)四象限單坐標(biāo)快速定位,雙坐標(biāo)直線、圓弧插補(bǔ)等功能;最終選擇通過Proteus與Keil聯(lián)機(jī)對設(shè)計的電路以及程序進(jìn)行仿真、 仿真開發(fā)環(huán)境Proteus簡介Proteus ISIS是美國Labcenter公司開發(fā)的電路分析與實物仿真軟件。 and write the code handler,so CPU according to the information which have been read(G code and the Xaxis and Yaxis coordinates), output signals to two stepper motor separately for control the table how to move on Xaxis and Yaxis to finish the specified process. The design of the software programs used KeilμVision2 pile and debug, debugging at the Proteus and get the results of simulation. the results of the design of the program in the simulation by Proteus is wonderful, when simulation the program, just need input G code by the keyboard, stepper motor can control the table through linear interpolation and circular interpolation to finish plane contour machining.Key words: Interpolation XY NC Worktable Stepping Motor MicrocontrollerI目 錄摘 要 IABSTRACT II前言 11 XY數(shù)控工作臺