


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、龍巖學(xué)院畢業(yè)論文 設(shè)計(jì))題目基于單片機(jī)的步進(jìn)電動(dòng)機(jī) 控制系統(tǒng)設(shè)計(jì)專業(yè): 電氣項(xiàng)目及其自動(dòng)化作者: 謝吉湖指導(dǎo)教師(職稱 :劉生建(講師二00九年三月 日龍巖學(xué)院畢業(yè)論文 設(shè)計(jì))開(kāi)題報(bào)告2009年 3月 日論文 設(shè)計(jì))題目:基于單片機(jī)的步進(jìn)電動(dòng)機(jī)控制系統(tǒng)的設(shè)計(jì)姓名謝吉湖年級(jí)2006 級(jí)所在院系物理與機(jī)電項(xiàng)目學(xué)院專業(yè)電氣項(xiàng)目及其自動(dòng)化指導(dǎo)教師劉生建開(kāi)展本課題的意義及工作內(nèi)容:數(shù)字化電動(dòng)機(jī)控制技術(shù)的發(fā)展使電機(jī)這個(gè) 古老的機(jī)電能量轉(zhuǎn)換裝置得到新的發(fā)展和廣泛運(yùn)用,極大的改善了工農(nóng)業(yè) 的生產(chǎn)效率,改善了人民的生活水平。步進(jìn)電動(dòng)機(jī)是純粹的數(shù)字控制電動(dòng) 機(jī),它將電脈沖信號(hào)轉(zhuǎn)變成角位移,即給 個(gè)脈沖信號(hào),步進(jìn)電
2、動(dòng)機(jī)就轉(zhuǎn) 一個(gè)角度,因此非常適合于單片機(jī)控制??傮w安排及進(jìn)度:第1周:到圖書(shū)管或上網(wǎng)查找資料第2周:整理所找來(lái)的資料第3周:初步完成本系統(tǒng)的設(shè)計(jì)給指導(dǎo)老師批改第4周:根據(jù)老師的點(diǎn)評(píng)完善本系統(tǒng)的設(shè)計(jì)課題預(yù)期達(dá)到的效果:本文以單片機(jī)為控制核心,達(dá)到理想的步進(jìn)電動(dòng)機(jī) 位置控制和加減速控制。指導(dǎo)教師意見(jiàn):簽名:基于單片機(jī)的步進(jìn)電動(dòng)機(jī)控制系統(tǒng)設(shè)計(jì)學(xué)院:物理與機(jī)電項(xiàng)目學(xué)院 專業(yè):電氣項(xiàng)目及其自動(dòng)化學(xué)號(hào): 2006040632 姓名:謝吉湖 指導(dǎo)老師:劉生建【摘要】 數(shù)字化電機(jī)控制技術(shù)的發(fā)展使得電機(jī)這一古老的機(jī)電能量轉(zhuǎn)換裝置得到新的發(fā)展和廣泛的應(yīng)用,并極大 地提高了工農(nóng)業(yè)生產(chǎn)效率,改善了人民的生活水平。步進(jìn)
3、電動(dòng)機(jī)是純粹的數(shù)字控制電動(dòng)機(jī),它將電脈沖信號(hào)轉(zhuǎn)變成 角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電動(dòng)機(jī)就轉(zhuǎn)一個(gè)角度,因此非常適合于單片機(jī)控制。為了提高步進(jìn)電機(jī)控制系統(tǒng) 的動(dòng)態(tài)性能和控制精度提出基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)方法,包括系統(tǒng)硬件、軟件及加減速控制算法的設(shè) 計(jì)?!娟P(guān)鍵詞】 單片機(jī) 步進(jìn)電機(jī)控制系統(tǒng) 位置控制 加減速控制目錄摘要、關(guān)鍵詞 3第一章 三相反應(yīng)式步進(jìn)電動(dòng)機(jī)原理及控制 5一 三相反應(yīng)式步進(jìn)電機(jī)的工作原理 5二 步進(jìn)電動(dòng)機(jī)控制 6第二章 系統(tǒng)硬件設(shè)計(jì) 6一 脈沖分配電路 6二 功率放大電路設(shè)計(jì) 8第三章 系統(tǒng)軟件設(shè)計(jì) 8一 位置控制 8<一)位置控制設(shè)計(jì) 8< 二)位置控制設(shè)計(jì)
4、程序?qū)崿F(xiàn) 8二 加減速控制 9<一)加減速控制設(shè)計(jì) 9< 二)加減數(shù)控制程序?qū)崿F(xiàn) 11參考文獻(xiàn)12附錄1系統(tǒng)程序13附錄2位置控制單片機(jī)程序19附錄3加減速控制單片機(jī)程序 21引言:隨著微電子技術(shù)的發(fā)展,數(shù)字信號(hào)處理器以其強(qiáng)大的運(yùn)算處理能力,較高的控制精度而在 自動(dòng)控制系統(tǒng)中普遍使用。為了提高步進(jìn)電機(jī)的控制性能和精度,本文以單片機(jī)AT89C51為控制核心,實(shí)現(xiàn)了三相反應(yīng)式步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)。第一章三相反應(yīng)式步進(jìn)電動(dòng)機(jī)概述及控制、三相反應(yīng)式步進(jìn)電機(jī)的工作原理三相反應(yīng)式步進(jìn)電動(dòng)機(jī)由轉(zhuǎn)子和定子兩大部分組成如圖1-1所示。在定子繞組上有三對(duì)磁極,磁極上裝有勵(lì)磁繞組。勵(lì)磁繞組分為三相,分
5、別為A、B、C三相繞組。步進(jìn)電機(jī)的轉(zhuǎn)子是由軟磁材料制成,在轉(zhuǎn)子上均勻分布四個(gè)凸極,極上不裝繞組,轉(zhuǎn)子的凸極也稱為轉(zhuǎn)子的齒1。轉(zhuǎn)子宦子合相通電情況日相通電情況C相通電情況圖1-1三相反應(yīng)式步進(jìn)電動(dòng)機(jī)原理圖當(dāng)步進(jìn)電動(dòng)機(jī)的 A相通電,B相和C相不通電時(shí),因?yàn)?A相繞組產(chǎn)生的磁通要經(jīng)過(guò)磁阻最小的路徑形成閉合磁路,這樣將使轉(zhuǎn)子齒13和定子A相對(duì)齊,如圖中 A相通電情況所示。當(dāng) A相斷電,改為B相通電時(shí),同A相通電情況一樣,磁通也要經(jīng)過(guò)磁阻最小的路徑形成閉合回路,這樣轉(zhuǎn) 子順時(shí)針轉(zhuǎn)過(guò)一定角度,使轉(zhuǎn)子齒2、4與B相對(duì)齊,轉(zhuǎn)子在空間轉(zhuǎn)過(guò)的角度為300,如圖B相通電所示。當(dāng)B相改為C相時(shí),同時(shí)可使轉(zhuǎn)子順時(shí)針轉(zhuǎn)過(guò)
6、的角度為300空間角度,如圖 C相通電所示。若按照A-B-C-A的通電順序往復(fù)下去,則步進(jìn)電機(jī)的轉(zhuǎn)子將按一定速度沿逆時(shí)針?lè)较蛐D(zhuǎn),步進(jìn)電 機(jī)轉(zhuǎn)速取決于三相控制繞組的通、斷電源的頻率。當(dāng)按 A-C-B-A順時(shí)針通電時(shí),步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方 向?qū)⒏臑轫槙r(shí)針。在步進(jìn)電機(jī)控制過(guò)程中,定子繞組每改變一次通電方式,稱為一拍。上述的通電控制方式,因 為每次只有一相控制繞組通電,稱為三相當(dāng)三拍控制方式,除此控制方式外,還有三相單、雙六拍 工作方式和三相雙三拍控制方式,在三相單、雙六拍工作方式中,控制繞組通電順序?yàn)锳-AB-B-BC-C-CA-A或A-AC-C-CB-B-BA-A。在三相雙三拍控制方式中,控制繞組通
7、電順序?yàn)锳B-BC-CA-AB或AC-CB-BA-ACo步進(jìn)電機(jī)每改變一次通電狀態(tài)<一拍)轉(zhuǎn)子轉(zhuǎn)過(guò)的角度稱為步進(jìn)點(diǎn)饑的步距角,從圖中可以看出三相單三拍的步距角為30°,而三相單、雙六拍步距角為150,三相雙三拍的步距角為300。步進(jìn)電機(jī)的步距角-se可通過(guò)下式計(jì)算360° mZrC<1-1 )式中的m為步進(jìn)電機(jī)的相數(shù),對(duì)于三相步進(jìn)電機(jī)m=3 ; C為通電狀態(tài)系數(shù),對(duì)于單拍或雙拍方式工作時(shí)C =1 ;單雙拍混合方式時(shí) C =2 ; Zr為步進(jìn)電機(jī)轉(zhuǎn)子的齒數(shù)。步進(jìn)電機(jī)的轉(zhuǎn)速 n可通過(guò)下式計(jì)算60f n<1-2)mZrC式中,f為步進(jìn)電機(jī)每秒的拍數(shù),成為步進(jìn)電機(jī)
8、的通電脈沖頻率。二、步進(jìn)電動(dòng)機(jī)控制步進(jìn)電動(dòng)機(jī)是數(shù)字控制系統(tǒng)中一種十分重要的自動(dòng)化執(zhí)行元件,在工業(yè)自動(dòng)化裝備,辦公自動(dòng) 化設(shè)備中有著廣泛的運(yùn)用,近年來(lái),控制技術(shù)、計(jì)算機(jī)技術(shù)以及微電子技術(shù)的迅速發(fā)展,有力地推 動(dòng)了步進(jìn)電動(dòng)機(jī)控制技術(shù)的進(jìn)步,提高了步進(jìn)電動(dòng)機(jī)運(yùn)動(dòng)控制裝置的應(yīng)用水平。過(guò)去電動(dòng)機(jī)的控制 多用模擬法,隨著計(jì)算機(jī)應(yīng)用技術(shù)的迅速發(fā)展,電動(dòng)機(jī)的控制也發(fā)生了深刻的變化,步進(jìn)電機(jī)常常 和計(jì)算機(jī)一起組成高精度的數(shù)字控制系統(tǒng)。模擬控制已經(jīng)逐漸被使用單片機(jī)為主的混合控制和全數(shù) 字控制所取代。第二章系統(tǒng)硬件設(shè)計(jì)步進(jìn)電機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成角位移的執(zhí)行機(jī)構(gòu),其轉(zhuǎn)子角位移與輸入脈沖的頻率成正 比,通過(guò)改變脈
9、沖頻率可以實(shí)現(xiàn)大范圍的調(diào)速;同時(shí),步進(jìn)電機(jī)易于與計(jì)算機(jī)和其他數(shù)字元件接 口,因此被應(yīng)用于各種數(shù)字控制系統(tǒng)中2,本設(shè)計(jì)的步進(jìn)電動(dòng)機(jī)控制系統(tǒng)由單片機(jī)<控制電路),脈沖分配電路、功率放大電路 < 驅(qū)動(dòng)電路)、步進(jìn)電動(dòng)機(jī)及電源系統(tǒng)組成組成。系統(tǒng)結(jié)構(gòu)框圖如圖2-1所示。1 一一 一II控制電路驅(qū)動(dòng)電路圖2-1 系統(tǒng)結(jié)構(gòu)框圖、脈沖分配電路由步進(jìn)電動(dòng)機(jī)的工作原理知道,要使電動(dòng)機(jī)正常的一步一步地運(yùn)行,控制脈沖必須按一定的順序分 別供給電動(dòng)機(jī)各相。給三相繞組輪流供電被稱為脈沖分配,實(shí)現(xiàn)脈沖分配的方法有硬件法和軟件法 兩種。硬件分配法由環(huán)行分配器來(lái)實(shí)現(xiàn),軟件分配法由程序從計(jì)算機(jī)接口直接控制輸出脈沖的速
10、度 和順序3。因?yàn)檐浖ㄔ陔妱?dòng)機(jī)運(yùn)行過(guò)程中,要不停產(chǎn)生控制脈沖,占用大量CPU時(shí)間,可能使單片機(jī)無(wú)法同時(shí)進(jìn)行其他工作 如監(jiān)測(cè)等),所以本系統(tǒng)采用硬件法。使用一種8713集成電路芯片。8713屬于單極性控制,用于控制三相和四相步進(jìn)電機(jī),可以選擇以下不同的工作方式:三相步進(jìn)電動(dòng)機(jī),單三拍,雙三拍,六拍 四相步進(jìn)電動(dòng)機(jī),單四拍,雙四拍,八拍8713可以選擇單時(shí)鐘輸入或雙時(shí)鐘輸入;具有正反轉(zhuǎn)控制、初始化復(fù)位、工作方式、和輸入脈沖狀態(tài)監(jiān)視等功能;所有輸入端內(nèi)部都設(shè)有斯密特整形電路,提高抗干擾能力;使用418V直流電源,輸出電流為20mA 8713有16個(gè)引腳,各引角功能如表2-1所列表2-18713 引
11、腳功能腳功能說(shuō)明1說(shuō)轉(zhuǎn)脈沖輸入端端時(shí)鐘輸腳為端2反轉(zhuǎn)脈沖輸入端仃q.'rlt上人、丄山3脈沖輸入端端時(shí)鐘輸入為端4轉(zhuǎn)向控制端:0- 反轉(zhuǎn);1- 正轉(zhuǎn)5, 6工作方式選擇:00為三 四)拍;01, 10為單三 四)拍;11為八 八)拍7三/四相選擇: 0- 三相;1- 四相"8-地9-復(fù)位端。低電平有效10,12 ,輸出 端。腳四相分別代表、¥、10腳,分別代表 A、B C D;三相用13、14工作方式監(jiān)視。0為單三 四)拍;1為雙三 四)拍;脈沖為六 八)拍T5輸出脈沖狀態(tài)監(jiān)視,與時(shí)鐘同步16電源8713脈沖分配器與單片機(jī)接口如圖2-2圖2-2 8713 脈沖分配器
12、與單片機(jī)接口圖本系統(tǒng)選用單時(shí)鐘輸入方式,8713的3引腳為步進(jìn)脈沖端,4引腳為轉(zhuǎn)向控制端,這兩個(gè)引腳的輸入均由單片機(jī)提供和控制,所以5、6、7腳均接高電平。因?yàn)椴捎昧嗣}沖分配器,單片機(jī)只需提供步進(jìn)脈沖,進(jìn)行速度控制和轉(zhuǎn)向控制,脈沖分配的工作交給脈沖分配器來(lái)自動(dòng)完成。因此CPU的負(fù)擔(dān)減少很多。二、功率放大電路脈沖分配器8713的A、B C三端輸出電流很小,而所用的三相反應(yīng)式步進(jìn)電機(jī)驅(qū)動(dòng)電流較大,每 相靜態(tài)電流為 3A。為滿足驅(qū)動(dòng)要求,系統(tǒng)設(shè)計(jì)了步進(jìn)電機(jī)功率驅(qū)動(dòng)電路,如圖2-3所示 以A相為例)圖2 3步進(jìn)電機(jī)功率驅(qū)動(dòng)電路電路采用三級(jí)晶體管放大,第一級(jí)用3DG6小功率管,第二級(jí)用 3DK4中功率管
13、,第三級(jí)用3DD15大功率管。LA為步進(jìn)電機(jī)A相繞組。R15為限流電阻,保證電流穩(wěn)態(tài)值;D2為續(xù)流二極管,防止3DD15關(guān)斷時(shí)繞組反電勢(shì)擊穿管子。C9為加速電容,動(dòng)態(tài)工作時(shí),利用其旁路作用,使電機(jī)繞組電流上升加快,來(lái)改善電流波形的前沿,提高電機(jī)高頻性能5。第二章系統(tǒng)軟件設(shè)計(jì)步進(jìn)電機(jī)存在啟動(dòng)時(shí)失步,停止時(shí)振蕩現(xiàn)象,這是影響步進(jìn)電機(jī)控制精度的主要原因。因此, 軟件設(shè)計(jì)主要介紹步進(jìn)電動(dòng)機(jī)位置控制和加、減速控制及程序?qū)崿F(xiàn)。、位置控制一)位置控制設(shè)計(jì)步進(jìn)電動(dòng)機(jī)每走一步,步數(shù)減1,如果沒(méi)有失步的存在,當(dāng)執(zhí)行機(jī)構(gòu)到達(dá)目標(biāo)位置時(shí),步數(shù)正好為0。因此,用步數(shù)等于 0來(lái)判斷是否移動(dòng)到目標(biāo)位置,作為步進(jìn)電動(dòng)機(jī)停止運(yùn)
14、行信號(hào)。絕對(duì)位 置參數(shù)可作為人機(jī)對(duì)話的顯示參數(shù),或作為其他控制目的的重要參數(shù),它與步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)向有1,當(dāng)步進(jìn)電動(dòng)機(jī)反轉(zhuǎn),絕對(duì)位置隨關(guān),當(dāng)步進(jìn)電動(dòng)機(jī)正轉(zhuǎn)時(shí),步進(jìn)電動(dòng)機(jī)每走一步,絕對(duì)位置加 每次步進(jìn)減1。硬件連接如圖2-2所示。每?jī)纱沃袛嗖竭M(jìn)二)位置控制設(shè)計(jì)程序?qū)崿F(xiàn)中斷服務(wù)子程序框圖,如圖3-1所示,每次中斷仍然改變一次P1.0的狀態(tài),圖3-1中斷服務(wù)子程序框圖本程序使用資源:30H 31H存放定時(shí)常數(shù),低位在前;32H34H 存放絕對(duì)位置參數(shù) 假設(shè)用3字節(jié)),低位在前;35H、36H存放步數(shù) 假設(shè)最大值占2字節(jié)),低位在前。步進(jìn)電動(dòng)機(jī)的正反轉(zhuǎn)控制在主程序中實(shí)現(xiàn),如果正轉(zhuǎn),使P1.1=1 ;如果
15、反轉(zhuǎn),二、加減速控制一)加減速控制設(shè)計(jì)為滿足加減速控制要求,本系統(tǒng)步進(jìn)電機(jī)按照指數(shù)加減速曲線進(jìn)行控制,如圖P1.1=0。3-2所示。圖3-2系統(tǒng)按指數(shù)曲線加減速時(shí),驅(qū)動(dòng)脈沖頻率指數(shù)加減速曲線圖f與升數(shù)時(shí)間t的關(guān)系為:<3-1)= In fm-ln(fm- fg)<3-2式中fm為步進(jìn)電機(jī)最高運(yùn)行頻率;是決定時(shí)間快慢的時(shí)間常數(shù),實(shí)際工作中可由實(shí)驗(yàn)來(lái)確定。實(shí) 際運(yùn)行中,若步進(jìn)電機(jī)運(yùn)行頻率為fg,由式 <公式3-1 )可算出升速時(shí)間為:因?yàn)镈SP是用定時(shí)器比較中斷方式來(lái)控制步進(jìn)電機(jī)速度的,電機(jī)的加減速控制實(shí)際上是不斷改 變定時(shí)器周期寄存器的裝載值。為了編程的方便,可由階梯曲線來(lái)擬合
16、加速曲線,將升速段按照速 度等間距均勻的離散為n檔,如圖3-3所示。圖3-3加速曲線離散化圖若步進(jìn)電機(jī)啟動(dòng)脈沖頻率為fg,穩(wěn)定運(yùn)行最高頻率為 fc,則相鄰速度級(jí)的頻率變化為:f=(fc-fg)/ n<3-3)則每一檔頻率fk為:fk 二 fg : =f (k1)(k = 1,2.n)<3-4)每一檔運(yùn)行時(shí)間Tk為:Tk =tr(fki)-tr(fk)(k =1,2.n)<3-5)式中tr<fk )、tr<fk+1 )分別為運(yùn)行頻率 fk及fk+1時(shí)的升速時(shí)間。各分檔速度的內(nèi)運(yùn)行速度Nk為:Nk = fk *Tk<3-6)則加速過(guò)程總步數(shù) Nr為:nN : N
17、k<3-7)k 4執(zhí)行加速控制時(shí),對(duì)每檔的速度讀要計(jì)算在此臺(tái)階上應(yīng)走步數(shù),然后以遞減方式查詢。當(dāng)減至0時(shí),表明該速度檔步數(shù)已走完,進(jìn)入下一檔速度。同時(shí),遞減加速過(guò)程總步數(shù),直到加速過(guò)程走 完。以上是對(duì)步進(jìn)電機(jī)加速過(guò)程的處理方法,減速過(guò)程的處理方法同加速過(guò)程6。<二)加減數(shù)控制程序?qū)崿F(xiàn)本程序的資源分配如下:R0 中間寄存器;R1 存儲(chǔ)速度級(jí)數(shù);R2存儲(chǔ)級(jí)步數(shù);R3 加減速狀態(tài)指針,加速時(shí)指向35H,恒速時(shí)指向37H,減速時(shí)指向3AH;32H34H 存放絕對(duì)位置參數(shù) <假設(shè)用3字節(jié)),低位在前;35H36H 存放加速總步數(shù) <假設(shè)用2字節(jié)),低位在前;37H39H 存放恒速
18、總步數(shù) <假設(shè)用3字節(jié)),低位在前;3AH3BH 存放減速總步數(shù) <假設(shè)用2字節(jié)),低位在前定時(shí)常數(shù)系列存放在以 ABC為起始地址的 ROM中。初始 R3=35H R1,R2都有初使值。加減速 程序框圖如圖3-4所示停機(jī)加速步數(shù)減L 級(jí)步數(shù)減1恒速步數(shù)減1加速一級(jí) 計(jì)算級(jí)步數(shù)捋針捋向城速絕對(duì)位置加1捋針捋向恒速減理一坂 計(jì)算級(jí)步數(shù)計(jì)算級(jí)步數(shù)P1.7R5R6R730H31H垂裝定時(shí)常數(shù)退出圖3-4 加減速程序框圖致謝詞:在本設(shè)計(jì)完成之際,我要向所有給予我指導(dǎo)、關(guān)心、支持和幫助的人表示最衷心的感謝!在設(shè)計(jì)本系統(tǒng)的過(guò)程中,我的指導(dǎo)老師劉生建老師給了我悉心的指導(dǎo)和幫助,他為本設(shè)計(jì)的研究和
19、撰寫(xiě)提供了各種技術(shù)資料和技術(shù)咨詢,特別是劉老師在許多關(guān)鍵問(wèn)題上的正確指導(dǎo)才能使得我的設(shè) 計(jì)得以順利完成。本人在設(shè)計(jì)之前也閱讀了大量的相關(guān)的文獻(xiàn)資料,從中汲取了豐富的知識(shí),借此 機(jī)會(huì)向我的導(dǎo)師和這些作者表示衷心的感謝!參考文獻(xiàn)1許曉蜂。電機(jī)及拖動(dòng)。M。高等教育出版社,20072劉亞?wèn)|,李從心,王小新。步進(jìn)電機(jī)速度的精確控制。J。上海交通大學(xué)出版社,2001,35,<10): 1517-15203周慶貴,黃章。電氣控制技術(shù)。M?;瘜W(xué)工業(yè)出版社,20074王曉明。電動(dòng)機(jī)的單片機(jī)控制。M。北京航天航天大學(xué)出版社,2007孟武勝,李亮?;贏T89C52單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)。J。測(cè)控技術(shù)
20、,2006,25<11): 45-47。王瑾,基于 DSP和CAN總線的步進(jìn)電機(jī)控制系統(tǒng)。J。電子測(cè)量技術(shù),2009,31<1): 112115附錄1系統(tǒng)程序;相關(guān)參數(shù)定義MAICHONG BIT P1.0 FANGXIANG BIT P1.1 FINISHBITJUEDUIMAICHONG_EQU JUEDUIMAICHONG_EQU JUEDUIMAICHONG_HQU DANGQIANWEIZHIJEQU DANGQIANWEIZHIJEQUDANGQIANWEIZHI_HEQU32HSHEDINGWEIZHI_L EQU33HSHEDINGWEIZHI_M EQU34HSH
21、EDINGWEIZHI_H EQU35HJIASU_STEP_LEQU36HJIASU_STEP_HEQU37HHENGSU_STEP_LEQU38HHENGSU_STEP_MEQU39HHENGSU_STEP_HEQU3AHJIANSU_STEP_LEQU3BHJIANSU_STEP_HEQU3CHDANGQIANSUDUEQU3DHORGOOOOHAJMPMAINORGOOOBHLJMPTIMEO_INTORGOO4OH;定時(shí)器 0 中斷入口MAIN:MOV R0,#00HDJNZ R0,$MOV SP,40HCLR FINISH;等待系統(tǒng)電源穩(wěn)定;指定堆棧指針;清除完成標(biāo)記MOV DAN
22、GQIANSUDU,#OH 標(biāo)示當(dāng)前轉(zhuǎn)速;初始化定時(shí)器MOV TMOD,#O1HMOV THO,#3CHMOV TLO,#OBOHMOV IE,#82H定時(shí)器 O 設(shè)定在工作方式 1,最大定時(shí)周期 65536uS設(shè)定定時(shí)器 O 最大工作周期 5OmS;開(kāi)定時(shí)器 O 中斷INIT_WEIZHI:;手動(dòng)設(shè)定當(dāng)前位置和預(yù)定位置,模擬實(shí)際工作情況;調(diào)用定時(shí)器 0 中斷子程序CLR FINISHMOV DANGQIANWEIZHI_L,#8OHMOV DANGQIANWEIZHI_M,#6OHMOV DANGQIANWEIZHI_H,#98HMOV SHEDINGWEIZHI_L,#8OHMOV SHE
23、DINGWEIZHI_M,#96HMOV SHEDINGWEIZHI_H,#98HLCALL INIT_JUEDUIMAICHONG ;計(jì)算絕對(duì)偏差脈沖數(shù)LCALL INIT_JIAJIANSUSETB TROJNB FINISH,$JMP INIT_WEIZHI ; ORG INIT_JUEDUIMAICHONG:;計(jì)算加,恒,減速脈沖數(shù);返回初始化絕對(duì)位置脈沖數(shù);計(jì)算絕對(duì)偏差脈沖數(shù)CLR C;計(jì)算絕對(duì)偏差脈沖數(shù)最低字節(jié);計(jì)算絕對(duì)偏差脈沖數(shù)中間字節(jié);計(jì)算絕對(duì)偏差脈沖數(shù)最高字節(jié)MOV A,SHEDINGWEIZHI_L SUBB A,DANGQIANWEIZHI_LMOV JUEDUIMAIC
24、HONG_L,A MOV A,SHEDINGWEIZHI_MSUBB A,DANGQIANWEIZHI_M MOV JUEDUIMAICHONG_M,A MOV A,SHEDINGWEIZHI_HSUBB A,DANGQIANWEIZHI_H MOV JUEDUIMAICHONG_H,AJC QUFANSETB FANGXIANGRETQUFAN:CLR CMOV A,JUEDUIMAICHONG_L計(jì)算絕對(duì)偏差脈沖數(shù)最低字節(jié)計(jì)算絕對(duì)偏差脈沖數(shù)最低字節(jié)計(jì)算絕對(duì)偏差脈沖數(shù)最低字節(jié)CPL A ;取反MOV JUEDUIMAICHONG_L,A ; MOV A,JUEDUIMAICHONG_M CP
25、L A ;取反MOV JUEDUIMAICHONG_M,A ; MOV A,JUEDUIMAICHONG_H CPL A ;取反MOV JUEDUIMAICHONG_H,A ;CLR FANGXIANGRET;加減速脈沖數(shù)計(jì)算; ORGINIT_JIAJIANSU:CLR CCJNE JUEDUIMAICHONG_H,#01H,H_BUDENG ;判斷絕對(duì)位置脈沖數(shù)最高字節(jié)CJNE JUEDUIMAICHONG_M,#86H,M_BUDENG ;判斷絕對(duì)位置脈沖數(shù)中間字節(jié)CJNE JUEDUIMAICHONG_L,#0A0H,L_BUDENG ;判斷絕對(duì)位置脈沖數(shù)最低字節(jié) MOV JIASU_
26、STEP_H,#0C3HMOV JIASU_STEP_L,#50H ;設(shè)定加速脈沖數(shù) 50000MOV HENGSU_STEP_H,#0MOV HENGSU_STEP_M,#0MOV HENGSU_STEP_L,#0 ;設(shè)定恒速脈沖數(shù) 0MOV JIANSU_STEP_H,#0C3HMOV JIANSU_STEP_L,#50H ;設(shè)定減速脈沖數(shù) 50000 H_BUDENG:JNC DAYUAJMP XIAOYUCLR CM_BUDENG:JNC DAYUAJMP XIAOYUL_BUDENG:JNC DAYUAJMP XIAOYUXIAOYU:MOV A,JUEDUIMAICHONG_MRR
27、C AMOV JIASU_STEP_H,AMOV JIANSU_STEP_H,AMOV A,JUEDUIMAICHONG_LRRC AMOV JIASU_STEP_L,AMOV JIANSU_STEP_L,AMOV A,#0ADDC A,#0MOV HENGSU_STEP_H,#0MOV HENGSU_STEP_M,#0MOV HENGSU_STEP_L,ARETDAYU:MOV JIASU_STEP_H,#0C3HMOV JIASU_STEP_L,#50HMOV JIANSU_STEP_H,#0C3HMOV JIANSU_STEP_L,#50HCLR CMOV A,JUEDUIMAICHON
28、G_LSUBB A,#0A0HMOV HENGSU_STEP_L,AMOV A,JUEDUIMAICHONG_MSUBB A,#086HMOV HENGSU_STEP_M,AMOV A,JUEDUIMAICHONG_HSUBB A,#01HMOV HENGSU_STEP_H,ARETTIME0_INT:CLR TR0CPL MAICHONG;設(shè)定加速脈沖數(shù)為絕對(duì)脈沖數(shù)的一半;設(shè)定減速脈沖數(shù)為絕對(duì)脈沖數(shù)的一半;設(shè)定恒速脈沖數(shù);設(shè)定加速脈沖數(shù) 50000;設(shè)定減速脈沖數(shù) 50000;設(shè)定恒速脈沖數(shù);定時(shí)器 0 中斷子程序;脈沖電平取反;判斷是否為上升沿,以實(shí)現(xiàn)一個(gè)周期JB MAICHONG,HAL
29、F;判斷加速低脈沖數(shù)是否為 0 ;為 0 則轉(zhuǎn)向加速高脈沖數(shù)判斷;判斷加速低脈沖數(shù)是否為 0;為 0 則加速結(jié)束轉(zhuǎn)向恒速脈沖數(shù)判斷 ;判斷恒速低脈沖數(shù)是否為 0 ;為 0 則轉(zhuǎn)向恒速中間脈沖數(shù)判斷 ;判斷恒速中間脈沖數(shù)是否為 0 ;為 0 則轉(zhuǎn)向恒速高脈沖數(shù)判斷 ;判斷恒速高字節(jié)脈沖數(shù)是否為 0 ;為 0 則恒速區(qū)結(jié)束轉(zhuǎn)向減速高脈沖數(shù);判斷減速低脈沖數(shù)是否為 0 ;為 0 則轉(zhuǎn)向減速高脈沖數(shù)判斷;判斷減速高脈沖數(shù)是否為 0;為 0 則電機(jī)停止轉(zhuǎn)動(dòng);P1.7 做為完成指示燈;判斷加速低脈沖數(shù)不為 0 則減 1;重新裝入定時(shí)常數(shù)一個(gè)上升沿LCALL REINIT_TIME0 個(gè)周期RETIHALF
30、:MOV A,JIASU_STEP_LCJNE A,#0,JIASU1MOV A,JIASU_STEP_HCJNE A,#0,JIASU2MOV A,HENGSU_STEP_LCJNE A,#0,HENGSU1MOV A,HENGSU_STEP_MCJNE A,#0,HENGSU2MOV A,HENGSU_STEP_HCJNE A,#0,HENGSU3 判斷MOV A,JIANSU_STEP_LCJNE A,#0,JIANSU1MOV A,JIANSU_STEP_HCJNE A,#0,JIANSU2SETB FINISHRETIJIASU1:DEC JIASU_STEP_LACALL REIN
31、IT_TIME0RETIJIASU2:DEC JIASU_STEP_HDEC JIASU_STEP_LINC DANGQIANSUDUACALL REINIT_TIME0RETIHENGSU1:DEC HENGSU_STEP_LACALL REINIT_TIME0RETIHENGSU2:DEC HENGSU_STEP_MDEC HENGSU_STEP_LACALL REINIT_TIME0;下降沿則直接裝入原時(shí)間常數(shù)完成一;判斷加速高脈沖數(shù)不為 0 則減 1;判斷加速低脈沖數(shù)減 1;改變當(dāng)前速度指針;重新裝入定時(shí)常數(shù) ;判斷恒速低脈沖數(shù)不為 0 則減 1;重新裝入定時(shí)常數(shù) ;判斷恒速低脈沖數(shù)不
32、為 0 則減 1;判斷恒速低脈沖數(shù)減 1 ;重新裝入定時(shí)常數(shù)RETIHENGSU3:DEC HENGSU_STEP_HDEC HENGSU_STEP_MDEC HENGSU_STEP_LACALL REINIT_TIME0RETIJIANSU1:DEC JIANSU_STEP_LACALL REINIT_TIME0RETIJIANSU2:DEC JIANSU_STEP_LDEC JIANSU_STEP_HDEC DANGQIANSUDUACALL REINIT_TIME0RETIREINIT_TIME0:MOV A,DANGQIANSUDUMOV DPL,AMOV DPH,#02HCLR AM
33、OVC A,A+DPTRMOV TL0,AMOV DPH,#03HCLR AMOVC A,A+DPTR;判斷恒速低脈沖數(shù)不為 0 則減 1;判斷恒速低脈沖數(shù)減 1;判斷恒速低脈沖數(shù)減 1 ;重新裝入定時(shí)常數(shù);判斷減速低脈沖數(shù)不為 0 則減 1;重新裝入定時(shí)常數(shù);判斷減速低脈沖數(shù)不為 0 則減 1;判斷減速低脈沖數(shù)減 1;改變當(dāng)前速度指針;重新裝入定時(shí)常數(shù);定時(shí)器 0 時(shí)間常數(shù)重裝子程序 ;取得當(dāng)前速度指針位置MOV TH0,ASETB TR0查表取出指針?biāo)鶎?duì)應(yīng)的周期時(shí)間常數(shù)低字節(jié)查表取出指針?biāo)鶎?duì)應(yīng)的周期時(shí)間常數(shù)低字節(jié)重新啟動(dòng)定時(shí)器 0;如果是對(duì)步進(jìn)電機(jī)的轉(zhuǎn)速,即周期有嚴(yán)格要求的情況下,應(yīng)對(duì)時(shí)間
34、常數(shù)進(jìn)行校正RET;步進(jìn)電機(jī)加減速時(shí)間常數(shù)表;當(dāng)前數(shù)據(jù)表示電機(jī)運(yùn)行頻率10Hz2500Hz可自行更改;0123 45 6789ORG 0200HSUDU_L:DB 0B0H,039H,00BH,092H,006H,08EH,074H,05AH,096H,05EHDB 0D1H,005H,009H,0E8H,0A8H,050H,0E3H,067H,0DCH,045H DB 0A4H,0FBH,04AH,092H,0D5H,012H,04BH,07FH,0B0H,0DEH DB 008H,031H,056H,079H,09BH,0BAH,0D8H,0F4H,00FH,028H DB 040H,05
35、7H,06DH,082H,096H,0A9H,0BCH,0CDH,0DEH,0EEH DB 0FDH,00CH,01BH,028H,036H,043H,04FH,05BH,066H,072H DB 07CH,087H,091H,09BH,0A4H,0ADH,0B6H,0BFH,0C7H,0CFH DB 0D7H,0DFH,0E7H,0EEH,0F5H,0FCH,003H,009H,00FH,016H DB 01CH,022H,027H,02DH,033H,038H,03DH,042H,047H,04CHDB 051H,056H,05AH,05FH,063H,068H,06CH,070H,074
36、H,078H DB 07CH,080H,084H,087H,08BH,08EH,092H,095H,099H,09CH DB 09FH,0A2H,0A5H,0A8H,0ABH,0AEH,0B1H,0B4H,0B7H,0BAH DB 0BCH,0BFH,0C2H,0C4H,0C7H,0C9H,0CCH,0CEH,0D0H,0D3H DB 0D5H,0D7H,0DAH,0DCH,0DEH,0E0H,0E2H,0E4H,0E6H,0E8H DB 0EAH,0ECH,0EEH,0F0H,0F2H,0F4H,0F6H,0F8H,0F9H,0FBH DB 0FDH,0FFH,000H,002H,004H,
37、005H,007H,008H,00AH,00BH DB 00DH,00EH,010H,011H,013H,014H,016H,017H,019H,01AH DB 01BH,01DH,01EH,01FH,020H,022H,023H,024H,025H,027H DB 028H,029H,02AH,02BH,02DH,02EH,02FH,030H,031H,032H DB 033H,034H,035H,036H,037H,038H; 0 1 2 3 4 5 6 7 8 9ORG 0300HSUDU_H: DB 03CH,0AAH,0C9H,0D7H,0E0H,0E5H,0E9H,0ECH,0EE
38、H,0F0H DB 0F1H,0F3H,0F4H,0F4H,0F5H,0F6H,0F6H,0F7H,0F7H,0F8H DB 0F8H,0F8H,0F9H,0F9H,0F9H,0FAH,0FAH,0FAH,0FAH,0FAH DB 0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FBH,0FCH,0FCH DB 0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH,0FCH DB 0FCH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FDH,0FDH,0FDH,0FDH,
39、0FDH,0FDH,0FDH,0FDH,0FDH DB 0FDH,0FDH,0FDH,0FDH,0FDH,0FDH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0F
40、EH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH,0FEH DB 0FEH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0F
41、FH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFHEND附錄 2 位置控制單片機(jī)程序如下:POS: CPL P1.0 ;改變 P1.0 電平狀態(tài)PUSH ACC;累加器 A 進(jìn)棧PUSH PSWPUSH R0; R0 進(jìn)棧JNB P1.0, POS4; P1.0=0時(shí),半個(gè)脈沖,轉(zhuǎn)到 POS4CLR EA;關(guān)中斷JNB P1.1,POS1MOV RO ,#32HINC ROCJNE RO,#OOH,POS2INC ROINC ROCJNE RO,#OOH,PO
42、S2INC ROINC ROCJNE RO,#OOH,POS2CLR TROLCALL BAOJINGPOS1: MOV RO,#32HDEC ROCJNE RO,#FFH,POS2INC RODEC ROCJNE RO,#FFH,POS2INC RODEC ROCJNE RO,#FFH,POS2CLR TROLCALL BAOJINGPOS2:MOV R0, #35HDEC R0CJNE R0 ,#FFH, POS3INC R0DEC R0POS3:SETB EAMOV A , 35HORL A, 36HJNZ POS4CLR TR0SJMP POS5POS4:CLR CCLR TROMOV
43、 A , TL0ADD A, #08HADD A, 30HMOV TL0 , AMOV A , TH0ADDC A , 31H;反轉(zhuǎn),轉(zhuǎn)到 POS1;正轉(zhuǎn)。指向絕對(duì)位置低位 32H;絕對(duì)位置加 1;無(wú)進(jìn)位則轉(zhuǎn)向 POS2;指向 33H;33H)+1;無(wú)進(jìn)位則轉(zhuǎn)向 POS2;指向 34H;34H)+1;無(wú)越界,則轉(zhuǎn) POS2 ;發(fā)生越界,停定時(shí)器 停電動(dòng)機(jī)) ;調(diào)報(bào)警子程序;反轉(zhuǎn)。指向絕對(duì)位置低位 32H;絕對(duì)位置減 1;無(wú)借位則轉(zhuǎn)向 POS2;指向 33H;33H)-1;無(wú)借位則轉(zhuǎn)向 POS2;指向 34H;34H)-1;無(wú)越界,則轉(zhuǎn) POS2 ;發(fā)生越界,停定時(shí)器 停電動(dòng)機(jī)) ;調(diào)報(bào)警子程序
44、;指向步數(shù)低位 35H;步數(shù)減 1;無(wú)借位則轉(zhuǎn)向 POS3;指向 36H;36H)-1;開(kāi)中斷;檢查步數(shù) =0;不等于 0 轉(zhuǎn)向 POS4;等于 0。停定時(shí)器;退出;停定時(shí)器;取 TL0 當(dāng)前值;加 8 個(gè)機(jī)械周期;加定時(shí)常數(shù) 低 8 位);重裝定時(shí)常數(shù) 低 8 位);取THO當(dāng)前值;加定時(shí)常數(shù) 高 8 位)MOV TH0 , ASETB TR0;重裝定時(shí)常數(shù) 高 8 位);開(kāi)定時(shí)器POS5:POP R0POP PSWPOP ACCRET1;返回附錄 3 加減速控制單片機(jī)程序如下:JAJ:CPL P1.0;改變 P1.0 電平狀態(tài)PUSH ACC;保存現(xiàn)場(chǎng)PUSH PSWPUSH BPUSH DPTLPUSH DPTHSETB RS0;選用工作寄存器 1JNB P1.0, JAJ10;P1.0=0 時(shí),半個(gè)脈沖,轉(zhuǎn)到 JAJ10CLR EA;關(guān)中斷JNB P1.0, JAJ1;反轉(zhuǎn),轉(zhuǎn)到 JAJ1MOV R0 , #32H;正轉(zhuǎn),指向絕對(duì)位置低位 32HINC R0;絕對(duì)位置加 1CJNE R0,#00H,JAJ2;無(wú)進(jìn)位則轉(zhuǎn)向 JAJ2INC R0;指向 33HINC R0;33H)+1CJNE R0,#00H,JAJ2;無(wú)進(jìn)位則轉(zhuǎn)向 JAJ2INC R0;指向 34HINC R0;34H)+
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)金運(yùn)輸安全管理制度
- 玻璃漂流安全管理制度
- 班組手機(jī)集中管理制度
- 理賠客戶回訪管理制度
- 琴行機(jī)構(gòu)安全管理制度
- 公園旁活動(dòng)策劃方案
- a類設(shè)備管理制度
- 下發(fā)考勤管理制度
- 中醫(yī)質(zhì)控管理制度
- 中天木工管理制度
- 交-直-交變壓變頻器中逆變器的仿真
- 天津市第一屆未來(lái)之星初中數(shù)學(xué)邀請(qǐng)賽(有答案版)
- 第三講 實(shí)驗(yàn):研究勻變速直線運(yùn)動(dòng)
- 2020年國(guó)賽B題講解
- 英語(yǔ)簡(jiǎn)單句專項(xiàng)練習(xí)題含參考答案
- 2023年甘肅省酒泉市中考語(yǔ)文試卷【含答案】
- 湖北襄陽(yáng)市檢察機(jī)關(guān)-襄陽(yáng)市城郊地區(qū)檢察院招考聘用67人模擬預(yù)測(cè)(共500題)筆試參考題庫(kù)附答案詳解
- 2023-2024學(xué)年河南省濮陽(yáng)市小學(xué)語(yǔ)文五年級(jí)期末提升測(cè)試題附參考答案和詳細(xì)解析
- 延長(zhǎng)石油筆試題庫(kù)
- 阿里巴巴開(kāi)店注意事項(xiàng)
- 思想政治理論綜合實(shí)踐知到章節(jié)答案智慧樹(shù)2023年太原理工大學(xué)
評(píng)論
0/150
提交評(píng)論