C51程序控制步進(jìn)電機(jī)_第1頁
C51程序控制步進(jìn)電機(jī)_第2頁
C51程序控制步進(jìn)電機(jī)_第3頁
C51程序控制步進(jìn)電機(jī)_第4頁
C51程序控制步進(jìn)電機(jī)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

...wd......wd......wd...題目:簡易步進(jìn)電機(jī)控制步進(jìn)電機(jī)控制摘要:本設(shè)計(jì)采用ATMEL公司DIP-40封裝的AT89S52單片機(jī)實(shí)現(xiàn)對(duì)四相步進(jìn)電機(jī)的手動(dòng)和按鍵控制。由單片機(jī)產(chǎn)生的脈沖信號(hào)經(jīng)過分配后分解出對(duì)應(yīng)的四相脈沖,分解出的四相脈沖經(jīng)驅(qū)動(dòng)電路功率放大后驅(qū)動(dòng)步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。轉(zhuǎn)速的調(diào)節(jié)和狀態(tài)的改變由按鍵進(jìn)展選擇,此過程由程序直接進(jìn)展控制。通過鍵盤掃描把選擇的信息反響給單片機(jī),單片機(jī)根據(jù)反響信息做出相應(yīng)的判斷并改變輸出脈沖的頻率或轉(zhuǎn)動(dòng)狀態(tài)信號(hào)。電機(jī)轉(zhuǎn)動(dòng)的不同狀態(tài)由液晶LCD1602顯示出來。而設(shè)計(jì)的擴(kuò)展局部可以通過紅外信號(hào)的發(fā)射由另一塊單片機(jī)和紅外線LED完成,用紅外萬能接收頭接收紅外信號(hào),可以實(shí)現(xiàn)對(duì)電機(jī)的控制進(jìn)展紅外遙控。

