版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 緒論</b></p><p> 1.1課題研究的目的和意義</p><p> 步進(jìn)電動(dòng)機(jī)是用電脈沖信號進(jìn)行控制,將電脈沖信號轉(zhuǎn)換成相應(yīng)的角位移或線位移的微電動(dòng)機(jī),它最突出的優(yōu)點(diǎn)是可以在寬廣的頻率范圍內(nèi)通過改變脈沖頻率來實(shí)現(xiàn)調(diào)速,快速起停、正反轉(zhuǎn)控制及制動(dòng)等,并且用其組成的開環(huán)系統(tǒng)既簡單、廉價(jià),又非??尚校虼嗽诖蛴C(jī)等辦公自動(dòng)化設(shè)備以
2、及各種控制裝置等眾多領(lǐng)域有著極其廣泛的應(yīng)用。同時(shí),步進(jìn)電機(jī)在工業(yè)控制生產(chǎn)以及儀器上應(yīng)用十分廣泛。通常都要對一些機(jī)械部件平移和轉(zhuǎn)動(dòng),對移動(dòng)的位移和角度控制要求較高,一般的電機(jī)很難實(shí)現(xiàn)對位置和角度的精確控制,在一些智能化要求較高的場合,用模擬芯片控制器及信號發(fā)生器來控制有一定局限性。而用單片機(jī)控制步進(jìn)電機(jī)可以改善性能,步進(jìn)電機(jī)能實(shí)現(xiàn)精確的角度和轉(zhuǎn)數(shù),具有良好的步進(jìn)特性,最適合數(shù)字控制。在工控設(shè)備中得到了廣泛的應(yīng)用。而單片機(jī)具有芯片體積小,兼
3、容性強(qiáng),低電壓地,低功耗等特點(diǎn),使單片機(jī)成為驅(qū)動(dòng)步進(jìn)電機(jī)的最佳空盒子單元。所以單片機(jī)控制步進(jìn)電機(jī)系統(tǒng)控制精度高,運(yùn)行穩(wěn)定,得以廣泛運(yùn)用。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電動(dòng)機(jī)的需求量與日俱增,研制步進(jìn)電機(jī)驅(qū)動(dòng)器及其控制系統(tǒng)具有十分重要的意義。</p><p> 1.2國內(nèi)外研究概況</p><p> 步進(jìn)電機(jī)最早是在1920年由英國人發(fā)明的。我國步進(jìn)電機(jī)的研究及制造起始于本世界50年
4、代后期,從50年代后期到60年代后期,主要是高等院校和科研機(jī)構(gòu)為研究一些裝置而使用或開發(fā)少量產(chǎn)品。中國在文化大革命中已經(jīng)生產(chǎn)和應(yīng)用,例如江蘇、浙江、北京、南京、四川都生產(chǎn),而且都在各行業(yè)使用,驅(qū)動(dòng)電路所有半導(dǎo)體器件都是完全國產(chǎn)化的,當(dāng)時(shí)是全分立元器件構(gòu)成的邏輯運(yùn)算電路,還有電容耦合輸入的計(jì)數(shù)器,觸發(fā)器,環(huán)形分配器。70年代初期,步進(jìn)電機(jī)的生產(chǎn)和研究都有所突破,除反映在驅(qū)動(dòng)器設(shè)計(jì)方面的長足進(jìn)步以外,對反應(yīng)式步進(jìn)電機(jī)本體的設(shè)計(jì)研究發(fā)展到一個(gè)
5、較高的水平。70年代中期至80年代中期為成品發(fā)展階段,新品種高性能電動(dòng)機(jī)不斷被開發(fā)。至80年代中期以來,由于步進(jìn)電機(jī)精確模型做了大量研究工作,各種混合式步進(jìn)電機(jī)及驅(qū)動(dòng)器作為產(chǎn)品廣泛利用。</p><p> 國外在大功率的工業(yè)設(shè)備驅(qū)動(dòng)上,目前基本不使用大扭矩步進(jìn)電動(dòng)機(jī),因?yàn)閺尿?qū)動(dòng)電路的成本,效率,噪音,加速度,絕對速度,系統(tǒng)慣量與最大扭矩比來比較,比較不劃算,還是用直流電動(dòng)機(jī),加電動(dòng)機(jī)編碼器整體技術(shù)和經(jīng)濟(jì)指標(biāo)高。
6、一些少數(shù)高級的應(yīng)用,就用空心轉(zhuǎn)杯電機(jī),交流電機(jī)。</p><p> 國外在小功率的場合,還使用步進(jìn)電機(jī),例如一些工業(yè)器材,工業(yè)生產(chǎn)裝備,打印機(jī),復(fù)印件,速印機(jī),銀行自動(dòng)柜員機(jī)。國外用許多現(xiàn)代的手段將步進(jìn)電機(jī)排擠出驅(qū)動(dòng)應(yīng)用,除了前面提到的旋轉(zhuǎn)編碼器,打印機(jī)還使用光電編碼帶或感應(yīng)編碼帶配合直流電動(dòng)機(jī),實(shí)現(xiàn)閉環(huán)直線位移控制。</p><p> 國內(nèi)過去是用大力矩步進(jìn)電動(dòng)機(jī)實(shí)現(xiàn)機(jī)床數(shù)控,有實(shí)力
7、的公司現(xiàn)在也采用交流電動(dòng)機(jī)驅(qū)動(dòng)數(shù)控機(jī)床,在驅(qū)動(dòng)設(shè)備的主要差距,是國外對交流電動(dòng)機(jī)的控制理論與工程分析和應(yīng)用能力強(qiáng),先進(jìn)的控制理論作為軟件,寫在控制器內(nèi)部??偟膩碚f,步進(jìn)電機(jī)是一種簡易的開環(huán)控制,對運(yùn)用者的要求低,不適合在大功率的場合使用。</p><p> 在衛(wèi)星、雷達(dá)等應(yīng)用場合,中國在文化大革命后期,就生產(chǎn)了力矩電機(jī),就生產(chǎn)了環(huán)形力矩電機(jī),在高品質(zhì)的控制場合,有時(shí)還不能使用步進(jìn)電機(jī)。步進(jìn)電機(jī)的細(xì)分控制,在改革
8、開放初期,國內(nèi)就已經(jīng)基本掌握,這與交流電動(dòng)機(jī)的矢量控制相比,難度要低得多。 </p><p><b> 系統(tǒng)整體方案設(shè)計(jì)</b></p><p><b> 2.1 設(shè)計(jì)目標(biāo)</b></p><p> 本設(shè)計(jì)采用STC89C52單片機(jī)作為主控芯片,結(jié)合外設(shè)獨(dú)立按鍵、LCD1602液晶顯示器和步進(jìn)電機(jī)驅(qū)動(dòng)模塊組成的步進(jìn)電
9、機(jī)控制系統(tǒng)。按鍵負(fù)責(zé)控制步進(jìn)電機(jī)運(yùn)動(dòng)狀態(tài),液晶顯示器負(fù)責(zé)顯示步進(jìn)電機(jī)的運(yùn)動(dòng)狀態(tài),驅(qū)動(dòng)模塊通過單片機(jī)的控制從而驅(qū)動(dòng)步進(jìn)電機(jī)。獨(dú)立按鍵共有5個(gè),各自的功能分別為正轉(zhuǎn)啟動(dòng)、反轉(zhuǎn)啟動(dòng)、加速、減速和停止。</p><p> 系統(tǒng)整體設(shè)計(jì)框圖如圖2-1所示:</p><p> 圖2-1系統(tǒng)整體設(shè)計(jì)框圖</p><p> 2.2 步進(jìn)電機(jī)驅(qū)動(dòng)方式</p>&l
10、t;p> 步進(jìn)電動(dòng)機(jī)是一種將電脈沖信號轉(zhuǎn)換成角位移或線位移的機(jī)電元件。步進(jìn)電動(dòng)機(jī)的輸入量是脈沖序列,輸出量則為相應(yīng)的增量位移或步進(jìn)運(yùn)動(dòng)。正常運(yùn)動(dòng)情況下,它每轉(zhuǎn)一周具有固定的步數(shù);做連續(xù)步進(jìn)運(yùn)動(dòng)時(shí),其旋轉(zhuǎn)轉(zhuǎn)速與輸入脈沖的頻率保持嚴(yán)格的對應(yīng)關(guān)系,不受電壓波動(dòng)和負(fù)載變化的影響。由于步進(jìn)電動(dòng)機(jī)能直接接受數(shù)字量的控制,所以特別適宜采用微機(jī)進(jìn)行控制。</p><p> 現(xiàn)在比較常用的步進(jìn)電機(jī)包括反應(yīng)式步進(jìn)電機(jī)(VR
11、)、永磁式步進(jìn)電機(jī)(PM)、混合式步進(jìn)電機(jī)(HB)和單相式步進(jìn)電機(jī)等。本設(shè)計(jì)采用兩相四線的混合步進(jìn)電機(jī)。</p><p> 步進(jìn)電動(dòng)機(jī)不能直接接到工頻交流或直流電源上工作,而必須使用專用的步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)器,如圖2所示,它由脈沖發(fā)生控制單元、功率驅(qū)動(dòng)單元、保護(hù)單元等組成。圖中點(diǎn)劃線所包圍的二個(gè)單元可以用微機(jī)控制來實(shí)現(xiàn)。驅(qū)動(dòng)單元與步進(jìn)電動(dòng)機(jī)直接耦合,也可理解成步進(jìn)電動(dòng)機(jī)微機(jī)控制器的功率接口,這里予以簡單介紹。<
12、;/p><p><b> 硬件系統(tǒng)設(shè)計(jì)</b></p><p><b> 3.1步進(jìn)電機(jī)介紹</b></p><p> 3.1.1步進(jìn)電機(jī)概述</p><p> 步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不
13、受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號,電機(jī)則轉(zhuǎn)過一個(gè)步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點(diǎn)。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單。</p><p> 正常情況下,步進(jìn)電機(jī)轉(zhuǎn)過的總角度和輸入的脈沖數(shù)成正比;連續(xù)輸入一定頻率的脈沖時(shí),電動(dòng)機(jī)的轉(zhuǎn)速與輸入脈沖的頻率保持嚴(yán)格的對應(yīng)關(guān)系,不受電壓波動(dòng)和負(fù)載變化的影響。由于步進(jìn)電動(dòng)機(jī)能直接接收數(shù)字量的輸入,所以特別
14、適合于微機(jī)控制。</p><p> 3.1.2步進(jìn)電機(jī)的工作原理</p><p> 步進(jìn)電機(jī)的工作就是步進(jìn)轉(zhuǎn)動(dòng),其功用是將脈沖電信號變換為相應(yīng)的角位移或是直線位移,就是給一個(gè)脈沖信號,電動(dòng)機(jī)轉(zhuǎn)動(dòng)一個(gè)角度或是前進(jìn)一步。步進(jìn)電機(jī)的角位移量與脈沖數(shù)成正比,它的轉(zhuǎn)速與脈沖頻率(f)成正比,在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一
15、個(gè)脈沖信號,電機(jī)則轉(zhuǎn)過一個(gè)步距角。</p><p> 如下所示的步進(jìn)電機(jī)為一四相步進(jìn)電機(jī),采用單極性直流電源供電。只要對步進(jìn)電機(jī)的各相繞組按合適的時(shí)序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動(dòng)。圖3-1是該四相反應(yīng)式步進(jìn)電機(jī)工作原理示意圖。</p><p> 圖3-1 四相步進(jìn)電機(jī)步進(jìn)示意圖</p><p> 開始時(shí),開關(guān)SB接通電源,SA、SC、SD斷開,B相磁
16、極和轉(zhuǎn)子0、3號齒對齊,同時(shí),轉(zhuǎn)子的1、4號齒就和C、D相繞組磁極產(chǎn)生錯(cuò)齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯(cuò)齒。</p><p> 當(dāng)開關(guān)SC接通電源,SB、SA、SD斷開時(shí),由于C相繞組的磁力線和1、4號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動(dòng),1、4號齒和C相繞組的磁極對齊。而0、3號齒和A、B相繞組產(chǎn)生錯(cuò)齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯(cuò)齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會(huì)沿著A、B、C
17、、D方向轉(zhuǎn)動(dòng)。</p><p> 單四拍、雙四拍與八拍工作方式的電源通電時(shí)序與波形分別如圖3-2所示:</p><p> 圖3-2 步進(jìn)電機(jī)工作時(shí)序波形圖</p><p> 3.2 STC89C52 簡介</p><p> STC89C52是51系列單片機(jī)的一個(gè)型號,它是STC公司生產(chǎn)的。STC89C52是一個(gè)低電壓,高性能CMOS
18、8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器,器件采用STC公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的STC89C52單片機(jī)可提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。STC89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,全雙工串行通信
19、口。其引腳圖如圖3-3示。</p><p> 圖3-3 STC89C52引腳分布圖</p><p> STC89C52具體介紹如下:</p><p> STC89C52單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個(gè)口有8位(8根引腳),共32根[8]。</p><p> P0口(Pin39~Pin32):8位雙
20、向I/O口線,名稱為P0.0~P0.7</p><p> P1口(Pin1~Pin8):8位準(zhǔn)雙向I/O口線,名稱為P1.0~P1.7 </p><p> P2口(Pin21~Pin28):8位準(zhǔn)雙向I/O口線,名稱為P2.0~P2.7 </p><p> P3口(Pin10~Pin17):8位準(zhǔn)雙向I/O口線,名稱為P3.0~P3.7</p>
21、<p> 3.3 硬件電路設(shè)計(jì)</p><p> 本設(shè)計(jì)主要由單片機(jī)、獨(dú)立按鍵、液晶顯示器和步進(jìn)電機(jī)驅(qū)動(dòng)等部分組成。其中獨(dú)立按鍵用于輸入控制命令和進(jìn)行各種功能的實(shí)現(xiàn)。用戶按下相應(yīng)的按鍵對應(yīng)步進(jìn)電機(jī)相應(yīng)的運(yùn)動(dòng)狀態(tài)。</p><p> 本系統(tǒng)共有兩部分構(gòu)成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、按鍵輸入部分、復(fù)位部分、晶振部分、顯示部分、步進(jìn)電機(jī)驅(qū)動(dòng)部分組成。 &l
22、t;/p><p> 3.2.1 復(fù)位電路</p><p> 單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。無論是在單片機(jī)剛開始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。如圖 3-4 所示:</p><p> 圖3- 4復(fù)位電路原理圖</p><p> 3.2.2 晶振電路</p>
23、<p> ST89C52引腳XTAL1和XTAL2與晶體振蕩器及電容C2、C1按圖3-5所示方式連接。晶振、電容C2/C3及片內(nèi)與非門(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號頻率與晶振頻率及電容C1、C2的容量有關(guān),但主要由晶振頻率決定,范圍在0~33MHz之間,電容C2、C3取值范圍在5~30pF之間。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用12MHZ做系統(tǒng)的外部晶振[11]。電容取值為30pF。</p>
24、<p> 圖3-5晶振電路原理圖</p><p> 3.2.3 按鍵輸入電路</p><p> 由于本設(shè)計(jì)所用到的按鍵數(shù)量只有五個(gè),每個(gè)按鍵都有對應(yīng)功能。當(dāng)單片機(jī)接收都信號后就會(huì)執(zhí)行相應(yīng)的程序,從而改變步進(jìn)電機(jī)的運(yùn)動(dòng)狀態(tài)。接法如圖3-6所示:</p><p> 圖3- 6 鍵盤輸入原理圖</p><p> 3.2.4 顯
25、示電路</p><p> 本設(shè)計(jì)的顯示部分使用的是液晶顯示器LCD1602,該顯示器只能顯示英文字母和數(shù)字,所以步進(jìn)電機(jī)運(yùn)動(dòng)狀態(tài)的顯示使用英文和漢語拼音來指示。程序上電后顯示“direction:”,按下正轉(zhuǎn)按鍵后,在“direction:”后顯示“zheng”,如果按下反轉(zhuǎn)按鍵后,顯示“fan”:按下加速按鍵后,在第二行顯示“jiasu”并顯示當(dāng)前速度。按下停止按鍵后,顯示回復(fù)上電后狀態(tài)。 其顯示部分引腳接口
26、如圖3-7所示:</p><p> 圖3- 7顯示電路原理圖</p><p> 3.2.5 驅(qū)動(dòng)電路</p><p> L298N 為SGS-THOMSON Microelectronics 所出產(chǎn)的雙全橋步進(jìn)電機(jī)專用驅(qū)動(dòng)芯片( Dual Full-Bridge Driver ) ,內(nèi)部包含4信道邏輯驅(qū)動(dòng)電路,是一種二相 和四相步進(jìn)電機(jī)的專用驅(qū)動(dòng)器,可同時(shí)驅(qū)
27、動(dòng)2個(gè)二相或1個(gè)四相步進(jìn)電機(jī),內(nèi)含二個(gè)H-Bridge 的高電壓、大電流雙全橋式驅(qū)動(dòng)器,接收標(biāo)準(zhǔn) TTL邏輯準(zhǔn)位信號,可驅(qū)動(dòng)46V、2A以下的步進(jìn)電機(jī),且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機(jī)的IO端口來提供模擬時(shí)序信號, 但在本驅(qū)動(dòng)電路中用L297 來提供時(shí)序信號,節(jié)省了單片機(jī)IO 端口的使用。L298N 之接腳如圖3-8 所示,Pin1 和Pin15 可與電流偵測用電阻連 接來控制負(fù)載的電路; OUTl、OUT2
28、和OUT3、OUT4 之間分別接2 個(gè)步進(jìn)電機(jī);input1~input4 輸入控制電位來控制電機(jī)的正反轉(zhuǎn);Enable 則控制電機(jī)停轉(zhuǎn)。</p><p> 圖3-8步進(jìn)電機(jī)驅(qū)動(dòng)原理圖</p><p> 第4章 軟件程序設(shè)計(jì)</p><p> 4.1系統(tǒng)開發(fā)軟件環(huán)境介紹</p><p> 與其它的微處理器一樣,開發(fā)基于單片機(jī)的步進(jìn)電機(jī)
29、驅(qū)動(dòng)系統(tǒng)控制程序也需要一套完整的軟件和硬件開發(fā)工具。最常用的Keil C51。</p><p> Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將
30、這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。</p><p> Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)
31、到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級語言的優(yōu)勢。下面詳細(xì)介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。 </p><p> C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編
32、輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級調(diào)試,也可由仿真器使用直接對目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。 </p><p><b>
33、4.2系統(tǒng)主程序</b></p><p> 系統(tǒng)分為電機(jī)正轉(zhuǎn)、電機(jī)反轉(zhuǎn)、電機(jī)加速、電機(jī)減速和液晶顯示的幾部分組成,其主程序框圖如圖4-1所示。</p><p> 圖4-1 主程序框圖</p><p><b> 4.3按鍵部分</b></p><p> 查鍵程序用于判斷I/O口P3.0、P3.1、P3.
34、2、P3.3和P3.4的值,當(dāng)p3.0為0時(shí),電機(jī)正轉(zhuǎn);當(dāng)p3.1為0時(shí),電機(jī)反轉(zhuǎn);p3.2的值,電機(jī)加速;p3.3口為0時(shí),電機(jī)減速;p3.4口為0時(shí),電機(jī)停止;如圖4-2所示。</p><p> 圖4-2 查鍵部分流程圖</p><p><b> 4.4正轉(zhuǎn)部分</b></p><p> 系統(tǒng)初始化之后,正轉(zhuǎn)子程序標(biāo)志位不同的值,改變
35、電機(jī)轉(zhuǎn)動(dòng)的相序,使電機(jī)正向轉(zhuǎn)動(dòng)。流程圖如圖4-3所示。</p><p> 圖4-3 正轉(zhuǎn)部分流程圖</p><p><b> 4.4反轉(zhuǎn)部分</b></p><p> 系統(tǒng)初始化之后,反轉(zhuǎn)子程序標(biāo)志位不同的值,改變電機(jī)轉(zhuǎn)動(dòng)的相序,使電機(jī)飯向轉(zhuǎn)動(dòng)。流程圖如圖4-4所示。</p><p> 圖4-4 反轉(zhuǎn)部分流程圖&
36、lt;/p><p><b> 4.4加減速部分</b></p><p> 單片機(jī)檢測判斷過按鍵值之后,如果是按下的加速鍵,程序會(huì)進(jìn)入加速子程序,使延時(shí)子程序中的變量減一減少延時(shí)的時(shí)間從而加快步進(jìn)電機(jī)轉(zhuǎn)速,同理如果按下減速鍵,使延時(shí)子程序中的變量加一增加延時(shí)的時(shí)間從而加快步進(jìn)電機(jī)轉(zhuǎn)速</p><p> 圖4-5反轉(zhuǎn)部分流程圖</p>
37、<p> 第5章 系統(tǒng)的調(diào)試與檢測</p><p> 5.1程序編譯時(shí)的錯(cuò)誤與解決方法</p><p> 把編好的程序(包括正反轉(zhuǎn)程序、停止程序、顯示程序等)合理安排好結(jié)合到一起進(jìn)行編譯。由于編譯只能檢查是否存在語法錯(cuò)誤,所以還要看是否存在邏輯錯(cuò)誤。程序修改好以后,當(dāng)顯示編譯0錯(cuò)誤,0警告的時(shí)候,這說明已經(jīng)沒有語法錯(cuò)誤了,是否有邏輯錯(cuò)誤還要看接上電路板通過仿真以后,步進(jìn)
38、電機(jī)能否正常轉(zhuǎn)動(dòng),顯示是否正常。</p><p> 5.2 硬件電路檢查</p><p> 電路焊接完成后,首先應(yīng)該檢測電源和地是否短接,各個(gè)芯片的焊接的位置是否正確、電源和地是否反接。在焊接芯片前應(yīng)該先接好穩(wěn)壓供電電路,看其輸出是否在芯片的承受范圍,正確無誤后方可安裝芯片。</p><p> 5.3步進(jìn)電機(jī)轉(zhuǎn)動(dòng)錯(cuò)誤及解決方法</p><p
39、> 步進(jìn)電機(jī)一開始不能正常轉(zhuǎn)動(dòng),以為是電路焊接有問題,為了防止再次出現(xiàn)虛焊,首先將電路板用萬用表檢查了一遍,沒問題。程序也是正確的。后來仔細(xì)看了步進(jìn)電機(jī)工作原理,原來步進(jìn)電機(jī)要正常實(shí)現(xiàn)正反轉(zhuǎn),四個(gè)相序必須弄清。把電機(jī)接上電源,用高電平分別接觸電機(jī)的引線,每接觸一下電機(jī)就會(huì)向前或向后轉(zhuǎn)動(dòng)一下,經(jīng)過幾次試驗(yàn),終于搞清了電機(jī)的四個(gè)相序,排列順序分別是1—A,2—C,3—B,4—D。弄清了相序,把電路板重新布線,焊接好,結(jié)果電機(jī)能夠正常
40、轉(zhuǎn)動(dòng)了。</p><p><b> 心得體會(huì)</b></p><p> 課程設(shè)計(jì)是本科學(xué)習(xí)階段一次非常難得的理論與實(shí)際相結(jié)合的機(jī)會(huì),通過這次比較完整的單片機(jī)系統(tǒng)設(shè)計(jì),各種元器件的選用,各種軟件的使用方式,信息遠(yuǎn)距離傳輸,抗干擾能力強(qiáng)等問題,隨著設(shè)計(jì)的不斷深入而不斷熟悉并學(xué)會(huì)應(yīng)用的。同時(shí),對硬軟件的設(shè)計(jì)問題深入理解。我擺脫了單純的理論知識學(xué)習(xí)狀態(tài),和實(shí)際設(shè)計(jì)的結(jié)合鍛
41、煉了我的綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識,解決實(shí)際工程項(xiàng)目問題的能力,同時(shí)也提高我查閱文獻(xiàn)資料、設(shè)計(jì)手冊、設(shè)計(jì)規(guī)范以及電腦制圖仿真等其他專業(yè)能力水平,而且通過對整體的掌控,對局部的取舍,以及對細(xì)節(jié)的斟酌處理,都使我的能力得到了極大的鍛煉,經(jīng)驗(yàn)得到了豐富,并且意志品質(zhì)力,抗壓能力及耐力也都得到了不同程度的提升。</p><p> 本次課程設(shè)計(jì)是基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)。分析系統(tǒng)設(shè)計(jì)的具體實(shí)際要求,主要通過三大塊
42、來設(shè)計(jì),包括驅(qū)動(dòng)電路的設(shè)計(jì)、狀態(tài)顯示部分和按鍵部分是設(shè)計(jì),能夠?qū)崿F(xiàn)步進(jìn)電機(jī)的啟停、正反轉(zhuǎn)以及速度的調(diào)節(jié)。通過本次畢業(yè)設(shè)計(jì)加強(qiáng)了我對軟件編程和硬件設(shè)計(jì)的掌握,并且熟悉了LN298、LCD1602和STC89C52等芯片。但是,由于自己的工作沒能做得非常好,在軟件和硬件的各方面原因,系統(tǒng)的應(yīng)用討論不夠,精度還有待于進(jìn)一步提高。同時(shí),由于時(shí)間的原因,設(shè)備的原因,實(shí)驗(yàn)做的不夠好,相關(guān)驗(yàn)證性的數(shù)據(jù)、信息不夠豐富。可以肯定,隨著技術(shù)的不斷發(fā)展,步進(jìn)
43、電機(jī)的控制應(yīng)用前景將越來越寬闊,而其控制系統(tǒng)也將向著智能化和網(wǎng)絡(luò)化的方向發(fā)展。本設(shè)計(jì)的研究和探討還遠(yuǎn)遠(yuǎn)不夠?;趩纹瑱C(jī)的步進(jìn)電機(jī)控制系統(tǒng)性能優(yōu)于傳統(tǒng)的步進(jìn)控制器,具有相應(yīng)快,控制方便可靠等一系列優(yōu)點(diǎn),在機(jī)電一體化、數(shù)模轉(zhuǎn)換裝置、計(jì)算機(jī)外圍設(shè)備、自動(dòng)記錄儀、鐘表、印刷設(shè)備等中亦得到廣泛地應(yīng)用,發(fā)展前景廣闊。</p><p><b> 參考文獻(xiàn)</b></p><p>
44、 [1]張友德.單片微型機(jī)原理[M].上海:復(fù)旦大學(xué)出版社,2005.</p><p> [2]張強(qiáng),吳紅星,謝宗武.基于單片機(jī)的電動(dòng)機(jī)控制技術(shù)[J].北京:中國電力出版社,2008.</p><p> [3]王鴻鈺.步進(jìn)電機(jī)控制入門[M].上海:同濟(jì)大學(xué)出版社,1990.</p><p> [4]袁任光,張偉武.電動(dòng)機(jī)控制電路選用與258實(shí)例[M].北京:
45、機(jī)械工業(yè)出版社,2005.</p><p> [5]王秀和.永磁電機(jī)[M].北京:中國電力出版社,2007.</p><p> [6]房玉明,杭柏林.基于單片機(jī)的步進(jìn)電機(jī)開環(huán)控制系統(tǒng)[J].電機(jī)與控制應(yīng)用,2006.</p><p> [7]馮江華.異步電動(dòng)機(jī)的直接轉(zhuǎn)矩控制[J].電工技術(shù)學(xué)報(bào),1999.</p><p> [8]高偉
46、.AT89單片機(jī)原理及應(yīng)用.北京:國防工業(yè)出版社,2008.</p><p> [9]韓利虎.淺談步進(jìn)電機(jī)的基本原理[J].內(nèi)蒙古石油化工,Inner Mongolia Petrochemical Industry, 2007.</p><p> [10]張巍.淺談單片機(jī)控制步進(jìn)電機(jī)[J]. 安防科技,2006.</p><p> [11]喬璐.一種實(shí)用的步進(jìn)
47、電動(dòng)機(jī)驅(qū)動(dòng)器設(shè)計(jì)[J].微特電機(jī),2005.</p><p> [12]康晶.采用反饋控制的步進(jìn)電機(jī)高低壓驅(qū)動(dòng)電路[J].電力電子技術(shù),2003. </p><p> 附錄A 主要C語言源程序</p><p> #include <reg52.h></p><p> #include <INTRINS.H>
48、;</p><p> #defineucharunsigned char</p><p> #define uintunsigned int</p><p> sbit A1 = P1^4;//步進(jìn)電機(jī)A+位定義 </p><p> sbit A2 = P1^5; //步進(jìn)電機(jī)A-位定義</p><p&g
49、t; sbit B1 = P1^6; //步進(jìn)電機(jī)B+位定義</p><p> sbit B2 = P1^7; //步進(jìn)電機(jī)B-位定義</p><p> sbit key1 = P3^0;//按鍵1位定義 </p><p> sbit key2 = P3^1; //按鍵2位定義</p><p> sbit key3 = P3^
50、2; //按鍵3位定義</p><p> sbit key4 = P3^3; //按鍵4位定義</p><p> sbit key5 = P3^3; //按鍵5位定義</p><p> #define DataPort P0//LCD1602數(shù)據(jù)端口宏定義</p><p> sbit LCM_RS=P3^4; /
51、/LCD1602命令端口位定義</p><p> sbit LCM_RW=P3^5; //LCD1602命令端口位定義</p><p> sbit LCM_EN=P3^6; //LCD1602命令端口位定義</p><p> void DelayUs(void)//大致延時(shí)1US</p><p> { ;;;
52、;;;;;;;;;}</p><p><b> uint y,x;</b></p><p> void DelayMs(uint t)//大致延時(shí)1mS</p><p><b> { </b></p><p> for(x = 0;x < t;x++)</p>
53、<p> for(y = 0;y < 10;y++)DelayUs();</p><p><b> ?。?lt;/b></p><p> void BuJinP(int Speed)//步進(jìn)電機(jī)正轉(zhuǎn)子程序</p><p><b> {</b></p><p> if(Spe
54、ed <= 0)</p><p> {P1 = 0xFF;}</p><p><b> else</b></p><p> {A1 = 1;A2 = 0;B1 = 0;B2 = 0;DelayMs(Speed);</p><p> A1 = 1;A2 = 0;B1 = 1;B2 = 0;DelayMs(Sp
55、eed);</p><p> A1 = 0;A2 = 0;B1 = 1;B2 = 0;DelayMs(Speed);</p><p> A1 = 0;A2 = 1;B1 = 1;B2 = 0;DelayMs(Speed);</p><p> A1 = 0;A2 = 1;B1 = 0;B2 = 0;DelayMs(Speed);</p><p
56、> A1 = 0;A2 = 1;B1 = 0;B2 = 1;DelayMs(Speed);</p><p> A1 = 0;A2 = 0;B1 = 0;B2 = 1;DelayMs(Speed);</p><p> A1 = 1;A2 = 0;B1 = 0;B2 = 1;DelayMs(Speed);}</p><p><b> }&l
57、t;/b></p><p> void BuJinN(int Speed)//步進(jìn)電機(jī)反轉(zhuǎn)</p><p><b> {</b></p><p> if(Speed <= 0)</p><p> {P1 = 0xFF;}</p><p><b> else<
58、/b></p><p> {A1 = 1;A2 = 0;B1 = 0;B2 = 1;DelayMs(Speed);//步進(jìn)電機(jī)轉(zhuǎn)速延時(shí)</p><p> A1 = 0;A2 = 0;B1 = 0;B2 = 1;DelayMs(Speed);</p><p> A1 = 0;A2 = 1;B1 = 0;B2 = 1;DelayMs(Speed);<
59、/p><p> A1 = 0;A2 = 1;B1 = 0;B2 = 0;DelayMs(Speed);</p><p> A1 = 0;A2 = 1;B1 = 1;B2 = 0;DelayMs(Speed);</p><p> A1 = 0;A2 = 0;B1 = 1;B2 = 0;DelayMs(Speed);</p><p> A1
60、 = 1;A2 = 0;B1 = 1;B2 = 0;DelayMs(Speed);</p><p> A1 = 1;A2 = 0;B1 = 0;B2 = 0;DelayMs(Speed);}</p><p><b> }</b></p><p> void main()</p><p><b> {&l
61、t;/b></p><p> int direction = 2,turn = 0;uchar i;</p><p> InitLcd();//顯示器初始化</p><p> DisplayOneChar(0,0,'d');//液晶顯示</p><p> DisplayOneChar(1,0,'i'
62、;);DisplayOneChar(2,0,'r');</p><p> DisplayOneChar(3,0,'e');DisplayOneChar(4,0,'c');</p><p> DisplayOneChar(5,0,'t');DisplayOneChar(6,0,'i');</p>
63、<p> DisplayOneChar(7,0,'o');DisplayOneChar(8,0,'n');</p><p> DisplayOneChar(9,0,':');</p><p> key1 = 1;key2 = 1;key3 = 1;key4 = 1;</p><p> DelayMs
64、(10000);</p><p><b> while(1)</b></p><p><b> {</b></p><p> if(!key1)//正轉(zhuǎn)按鍵</p><p> { DelayMs(5);</p><p> for(i = 0;i < 5;i
65、++)</p><p> {DisplayOneChar(10 + i,0,' ');}</p><p><b> if(!key1)</b></p><p> { key1 = 1;</p><p> DisplayOneChar(10,0,'z');DisplayOneCh
66、ar(11,0,'h');</p><p> DisplayOneChar(12,0,'e');DisplayOneChar(13,0,'n');</p><p> DisplayOneChar(14,0,'g');</p><p> direction = 0;</p><p
67、> turn = 10;</p><p> while(!key1);}</p><p><b> }</b></p><p><b> if(!key2)</b></p><p> {DelayMs(5);</p><p> for(i = 0;i <
68、; 5;i++)</p><p> {DisplayOneChar(10 + i,0,' ');}</p><p><b> if(!key2)</b></p><p> { key2 = 1;</p><p> DisplayOneChar(10,0,'f');Displa
69、yOneChar(11,0,'a');</p><p> DisplayOneChar(12,0,'n');</p><p> direction = 1;turn = 10;while(!key2);}</p><p><b> }</b></p><p><b> i
70、f(!key3)</b></p><p> {DelayMs(20);</p><p><b> if(!key3)</b></p><p> {key3 = 1;</p><p> turn -= 1;</p><p> for(i = 0;i < 10;i++)&l
71、t;/p><p> {DisplayOneChar(i,1,' ');}</p><p> DisplayOneChar(0,1,'j');DisplayOneChar(1,1,'i');</p><p> DisplayOneChar(2,1,'a');DisplayOneChar(3,1,'
72、;s');</p><p> DisplayOneChar(4,1,'u'); DisplayOneChar(5,1,':');</p><p> DisplayOneChar(6,1,turn/10 + '0');</p><p> DisplayOneChar(7,1,turn%10 + '0
73、'); while(!key3);}</p><p><b> }</b></p><p><b> if(!key4)</b></p><p> {DelayMs(20);</p><p><b> if(!key4)</b></p><p
74、> {key4 = 1;</p><p> turn += 1;</p><p> for(i = 0;i < 10;i++)</p><p> {DisplayOneChar(i,1,' '); }</p><p> DisplayOneChar(0,1,'j'); DisplayOne
75、Char(1,1,'i');</p><p> DisplayOneChar(2,1,'a'); DisplayOneChar(3,1,'n');</p><p> DisplayOneChar(4,1,'s'); DisplayOneChar(5,1,'u');</p><p>
76、 DisplayOneChar(6,1,':');</p><p> DisplayOneChar(7,1,turn/10 + '0');</p><p> DisplayOneChar(8,1,turn%10 + '0'); while(!key4);}</p><p><b> }</b>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)控制系統(tǒng)
- 基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)
- 基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)課程設(shè)計(jì)
- 單片機(jī)步進(jìn)電機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)-控制步進(jìn)電機(jī)課程設(shè)計(jì)
- 基于單片機(jī)的步進(jìn)電機(jī)控制課程設(shè)計(jì)
- 基于單片機(jī)的步進(jìn)電機(jī)控制課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告——單片機(jī)控制步進(jìn)電機(jī)
- 單片機(jī)課程設(shè)計(jì)---步進(jìn)電機(jī)控制
- 基于單片機(jī)的步進(jìn)電機(jī)控制單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)的控制
- 單片機(jī)課程設(shè)計(jì)--步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)步進(jìn)電機(jī)控制設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于單片機(jī)的四相步進(jìn)電機(jī)控制
- 單片機(jī)課程設(shè)計(jì)-步進(jìn)電機(jī)的控制
- 基于51單片機(jī)的步進(jìn)電機(jī)控制課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)——基于單片機(jī)的步進(jìn)電機(jī)控制器設(shè)計(jì)
評論
0/150
提交評論