逐點(diǎn)比較法直線插補(bǔ)原理的實(shí)現(xiàn)_第1頁(yè)
逐點(diǎn)比較法直線插補(bǔ)原理的實(shí)現(xiàn)_第2頁(yè)
逐點(diǎn)比較法直線插補(bǔ)原理的實(shí)現(xiàn)_第3頁(yè)
逐點(diǎn)比較法直線插補(bǔ)原理的實(shí)現(xiàn)_第4頁(yè)
逐點(diǎn)比較法直線插補(bǔ)原理的實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

武漢理工大學(xué)華夏學(xué)院課程設(shè)計(jì)報(bào)告書(shū)題目:系名:專(zhuān)業(yè)班級(jí):姓名:學(xué)號(hào):指導(dǎo)教師:2011年6月摘要本文主要討論利用逐點(diǎn)比較法實(shí)現(xiàn)第一象限的直線插補(bǔ)。所謂逐點(diǎn)比較插補(bǔ),就是刀具或繪圖筆每走一步都要和給點(diǎn)軌跡上的坐標(biāo)值進(jìn)行比較,看這點(diǎn)在給點(diǎn)軌跡的上方還是下方,從而決定下一步的進(jìn)給方向。對(duì)于本設(shè)計(jì)所要求的直線軌跡,如果該點(diǎn)在直線的上方,那么控制步進(jìn)電機(jī)向+X方向進(jìn)給一步,如果該點(diǎn)在直線的下方,那么控制步進(jìn)電機(jī)向+Y軸方向進(jìn)給一步。如此,走一步、看一看,比較一次,決定下一步的走向,以便逼近給定軌跡,即形成逐點(diǎn)比較插補(bǔ)。插補(bǔ)計(jì)算時(shí),每走一步,都要進(jìn)行以下四個(gè)步驟的計(jì)算過(guò)程,即偏差判別、坐標(biāo)進(jìn)給、偏差計(jì)算、終點(diǎn)判斷。設(shè)計(jì)具體算法時(shí),首先根據(jù)直線軌跡參數(shù),計(jì)算出偏差計(jì)算公式及遞推公式。由程序判斷出偏差的正負(fù)號(hào),從而決定坐標(biāo)的進(jìn)給方向,再根據(jù)遞推公式計(jì)算出坐標(biāo)進(jìn)給后的偏差,假設(shè)未到達(dá)終點(diǎn),那么返回偏差判別,如此循環(huán)??梢愿鶕?jù)起點(diǎn)和終點(diǎn)的坐標(biāo)位置,計(jì)算出總的進(jìn)給步數(shù)Nxy,X或Y的坐標(biāo)每進(jìn)給一步,這個(gè)值就減一,假設(shè)Nxy=0,就到達(dá)了終點(diǎn),這就是終點(diǎn)判別的方法。設(shè)計(jì)任務(wù)及要求設(shè)計(jì)一個(gè)計(jì)算機(jī)控制步進(jìn)電機(jī)系統(tǒng),該系統(tǒng)利用PC機(jī)的并口輸出控制信號(hào),其信號(hào)驅(qū)動(dòng)后控制X、Y兩個(gè)方向的三相步進(jìn)電機(jī)轉(zhuǎn)動(dòng),利用逐點(diǎn)比較法插補(bǔ)繪制出各種曲線。1〕設(shè)計(jì)硬件系統(tǒng),畫(huà)出電路原理框圖;2〕定義步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的控制字;3〕推導(dǎo)出用逐點(diǎn)比較法插補(bǔ)繪制出下面曲線的算法;4〕編寫(xiě)算法控制程序線;5〕撰寫(xiě)設(shè)計(jì)說(shuō)明書(shū)。每人選一個(gè)曲線,曲線均為第一象限,屏幕左下角為坐標(biāo)原點(diǎn),箭頭表示曲線繪制的方向,直線參數(shù)為:起點(diǎn)、終點(diǎn)坐標(biāo)。圓弧參數(shù)為:起點(diǎn)、終點(diǎn)坐標(biāo)和半徑。直線一:直線二:直線三直線四圓弧一圓弧二目錄1設(shè)計(jì)任務(wù)和要求 12設(shè)計(jì)步驟 12.1硬件設(shè)計(jì) 12.1.1接口示意圖 12.1.2方案論證 22.1.3單片機(jī)與8255的接口 32.1.4硬件接線原理圖 32.1.5元件清單 42.2軟件設(shè)計(jì) 52.2.1軟件設(shè)計(jì)原理 52.2.28255的初始化編程 62.2.3步進(jìn)電機(jī)走步控制程序 72.2.4主程序 82.3運(yùn)行調(diào)試 92.3.1系統(tǒng)安裝調(diào)試 92.3.2結(jié)果驗(yàn)證 93課程設(shè)計(jì)體會(huì) 10參考文獻(xiàn) 10附錄一芯片資料 11附錄二源程序 12逐點(diǎn)比較插補(bǔ)原理的實(shí)現(xiàn)1設(shè)計(jì)任務(wù)和要求設(shè)計(jì)一個(gè)微型計(jì)算機(jī)控制步進(jìn)電機(jī)系統(tǒng),該系統(tǒng)利用微型機(jī)的并口輸出控制信號(hào),其信號(hào)驅(qū)動(dòng)后控制X、Y兩個(gè)方向的三相步進(jìn)電機(jī)轉(zhuǎn)動(dòng),利用逐點(diǎn)比較法插補(bǔ)原理繪制出如以下圖所示的目標(biāo)曲線。圖1目標(biāo)曲線2設(shè)計(jì)步驟本設(shè)計(jì)大致可分為三個(gè)步驟:硬件設(shè)計(jì)、軟件設(shè)計(jì)和系統(tǒng)的運(yùn)行調(diào)試。2.1硬件設(shè)計(jì)接口示意圖兩臺(tái)三相步進(jìn)電機(jī)控制接口如圖2所示。圖2系統(tǒng)接口示意圖方案論證單片機(jī)的接口電路可以是鎖存器,也可以是專(zhuān)門(mén)的接口芯片,本設(shè)計(jì)采用可編程接口芯片8255。由于步進(jìn)電機(jī)需要的驅(qū)動(dòng)電流比較大,所以單片機(jī)和步進(jìn)電機(jī)的連接還要有驅(qū)動(dòng)電路,如何設(shè)計(jì)驅(qū)動(dòng)電路成了問(wèn)題的關(guān)鍵。設(shè)計(jì)方案一如圖3所示,當(dāng)某相上驅(qū)動(dòng)信號(hào)變?yōu)楦唠娖綍r(shí),達(dá)林頓管導(dǎo)通,從而使得該相通電。圖3驅(qū)動(dòng)電路方案一設(shè)計(jì)方案二如圖4所示,在單片機(jī)與驅(qū)動(dòng)器之間增加一級(jí)光電隔離,當(dāng)驅(qū)動(dòng)信號(hào)為高電平時(shí),發(fā)光二極管發(fā)光,光敏三極管導(dǎo)通,從而使達(dá)林頓管截止,該相不通電;當(dāng)驅(qū)動(dòng)信號(hào)為低電平時(shí),那么步進(jìn)電機(jī)的該相通電。圖4驅(qū)動(dòng)電路方案二綜合比較兩種設(shè)計(jì)方案可知,方案二有抗干擾能力,且可防止一旦驅(qū)動(dòng)電路發(fā)生故障,造成高電平信號(hào)進(jìn)入單片機(jī)而燒毀器件。所以,本設(shè)計(jì)選擇方案二。單片機(jī)與8255的接口MCS-51單片機(jī)可以和8255直接連接而不需要任何外加邏輯器件,接口示意圖如圖5所示。因?yàn)?255的B口和C口具有驅(qū)動(dòng)達(dá)林頓管的能力,所以將采用B口和C口輸出驅(qū)動(dòng)信號(hào)。圖5單片機(jī)與8255的接口硬件接線原理圖圖6系統(tǒng)硬件接線原理圖單片機(jī)控制步進(jìn)電機(jī)的硬件接線如圖6所示。因?yàn)?255的片選信號(hào)接單片機(jī)的地址線P2.7,A1、A0通過(guò)地址鎖存器接到了8051單片機(jī)的地址線P0.1和P0.0,由硬件接線圖可以清楚地知道,8255的各口地址為:A口地址:7FFCHB口地址:7FFDHC口地址:7FFEH控制口地址:7FFFH同時(shí),B口和C口都作為輸出口,8255工作在方式0。下面以8255的B口輸出端PB0為例說(shuō)明控制的工作原理。假設(shè)PB0輸出0,經(jīng)反相器74LS04后變?yōu)楦唠娖剑l(fā)光二極管正向?qū)òl(fā)光。在光線的驅(qū)動(dòng)下,光敏三極管導(dǎo)通,+5V的電壓經(jīng)三極管引入地線而不驅(qū)動(dòng)達(dá)林頓管。因而,達(dá)林頓管截止,X軸上步進(jìn)電機(jī)的C相不通電。假設(shè)PB0輸出1,反相后變?yōu)榈碗娖?,發(fā)光二極管不導(dǎo)通。從而光敏三極管截止,+5V電壓直接驅(qū)動(dòng)達(dá)林頓管導(dǎo)通,X軸上步進(jìn)電機(jī)的C相有從電源流向地線的電流回路,即C相得電。元件清單表1元件清單表名稱位號(hào)型號(hào)數(shù)量單片機(jī)——80511地址鎖存器——74LS3731并行接口芯片——8255A1反相器——74LS046電阻R1—R241K24光電三極管U1—U34N253達(dá)林頓管Q1—Q6NPNDAR6二極管D1—D6IN400162.2軟件設(shè)計(jì)軟件設(shè)計(jì)原理.1直線插補(bǔ)原理逐點(diǎn)比較法的根本原理是,在刀具按要求軌跡運(yùn)動(dòng)加工零件輪廓的過(guò)程中,不斷比較刀具與被加工零件輪廓之間的相對(duì)位置,并根據(jù)比較結(jié)果斷定下一步的進(jìn)給方向,使刀具向減小偏差的方向進(jìn)給。圖7第一象限直線如圖7所示,設(shè)直線的起點(diǎn)為坐標(biāo)原點(diǎn),終點(diǎn)坐標(biāo)為A〔,〕,點(diǎn)m(,)為加工點(diǎn)〔動(dòng)點(diǎn)〕。定義偏差公式為。假設(shè)=0,說(shuō)明點(diǎn)m在OA直線段上;假設(shè)>0,說(shuō)明點(diǎn)m在OA直線段上方,即點(diǎn)m’處;假設(shè)<0,說(shuō)明點(diǎn)m在OA直線段下方,即點(diǎn)m’’處。由此可得第一象限直線逐點(diǎn)比較法插補(bǔ)的原理是:從直線的起點(diǎn)出發(fā),當(dāng)0時(shí),沿+x軸方向走一步;當(dāng)<0時(shí),沿+y軸方向走一步;當(dāng)兩方向所走的步數(shù)與終點(diǎn)坐標(biāo)〔,〕相等時(shí),發(fā)出終點(diǎn)到信號(hào),停止插補(bǔ)。可以將上面所定義的偏差公式進(jìn)一步簡(jiǎn)化,推導(dǎo)出偏差的遞推公式。當(dāng)0時(shí),沿+x軸方向進(jìn)給一步,〔1〕②當(dāng)<0時(shí),沿+y軸方向進(jìn)給一步,〔2〕式〔1〕和式〔2〕是簡(jiǎn)化后偏差的計(jì)算公式,在公式中只有一次加法或減法運(yùn)算,新加工點(diǎn)的偏差都可由前一點(diǎn)偏差和終點(diǎn)坐標(biāo)相加或相減得到。.2步進(jìn)電機(jī)工作原理步進(jìn)電機(jī)有三相、四相、五相、六相等多種,本設(shè)計(jì)采用三相步進(jìn)電機(jī)的三相六拍工作方式,其通電順序?yàn)椤飨嗤姷碾妷翰ㄐ稳鐖D8所示。圖8三相六拍工作的電壓波形當(dāng)步進(jìn)電機(jī)的相數(shù)和控制方式確定之后,PB0—PB2和PC0—PC2輸出數(shù)據(jù)變化的規(guī)律就確定了,這種輸出數(shù)據(jù)變化規(guī)律可用輸出字來(lái)描述。為了便于尋找,輸出字以表的形式存放在計(jì)算機(jī)指定的存儲(chǔ)區(qū)域。表2給出了三相六拍控制方式的輸出字表。表2三相六拍控制方式輸出字表步序控制位工作狀態(tài)控制字表C相B相A相1001A01H2011AB03H3010B02H4110BC06H5100C04H6101CA05H2.2.28255的初始化編程由前面的分析知道,8255工作在方式0,控制口地址為7FFFH,控制字為90H。所以,8255的初始化編程如下。MOVDPTR,#7FFFH;控制口地址送DPTRMOVA,#90H;控制字送存放器AMOVX@DPTR,A;將控制字寫(xiě)入控制口步進(jìn)電機(jī)走步控制程序.1程序流程圖圖9步進(jìn)電機(jī)走步控制程序流程圖.2匯編程序代碼以下為X軸上電機(jī)的步進(jìn)控制算法,Y軸上步進(jìn)電機(jī)算法類(lèi)似。XCOTROL:MOVDPTR,#ADX;將控制字表地址賦給DPTHMOVA,R2;表首偏移量送AMOVCA,@A+DPTR;讀取當(dāng)前步進(jìn)電機(jī)的控制字MOVDPTR,#7FFDH;PB口地址送DPTRMOVX@DPTR,A;將步進(jìn)電機(jī)的控制字傳送到PB口CJNEA,#05H,LOOP3;假設(shè)到表尾,轉(zhuǎn)LOOP3INCR2;未到表尾,表首偏移量加1SJMPDELAY1LOOP3:MOVR2,#00H;表首偏移量清零SJMPDELAY1DELAY1:MOVR0,#FFH;延時(shí)DJNZDELAY1RET;返回主程序.1主程序流程圖圖10主程序流程圖.2源程序代碼首先分配各變量的地址為,NXY:4FH,50H;XE:4DH,4EH;YE:4BH,4CH;FM:49H,4AH,高位存高地址,地位存進(jìn)低地址。源程序代碼見(jiàn)附錄二。2.3運(yùn)行調(diào)試系統(tǒng)安裝調(diào)試按照硬件接線圖將系統(tǒng)安裝好后,裝入程序,執(zhí)行后查看步進(jìn)電機(jī)的走步軌跡。結(jié)果驗(yàn)證假設(shè)終點(diǎn)坐標(biāo)〔,〕為〔4,3〕,插補(bǔ)計(jì)算過(guò)程如表3所示。表3直線插補(bǔ)計(jì)算過(guò)程步數(shù)偏差判別坐標(biāo)進(jìn)給偏差計(jì)算終點(diǎn)判別起點(diǎn)=0=71+X=0-3=-3=62+Y=-3+4=1=53+X=1-3=-2=44+Y=-2+4=2=35+X=2-3=-1=26+Y=-1+4=3=17+X=3-3=0=0根據(jù)上表,可作出步進(jìn)電機(jī)的走步軌跡如圖11所示。假設(shè)輸入的參數(shù)為XE=4,YE=3,系統(tǒng)走步軌跡與以下圖比較,可判斷出設(shè)計(jì)的正確性。圖11步進(jìn)電機(jī)走步軌跡3課程設(shè)計(jì)體會(huì)通過(guò)一個(gè)多星期的課程設(shè)計(jì),我對(duì)這門(mén)課有了進(jìn)一步的了解。學(xué)習(xí)過(guò)程中在老師的耐心指導(dǎo)下,有意識(shí)的培養(yǎng)和建立了我的思維能力,使我真正建立數(shù)據(jù)及信息流的概念,以便在控制應(yīng)用中,能夠使軟件和硬件有機(jī)地結(jié)合。通過(guò)單片機(jī)對(duì)步進(jìn)電機(jī)的控制系統(tǒng)設(shè)計(jì),讓我真正的掌握了微型計(jì)算機(jī)軟件和硬件相結(jié)合的設(shè)計(jì)方法。工業(yè)控制是計(jì)算機(jī)的一個(gè)重要應(yīng)用領(lǐng)域,計(jì)算機(jī)控制正是為了適應(yīng)這一領(lǐng)域的需要而開(kāi)展起來(lái)的一門(mén)專(zhuān)門(mén)技術(shù),它主要研究如何將計(jì)算機(jī)技術(shù)和自動(dòng)控制理論應(yīng)用于工業(yè)生產(chǎn)過(guò)程,并設(shè)計(jì)出所需要的計(jì)算機(jī)控制系統(tǒng)。而當(dāng)代,隨著微型計(jì)算機(jī)的高度開(kāi)展。它的應(yīng)用在人們的工作和日常生活中越來(lái)越普遍了。工業(yè)過(guò)程控制是計(jì)算機(jī)的一個(gè)重要應(yīng)用領(lǐng)域?,F(xiàn)在可以好不夸張的說(shuō),沒(méi)有微型計(jì)算機(jī)的儀器不能乘為先進(jìn)的儀器,沒(méi)有微型計(jì)算機(jī)的控制系統(tǒng)不能稱其為現(xiàn)代控制系統(tǒng)的時(shí)代已經(jīng)到來(lái)。微型計(jì)算控制技術(shù)正為了適應(yīng)這一領(lǐng)域的需要而開(kāi)展起來(lái)的一門(mén)技術(shù)。絕大多數(shù)自動(dòng)控制都是使用計(jì)算機(jī)來(lái)實(shí)現(xiàn)的;微型計(jì)算機(jī)控制技術(shù)的開(kāi)展,使得以微型計(jì)算機(jī)為控制器核心的微機(jī)測(cè)控裝置與系統(tǒng),滲透到了國(guó)民經(jīng)濟(jì)的各行各業(yè),已經(jīng)無(wú)時(shí)無(wú)處不在影響每個(gè)現(xiàn)代人的生活。只有態(tài)度認(rèn)真的對(duì)待這門(mén)學(xué)科才能真正掌握其中的精髓,在將來(lái)的工作中或許起著至關(guān)重要的作用。參考文獻(xiàn)[1]賀亞茹.匯編語(yǔ)言程序設(shè)計(jì).北京:科學(xué)出版社,2005[2]卜艷萍、周偉.匯編語(yǔ)言程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,2004[3]溫玉杰.Intel匯編語(yǔ)言程序設(shè)計(jì)〔第四版〕.北京:電子工業(yè)出版社,2004[4]鄭學(xué)堅(jiān)、周斌.微型計(jì)算機(jī)原理與應(yīng)用.北京:清華大學(xué)出版社,2000[5]于海生.微型計(jì)算機(jī)控制技術(shù).北京:清華大學(xué)出版社,1998[6]沈美明、溫冬嬋.IBM-PC匯編語(yǔ)言程序設(shè)計(jì).北京:清華大學(xué)出版社,2002[7]何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2003附錄一芯片資料圖118051單片機(jī)引腳圖圖12可編程芯片8255A引腳圖附錄二源程序ORG0100HMOVDPTR,#7FFFH;控制口地址送DPTRMOVA,#90H;控制字送存放器AMOVX@DPTR,A;將控制字寫(xiě)入控制口,初始化8255MOV4EH,?;XE的低8位存入4EHMOV4DH,?;XE的高8位存入4DHMOV4CH,?;YE的低8位存入4CHMOV4BH,?;YE的高8位存入4BHMOVA,4EHADDA,4CH;XE與YE低8位相加MOV50H,A;低位之和存入NXY低8位MOVA,4DHADDCA,4BH;XE與YE的高8位帶進(jìn)位相加MOV4FH,A;和存入NXY高8位MOV4AH,#00H;將FM置零MOV49H,#00HCLRR2;表ADX偏移量清零CLRR3;表ADY偏移量清零LOOP1:MOVA,49H;取偏差的高8位JBACC.7,YCONTROL;假設(shè)FM<0,轉(zhuǎn)到Y(jié)CONTROLACALLXCONTROL;否那么,調(diào)XCONTROLCLRC;進(jìn)位存放器清零MOVA,4AHSUBBA,4CH;FM與YE的低8位相減MOV4AH,A;結(jié)果存入FM低8位MOVA,49HSUBBA,4BH;FM與YE的高8位相減MOV49H,A;結(jié)果存入FM高8位LOOP2:CLRCMOVA,50HSUBBA,#01H;NXY低位值減1MOV50H,A;結(jié)果存入NXY的低位MOVA,4FHSUBBA,#00H;考慮低位字節(jié)借位MOV4FH,A;減去借位后存入NXY的高位ORLA,50H;判斷NXY是否為零JNZLOOP1;不為零那么轉(zhuǎn)到LOOP1LJMP8000HXCOTROL:MOVDPTR,#ADX;將控制字表地址賦給DPTHMOVA,R2;表首偏移量送AMOVCA,@A+DPTR;讀取當(dāng)前步進(jìn)電機(jī)的控制字MOVDPTR,#7FFDH;PB口地址送DPTRMOVX@DPTR,A;將步進(jìn)電機(jī)的控制字傳送到PB口CJNEA,#05H,LOOP3;假設(shè)到表尾,轉(zhuǎn)LOOP3INCR2;未到表尾,表首偏移量加1SJMPDELAY1LOOP3:MOVR2,#00H;表首偏移量清零SJMPDELAY1DELAY1:MOVR0,#FFH;延時(shí)DJNZDELAY1RET;返回YCOTROL:MOVDPTR,#ADY;將控制字表地址賦給DPTHMOVA,R3;ADY表首偏移量送AMOVCA,@A+DPTR;讀取當(dāng)前步進(jìn)電機(jī)的控制字MOVDPTR,#7FFEH;PC口地址送DPTRMOVX@DPTR,A;將步進(jìn)電機(jī)的控制字傳送到PC口CJNEA,#05H,LOOP4;假設(shè)到表尾,轉(zhuǎn)LOOP4INCR3;未到表尾,表首偏移量加1SJMPDELAY2LOOP4:MOVR3,#00H

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論