關(guān)鍵字:四相步進(jìn)電機(jī)單片機(jī)功率放大LCD1602目錄步進(jìn)電機(jī)控制…………………1摘要……………1關(guān)鍵字…………1前言………………31系統(tǒng)總體方案設(shè)計(jì)及硬件設(shè)計(jì)……………41.1步進(jìn)電機(jī)……………………41.1.1步進(jìn)電機(jī)的種類………41.1.2步進(jìn)電機(jī)的特點(diǎn)………41.1.3步進(jìn)電機(jī)的原理………51.2控制系統(tǒng)電路設(shè)計(jì)…………71.3液晶顯示LCD1602…………71.4AT89S52核心部件及系統(tǒng)SCH原理圖……91.5LN2003A驅(qū)動(dòng)………………102軟件設(shè)計(jì)及調(diào)試………………132.1程序流程…………………132.2軟件設(shè)計(jì)及調(diào)試…………143擴(kuò)展功能說明…………………154設(shè)計(jì)總結(jié)………………………165設(shè)計(jì)源程序……………………166附錄……………21參考文獻(xiàn)…………22附2:系統(tǒng)原理圖及實(shí)物圖…………………23前言步進(jìn)電機(jī)廣泛應(yīng)用于對(duì)精度要求比擬高的運(yùn)動(dòng)控制系統(tǒng)中,如機(jī)器人、打印機(jī)、軟盤驅(qū)動(dòng)器、繪圖儀、機(jī)械閥門控制器等。目前,對(duì)步進(jìn)電機(jī)的控制主要有由分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專用集成芯片環(huán)形脈沖分配器等。分散器件組成的環(huán)形脈沖分配器體積比擬大,同時(shí)由于分散器件的延時(shí),其可靠性大大降低;軟件環(huán)形分配器要占用主機(jī)的運(yùn)行時(shí)間,降低了速度;專用集成芯片環(huán)形脈沖分配器集成度高、可靠性好,但其適應(yīng)性受到限制,同時(shí)開發(fā)周期長、需求費(fèi)用較高。步進(jìn)電機(jī)是微特電機(jī)的一種,其作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一,廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的開展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。同時(shí)步進(jìn)電動(dòng)機(jī)是一種將脈沖信號(hào)變換成相應(yīng)的角位移(或線位移)的電磁裝置,是一種特殊的電動(dòng)機(jī)。一般電動(dòng)機(jī)都是連續(xù)轉(zhuǎn)動(dòng)的,而步進(jìn)電動(dòng)機(jī)則有定位和運(yùn)轉(zhuǎn)兩種根本狀態(tài),當(dāng)有脈沖輸入肘步進(jìn)電動(dòng)機(jī)一步一步地轉(zhuǎn)動(dòng),每給它一個(gè)脈沖信號(hào),它就轉(zhuǎn)過一定的角度。步進(jìn)電動(dòng)機(jī)的角位移量和輸入脈沖的個(gè)數(shù)嚴(yán)格成正比,在時(shí)間上與輸入脈沖同步,因此只要控制輸入脈沖的數(shù)量、頻率及電動(dòng)機(jī)繞組通電的相序,便可獲得所需的轉(zhuǎn)角、轉(zhuǎn)速及轉(zhuǎn)動(dòng)方向。在沒有脈沖輸入時(shí),在繞組電源的鼓勵(lì)下氣隙磁場(chǎng)能使轉(zhuǎn)子保持原有位置于定位狀態(tài)。步進(jìn)電機(jī)以廣泛應(yīng)用在生產(chǎn)實(shí)踐的各個(gè)領(lǐng)域。它最大的應(yīng)用是在數(shù)控機(jī)床的制造中,因?yàn)椴竭M(jìn)電機(jī)不需要A/D轉(zhuǎn)換,能夠直接將數(shù)字脈沖信號(hào)轉(zhuǎn)化成為角位移,所以被認(rèn)為是理想的數(shù)控機(jī)床的執(zhí)行元件。早期的步進(jìn)電機(jī)輸出轉(zhuǎn)矩比擬小,無法滿足需要,在使用中和液壓扭矩放大器一同組成液壓脈沖馬達(dá)。隨著步進(jìn)電動(dòng)機(jī)技術(shù)的開展,步進(jìn)電動(dòng)機(jī)已經(jīng)能夠單獨(dú)在系統(tǒng)上進(jìn)展使用,成為了不可替代的執(zhí)行元件。除了在數(shù)控機(jī)床上的應(yīng)用,步進(jìn)電機(jī)也可以并用在其他的機(jī)械上,比方作為自動(dòng)送料機(jī)中的馬達(dá),作為通用的軟盤驅(qū)動(dòng)器的馬達(dá),也可以應(yīng)用在打印機(jī)和繪圖儀中。伴隨著不同的數(shù)字化技術(shù)的開展以及步進(jìn)電機(jī)本身技術(shù)的提高,步進(jìn)電機(jī)將會(huì)在更多的領(lǐng)域得到應(yīng)用。1系統(tǒng)總體方案設(shè)計(jì)及硬件設(shè)計(jì)本設(shè)計(jì)系統(tǒng)中主要圍繞AT89S52以實(shí)現(xiàn)四相步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)控制〔步進(jìn)電機(jī)正轉(zhuǎn)、反轉(zhuǎn)以及轉(zhuǎn)動(dòng)速度〕以及液晶LCD1602的顯示為目的:1.1步進(jìn)電機(jī)步進(jìn)電機(jī)是數(shù)字控制電機(jī),它將脈沖信號(hào)轉(zhuǎn)變成角位移,即給一個(gè)脈沖信號(hào),步進(jìn)電機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度,因此非常適合于單片機(jī)控制。步進(jìn)電機(jī)可分為反響式步進(jìn)電機(jī)(VR)、永磁式步進(jìn)電機(jī)(PM)和混合式步進(jìn)電機(jī)(HB)。步進(jìn)電機(jī)區(qū)別于其他控制電機(jī)的最大特點(diǎn)是,它是通過輸入脈沖信號(hào)來進(jìn)展控制的,即電機(jī)的總轉(zhuǎn)動(dòng)角度由輸入脈沖數(shù)決定,而電機(jī)的轉(zhuǎn)速由脈沖信號(hào)頻率決定。步進(jìn)電機(jī)的驅(qū)動(dòng)電路根據(jù)控制信號(hào)工作,控制信號(hào)由單片機(jī)產(chǎn)生。其根本原理作用如下:(1)控制換相順序通電換相這一過程稱為脈沖分配。例如:混合式步進(jìn)電機(jī)的工作方式,其各相通電順序?yàn)锳-B-C-D,通電控制脈沖必須嚴(yán)格按照這一順序分別控制A,B,C,D相的通斷,這就是所謂脈沖環(huán)形分配器。(2)控制步進(jìn)電機(jī)的轉(zhuǎn)向如果給定工作方式正序換相通電,步進(jìn)電機(jī)正轉(zhuǎn),如果按反序通電換相,則電機(jī)就反轉(zhuǎn)。(3)控制步進(jìn)電機(jī)的速度如果給步進(jìn)電機(jī)發(fā)一個(gè)控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個(gè)脈沖,它會(huì)再轉(zhuǎn)一步。兩個(gè)脈沖的間隔越短,步進(jìn)電機(jī)就轉(zhuǎn)得越快。1.1.1步進(jìn)電機(jī)的種類步進(jìn)電機(jī)分永磁式〔PM〕、反響式〔VR〕、和混合式〔HB〕三種。永磁式步進(jìn)一般為兩相,轉(zhuǎn)矩和體積較小,步進(jìn)角一般為7.5度或15度;反響式步進(jìn)一般為三相,可實(shí)現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5度,但噪聲和振動(dòng)都很大。在歐美等興旺國家80年代已被淘汰;混合式步進(jìn)是指混合了永磁式和反響式的優(yōu)點(diǎn)。它又分為兩相和五相:兩相步進(jìn)角一般為1.8度而五相步進(jìn)角一般為0.72度。這種步進(jìn)電機(jī)的應(yīng)用最為廣泛。1.1.2步進(jìn)電機(jī)的特點(diǎn)1.精度高一般的步進(jìn)電機(jī)的精度為步進(jìn)角的3-5%,且不累積??稍趯拸V的頻率范圍內(nèi)通過改變脈沖頻率來實(shí)現(xiàn)調(diào)速,快速起停、正反轉(zhuǎn)控制及制動(dòng)等,這是步進(jìn)電動(dòng)機(jī)最突出的優(yōu)點(diǎn)2.過載性好其轉(zhuǎn)速不受負(fù)載大小的影響,不像普通電機(jī),當(dāng)負(fù)載加大時(shí)就會(huì)出現(xiàn)速度下降的情況,所以步進(jìn)電機(jī)使用在對(duì)速度和位置都有嚴(yán)格要求的場(chǎng)合;3.控制方便步進(jìn)電機(jī)是以“步〞為單位旋轉(zhuǎn)的,數(shù)字特征比擬明顯,這樣就給計(jì)算機(jī)控制帶來了很大的方便,反過來,計(jì)算機(jī)的出現(xiàn)也為步進(jìn)電機(jī)開辟了更為廣闊的使用市場(chǎng);4.整機(jī)構(gòu)造簡單傳統(tǒng)的機(jī)械速度和位置控制構(gòu)造比擬復(fù)雜,調(diào)整困難,使用步進(jìn)電機(jī)后,使得整機(jī)的構(gòu)造變得簡單和緊湊。1.1.3步進(jìn)電機(jī)的原理圖1是一種四相可變磁阻型的步進(jìn)電機(jī)構(gòu)造示意圖。這種電機(jī)定子上有八個(gè)凸齒,每一個(gè)齒上有一個(gè)線圈。線圈繞組的連接方式,是對(duì)稱齒上的兩個(gè)線圈進(jìn)展反相連接,如圖中所示。八個(gè)齒構(gòu)成四對(duì),所以稱為四相步進(jìn)電機(jī)。圖1它的工作過程是這樣的:當(dāng)有一相繞組被鼓勵(lì)時(shí),磁通從正相齒,經(jīng)過軟鐵芯的轉(zhuǎn)子,并以最短的路徑流向負(fù)相齒,而其他六個(gè)凸齒并無磁通。為使磁通路徑最短,在磁場(chǎng)力的作用下,轉(zhuǎn)子被強(qiáng)迫移動(dòng),使最近的一對(duì)齒與被鼓勵(lì)的一相對(duì)準(zhǔn)。在圖1(a)中A相是被鼓勵(lì),轉(zhuǎn)子上大箭頭所指向的那個(gè)齒,與正向的A齒對(duì)準(zhǔn)。從這個(gè)位置再對(duì)B相進(jìn)展鼓勵(lì),如圖1中的(b),轉(zhuǎn)子向反時(shí)針轉(zhuǎn)過15°。假設(shè)是D相被鼓勵(lì),如圖1中的(c),則轉(zhuǎn)子為順時(shí)針轉(zhuǎn)過15°。下一步是C相被鼓勵(lì)。因?yàn)镃相有兩種可能性:A—B—C—D或A—D—C—B。一種為反時(shí)針轉(zhuǎn)動(dòng);另一種為順時(shí)針轉(zhuǎn)動(dòng)。但每步都使轉(zhuǎn)子轉(zhuǎn)動(dòng)15°。電機(jī)步長(步距角)是步進(jìn)電機(jī)的主要性能指標(biāo)之一,不同的應(yīng)用場(chǎng)合,對(duì)步長大小的要求不同。改變控制繞組數(shù)(相數(shù))或極數(shù)(轉(zhuǎn)子齒數(shù)),可以改變步長的大小。它們之間的相互關(guān)系,可由下式計(jì)算:Lθ=360P×N式中:Lθ為步長;P為相數(shù);N為轉(zhuǎn)子齒數(shù)。在圖1中,步長為15°,表示電機(jī)轉(zhuǎn)一圈需要24步。四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對(duì)步進(jìn)電機(jī)的各相繞組按適宜的時(shí)序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動(dòng)。圖1是該四相反響式步進(jìn)電機(jī)工作原理示意圖。圖2四相步進(jìn)電機(jī)步進(jìn)示意圖開場(chǎng)時(shí),開關(guān)SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號(hào)齒對(duì)齊,同時(shí),轉(zhuǎn)子的1、4號(hào)齒就和C、D相繞組磁極產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和D、A相繞組磁極產(chǎn)生錯(cuò)齒。當(dāng)開關(guān)SC接通電源,SB、SA、SD斷開時(shí),由于C相繞組的磁力線和1、4號(hào)齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動(dòng),1、4號(hào)齒和C相繞組的磁極對(duì)齊。而0、3號(hào)齒和A、B相繞組產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和A、D相繞組磁極產(chǎn)生錯(cuò)齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會(huì)沿著A、B、C、D方向轉(zhuǎn)動(dòng)。四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動(dòng)力矩小。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度。單四拍、雙四拍與八拍工作方式的電源通電時(shí)序與波形分別如圖3.a、b、c所示:a.單四拍b.雙四拍c八拍圖3.步進(jìn)電機(jī)工作時(shí)序波形圖對(duì)步進(jìn)電機(jī)四個(gè)繞組依次實(shí)現(xiàn)如下方式的循環(huán)通電控制:

