




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目 錄基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)任務(wù)書2課題介紹、主要內(nèi)容、主要器件、主要資料及參考文獻(xiàn)、預(yù)期設(shè)計(jì)(論文)成果2一.基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)6摘要61.1課程設(shè)計(jì)目的61.2 課程設(shè)計(jì)說明61.3 步進(jìn)電機(jī)的變頻調(diào)速71.4系統(tǒng)軟硬件協(xié)同設(shè)計(jì)81.5 應(yīng)用實(shí)例10二.單片機(jī)的電機(jī)驅(qū)動接口電路設(shè)計(jì)18 1.1 .軟件設(shè)計(jì)18三.單片機(jī)對電機(jī)轉(zhuǎn)向、轉(zhuǎn)速的控制18四.單片機(jī)對步進(jìn)電機(jī)的正、反轉(zhuǎn)控制 18五.利用單片機(jī)實(shí)現(xiàn)對步進(jìn)電機(jī)的運(yùn)動控制211 引言 21 2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì) 213 系統(tǒng)硬件電路設(shè)計(jì) 22六.結(jié)束語 301基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)摘要:本文應(yīng)用單片機(jī)、步進(jìn)
2、電機(jī)驅(qū)動芯片、字符型LCD和鍵盤陣列,構(gòu)建了集步進(jìn)電機(jī)控制器和驅(qū)動器為一體的步進(jìn)電機(jī)控制系統(tǒng)。二維工作臺作為被控對象通過步進(jìn)電機(jī)驅(qū)動滾珠絲桿在X/Y軸方向聯(lián)動。文中討論了一種以最少參數(shù)確定一條圓弧軌跡的插補(bǔ)方法和步進(jìn)電機(jī)變頻調(diào)速的方法。步進(jìn)電機(jī)控制系統(tǒng)的開發(fā)采用了軟硬件協(xié)同仿真的方法,可以有效地減少系統(tǒng)開發(fā)的周期和成本。最后給出了步進(jìn)電機(jī)控制系統(tǒng)的應(yīng)用實(shí)例。 關(guān)鍵詞: 步進(jìn)電機(jī)控制系統(tǒng),插補(bǔ)算法,變頻調(diào)速,軟硬件協(xié)同仿真1.1 課程設(shè)計(jì)目的1、熟悉和掌握單片機(jī)的結(jié)構(gòu)和工作原理。2、掌握單片機(jī)的接口技術(shù)和相關(guān)外圍芯片的特性及控制方法。3、掌握以單片機(jī)為核心的電路設(shè)計(jì)的基本方法和技術(shù),了解有關(guān)電路
3、參數(shù)的計(jì)算方法。4、通過實(shí)際程序設(shè)計(jì)和調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù)。5、通過完成一個包括電路設(shè)計(jì)和程序開發(fā)的完整過程,為今后從事相關(guān)工作打下基礎(chǔ)。1.2 課程設(shè)計(jì)說明(1) 作為一種數(shù)字伺服執(zhí)行元件,步進(jìn)電機(jī)具有結(jié)構(gòu)簡單、運(yùn)行可靠、控制方便、控制性能好等優(yōu)點(diǎn),廣泛應(yīng)用在數(shù)控機(jī)床、機(jī)器人、自動化儀表等領(lǐng)域。為了實(shí)現(xiàn)步進(jìn)電機(jī)的簡易運(yùn)動控制,一般以單片機(jī)作為控制系統(tǒng)的微處理器,通過步進(jìn)電機(jī)專用驅(qū)動芯片實(shí)現(xiàn)步進(jìn)電機(jī)的速度和位置定位控制。(2) 圓弧插補(bǔ)改進(jìn)算法逐點(diǎn)比較插補(bǔ)算法因其算法簡單、易實(shí)現(xiàn)且最大誤差不超過一個脈沖當(dāng)量,在步進(jìn)電機(jī)的位置控制中應(yīng)用的相當(dāng)廣泛1。圓弧插補(bǔ)中,為了確定一條
4、圓弧的軌跡,可采用:給出圓心坐標(biāo)、起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo);給出半徑、起點(diǎn)和終點(diǎn)坐標(biāo);給出圓弧的三點(diǎn)坐標(biāo)等。在算法實(shí)現(xiàn)時這些參數(shù)若要存放在單片機(jī)內(nèi)部資源有限的數(shù)據(jù)存儲器(RAM)中,如果要經(jīng)過復(fù)雜的運(yùn)算才能確定一段圓弧,不但給微處理器帶來負(fù)擔(dān),而且要經(jīng)過多步運(yùn)算,往往會影響到算法的精確度。因此選取一種簡單且精確度高的插補(bǔ)算法是非常必要的。本文提出了一種改進(jìn)算法:在圓弧插補(bǔ)中,無論圓弧在任何位置,是順圓或是逆圓,都以此圓弧的圓心作為原點(diǎn)來確定其他坐標(biāo)。因此只須給出圓弧的起點(diǎn)坐標(biāo)和圓弧角度就可以確定該圓弧。如果一個軸坐標(biāo)用4個字節(jié)存儲(如12.36),而角度用2個字節(jié)存儲(如45),則只需要10個字節(jié)即
5、可確定一段二維的圓弧。較之起其他方法,最多可節(jié)省14個存儲單元。現(xiàn)以第I象限逆圓弧為例,計(jì)算其終點(diǎn)坐標(biāo)。如圖1所示,(X0,Y0)為圓弧的起點(diǎn)坐標(biāo),(Xe,Ye)為圓弧的終點(diǎn)坐標(biāo),為圓弧的角度。 圓弧半徑: 終點(diǎn)坐標(biāo): 終點(diǎn)坐標(biāo)相對X軸的角度:本系統(tǒng)要求輸入的角度精確到1度,輸入坐標(biāo)的分辨率是0.01,單片機(jī)C語言的浮點(diǎn)運(yùn)算能精確到0.,按照上面的公式算出的終點(diǎn)坐標(biāo)1%,能夠滿足所要求的精確,雖存在誤差,但這個誤差小于度。(3) 步進(jìn)電機(jī)的變頻調(diào)速 雖然步進(jìn)電機(jī)具有快速啟停能力強(qiáng)、精度高、轉(zhuǎn)速容易控制的特點(diǎn),但是在實(shí)際運(yùn)行過程中由于啟動和停止控制不當(dāng),步進(jìn)電機(jī)仍會出現(xiàn)啟動時抖動和停止時過沖的現(xiàn)
6、象,從面影響系統(tǒng)的控制精度。尤其是步進(jìn)電機(jī)工作在頻繁啟動和停止時,這種現(xiàn)象就更為明顯2。為此本文提出了一種基于單片機(jī)控制的步進(jìn)電機(jī)加減速離散控制方法。加減速曲線如圖2 所示,縱坐標(biāo)是頻率 f,單位為脈沖/秒或步/秒。橫坐標(biāo)時間 t,單位為秒。步進(jìn)電機(jī)以 f0 啟動后加速至 t1 時刻達(dá)到最高運(yùn)行頻率 f,然后勻速運(yùn)行,至 t2 時刻開始減速,在 t5 時刻電機(jī)停轉(zhuǎn),總的步數(shù)為 N。其中電機(jī)從靜止加速至最高運(yùn)行頻率和從最高運(yùn)行頻率至停止至是步進(jìn)電機(jī)控制的關(guān)鍵,通常采用勻加速和勻減速方式。圖2 時間與頻率的函數(shù)圖 圖3 離散化的時間變頻圖采用單片機(jī)對步進(jìn)電機(jī)進(jìn)行加減速控制,實(shí)際上就是改變輸出脈沖的
7、時間間隔,可采用軟件和硬件兩種方法。軟件方法依靠延時程序來改變脈沖輸出的頻率,其中延時的長短是動態(tài)的,該方法因?yàn)橐煌5禺a(chǎn)生控制脈沖,占用了大量的CPU時間;硬件方法是依靠單片機(jī)內(nèi)部的定時器來實(shí)現(xiàn)的,在每次進(jìn)入定時中斷后,改變定時常數(shù)(定時器裝載值),從而升速時使脈沖頻率逐漸增大,減速時使脈沖頻率逐漸減小。這種方法占用CPU時間較少,是一種效率比較高的步進(jìn)電機(jī)調(diào)速方法??紤]到單片機(jī)資源(字長)和編程的方便,不需要每步都計(jì)算定時器裝載值。如圖3所示,采用離散方法將加減速曲線離散化。離散化后速度是分臺階上升的,而且每上升一個臺階都要在該臺階保持一段時間,以克服由于步進(jìn)電機(jī)轉(zhuǎn)子轉(zhuǎn)動慣量所引起的速度滯
8、后。只有當(dāng)實(shí)際運(yùn)行速度達(dá)到預(yù)設(shè)值后才能急速加速,實(shí)際上也是局部速度誤差的自動糾正。(4) 系統(tǒng)軟硬件協(xié)同設(shè)計(jì) 對于51系列單片機(jī)的軟件開發(fā),傳統(tǒng)的方法是在PC機(jī)上采用Keil等開發(fā)工具進(jìn)行程序設(shè)計(jì)、編譯、調(diào)試,待程序調(diào)試通過之后生成目標(biāo)文件下載至單片機(jī)硬件電路再進(jìn)行硬件調(diào)試3。這種方法只有硬件電路完成之后才能進(jìn)行系統(tǒng)功能測試,若此時發(fā)現(xiàn)硬件電路存在設(shè)計(jì)問題且必須進(jìn)行修改時就會顯著影響系統(tǒng)開發(fā)的成本和周期。為此,本文采用了系統(tǒng)軟硬件協(xié)同仿真的開發(fā)方法,使得硬件電路實(shí)現(xiàn)前的功能測試成為可能。同時硬件電路的軟件化仿真為硬件電路的設(shè)計(jì)與實(shí)現(xiàn)提供了有力的保障。其中在Keil uVision2集成開發(fā)環(huán)境
9、下,實(shí)現(xiàn)步進(jìn)電機(jī)控制系統(tǒng)的程序設(shè)計(jì)、編譯、調(diào)試,并最終生成目標(biāo)文件 .hex,而由英國Proteus Labcenter electronics公司所提供的EDA工具Proteus則利用該目標(biāo)文件 .hex 實(shí)現(xiàn)對步進(jìn)電機(jī)控制系統(tǒng)硬件電路功能的測試。 圖4 步進(jìn)電機(jī)控制系統(tǒng)硬件電路仿真如圖4所示,單片機(jī)AT89C55司職步進(jìn)電機(jī)控制器,通過運(yùn)行在Keil uVision2 環(huán)境下所開發(fā)的程序來控制兩個步進(jìn)電機(jī)驅(qū)動芯片L298,從而實(shí)現(xiàn)對AXIS_X / AXIS_Y兩軸步進(jìn)電機(jī)的聯(lián)動控制。L298驅(qū)動芯片的步進(jìn)脈沖輸入信號來自AT89C55 P0端口,使能信號ENABLE A與ENABLE B
10、并聯(lián)接到AT89C55的P3.0、P3.1口,由程序控制實(shí)現(xiàn)步進(jìn)電機(jī)的使能,從而避免電機(jī)線圈處于短路狀態(tài)而燒壞驅(qū)動芯片。4 x 4鍵盤陣列接AT89C55的P1端口,通過程序設(shè)計(jì)定義每個按鍵的具體功能。LCD的數(shù)據(jù)端口DB0DB7接AT89C55的P2端口,控制端口RS, RW, E分別接單片機(jī)的P3.5, P3.6, P3.7口。相關(guān)的參數(shù)值、X/Y軸坐標(biāo)值可以通過LCD以文本方式顯示。本文采用軟硬件協(xié)同仿真的方法經(jīng)過設(shè)計(jì)測試修正再測試一次次迭代開發(fā),在制作控制系統(tǒng)硬件電路之前即可實(shí)現(xiàn)對系統(tǒng)整機(jī)功能的測試。待系統(tǒng)程序和硬件電路設(shè)計(jì)方案最終完善之后便可以實(shí)際制作如圖5所示的硬件電路。顯然該種方
11、法可以顯著提高系統(tǒng)軟硬件開發(fā)的成功率,從而有效降低系統(tǒng)的開發(fā)周期和開發(fā)成本。(5) 應(yīng)用實(shí)例圖5即是根據(jù)圖4進(jìn)行硬件電路仿真的最終結(jié)果所制作的步進(jìn)電機(jī)控制系統(tǒng)電路板。該電路驅(qū)動X/Y軸步進(jìn)電機(jī)通過滾珠絲桿帶動二維工作臺作聯(lián)動,并由一只鉛筆模擬加工刀具將所要加工的二維軌跡描繪出來。圖5步進(jìn)電機(jī)控制系統(tǒng)硬件電路 圖6 二維模擬工作平臺運(yùn)動軌跡步進(jìn)電機(jī)在控制系統(tǒng)中具有廣泛的應(yīng)用。它可以把脈沖信號轉(zhuǎn)換成角位移,并且可用作電磁制動輪、電磁差分器、或角位移發(fā)生器等。 有時從一些舊設(shè)備上拆下的步進(jìn)電機(jī)(這種電機(jī)一般沒有損壞)要改作它用,一般需自己設(shè)計(jì)驅(qū)動器。此介紹為從一日本產(chǎn)舊式打印機(jī)上拆下的步進(jìn)電機(jī)而設(shè)計(jì)
12、的驅(qū)動器。該先介紹該步進(jìn)電機(jī)的工作原理,然后介紹了其驅(qū)動器的軟、硬件設(shè)計(jì)。1. 步進(jìn)電機(jī)的工作原理該步進(jìn)電機(jī)為一四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對步進(jìn)電機(jī)的各相繞組按合適的時序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動。圖1是該四相反應(yīng)式步進(jìn)電機(jī)工作原理示意圖。圖1 四相步進(jìn)電機(jī)步進(jìn)示意圖開始時,開關(guān)SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的1、4號齒就和C、D相繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。當(dāng)開關(guān)SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動,1、4號齒和C相繞組的磁極對齊。而0、
13、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會沿著A、B、C、D方向轉(zhuǎn)動。四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動力矩又可以提高控制精度。單四拍、雙四拍與八拍工作方式的電源通電時序與波形分別如圖2.a、b、c所示: 圖2.步進(jìn)電機(jī)工作時序波形圖 圖3 步進(jìn)電機(jī)驅(qū)動器系統(tǒng)電路原理圖AT89C2051將控制脈沖從P1口的P1.4P1.7輸出,經(jīng)74LS14反相后進(jìn)
14、入9014,經(jīng)9014放大后控制光電開關(guān),光電隔離后,由功率管TIP122將脈沖信號進(jìn)行電壓和電流放大,驅(qū)動步進(jìn)電機(jī)的各相繞組。使步進(jìn)電機(jī)隨著不同的脈沖信號分別作正轉(zhuǎn)、反轉(zhuǎn)、加速、減速和停止等動作。圖中L1為步進(jìn)電機(jī)的一相繞組。AT89C2051選用頻率22MHz的晶振,選用較高晶振的目的是為了在方式2下盡量減小AT89C2051對上位機(jī)脈沖信號周期的影響。圖3中的RL1RL4為繞組內(nèi)阻,50電阻是一外接電阻,起限流作用,也是一個改善回路時間常數(shù)的元件。D1D4為續(xù)流二極管,使電機(jī)繞組產(chǎn)生的反電動勢通過續(xù)流二極管(D1D4)而衰減掉,從而保護(hù)了功率管TIP122不受損壞。在50外接電阻上并聯(lián)一
15、個200F電容,可以改善注入步進(jìn)電機(jī)繞組的電流脈沖前沿,提高了步進(jìn)電機(jī)的高頻性能。與續(xù)流二極管串聯(lián)的200電阻可減小回路的放電時間常數(shù),使繞組中電流脈沖的后沿變陡,電流下降時間變小,也起到提高高頻工作性能的作用。3.軟件設(shè)計(jì)該驅(qū)動器根據(jù)撥碼開關(guān)KX、KY的不同組合有三種工作方式供選擇:方式1 中斷方式:P3.5(INT1)為步進(jìn)脈沖輸入端,P3.7為正反轉(zhuǎn)脈沖輸入端。上位機(jī)(PC機(jī)或單片機(jī))與驅(qū)動器僅以2條線相連。方式2 串行通訊方式:上位機(jī)(PC機(jī)或單片機(jī))將控制命令發(fā)送給驅(qū)動器,驅(qū)動器根據(jù)控制命令自行完成有關(guān)控制過程。方式3 撥碼開關(guān)控制方式:通過K1K5的不同組合,直接控制步進(jìn)電機(jī)。當(dāng)上
16、電或按下復(fù)位鍵KR后,AT89C2051先檢測撥碼開關(guān)KX、KY的狀態(tài),根據(jù)KX、KY 的不同組合,進(jìn)入不同的工作方式。以下給出方式1的程序流程框圖與源程序。在程序的編制中,要特別注意步進(jìn)電機(jī)在換向時的處理。為使步進(jìn)電機(jī)在換向時能平滑過渡,不至于產(chǎn)生錯步,應(yīng)在每一步中設(shè)置標(biāo)志位。其中20H單元的各位為步進(jìn)電機(jī)正轉(zhuǎn)標(biāo)志位;21H單元各位為反轉(zhuǎn)標(biāo)志位。在正轉(zhuǎn)時,不僅給正轉(zhuǎn)標(biāo)志位賦值,也同時給反轉(zhuǎn)標(biāo)志位賦值;在反轉(zhuǎn)時也如此。這樣,當(dāng)步進(jìn)電機(jī)換向時,就可以上一次的位置作為起點(diǎn)反向運(yùn)動,避免了電機(jī)換向時產(chǎn)生錯步。圖4 方式1程序框圖方式1源程序:MOV 20H,#00H ;20H單元置初值,電機(jī)正轉(zhuǎn)位置
17、指針MOV 21H,#00H ;21H單元置初值,電機(jī)反轉(zhuǎn)位置指針MOV P1,#0C0H ;P1口置初值,防止電機(jī)上電短路MOV TMOD,#60H ;T1計(jì)數(shù)器置初值,開中斷MOV TL1,#0FFHMOV TH1,#0FFHSETB ET1SETB EASETB TR1SJMP $;*計(jì)數(shù)器1中斷程序* IT1P: JB P3.7,FAN ;電機(jī)正、反轉(zhuǎn)指針;*電機(jī)正轉(zhuǎn)*JB 00H,LOOP0JB 01H,LOOP1JB 02H,LOOP2JB 03H,LOOP3JB 04H,LOOP4JB 05H,LOOP5JB 06H,LOOP6JB 07H,LOOP7LOOP0: MOV P1,
18、#0D0HMOV 20H,#02HMOV 21H,#40HAJMP QUITLOOP1: MOV P1,#090HMOV 20H,#04HMOV 21H,#20HAJMP QUITLOOP2: MOV P1,#0B0HMOV 20H,#08HMOV 21H,#10HAJMP QUITLOOP3: MOV P1,#030HMOV 20H,#10HMOV 21H,#08HAJMP QUITLOOP4: MOV P1 ,#070HMOV 20H,#20HMOV 21H,#04HAJMP QUITLOOP5: MOV P1,#060HMOV 20H,#40HMOV 21H,#02HAJMP QUITL
19、OOP6: MOV P1,#0E0HMOV 20H,#80HMOV 21H,#01HAJMP QUITLOOP7: MOV P1,#0C0HMOV 20H,#01HMOV 21H,#80HAJMP QUIT;*電機(jī)反轉(zhuǎn)*FAN: JB 08H,LOOQ0JB 09H,LOOQ1JB 0AH,LOOQ2JB 0BH,LOOQ3JB 0CH,LOOQ4JB 0DH,LOOQ5JB 0EH,LOOQ6JB 0FH,LOOQ7LOOQ0: MOV P1,#0A0HMOV 21H,#02HMOV 20H,#40HAJMP QUITLOOQ1: MOV P1,#0E0HMOV 21H,#04HMOV 20
20、H,#20HAJMP QUITLOOQ2: MOV P1,#0C0HMOV 21H,#08HMOV 20H,#10HAJMP QUITLOOQ3: MOV P1,#0D0HMOV 21H,#10HMOV 20H,#08HAJMP QUITLOOQ4: MOV P1,#050HMOV 21H,#20HMOV 20H,#04HAJMP QUITLOOQ5: MOV P1,#070HMOV 21H,#40HMOV 20H,#02HAJMP QUITLOOQ6: MOV P1,#030HMOV 21H,#80HMOV 20H,#01HAJMP QUITLOOQ7: MOV P1,#0B0HMOV 21
21、H,#01HMOV 20H,#80HQUIT: RETIEND4.結(jié)論:器經(jīng)實(shí)驗(yàn)驗(yàn)證能驅(qū)動0.5N.m的步進(jìn)電機(jī)。將驅(qū)動部分的電阻、電容及續(xù)流二極管的有關(guān)參數(shù)加以調(diào)整,可驅(qū)動1.2N.m的步進(jìn)電機(jī)。該驅(qū)動器電路簡單可靠,結(jié)構(gòu)緊湊,對于I/O口線與單片機(jī)資源緊張的系統(tǒng)來說特別適用。2. 單片機(jī)的電機(jī)驅(qū)動接口電路設(shè)計(jì)IO接口的電流不夠維持達(dá)林頓的導(dǎo)通狀態(tài)造成的,可以給大功率管加一個9018或9013的前級放大,最好不要直接使用單片機(jī)驅(qū)動,建議使用光耦。達(dá)林頓管又稱復(fù)合管。它將二只三極管適當(dāng)?shù)倪B接在一起,以組成一只等效的新的三極管。這等于效三極管的放大倍數(shù)是二者之積。在電子學(xué)電路設(shè)計(jì)中,達(dá)林頓接法常
22、用于功率放大器和穩(wěn)壓電源中。 達(dá)林頓電路有四種接法:NPN+NPN,PNP+PNP,NPN+PNP,PNP+NPN. 前二種是同極性接法,后二種是異極性接法。同極性接法,一樓樓主已經(jīng)介紹過,這里說一下異極性接法。以NPN+PNP為例。設(shè)前一三極管T1的三極為C1B1E1,后一三極管T2的三極為C2B2E2。達(dá)林頓管的接法應(yīng)為:C1B2應(yīng)接一起,E1C2應(yīng)接一起。等效三極管CBE的管腳,C=E1,B=B1,E=E1(即C2)。等效三極管極性,與前一三極管相同。即為NPN型。 PNP+NPN的接法與此類同。3. 單片機(jī)對電機(jī)轉(zhuǎn)向、轉(zhuǎn)速的控制如果只有一個轉(zhuǎn)向的話就比較容易了,如果要有正反兩個轉(zhuǎn)向,就
23、需要一個H橋,并且兩個I/O口輸出高低電頻控制,現(xiàn)在就來說說一個轉(zhuǎn)向的控制方式吧。比如用P1口的P1.0,P1.1,P1.2三個I/O口接按鍵,P3.4口接電頻輸出,編個定時程序及按鍵程序,如果是快(全速運(yùn)行),那就P3.4口直接輸出高電頻“1”;中(50%),那就讓P3.4口050ms輸出高電頻“1”,50ms100ms輸出低電頻“0”,后面就一直以50ms進(jìn)行一次取反;慢(就用10%吧),040ns輸出高電頻“1”,41ns400ns輸出低電頻“0”,這樣為一個周期,后面就一直循環(huán)吧。如果按鍵P1.0按下,執(zhí)行方式1,全速運(yùn)行,否則以默認(rèn)方式運(yùn)行;按鍵P1.1按下,執(zhí)行方式2,改變占空比,
24、以50%的速度運(yùn)行,否則,不作改變;按鍵P1.2按下,執(zhí)行方式3,改變占空比,以10%的速度運(yùn)行,否則,不作改變。當(dāng)然,占空比及定時時間可以根據(jù)個人需要進(jìn)行改變,這只跟定時程序有關(guān)了,定時程序跟按鍵程序這邊就不說了,別忘了按鍵去抖,咔咔,不然可能會亂掉。4. 單片機(jī)對步進(jìn)電機(jī)的正、反轉(zhuǎn)控制單4拍正轉(zhuǎn) zheng=0x01,0x08,0x04,0x02單4拍反轉(zhuǎn) fang=0x01,0x02,0x04,0x08雙4拍正轉(zhuǎn) zheng=0x09,0x0c,0x06,0x03雙4拍反轉(zhuǎn) fang=0x03,0x06,0x0c,0x09單雙8拍正轉(zhuǎn) zheng=0x01,0x09,0x08,0x0c,
25、0x04,0x06,0x02,0x03單雙8拍反轉(zhuǎn) fang=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09*/#includereg51.h#includeintrins.h#define uchar unsigned char#define uint unsigned intbit front_move,back_move;uchar jzaj(void); /單4拍正轉(zhuǎn) zheng=0x01,0x08,0x04,0x02; 單4拍反轉(zhuǎn) fang=0x01,0x02,0x04,0x08;void ajcl(uchar jz);void delay(uchar
26、 del); uchar code zheng=0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03;uchar code fang=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;void timer0() interrupt 1static uchar jz;TH0=0xfc;TL0=0x18;jz=jzaj();if(jz)ajcl(jz);void main()uchar count=0;TMOD=0x01;TH0=0xFC;TL0=0x18;TR0=1;ET0=1;EA=1;while(1)if(front_move)P2=z
27、hengcount;delay(100);count+;if(count=8) count=0;if(back_move)P2=fangcount;delay(100);count+;if(count=8) count=0;uchar jzaj(void)uchar hz,lz;P1=0xf0; /置所有行為低電平,行掃描,列線輸入(此時)if(P1&0xf0)!=0xf0) /判斷是否有有鍵按下(讀取列的真實(shí)狀態(tài),若第4列有鍵按下則P1的值會變成0111 0000),有往下執(zhí)行delay(10); /延時去抖動(10ms)if(P1&0xf0)!=0xf0) /再次判斷列中是否是干擾信號,不
28、是則向下執(zhí)行hz=0xfe; /逐行掃描初值(即先掃描第1行) while(hz&0x10)!=0) /行掃描完成時(即4行已經(jīng)全部掃描完成)sccode為1110 1111 停止while程序 P1=hz; /輸出行掃描碼if (P1&hz)!=hz) /*(P2&0xf0)!=0xf0*也可這樣 本行有鍵按下(即P1(真實(shí)的狀態(tài))的高四位不全為1)lz=(P1&0xf0)|0x0f; /列while(P1&0xf0)!=0xf0);return(hz)|(lz); /返回行和列break; /有按鍵返回 提前退出循環(huán)else /所掃描的行沒有鍵按下,則掃描下一行,直到4行都掃描,此時scc
29、ode值為1110 1111 退出while程序hz=_crol_(hz,1);/行掃描碼左移一位elsereturn 0; /無鍵按下,返回0 void ajcl(uchar jz)if(jz=0x11)back_move=0;front_move=1; if(jz=0x21)front_move=0;back_move=1;if(jz=0x41)P2=0x00;front_move=0;back_move=0;void delay(uchar del)uchar i;for(;del0;del-)for(i=0;i125;i+);5. 利用單片機(jī)實(shí)現(xiàn)對步進(jìn)電機(jī)的運(yùn)動控制1 引言數(shù)控技術(shù)是一
30、種采用計(jì)算機(jī)對機(jī)械加工過程中各種控制信息進(jìn)行數(shù)字化運(yùn)算處理,并通過高性能的驅(qū)動單元對機(jī)械執(zhí)行構(gòu)件進(jìn)行自動化控制的高新技術(shù)。現(xiàn)代機(jī)械加工業(yè)逐步向柔性化、集成化、智能化方向發(fā)展,因此新一代數(shù)控技術(shù)就必需強(qiáng)調(diào)具有開放式、智能化、網(wǎng)絡(luò)化的特征1。本文采用新型微處理器、高性能集成電路,研究開發(fā)智能步進(jìn)電機(jī)控制卡。2 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)通過對步進(jìn)電機(jī)控制器關(guān)鍵技術(shù)進(jìn)行分析、研究和比較,并綜合國內(nèi)外運(yùn)動控制器產(chǎn)品智能化、集成化、開放化的發(fā)展趨勢,我們提出的步進(jìn)電機(jī)運(yùn)動控制器總體結(jié)構(gòu)如圖1所示。圖1 系統(tǒng)總體結(jié)構(gòu)3 系統(tǒng)硬件電路設(shè)計(jì)3.1 脈沖分頻電路設(shè)計(jì)本系統(tǒng)的主要控制對象為步進(jìn)電機(jī)。步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)
31、化為角位移的執(zhí)行機(jī)構(gòu),因此產(chǎn)生符合系統(tǒng)要求的步進(jìn)電機(jī)驅(qū)動脈沖為整個系統(tǒng)設(shè)計(jì)中的關(guān)鍵。本系統(tǒng)的脈沖分頻電路由圖2所示。整個電路采用3片8254來產(chǎn)生X,Y,Z三個軸的驅(qū)動脈沖信號,鑒于Y,Z軸的電路與X軸相同,因此圖中只表示了X軸脈沖數(shù)輸出的電路原理。Inte18254是可編程定時/計(jì)數(shù)器,片內(nèi)包含3個獨(dú)立通道,每個通道均為功能相同的16位計(jì)數(shù)器,每個計(jì)數(shù)器的工作方式和計(jì)數(shù)長度分別由軟件編程選擇。8254是8253的改進(jìn)型,操作方式及引腳與8253完全相同。8253計(jì)數(shù)頻率為2.6MHz,8254的計(jì)數(shù)頻率則更高,可達(dá)到6MHz。本系統(tǒng)選擇8254作為脈沖分頻電路的主控芯片。圖2 脈沖分頻電路圖
32、3.2 RS-232通信接口電路設(shè)計(jì)在單片機(jī)系統(tǒng)的通信中,RS-232和RS-485標(biāo)準(zhǔn)總線應(yīng)用最為成熟。為了使運(yùn)動控制器的適用范圍更加廣泛,配合PC的現(xiàn)有接口,我們選用RS- 232標(biāo)準(zhǔn)總線來實(shí)現(xiàn)控制器和PC的通信,其接口電路如圖3所示。在圖3中,選用MAX232作為系統(tǒng)的通信接口芯片。MAX232是MAXIM公司生產(chǎn)的低功耗、單電源雙RS-232發(fā)送/接收發(fā)器,適用于各種EIA-232E和V.28/V.24的通信接口。MAX232芯片可以把輸入的+5V電源變換成RS-232輸出電平所需的10V電壓,所以采用此芯片接口的串行通信系統(tǒng)只要單一的+5V電源就可以。圖3 通信接口電路MAX232外
33、圍需要4個電解電容C1,C2,C3,C4是內(nèi)部電源轉(zhuǎn)換所需電容,其取值均為0.1F/25V。C44為0.1F的去耦電容。MAX232的引腳T1IN,T2IN,R1OUT,R2OUT為接TTL/CMOS電平的引腳。引腳T1OUT,T2OUT,R1IN,R2IN為接RS-232C電平的引腳。因此TTL/CMOS電平的T1IN,T2IN引腳應(yīng)接MCS-51 的串行發(fā)送引腳TXD;R1OUT,R2OUT應(yīng)接MCS-51的串行接收引腳RxD。與之對應(yīng)的RS-232C電平的T1OUT,T2OUT應(yīng)接PC機(jī)的接收端RD;R1IN,R2IN應(yīng)接PC機(jī)的發(fā)送端。3.3 D/A轉(zhuǎn)換與V/I轉(zhuǎn)換電路設(shè)計(jì)本運(yùn)動控制器
34、需要對電主軸的轉(zhuǎn)速進(jìn)行控制,對電主軸的控制通過其驅(qū)動器來實(shí)現(xiàn)。電主軸驅(qū)動器根據(jù)輸入的電壓或電流的大小來確定主軸的轉(zhuǎn)速,因此系統(tǒng)需要輸出05V的電壓或020mA的電流,必須將系統(tǒng)處理過的數(shù)字量經(jīng)D/A轉(zhuǎn)換變成模擬量輸出。本控制器的D/A轉(zhuǎn)換主要由DAC0832芯片實(shí)現(xiàn)。 DAC0832是8位微處理器兼容型數(shù)/模轉(zhuǎn)換器芯片,是DAC0830系列的一種。DAC0832與微機(jī)接口方便,可以充分利用微處理器的控制能力實(shí)現(xiàn)對D/A轉(zhuǎn)換的控制,因此在實(shí)際中得到了廣泛的應(yīng)用。不同的電主軸驅(qū)動器對輸入的信號有不同的要求,有的需要05V的電壓信號,有的需要020mV的電流信號,因此我們同樣設(shè)計(jì)了V/I轉(zhuǎn)換電路,使
35、系統(tǒng)具備了電流信號的輸出,增強(qiáng)了系統(tǒng)的適應(yīng)性。3.4 開關(guān)信號輸入電路設(shè)計(jì)在步進(jìn)電機(jī)運(yùn)動過程中,常采用機(jī)械式開關(guān)和光電開關(guān)構(gòu)成開關(guān)信號輸入回路,通過開關(guān)的閉合或斷開,以電平的形式反映步進(jìn)電機(jī)的工況。這包括X,Y,Z軸限位;加工過程中對刀,X,Y,Z軸電機(jī)的回零操作等等2-3。由于開關(guān)的機(jī)械式設(shè)計(jì),觸點(diǎn)閉合或斷開時伴有機(jī)械抖動,會使輸出信號波形出現(xiàn)振蕩。若將該信號輸入到微控制器的計(jì)數(shù)器中,會造成錯誤的計(jì)數(shù)而導(dǎo)致系統(tǒng)控制混亂。開關(guān)量的輸入干擾是系統(tǒng)設(shè)計(jì)中客觀存在的問題。因此在獲得開關(guān)信號后,我們必須對開關(guān)信號進(jìn)行處理,使其成為單片機(jī)可以識別的數(shù)字信號后才能做出相應(yīng)的反應(yīng)。系統(tǒng)共提供了12路的開關(guān)信
36、號接口,限位開關(guān)信號處理如圖4所示。圖4 限位開關(guān)信號處理電路原理圖在開關(guān)信號輸入CPU之前,首先用電容對其進(jìn)行濾波,抑制信號中的高頻分量。TPL光耦隔離實(shí)現(xiàn)了光電開關(guān)、限位開關(guān)信號和控制器之間的電平轉(zhuǎn)換,并實(shí)現(xiàn)了兩個不同回路間的隔離,保證了控制器電路不受來自開關(guān)信號電路的干擾。3.5 硬件抗干擾技術(shù)為了克服可能發(fā)生的各種干擾,保證系統(tǒng)能夠可靠的運(yùn)行,現(xiàn)有的抗干擾技術(shù)在硬件方面采取如下措施4:抑制電源干擾。傳導(dǎo)干擾通常由交流電源端引入系統(tǒng)內(nèi)部。為了抑制這種干擾,系統(tǒng)通常在交流進(jìn)線端串接入低通LC濾波器。這種方法在實(shí)際中己經(jīng)取得明顯效果,但為了抑制電源浪涌電壓的沖擊,系統(tǒng)還必須在電源線之間及電源
37、線對地之間分別裝壓敏電阻。抑制傳輸線干擾。對于系統(tǒng)中傳輸距離較長的線路通常選用屏蔽電纜來實(shí)現(xiàn)系統(tǒng)各部分的連接,以達(dá)到抗干擾的目的。在一些應(yīng)用環(huán)境比較惡劣的系統(tǒng)中,為了進(jìn)一步抑制干擾,可采用光電隔離方式將系統(tǒng)控制部分與I/O口部分分開,并采用雙電源供電。盡量減小干擾造成的影響。通常的做法有:1)增加硬件看門狗電路。2)增加電壓監(jiān)測電路。3)選擇抗干擾能力較強(qiáng)的單片機(jī)系列。4)盡可能使用單片機(jī)的內(nèi)部程序存儲器和內(nèi)部數(shù)據(jù)存儲器而不使用外部總線連接這些器件。5)協(xié)調(diào)好電路中不同類型IC的電平匹配。6)數(shù)據(jù)總線和控制總線間形成板與板連接時,應(yīng)加總線驅(qū)動器。4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)的主程序由消息循環(huán)和初始化程
38、序構(gòu)成,其流程如圖5所示。在系統(tǒng)的主程序中,初始化程序的功能是在系統(tǒng)復(fù)位后完成單片機(jī)各個特殊功能寄存器的設(shè)置、各數(shù)據(jù)區(qū)的初始化、外部硬件設(shè)備的設(shè)置等操作;系統(tǒng)的消息循環(huán)則用來實(shí)現(xiàn)消息合法性的判斷及消息處理功能模塊的調(diào)用。圖5 系統(tǒng)主程序流程圖為了能夠?qū)ο⒌暮戏ㄐ赃M(jìn)行判斷,我們?yōu)橄⒔M中的每個消息定義了對應(yīng)的合法性判斷標(biāo)識位。如果某消息所對應(yīng)的合法性判斷標(biāo)識位為“1”,則表示該消息是合法的消息,系統(tǒng)應(yīng)該調(diào)用相應(yīng)的消息處理功能模塊對消息進(jìn)行處理;為“0”則表示該消息是非法的消息,系統(tǒng)應(yīng)該忽略該消息。為了實(shí)現(xiàn)“看門狗”功能,我們還在消息循環(huán)中加入了喂狗輸出操作。值得注意的是,在系統(tǒng)的串行通信處理模
39、塊中,根據(jù)接收到的數(shù)據(jù)進(jìn)行判斷是自動加工,或是手動加工,還是參數(shù)設(shè)置,分別對消息序列中的標(biāo)志位進(jìn)行置位,以保證主程序能夠正確實(shí)現(xiàn)各處理模塊的調(diào)用6. 基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)論文單片機(jī)控制技術(shù)應(yīng)用十分廣泛,其核心技術(shù)是單片機(jī)控制系統(tǒng)的設(shè)計(jì)。介紹了對單片機(jī)控制系統(tǒng)的構(gòu)成、硬件設(shè)計(jì)、軟件設(shè)計(jì)和系統(tǒng)調(diào)試等各環(huán)節(jié)并進(jìn)行了討論,根據(jù)工作經(jīng)驗(yàn)給出了調(diào)試方法。 關(guān)鍵詞:單片機(jī);系統(tǒng)設(shè)計(jì);系統(tǒng)調(diào)試 隨著材料科學(xué)、工藝技術(shù)、計(jì)算機(jī)技術(shù)的發(fā)展與進(jìn)步,電路系統(tǒng)向著集成度極高的方向發(fā)展。CPU的生產(chǎn)制造技術(shù),也朝著綜合性、技術(shù)性、實(shí)用性發(fā)展。如CPU的運(yùn)算位數(shù)從4位、8位 到32位機(jī)的發(fā)展,運(yùn)算速度從8 MH
40、z、32 MHz到1.6 GHz??梢哉f是日新月異的發(fā)展著。其中單片機(jī)在控制系統(tǒng)中的應(yīng)用是越來越普遍了。單片機(jī)控制系統(tǒng)是以單片機(jī)(CPU)為核心部件,擴(kuò)展一些外部接口和設(shè)備,組成單片機(jī)工業(yè)控制機(jī),主要用于工業(yè)過程控制。要進(jìn)行單片機(jī)系統(tǒng)設(shè)計(jì)首先必須具有一定的硬件基礎(chǔ)知識;其次,需要具有一定的軟件設(shè)計(jì)能力,能夠根據(jù)系統(tǒng)的要求,靈活地設(shè)計(jì)出所需要的程序;第三,具有綜合運(yùn)用知識的能力。最后,還必須掌握生產(chǎn)過程的工藝性能及被測參數(shù)的測量方法,以及被控對象的動、靜態(tài)特性,有時甚至要求給出被控對象的數(shù)學(xué)模型。 單片機(jī)系統(tǒng)設(shè)計(jì)主要包括以下幾個方面的內(nèi)容:控制系統(tǒng)總體方案設(shè)計(jì),包括系統(tǒng)的要求、控制方案的選擇,以
41、及工藝參數(shù)的測量范圍等;選擇各參數(shù)檢測元件及變送器;建立數(shù)學(xué)模型及確定控制算法;選擇單片機(jī),并決定是自行設(shè)計(jì)還是購買成套設(shè)備;系統(tǒng)硬件設(shè)計(jì)1,包括接口電路,邏輯電路及操作面板;系統(tǒng)軟件設(shè)計(jì),包括管理、監(jiān)控程序以及應(yīng)用程序的設(shè)計(jì),應(yīng)用系統(tǒng)設(shè)計(jì)包含有硬件設(shè)計(jì)與軟件設(shè)計(jì)兩部分2;系統(tǒng)的調(diào)試與試驗(yàn)。 1 單片機(jī)控制系統(tǒng)總體方案的設(shè)計(jì) 確定單片機(jī)控制系統(tǒng)總體方案,是進(jìn)行系統(tǒng)設(shè)計(jì)最重要、最關(guān)鍵的一步??傮w方案的好壞,直接影響整個控制系統(tǒng)的性能及實(shí)施細(xì)則。總體方案的設(shè)計(jì)主要是根據(jù)被控對象的任務(wù)及工藝要求而確定的。設(shè)計(jì)方法大致如下:根據(jù)系統(tǒng)的要求,首先確定出系統(tǒng)是采用開環(huán)系統(tǒng)還是閉環(huán)系統(tǒng),或者是數(shù)據(jù)處理系統(tǒng)。
42、選擇檢測元件,在確定總體方案時,必須首先選擇好被測參數(shù)的測量元件,它是影響控制系統(tǒng)精度的重要因素之一。選擇執(zhí)行機(jī)構(gòu),執(zhí)行機(jī)構(gòu)是微型機(jī)控制系統(tǒng)的重要組成部件之一。執(zhí)行機(jī)構(gòu)的選擇一方面要與控制算法匹配,另一方面要根據(jù)被控對象的實(shí)際情況確定。選擇輸入/輸出通道及外圍設(shè)備。選擇時應(yīng)考慮以下幾個問題:被控對象參數(shù)的數(shù)量;各輸入/輸出通道是串行操作還是并行操作;各通道數(shù)據(jù)的傳遞速率;各通道數(shù)據(jù)的字長及選擇位數(shù);對顯示、打印有何要求;畫出整個系統(tǒng)原理圖。 單片機(jī)控制系統(tǒng)中控制算法的選用一般有: (1) 直接數(shù)字控制 當(dāng)被控對象的數(shù)學(xué)模型能夠確定時,可采用直接數(shù)字控制。所謂數(shù)學(xué)模型就是系統(tǒng)動態(tài)特性的數(shù)學(xué)表達(dá)式
43、,它表示系統(tǒng)輸入輸出及其內(nèi)部狀態(tài)之間的關(guān)系。一般多用實(shí)驗(yàn)的方法測出系統(tǒng)的特性曲線,然后再由此曲線確定出其數(shù)學(xué)模型?,F(xiàn)在經(jīng)常采用的方法是計(jì)算機(jī)仿真及計(jì)算機(jī)輔助設(shè)計(jì),由計(jì)算機(jī)確定出系統(tǒng)的數(shù)學(xué)模型,因而加快了系統(tǒng)模型的建立。當(dāng)系統(tǒng)模型建立后,即可選定上述某一種算法,設(shè)計(jì)數(shù)字控制器,并求出差分方程。計(jì)算機(jī)的主要任務(wù)就是按此差分方程計(jì)算并輸出控制量,進(jìn)而實(shí)現(xiàn)控制。 (2) 數(shù)字化PID控制 由于被控對象是復(fù)雜的,因此并非所有的系統(tǒng)均可求出數(shù)學(xué)模型,有些即使可以求出來,但由于被控對象環(huán)境的影響,許多參數(shù)經(jīng)常變化,因此很難進(jìn)行直接數(shù)字控制。此時最好選用數(shù)字化PID(比例積分微分)控制。在PID控制算法中,以
44、位置型和增量型2種PID為基礎(chǔ),根據(jù)系統(tǒng)的要求,可對PID控制進(jìn)行必要的改進(jìn)。通過各種組合,可以得到更圓滿的控制系統(tǒng),以滿足各種不同控制系統(tǒng)的要求。例如串級PID就是人們經(jīng)常采用的控制方法之一。 所謂串級控制就是第一級數(shù)字PID的輸出不直接用來控制執(zhí)行機(jī)構(gòu),而是作為下一級數(shù)字PID的輸入值,并與第二級的給定值進(jìn)行比較,其偏差作為第二級數(shù)字PID的控制量。當(dāng)然,也可以用多級PID嵌套。 2 單片機(jī)系統(tǒng)硬件設(shè)計(jì) 盡管單片機(jī)集成度高,內(nèi)部含有I/O控制線,ROM,RAM和定時/計(jì)數(shù)器。但在組成單片機(jī)系統(tǒng)時,擴(kuò)展若干接口仍是設(shè)計(jì)者必不可少的任務(wù)。擴(kuò)展接口有2種方案,一種是購置現(xiàn)成的接口板,另一種是根據(jù)
45、系統(tǒng)實(shí)際需要,選用適合的芯片進(jìn)行設(shè)計(jì)控制系統(tǒng)。就后一種而言,主要包括以下幾個方面的內(nèi)容。 基本系統(tǒng)的構(gòu)成:一個獨(dú)立的單片機(jī)核心系統(tǒng),一般由時鐘電路、地址鎖存器電路、地址譯碼器、存儲器擴(kuò)展、模擬量輸入通道的擴(kuò)展、模擬量輸出通道的擴(kuò)展、開關(guān)量的I/O接口設(shè)計(jì)、鍵盤輸入和顯示電路等組成。 (1)存儲器擴(kuò)展 由于單片機(jī)有4種不同的存儲器,且程序存儲器和數(shù)據(jù)存儲器是分別編址的,所以單片機(jī)的存儲器容量與同樣位數(shù)的微型機(jī)相比擴(kuò)大了一倍多。擴(kuò)展時,首先要注意單片機(jī)的種類;另一方面要把程序存儲器和數(shù)據(jù)存儲器分開。 (2)模擬量輸入通道的擴(kuò)展 主要有以下2個問題:一個是數(shù)據(jù)采集通道的結(jié)構(gòu)形式,一般單片機(jī)控制系統(tǒng)都
46、是多通道系統(tǒng)。因此選用何種結(jié)構(gòu)形式采集數(shù)據(jù),是進(jìn)行模擬量輸入通道設(shè)計(jì)首先要考慮的問題。多數(shù)系統(tǒng)都采用共享A/D和S/H形式。但是當(dāng)被測參數(shù)為幾個相關(guān)量時,則需選用多路S/H,共享A/D形式。對于那些參數(shù)比較多的分布式控制系統(tǒng),可把模擬量先就地進(jìn)行A/D轉(zhuǎn)換,然后再送到主機(jī)中處理。對于那些被測參數(shù)相同(或相似)的多路數(shù)據(jù)采集系統(tǒng),為減少投資,可采用模擬量多路轉(zhuǎn)換,共享儀用放大器、S/H和A/D的所謂地電平多路切換形式。另外一個問題是A/D轉(zhuǎn)發(fā)器的選擇,設(shè)計(jì)時一定要根據(jù)被控對象的實(shí)際要求選擇A/D轉(zhuǎn)換器,在滿足系統(tǒng)要求的前提下,盡量選用位數(shù)比較低的A/D轉(zhuǎn)換器。 (3)模擬量輸出通道的擴(kuò)展 模擬量
47、輸出通道是單片機(jī)控制系統(tǒng)與執(zhí)行機(jī)構(gòu)(或控制設(shè)備)連接的紐帶和橋梁。設(shè)計(jì)時要根據(jù)被控對象的通道數(shù)及執(zhí)行機(jī)構(gòu)的類型進(jìn)行選擇。對于那些可直接接受數(shù)字量的執(zhí)行機(jī)構(gòu),可由單片機(jī)直接輸出數(shù)字量,如步進(jìn)電機(jī)或開關(guān)、繼電器系統(tǒng)等。對于那些需要接收模擬量的執(zhí)行機(jī)構(gòu),則需要用D/A轉(zhuǎn)化,即把數(shù)字量變成模擬量后,再帶動執(zhí)行機(jī)構(gòu)。 (4)開關(guān)量的I/O接口設(shè)計(jì) 由于開關(guān)量只有2種狀態(tài)“1”或“0”,所以,每個開關(guān)量只需一位二進(jìn)制數(shù)表示即可。因?yàn)镸CS51系列單片機(jī)設(shè)有一個專用的布爾處理機(jī),因而對于開關(guān)量的處理尤為方便。為了提高系統(tǒng)的抗干擾能力,通常采用光電隔離器把單片機(jī)與外部設(shè)備隔開。 (5)操作面板 操作面板是人機(jī)
48、對話的紐帶,它根據(jù)具體情況,可大可小。為了便于現(xiàn)場操作人員操作,單片機(jī)控制系統(tǒng)設(shè)計(jì)一個操作面板的要求:操作方便、安全可靠、并具有自保功能,即使是誤操作也不會給生產(chǎn)帶來惡果。 (6)系統(tǒng)速度匹配 在不影響系統(tǒng)總功率的前提下,時鐘頻率選得低一些較好,這樣可降低系統(tǒng)對其他元器件工作速度的要求,從而降低成本和提高系統(tǒng)的可靠性。但系統(tǒng)頻率選的比較高時,要設(shè)法使其他元器件與主機(jī)匹配。 (7)系統(tǒng)負(fù)載匹配 系統(tǒng)中各個器件之間的負(fù)載匹配問題,主要表現(xiàn)在以下幾個方面。 邏輯電路間的接口及負(fù)載:在進(jìn)行系統(tǒng)設(shè)計(jì)時,有時需要采用TTL和CMOS混合電路,由于二者要求的電平不一樣,因此一定要注意電流及負(fù)載的匹配問題。
49、MCS51系列單片及負(fù)載:8031的外部擴(kuò)展功能是很強(qiáng)的,但是8031的P0口和P2口以及控制信號ALE的負(fù)載能力都是有限的,P0口能驅(qū)動8個LSTTL電路,P2口能驅(qū)動4個LSTTL電路。硬件設(shè)計(jì)時應(yīng)仔細(xì)核對8031的負(fù)載,使其不超過總的負(fù)載能力的70%。 3 單片機(jī)控制系統(tǒng)的軟件設(shè)計(jì) 單片機(jī)控制系統(tǒng)的軟件設(shè)計(jì)一般分2類,系統(tǒng)軟件和應(yīng)用軟件設(shè)計(jì)。系統(tǒng)軟件的主要任務(wù)是:管理整個控制系統(tǒng)的全過程,比如,POWERUP自診斷功能,KEY INPIT 的管理功能,PRINTER OUTPUT報(bào)表功能,DISPLAY功能等等。是控制系統(tǒng)的核心程序,也稱之為MONITER監(jiān)控管理程序其作用類似PC機(jī)的D
50、OS 系統(tǒng)。軟件設(shè)計(jì)的幾個方面如下: (1)可靠性設(shè)計(jì)為保證系統(tǒng)軟件的可靠性,通常設(shè)計(jì)一個自診斷程序,定時對系統(tǒng)進(jìn)行診斷。在可靠性要求較高的場合,可以設(shè)計(jì)看門狗電路,也可以設(shè)計(jì)軟件陷阱,防止程序跑飛。(2)軟件設(shè)計(jì)與硬件設(shè)計(jì)的統(tǒng)一性在單片機(jī)系統(tǒng)設(shè)計(jì)中,通常一個同樣的功能,通過硬件和軟件都可以實(shí)現(xiàn),確定那些由硬件完成,那些由軟件完成,這就是軟件、硬件的折衷問題。一般來說,在系統(tǒng)可能的情況下,盡量采用軟件,因?yàn)檫@樣可以節(jié)省經(jīng)費(fèi)。若系統(tǒng)要求實(shí)時性比較強(qiáng),則可采用硬件。 (3)應(yīng)用軟件的特點(diǎn) 實(shí)時性:由于工業(yè)過程控制系統(tǒng)是實(shí)時控制系統(tǒng),所以對應(yīng)用軟件的執(zhí)行速度都有一定的要求,即能夠在被控對象允許的時間
51、間隔內(nèi)對系統(tǒng)進(jìn)行控制、計(jì)算和處理。換言之,要求整個應(yīng)用軟件必須在一個采樣周期內(nèi)處理完畢。所以一般都采用匯編語言編寫應(yīng)用軟件。但是,對于那些計(jì)算工作量比較大的系統(tǒng),也可以采用高級語言和匯編語言混合使用的辦法,即數(shù)據(jù)采集、判斷、及控制輸出程序用匯編語言,而對于那些較為復(fù)雜的計(jì)算可采用高級語言。為了提高系統(tǒng)的實(shí)時性,對于那些需要隨機(jī)間斷處理的任務(wù),通常采用中斷系統(tǒng)來完成。 通用性:在應(yīng)用程序設(shè)計(jì)中,為了節(jié)省內(nèi)存和具有較強(qiáng)的適應(yīng)能力,通常要求程序有一定的靈活性和通用性。為此,可以采用模塊結(jié)構(gòu),盡量將共用的程序編寫成子程序,如算術(shù)和邏輯運(yùn)算程序、A/D、D/A轉(zhuǎn)換程序、延時程序、PID運(yùn)算程序、數(shù)字濾波
52、程序、標(biāo)度變換程序、報(bào)警程序等。 (4)軟件開發(fā)步驟軟件開發(fā)大體包括:劃分功能模塊及安排程序結(jié)構(gòu);畫出各程序模塊詳細(xì)流程圖;選擇合適的語言編寫程序;將各個模塊連接成一個完整的程序。 4 單片機(jī)控制系統(tǒng)的調(diào)試 (1)硬件調(diào)試 根據(jù)設(shè)計(jì)的原理電路做好實(shí)驗(yàn)樣機(jī),便進(jìn)入硬件調(diào)試階段。調(diào)試工作的主要任務(wù)是排除樣機(jī)故障,其中包括設(shè)計(jì)錯誤和工藝性故障。 脫機(jī)檢查:用萬能表或邏輯測試筆逐步按照邏輯圖檢查機(jī)中各器件的電源及各引腳的連接是否正確,檢查數(shù)據(jù)總線、地址總線和控制總線是否有短路等故障。有時為保護(hù)芯片,先對各管座的電位(或電源)進(jìn)行檢查,確定其無誤后再插入芯片檢查。 仿真調(diào)試:暫時排除目標(biāo)板的CPU和EP
53、ROM,將樣機(jī)接上仿真機(jī)的40芯仿真插頭進(jìn)行調(diào)試,調(diào)試各部分接口電路是否滿足設(shè)計(jì)要求。這部分工作是一種經(jīng)驗(yàn)性很強(qiáng)的工作,一般來說,設(shè)計(jì)制作的樣機(jī)不可能一次性完好,總是需要調(diào)試的。通常的方法是,先編調(diào)試軟件,逐一檢查調(diào)試硬件電路系統(tǒng)設(shè)計(jì)的準(zhǔn)確性。其次是調(diào)試MONITOR程序,只有MONITOER程序正常工作才可以進(jìn)行下面的應(yīng)用軟件調(diào)試。 硬件電路調(diào)試的一般順序是: 檢查CPU的時鐘電路。通過測試ALE信號,如沒有ALE信號,則判斷是晶體或CPU故障,這稱之為“心臟”檢查。 檢查ABUS/DBUS的分時復(fù)用功能的地址鎖存是否正常。 檢查I/O地址分配器。一般是由部分譯碼或全譯碼電路構(gòu)成,如是部分譯碼設(shè)計(jì),則排除地址重疊故障。 對擴(kuò)展的RAM、ROM進(jìn)行檢查調(diào)試。一般先后寫入55H、AAH,再讀出比較,以此判斷是否正常。因?yàn)檫@樣RAM、ROM的各位均寫入過0、1代碼。 用戶級I/O設(shè)備調(diào)試。如面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交易合同履行情況統(tǒng)計(jì)表
- 消防施工方案怎么寫
- 鞋店設(shè)計(jì)施工方案
- 企業(yè)股權(quán)激勵方案及效果研究的國內(nèi)外文獻(xiàn)綜述6100字
- 亳州輕型木屋施工方案
- 玻璃展館設(shè)計(jì)施工方案
- 法院旁聽審警示教育活動方案
- 菱形吊頂快速施工方案
- DB3707T 136-2025 無籽西瓜秋延遲栽培技術(shù)規(guī)程
- 預(yù)制板墻保溫墻施工方案
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》真題及答案解析
- 導(dǎo)彈防御課件教學(xué)課件
- 上海鐵路局入職合同范例
- Profinet(S523-FANUC)發(fā)那科通訊設(shè)置
- 航空器自動駕駛
- 《公路橋涵施工技術(shù)規(guī)范》JTG-T3650-2020培訓(xùn)
- 2024年大學(xué)試題(教育學(xué))-課程與教學(xué)論考試近5年真題集錦(頻考類試題)帶答案
- 四年級數(shù)學(xué)下冊簡便運(yùn)算100題及答案
- 緊密型醫(yī)療衛(wèi)生共同體慢性病雙向轉(zhuǎn)診流程圖
- DB34T 1591-2012 茶樹凍害氣象指標(biāo)
- 盤盤轉(zhuǎn)轉(zhuǎn)制作國風(fēng)標(biāo)簽(課件)六年級下冊勞動
評論
0/150
提交評論