單四拍運(yùn)行:正轉(zhuǎn)A-B-C-D;反轉(zhuǎn)D-C-B-A

雙四拍運(yùn)行:正轉(zhuǎn)AB-BC-CD-DA;反轉(zhuǎn)DC-CB-BA-AD單雙八拍運(yùn)行:正轉(zhuǎn)A-AB-B-BC-C-CD-D-DA1.2控制系統(tǒng)電路設(shè)計(jì)步進(jìn)電機(jī)控制設(shè)計(jì)采用AT89S52單片機(jī)作為控制機(jī)構(gòu)的核心〔如圖4〕。通過對(duì)鍵盤的輸入與操作實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的控制。當(dāng)電源開通的時(shí)候,步進(jìn)電機(jī)就會(huì)按照默認(rèn)設(shè)置的轉(zhuǎn)速方式轉(zhuǎn)動(dòng)。步進(jìn)電機(jī)的正反轉(zhuǎn)及轉(zhuǎn)速由按鍵控制選擇,當(dāng)按鍵按下,步進(jìn)電機(jī)實(shí)現(xiàn)正轉(zhuǎn)或反轉(zhuǎn)及加速或減速狀態(tài)。AT89S52AT89S52單片機(jī)獨(dú)立按鍵鍵盤步進(jìn)電機(jī)驅(qū)動(dòng)LCD1602顯示揚(yáng)聲器〔擴(kuò)展)紅外發(fā)射電路(擴(kuò)展〕時(shí)鐘和復(fù)位電路圖7控制系統(tǒng)1.3液晶顯示LCD1602液晶LCD-1602說明:1.簡介工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符?!?6列2行〕注:為了表示的方便,后文皆以1表示高電平,0表示低電平。2.管腳功能1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為電源地第2腳:VDD接5V電源正極第3腳:V0為液晶顯示器比照度調(diào)整端,接正電源時(shí)比照度最弱,接地電源時(shí)比照度最高〔比照度過高時(shí)會(huì)產(chǎn)生“鬼影〞,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整比照度〕。第4腳:RS為存放器選擇,高電平1時(shí)選擇數(shù)據(jù)存放器、低電平0時(shí)選擇指令存放器。第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)展讀操作,低電平(0)時(shí)進(jìn)展寫操作。第6腳:E(或EN)端為使能(enable)端。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。3.操作控制操作控制表3.1操作讀狀態(tài)寫指令讀數(shù)據(jù)寫數(shù)據(jù)3.2輸入RS=0,RW=1,E=1RS=0,RW=0,D0-7=指令碼,E=H脈沖RS=1,RW=1,E=1RS=1,RW=0,D0-7=數(shù)據(jù),E=H脈沖注:關(guān)于E=H脈沖——開場(chǎng)時(shí)初始化E為0,然后置E為1,脈沖大于0.5us,下降沿有效。4.字符集1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器〔CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比方大寫的英文字母“A〞的代碼是01000001B〔41H〕,顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A〞。因?yàn)?602識(shí)別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如'A’。以下是1602的16進(jìn)制ASCII碼表地址:讀的時(shí)候,先讀左邊那列,再讀上面那行,如:感慨號(hào)!的ASCII為0x21,字母B的ASCII為0x42〔前面加0x表示十六進(jìn)制〕。[編輯本段]指令集1602通過D0-D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設(shè)置:(初始化)00110000[0x38]設(shè)置16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口;顯示開關(guān)及光標(biāo)設(shè)置:(初始化)00001DCBD顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效)000001NSN=1(讀或?qū)懸粋€(gè)字符后地址指針加1&光標(biāo)加1),N=0(讀或?qū)懸粋€(gè)字符后地址指針減1&光標(biāo)減1),S=1且N=1(當(dāng)寫一個(gè)字符后,整屏顯示左移)s=0當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng)數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H)其他設(shè)置:〔01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。圖8液晶LCD16021.4AT89S52核心部件及系統(tǒng)SCH原理圖AT89S52單片機(jī)功能特性描述:AT89S52是美國ATMEL公司生產(chǎn)的低功耗、高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器既可在線編程〔ISP〕也可用傳統(tǒng)方法進(jìn)展編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)位AT89S51單片機(jī)可以提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷構(gòu)造,全雙工串行口片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停頓工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停頓,直到下一個(gè)中斷或硬件復(fù)位為止。圖9SCH原理框圖1.5LN2003A驅(qū)動(dòng)ULN2003的內(nèi)部構(gòu)造和功能ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,可用來驅(qū)動(dòng)繼電器。它是雙列16腳封裝,NPN晶體管矩陣,最大驅(qū)動(dòng)電壓=50V,電流=500mA,輸入電壓=5V,適用于TTLCOMS,由達(dá)林頓管組成驅(qū)動(dòng)電路。ULN是集成達(dá)林頓管IC,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,它的輸出端允許通過電流為200mA,飽和壓降VCE約1V左右,耐壓BVCEO約為36V。用戶輸出口的外接負(fù)載可根據(jù)以上參數(shù)估算。采用集電極開路輸出,輸出電流大,故可直接驅(qū)動(dòng)繼電器或固體繼電器,也可直接驅(qū)動(dòng)低壓燈泡。通常單片機(jī)驅(qū)動(dòng)ULN2003時(shí),上拉2K的電阻較為適宜,同時(shí),COM引腳應(yīng)該懸空或接電源。ULN2003是一個(gè)非門電路,包含7個(gè)單元,但獨(dú)每個(gè)單元驅(qū)動(dòng)電流最大可達(dá)350mA.資料的最后有引用電路,9腳可以懸空。比方1腳輸入,16腳輸出,你的負(fù)載接在VCC與16腳之間,不用9腳。uln2003的作用:ULN2003是大電流驅(qū)動(dòng)陣列,多用于單片機(jī)、智能儀表、PLC、數(shù)字量輸出卡等控制電路中??芍苯域?qū)動(dòng)繼電器等負(fù)載。輸入5VTTL電平,輸出可達(dá)500mA/50V。ULN2003是高耐壓、大電流達(dá)林頓陳列,由七個(gè)硅NPN達(dá)林頓管組成。該電路的特點(diǎn)如下:ULN2003的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器。ULN2003是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的系統(tǒng)。圖10ULN2003A引腳圖及功能ULN2003是高耐壓、大電流、內(nèi)部由七個(gè)硅NPN達(dá)林頓管組成的驅(qū)動(dòng)芯片。經(jīng)常在以下電路中使用,作為:1、顯示驅(qū)動(dòng)2、繼電器驅(qū)動(dòng)3、照明燈驅(qū)動(dòng)4、電磁閥驅(qū)動(dòng)5、伺服電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)等電路中。ULN2003的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。ULN2003工作電壓高,工作電流大,灌電流可達(dá)500mA,并且能夠在關(guān)態(tài)時(shí)承受50V的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。ULN2003的封裝采用DIP—16或SOP—16ULN2003A在各種控制電路中常用它作為驅(qū)動(dòng)繼電器的芯片,其芯片內(nèi)部做了一個(gè)消線圈反電動(dòng)勢(shì)的二極管。ULN2003的輸出端允許通過IC電流200mA,飽和壓降VCE約1V左右,耐壓BVCEO約為36V。輸出電流大,故可以直接驅(qū)動(dòng)繼電器或固體繼電器(SSR)等外接控制器件,也可直接驅(qū)動(dòng)低壓燈泡。ULN2003可以驅(qū)動(dòng)7個(gè)繼電器,具有高電壓輸出特性,并帶有共陰極的續(xù)流二極管使器件可用于開關(guān)型感性負(fù)載。每對(duì)達(dá)林頓管的額定集電極電流是500mA,達(dá)林頓對(duì)管還可并聯(lián)使用以到達(dá)更高的輸出電流能力。ULN2003A中每對(duì)達(dá)林頓管的基極都串聯(lián)有一個(gè)2.7kΩ的電阻,可直接與TTL或5VCMOS器件連接。ULN2003可以并聯(lián)使用,在相應(yīng)的OC輸出管腳上串聯(lián)幾個(gè)歐姆的均流電阻后再并聯(lián)使用,防止陣列電流不平衡。2.在輸入口輸入高電平時(shí)﹐輸出口為低電平﹐但是在輸入端輸入低電平時(shí)﹐輸出端怎么還是低電平ULN2003A的輸出構(gòu)造是集電極開路的,所以要在輸出端接一個(gè)上拉電阻,在輸入低電平的時(shí)候輸出才是高電平。在驅(qū)動(dòng)負(fù)載的時(shí)候,電流是由電源通過負(fù)載灌入U(xiǎn)LN2003A的。圖11ULN2003A驅(qū)動(dòng)電路圖ULN2003一般用來驅(qū)動(dòng)大電流的裝置,如繼電器,LED燈等,在驅(qū)動(dòng)繼電器這種裝置時(shí),COM端最好接上電源,以用來泄放繼電器線圈的反向電動(dòng)勢(shì)。顯示電路主要包括大型LED數(shù)碼管BSI20-1(共陽極,數(shù)字凈高12cm)和高電壓大電流驅(qū)動(dòng)器ULN2003,大型LED數(shù)碼管的每段是由多個(gè)LED發(fā)光二極管串并聯(lián)而成的,因此導(dǎo)通電流大、導(dǎo)通壓降高。ULN2003是高壓大電流達(dá)林頓晶體管陣列電路,他具有7個(gè)獨(dú)立的反相驅(qū)動(dòng)器,每個(gè)驅(qū)動(dòng)器的輸出灌電流可達(dá)500mA,導(dǎo)通時(shí)輸出電壓約1V,截止時(shí)輸出電壓可達(dá)50V。ULN2003的1~7腳為信號(hào)輸入腳,依次對(duì)應(yīng)的輸出端為16~10腳,8腳為接地端。當(dāng)驅(qū)動(dòng)電源電壓為+12V時(shí),假設(shè)要求數(shù)碼管每段導(dǎo)通電流為40mA,則每段的限流電阻為50Ω。則一塊ULN2003恰好驅(qū)動(dòng)一個(gè)LED數(shù)碼管的7段。大數(shù)碼管采用共陽極接法,低電平有效。鎖存器輸出的電平經(jīng)NPN三極管9014反相后,再由ULN2003放大后推動(dòng)大數(shù)碼管顯示。2軟件設(shè)計(jì)及調(diào)試

2.1程序流程LCD初始LCD初始工作方式設(shè)置顯示狀態(tài)設(shè)置清屏輸入方式設(shè)置返回LCD初始化光標(biāo)定位顯示字符完畢開場(chǎng)圖12LCD初始化流程圖圖13液晶顯示控制程序流程圖開場(chǎng)開場(chǎng)LCD初始化LCD1602顯示字設(shè)定定時(shí)器初值設(shè)定〔設(shè)定按鍵〕判斷LCD是否可寫入LCD液晶顯示單片機(jī)P0.1-P0.3延時(shí)脈沖斬波輸出返回定時(shí)器T0定時(shí)中斷按鍵定時(shí)器T1定時(shí)中斷按鍵外部T0計(jì)數(shù)中斷按鍵外部T1計(jì)數(shù)中斷按鍵P2.3=1P1=0x01清屏P2.3=0P1=0x01清屏RunSpeed-2RunSpeed+2DoSpeed液晶顯示的速度計(jì)算后清屏返回C51庫調(diào)用C語言各函數(shù)設(shè)置及定義圖14程序總流程2.2軟件設(shè)計(jì)及調(diào)試軟件設(shè)計(jì):根據(jù)要求,可以將程序分為以下幾個(gè)部份:鍵盤輸入程序設(shè)計(jì)本系統(tǒng)使用的鍵盤較少且比擬特殊,因此采用獨(dú)立式鍵盤〔定時(shí)器定時(shí)內(nèi)部T0、T1中斷及外部計(jì)數(shù)T0、T1中斷〕接口設(shè)計(jì)。獨(dú)立式鍵盤適用于按鍵數(shù)量較少的場(chǎng)合。獨(dú)立鍵盤工作原理:通過上拉電阻接到+5V上。無按鍵,處于高電平狀態(tài),有鍵按下電平為低。在消除抖動(dòng)影響上是可以采用了軟件消抖方法:在第一次檢測(cè)到有鍵按下時(shí),執(zhí)行一段延時(shí)子程序后〔約10ms〕,再確認(rèn)電平是否仍保持閉合狀態(tài)電平,如果保持閉合狀態(tài)電平,則確認(rèn)真正有鍵按下,進(jìn)展相應(yīng)處理工作,消除了抖動(dòng)的影響?!?〕步進(jìn)電機(jī)運(yùn)行步數(shù)控制程序此方案采用單相和雙相交差通電處理方式。此方法具有運(yùn)行速度穩(wěn)定,運(yùn)行步數(shù)準(zhǔn)確無誤等優(yōu)點(diǎn)。調(diào)試:本電路經(jīng)調(diào)試符合題目要求,各項(xiàng)技術(shù)指標(biāo)均到達(dá)設(shè)計(jì)的目的。具體操作控制方法如下:〔1〕步進(jìn)電機(jī)正轉(zhuǎn)既此時(shí)液晶顯示CW:RUNSTATE:CW?!?〕步進(jìn)電機(jī)反轉(zhuǎn)即液晶顯示:RUNSTATE:CCW?!?〕步進(jìn)電機(jī)加速按鍵:步進(jìn)電機(jī)轉(zhuǎn)速加快且顯示的轉(zhuǎn)速加大〔4〕步進(jìn)電機(jī)減速按鍵:液晶顯示速度變小電機(jī)轉(zhuǎn)速減慢。3擴(kuò)展功能說明通過紅外信號(hào)的發(fā)射由另一塊單片機(jī)和紅外線LED完成,用紅外萬能接收頭接收紅外信號(hào),可以實(shí)現(xiàn)對(duì)電機(jī)的控制進(jìn)展紅外遙控。本電路設(shè)計(jì)包括max232接口通信電路,可以通過串口線直接與電腦相連接。可利用PC機(jī)強(qiáng)大功能編寫PC軟件來控制、驗(yàn)證、改善控制系統(tǒng)性能。利用以有的單片機(jī)系統(tǒng),作為下位機(jī),選用一臺(tái)微機(jī)作為上位機(jī),可以用VB語言編寫一個(gè)系統(tǒng)軟件,這樣可以基于PC的控制系統(tǒng)提高電機(jī)的控制功能。由于聯(lián)動(dòng)插補(bǔ)算法較復(fù)雜,有大量浮點(diǎn)運(yùn)算,對(duì)實(shí)時(shí)性要求又較高,選用PC來完成插補(bǔ)運(yùn)算和數(shù)值運(yùn)算。同時(shí)可利用豐富的PC軟件來改善控制系統(tǒng)的圖形顯示、動(dòng)態(tài)仿真、編程和診斷功能。這樣更有利于操作,大大提高步進(jìn)電機(jī)運(yùn)行的可靠性。另外電路中還增加了與電機(jī)同步的脈沖輸出和方向控制電路〔OC輸出〕,可以方便的與專用的步進(jìn)電機(jī)驅(qū)動(dòng)器相聯(lián)接。4設(shè)計(jì)總結(jié)步進(jìn)電機(jī)可在寬廣的頻率范圍內(nèi)通過改變脈沖頻率來實(shí)現(xiàn)調(diào)速,快速起停、正反轉(zhuǎn)控制及制動(dòng)等,這是步進(jìn)電動(dòng)機(jī)最突出的優(yōu)點(diǎn)。步進(jìn)電機(jī)的性能在很大程度上取決于步進(jìn)電機(jī)控制系統(tǒng),而步進(jìn)電機(jī)控制系統(tǒng)由步進(jìn)電機(jī)控制器、驅(qū)動(dòng)器、系統(tǒng)軟件等幾局部組成,控制系統(tǒng)的每一局部對(duì)步進(jìn)電機(jī)的運(yùn)行性能息息相關(guān)。一臺(tái)好的步進(jìn)電機(jī)控制器就能表達(dá)出步進(jìn)機(jī)在控制方面上的優(yōu)越性能。所以我選擇這樣的畢業(yè)設(shè)計(jì)課題,并且能通過此次設(shè)計(jì)來提高自己軟件編制和硬件電路設(shè)計(jì)的能力。在我完成這次畢業(yè)設(shè)計(jì)的過程中,當(dāng)看到自己將專業(yè)知識(shí)用于解決實(shí)際的問題時(shí),那份成就感和喜悅感是難以形容的。但是,在實(shí)際的編程以及調(diào)試程序過程中,我發(fā)現(xiàn)自己所應(yīng)該學(xué)的太多太多。光靠自己在書本上所學(xué)過的這點(diǎn)知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,真正地認(rèn)識(shí)到了工作就是學(xué)習(xí)的道理。采用此設(shè)計(jì)的步進(jìn)電機(jī)驅(qū)動(dòng)系統(tǒng),在驅(qū)動(dòng)二相或四相混合式步進(jìn)電機(jī)時(shí)運(yùn)動(dòng)平穩(wěn),速度快,噪音低,控制精高,而且可選整步半步驅(qū)動(dòng)。外觀采用鋁鎂合金,散熱性好,價(jià)格低廉,可廣泛應(yīng)用于需要驅(qū)動(dòng)電流小于2A的混合式兩相或四相步進(jìn)電機(jī)的系統(tǒng)中。5設(shè)計(jì)源程序〔清單〕#include"reg51.h"intdelay();//判斷LCD是否可以寫入即忙否〔P1.7〕voidinti_lcd();//液晶LCD1602初始化voidshow_lcd(int);//液晶讀顯示voidcmd_wr();//LCD寫控制程序voidShowState();//LCD狀態(tài)顯示即速度顯示voidclock(unsignedintDelay);//延時(shí)程序voidDoSpeed();//計(jì)算速度voidmotor_CCW();//電機(jī)正轉(zhuǎn)voidmotor_CW();//電機(jī)反轉(zhuǎn)voidkey();//固定檔位按鍵#defineucharunsignedchar//無符號(hào)字符定義ucharcodeCW[4]={0x01,0x02,0x04,0x08};//正轉(zhuǎn)表ucharcodeCCW[4]={0x08,0x04,0x02,0x01};//反轉(zhuǎn)表#defineRIGHT_RUN1//正轉(zhuǎn)值#defineLEFT_RUN0//反轉(zhuǎn)值sbitRS=0xA0;sbitRW=0xA1;sbitE=0xA2;//LCD1602RSRWE腳分別接于P2.0P2.1P2.2sbitP0_0=P0^0;sbitP0_1=P0^1;sbitP0_2=P0^2;sbitP0_3=P0^3;sbitP2_3=P2^3;sbitP1_7=P1^7;sbitP3_0=P3^0;//單片機(jī)的管腳定義#definesfrP1=0x90;#definesfrP0=0x80;//存放器定義charSpeedChar[]="SPEED(n/min):";charStateChar[]="RUNcharSTATE_CW[]="CW";charSTATE_CCW[]="CCW";//顯示數(shù)組charSPEED[3]="050";//初始速度設(shè)定unsignedintRunSpeed=50; //初始速度值unsignedcharRunState=RIGHT_RUN;//運(yùn)行狀態(tài)main()//主程序{ /*定時(shí)器設(shè)置*/ TMOD=0x66; //定時(shí)器0,1都為計(jì)數(shù)方式;方式2; EA=1; //開總中斷開啟 TH0=0xff; //定時(shí)器T0初值FFH; TL0=0xff; ET0=1;//T0中斷開啟 TR0=1; //定時(shí)器T0開啟 TH1=0xff; //定時(shí)器T1初值FFH; TL1=0xff; ET1=1; TR1=1;//T1中斷開啟 IT0=1; //脈沖方式 EX0=1; //開外部中斷0:加速 IT1=1; //脈沖方式 EX1=1; //開外部中斷1:減速inti_lcd(); DoSpeed();ShowState();while(1){ if(P2_3==1)motor_CW();//電機(jī)正轉(zhuǎn)elseif(P2_3==0)motor_CCW();//電機(jī)反轉(zhuǎn)} }/*步進(jìn)電機(jī)正轉(zhuǎn)/********************************************************/voidmotor_CW(){uchari;{for(i=0;i<4;i++)//一個(gè)周期轉(zhuǎn)30度{P0=CW[i];//取數(shù)clock(RunSpeed);//脈沖延時(shí)}}}/*步進(jìn)電機(jī)反轉(zhuǎn)/********************************************************/voidmotor_CCW(){ucharj;{for(j=0;j<4;j++)//一個(gè)周期轉(zhuǎn)30度{P0=CCW[j];//取數(shù)據(jù)clock(RunSpeed);//脈沖延時(shí)}}}//定時(shí)器0中斷程序:正轉(zhuǎn)voidt_0(void)interrupt1{ RunState=RIGHT_RUN; P2_3=1;P1=0x01;//清屏cmd_wr();ShowState();}//定時(shí)器1中斷:反轉(zhuǎn)voidt_1(void)interrupt3{ RunState=LEFT_RUN;P2_3=0;P1=0x01;cmd_wr();ShowState();}//中斷0:加速程序voidSpeedUp()interrupt0{if(RunSpeed>=12)RunSpeed=RunSpeed-2;DoSpeed();P1=0x01;cmd_wr();ShowState();}//中斷1:減速程序voidSpeedDowm()interrupt2{if(RunSpeed<=100)RunSpeed=RunSpeed+2;DoSpeed();P1=0x01;cmd_wr();ShowState();}voidkey(){if(P3_0==0)RunSpeed=70;DoSpeed();P1=0x01;cmd_wr();ShowState();}intdelay()//判斷LCD是否忙{inta;start:RS=0;RW=1;E=0;for(a=0;a<2;a++);E=1;P1=0xff;if(P1_7==0)return0;elsegotostart;}voidinti_lcd()//設(shè)置LCD方式{P1=0x38;//液晶模式設(shè)置cmd_wr();//寫命令delay();P1=0x01;//去除cmd_wr();delay();P1=0x0f;//光標(biāo),顯示開啟cmd_wr();delay();P1=0x06;cmd_wr();delay();P1=0x0c;cmd_wr();delay();}voidcmd_wr()//寫控制字{RS=0;RW=0;E=0;E=1;}voidshow_lcd(inti)//LCD顯示子程序{P1=i;//將數(shù)據(jù)經(jīng)P1口送入液晶顯示RS=1;RW=0;E=0;E=1;}voidShowState()//顯示狀態(tài)與速度{inti=0;while(SpeedChar[i]!='\0'){delay();show_lcd(SpeedChar[i]);i++;}delay();P1=0x80|0x0d;cmd_wr();i=0;while(SPEED[i]!='\0'){delay();show_lcd(SPEED[i]);i++;}delay();P1=0xC0;cmd_wr();i=0;while(StateChar[i]!='\0'){delay();show_lcd(StateCha

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論