




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上直線電機(jī)的控制 摘要:直線電機(jī)是一種將電能直接轉(zhuǎn)換成直線運(yùn)動(dòng)機(jī)械能,而不需要任何中間轉(zhuǎn)換機(jī)構(gòu)的傳動(dòng)裝置。它可以看成是一臺(tái)旋轉(zhuǎn)電機(jī)按徑向剖開(kāi),并展成平面而成。直線電動(dòng)機(jī)的工作原理與旋轉(zhuǎn)電動(dòng)機(jī)相似。以直線感應(yīng)電動(dòng)機(jī)為例:當(dāng)初級(jí)繞組通入交流電源時(shí),便在氣隙中產(chǎn)生行波磁場(chǎng),次級(jí)在行波磁場(chǎng)切割下,將感應(yīng)出電動(dòng)勢(shì)并產(chǎn)生電流,該電流與氣隙中的磁場(chǎng)相作用就產(chǎn)生電磁推力。在本設(shè)計(jì)中用單片機(jī)的IO輸出端口來(lái)控制兩個(gè)電機(jī)工作模式(正轉(zhuǎn)、反轉(zhuǎn)),而每一個(gè)電機(jī)由兩個(gè)繼電器和LED來(lái)反映設(shè)計(jì)結(jié)果。 關(guān)鍵字:直線電機(jī),旋轉(zhuǎn)電機(jī),單片機(jī),正轉(zhuǎn),反轉(zhuǎn)Abstract:The el
2、ectrical machinery of straight line is that one kind changes electric energy into the mechanical energy of rectilinear motion directly, And does not need to change the transmission device of the organization in the middle of any. It can regard as one and rotate the electrical machinery to cut open a
3、ccording to the radial, and the exhibition became the level. The operation principle of the straight line motor is similar with the rotating motor. Take reaction motor of straight line as an example: Originally when one grade of windings was led to alternating current source, the wave magnetic field
4、 of the conduct emerged in the angry crack, secondary to expert at, under wave magnetic field cut , respond to EMF of producing and produce the electric current, electric current and the looks function of magnetic field in this electric current and angry crack produces electromagnetic thrust. Contro
5、ls two electrical machinery working pattern in this design with single chip micrcomputes IO output port (Rotating,Overturn), but each electrical machinery reflects the design result by two relays and LED. Keywords: Electrical machinery of straight line , Rotate the electrical machinery,SCM(Single Ch
6、ip Micromputer), Rotating,Overturn 目錄 1、前言12、總體方案設(shè)計(jì)23、單元模塊設(shè)計(jì)33.1 各單元模塊功能介紹及電路設(shè)計(jì)33.1.1 單片機(jī)最小系統(tǒng)模塊及顯示33.1.2電機(jī)傳感器電壓放大部分43.1.3 RS232串行通信接口部分43.1.4 繼電器控制電路53.3 器件介紹53.3.1 MAX23253.3.2 OP0763.3.3 ADC0832CCN73.3.4 AT89S5283.4各單元模塊的連接104、軟件設(shè)計(jì)114.1 程序設(shè)計(jì)原理及設(shè)計(jì)所用工具114.1.1 設(shè)計(jì)原理114.1.2 軟件硬件設(shè)計(jì)工具介紹114.2 畫(huà)出
7、軟件設(shè)計(jì)結(jié)構(gòu)圖、說(shuō)明其功能114.3 畫(huà)出主要軟件設(shè)計(jì)流程框圖125、系統(tǒng)調(diào)試135.1 硬件調(diào)試135.1.1 各個(gè)功能模塊分開(kāi)調(diào)試135.1.2 系統(tǒng)調(diào)試155.2 軟件調(diào)試155.2.1編譯程序的流程155.2.2程序調(diào)試過(guò)程156、結(jié)論197、總結(jié)與體會(huì)208、參考文獻(xiàn)21附錄一:程序代碼附錄二:圖1,圖21、前言 直線電機(jī)最初由英國(guó)人惠斯登1840年提出、實(shí)驗(yàn),但不成功。隨后,人們對(duì)它進(jìn)行了深入研究,從理論到實(shí)踐做了大量工作。1945年美國(guó)西屋公司首先研究成功以直線電機(jī)作為動(dòng)力的飛機(jī)彈射器,但由于成本太高而未能推廣。總體來(lái)說(shuō),當(dāng)時(shí)由于自身理論上的不完善,加上其它相關(guān)技術(shù)的局限,同時(shí),
8、需求不是很迫切,直線電機(jī)技術(shù)發(fā)展緩慢。隨著自動(dòng)控制技術(shù)和微型計(jì)算機(jī)的高速發(fā)展,對(duì)各類自動(dòng)控制系統(tǒng)的定位精度提出了更高的要求。在這種情況下,傳統(tǒng)的旋轉(zhuǎn)電機(jī)再加上一套變換機(jī)構(gòu)組成的直線運(yùn)動(dòng)驅(qū)動(dòng)裝置,已經(jīng)遠(yuǎn)不能滿足現(xiàn)代控制系統(tǒng)的要求。為此,從上世紀(jì)60年代開(kāi)始,由于控制技術(shù)、材料技術(shù)的發(fā)展,基礎(chǔ)研究的進(jìn)步與突破,直線電機(jī)進(jìn)入全面開(kāi)發(fā)階段。世界上許多國(guó)家下大力氣在研究、發(fā)展和應(yīng)用直線電機(jī),使得直線電機(jī)的應(yīng)用領(lǐng)域越來(lái)越廣。英國(guó)萊斯韋特教授1966年出版了比較系統(tǒng)地介紹直線電機(jī)的專著Induction Machines for Spesial Purposes,為直線電機(jī)的發(fā)展做出了突出貢獻(xiàn)。一般電動(dòng)機(jī)工
9、作時(shí)都是轉(zhuǎn)動(dòng)的。但是用旋轉(zhuǎn)的電機(jī)驅(qū)動(dòng)的交通工具(比如電動(dòng)機(jī)車和城市中的電車等)需要做直線運(yùn)動(dòng),用旋轉(zhuǎn)的電機(jī)驅(qū)動(dòng)的機(jī)器的一些部件也要做直線運(yùn)動(dòng)。這就需要增加把旋轉(zhuǎn)運(yùn)動(dòng)變?yōu)橹本€運(yùn)動(dòng)的一套裝置。能不能直接運(yùn)用直線運(yùn)動(dòng)的電機(jī)來(lái)驅(qū)動(dòng),從而省去這套裝呢?幾十年前人們就提出了這個(gè)問(wèn)題現(xiàn)在已制成了直線運(yùn)動(dòng)的電動(dòng)機(jī),即直線電機(jī)。 直線電機(jī)是一種新型電機(jī),近年來(lái)應(yīng)用日益廣泛。磁懸浮列車就是用直線電機(jī)來(lái)驅(qū)動(dòng)的。直線電機(jī)除了用于磁懸浮列車外,還廣泛地用于其他方面,例如用于傳送系統(tǒng)、電氣錘、電磁攪拌器等在我國(guó),直線電機(jī)也逐步得到推廣和應(yīng)用。直線電機(jī)的原理雖不復(fù)雜,但在設(shè)計(jì)、制造方面有它自己的特點(diǎn),產(chǎn)品尚不如旋轉(zhuǎn)電機(jī)那樣
10、成熟,有待進(jìn)一步研究和改進(jìn)。 2、總體方案設(shè)計(jì)直線電機(jī)是一種通過(guò)將封閉式磁場(chǎng)展開(kāi)為開(kāi)放式磁場(chǎng),將電能直接轉(zhuǎn)化為直線運(yùn)動(dòng)的機(jī)械能,而不需要任何中間轉(zhuǎn)換機(jī)構(gòu)的傳動(dòng)裝置。在本次設(shè)計(jì)中使用單片機(jī)來(lái)控制電機(jī)工作。單片機(jī)選用AT89S52系列,由于設(shè)計(jì)中沒(méi)有提供電機(jī),則用的是LED燈來(lái)觀察電機(jī)的工作模式,在這次設(shè)計(jì)中電機(jī)共有兩個(gè),每一個(gè)電機(jī)分別由兩個(gè)繼電器來(lái)控制,而每個(gè)電機(jī)的工作方式有正轉(zhuǎn)、反轉(zhuǎn)。具體的設(shè)計(jì)思路:用AT89S52單片機(jī)P1口與按鍵相連,這8個(gè)按鍵用的IO口是P1_0到P1_7,數(shù)碼管的顯示部分是用的P2口,設(shè)計(jì)中面包板
11、的接口用P0口。P0_0和P0_1控制電機(jī)1工作,P0_2和P0_3控制電機(jī)2。通過(guò)改變P0_0和P0_1的輸出電平來(lái)控制電機(jī)1的正轉(zhuǎn)反轉(zhuǎn),通過(guò)改變P0_2和P0_3的輸出電平來(lái)控制電機(jī)2的正轉(zhuǎn)反轉(zhuǎn)。如當(dāng)按下按鍵KEY0(與P1_0相接)時(shí),P0_0=1,P0_1=0,電機(jī)1正轉(zhuǎn);按下按鍵KEY1時(shí),p0_2=1,p0_3=0,電機(jī)2正轉(zhuǎn);按下按鍵KEY2時(shí),P0_0=0,P0_1=1,電機(jī)1反轉(zhuǎn);按下按鍵KEY3時(shí),P2_0=0,P3_1=1,電機(jī)1反轉(zhuǎn);如此下去,就可以顯示電機(jī)的工作模式了。設(shè)計(jì)框圖如下圖2.1所示,其原理圖參見(jiàn)附錄二圖1。 單片機(jī)AT89
12、S52 LED指示燈數(shù)碼管顯示系統(tǒng)外擴(kuò)部分AD轉(zhuǎn)換電源部分RS232串行通信接口電路 圖2.1 總體設(shè)計(jì)框圖3、單元模塊設(shè)計(jì)3.1 各單元模塊功能介紹及電路設(shè)計(jì)3.1.1 單片機(jī)最小系統(tǒng)模塊及顯示 單片機(jī)的最小系統(tǒng),一般包括單片機(jī)芯片,復(fù)位電路,時(shí)鐘電路及數(shù)碼管顯示電路。在本次設(shè)計(jì)中,P0口的P0_0,P0_1,P0_2,P0_3為控制電機(jī)工作的接口,最小系統(tǒng)上的8個(gè)按鍵用的是P1口的P1_0P1_7,上接上拉電阻和8個(gè)發(fā)光二極管和5V電壓,當(dāng)選擇相應(yīng)的按鍵時(shí)其所對(duì)應(yīng)的發(fā)光二極管亮,而P2_0P2_7作為輸出接到LED數(shù)碼管顯示上。當(dāng)程序下載到單片機(jī)最小系統(tǒng)圖上后就可以通過(guò)按鍵來(lái)控制系統(tǒng)的功能
13、,并顯示出結(jié)果。如下圖3.1所示:圖3.1單片機(jī)最小系統(tǒng)模塊及顯示3.1.2電機(jī)傳感器電壓放大部分 在實(shí)際的牽引電機(jī)中通過(guò)傳感器感知其牽引力的大小轉(zhuǎn)換成電壓信號(hào),由于其電壓信號(hào)很微弱為了便于控制要進(jìn)行放大,所以我們將通過(guò)OP07電壓放大器對(duì)腰牽引電機(jī)傳感器電壓進(jìn)行放大。電壓從2、3口輸入,W2為變阻器,可通過(guò)調(diào)節(jié)來(lái)調(diào)節(jié)力與電壓的比,R16為反饋電路中的電阻,提高電路的靈敏性,降低誤差。如下圖3.2所示:圖3.2電機(jī)傳感器電壓放大部分3.1.3 RS232串行通信接口部分 在電腦中運(yùn)行的程序要下載到單片機(jī)上進(jìn)行運(yùn)行,則要通過(guò)串行口,用到的是RS232的通信接口,在圖3. 3中用到了一個(gè)發(fā)光二極管
14、D3用來(lái)對(duì)電路中是否通電進(jìn)行顯示,以指示芯片是否正常供電,便于程序的調(diào)試與分析。 圖3.3 RS232串行通信接口部分電路圖3.1.4 繼電器控制電路 本次設(shè)計(jì)中四個(gè)繼電器分兩組控制兩個(gè)電機(jī),兩個(gè)繼電器控制一個(gè)電機(jī),電機(jī)的正傳和反轉(zhuǎn)可以由電壓的正和負(fù)來(lái)決定正轉(zhuǎn)工作模式和反轉(zhuǎn)工作模式。程序下載到單片機(jī)之中,程序運(yùn)行中通過(guò)檢測(cè)按鍵閉合情況來(lái)控制繼電器的吸合和斷開(kāi),吸合的時(shí)候表示電機(jī)正在運(yùn)行,斷開(kāi)的時(shí)候表示電機(jī)已經(jīng)停止運(yùn)行。正轉(zhuǎn)吸合的時(shí)候表示電機(jī)正在伸出去,閉合時(shí)電機(jī)伸出將停止。反轉(zhuǎn)吸和的時(shí)候表示電機(jī)正在收回,斷開(kāi)表示收回的動(dòng)作停止。繼電器工作的時(shí)候指示燈發(fā)光二極管亮,表示正在工作,兩組繼電器相當(dāng)于
15、是兩個(gè)并行的電機(jī),互不影響。如圖3.4所示:圖3.4繼電器控制電路3.3 器件介紹3.3.1 MAX232 MAX232CPE是在一個(gè)RS - 232驅(qū)動(dòng)器/接收器適用于所有EIA/TIA-232E和V 28 /24通信接口,尤其是對(duì)那些申請(qǐng)凡+12 V是無(wú)法使用。 該MAX232CPE特別有用電池供電的系統(tǒng),因?yàn)槠涞凸牡耐C(jī)模式,降低功耗小于5uW 。應(yīng)用于便攜式計(jì)算機(jī)、低功耗調(diào)制解調(diào)器、電池供電的RS - 232接口系統(tǒng)、多點(diǎn)RS - 232接口系統(tǒng)。具有特征有從+5 V 單電源供電、滿足所有EIA/TIA-232E和五.28規(guī)格、兩個(gè)驅(qū)動(dòng)器和兩個(gè)接收器、態(tài)輸出驅(qū)動(dòng)器和接收器、數(shù)據(jù)傳輸率
16、120 ( kbps)。引腳配置如圖3.5所示: MAX23212493111013151412168675C1+V+V-C2-R2OUTC2+R2INT1INC1-R1INR1OUTT1OUTR2INGNDT2OUTVCC圖3.5 MAX232引腳配置3.3.2 OP07OP07在非常低的輸入失調(diào)電壓( 75 V最大值為OP07E )即獲得了微調(diào)在晶圓階段。這些低失調(diào)電壓一般消除任何需要外部調(diào)零。該OP07還具有低輸入偏置電流( ± 4名詞的OP07E )和高開(kāi)環(huán)增益( 200第V /毫伏的OP07
17、E )。低偏移和高開(kāi)環(huán)增益使OP07在高增益儀表的應(yīng)用。 管腳配置如圖3.6所示: 87654321OP07VO STRIMV+OUTNCV-+IN-INVOS TRIM圖3.6 OP07管腳配置NC= NO CONNECT3.3.3 ADC0832CCN ADC0832是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的一種8為分辨率、雙通道A/D轉(zhuǎn)換芯片。由于他體積小兼容性強(qiáng),性價(jià)比高而深受單片機(jī)愛(ài)好者及企業(yè)歡迎,其目前已經(jīng)占有很高的普及率。學(xué)習(xí)并使用ADC0832可是我們了解A/D轉(zhuǎn)換器的原理,有助于我們單片機(jī)技術(shù)水平的提高。(1) ADC0832的特點(diǎn)八位分辨率;雙
18、通道A/D轉(zhuǎn)換; 輸入/輸出電平與TTL/MOS相兼容;單電源5V電壓供電時(shí)電壓范圍0V -5V之間;工作頻率為250KHZ,轉(zhuǎn)換時(shí)間為32us;一般功耗僅為15Mv;8P、14P-DIP(雙列直插),PICC多種封裝;商用級(jí)芯片溫寬為0-70,工業(yè)級(jí)芯片溫寬為-40-85.管腳配置如圖3.7所示: 12643578VCCCLKD0D1GNDCH1CH0CS圖3.7 ADC0832管腳配置圖 芯片接口說(shuō)明:CS 片選使能,低電平芯片使能CHO 模擬輸入通道0,或作為IN+/-使用CH1 模擬輸入通道1,或作為IN+/-使用GND 芯片參考零點(diǎn)位(地)DI 數(shù)據(jù)信
19、號(hào)輸入,選擇通道控制。DO數(shù)據(jù)信號(hào)輸出,轉(zhuǎn)換數(shù)據(jù)輸出CLK 芯片時(shí)鐘輸出Vcc/REF 電源輸入及參考電壓輸入(復(fù)用)(2)單片機(jī)對(duì)ADC0832 的控制原理正常情況下ADC0832 與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時(shí)并未同時(shí)有效并與單片機(jī)的接口是雙向的,所以電路設(shè)計(jì)時(shí)可以將DO和DI 并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時(shí)其CS輸入端應(yīng)為高電平,此時(shí)芯片禁用,CLK 和DO/DI 的電平可任意。當(dāng)要進(jìn)行A/D轉(zhuǎn)換時(shí),須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時(shí)芯片開(kāi)始轉(zhuǎn)換工作,同時(shí)由處理器向芯片時(shí)鐘輸入端CL
20、K 輸入時(shí)鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號(hào)。3.3.4 是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。 AT89S52具有如下特點(diǎn):40個(gè)引腳,8k Bytes Flash片內(nèi)
21、程序存儲(chǔ)器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。同步串行口可用于對(duì)溫濕度信號(hào)的串行接收,異步發(fā)送/接收串口用于向上位機(jī)等進(jìn)行串行通信。管腳配置如圖3.8所示:圖3.8 AT89S52管腳配置圖 此外,AT89S52設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或
22、硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 3.4各單元模塊的連接本實(shí)驗(yàn)即為用單片機(jī)控制直線電機(jī)的思路,即分為信號(hào)采集、信號(hào)輸入、信號(hào)處理、信號(hào)的輸出顯示四個(gè)模塊。信號(hào)采集部分電壓信號(hào)輸入進(jìn)行電壓放大后由ADC0832轉(zhuǎn)換進(jìn)行模數(shù)轉(zhuǎn)換信號(hào)輸入到單片機(jī)的內(nèi)部,單片機(jī)的外圍電路包括晶振,復(fù)位,和程序下載所用到的RS232串行通信接口部分(接單片機(jī)RXT,TXT引腳),信號(hào)處理由單片機(jī)中程序進(jìn)行處理,輸出的信號(hào)在繼電器模塊進(jìn)行顯示,(由P0P4管腳輸入),按鍵輸入由P0接入。連接圖如圖3.9所示: 圖3.9 個(gè)單元模塊的鏈接總圖
23、 4、軟件設(shè)計(jì)4.1 程序設(shè)計(jì)原理及設(shè)計(jì)所用工具4.1.1 設(shè)計(jì)原理由系統(tǒng)圖可知最小系統(tǒng)上有8個(gè)按鍵用的IO口是P1_0到P1_7,數(shù)碼管的顯示部分是用的P2口,設(shè)計(jì)中面包板的接口用P0口。P0_0和P0_1控制電機(jī)1工作,P0_2和P0_3控制電機(jī)2。通過(guò)改變P0_0和P0_1的輸出電平來(lái)控制電機(jī)1的正轉(zhuǎn)反轉(zhuǎn),通過(guò)改變P0_2和P0_3的輸出電平來(lái)控制電機(jī)2的正轉(zhuǎn)反轉(zhuǎn),若要改變正轉(zhuǎn)反轉(zhuǎn)的時(shí)間可以用一個(gè)for循環(huán),或者一個(gè)時(shí)延delay函數(shù)。為便以控制P0電平的改變用最小系統(tǒng)板上的8個(gè)按鍵控制。在程序中對(duì)按鍵不同的定義寫(xiě)了兩種程序,一種是按鍵掃描,第二種是直接通過(guò)按鍵判斷。4.1.2
24、 軟件硬件設(shè)計(jì)工具介紹(1)軟件設(shè)計(jì)工具使用的軟件是keil uVision2, Keil uVision2是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),使用接近于傳統(tǒng)c語(yǔ)言的語(yǔ)法來(lái)開(kāi)發(fā),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用,而且大大的提高了工作效率和項(xiàng)目開(kāi)發(fā)周期,他還能嵌入?yún)R編,可以在關(guān)鍵的位置嵌入,使程序達(dá)到接近于匯編的工作效率。(2)硬件設(shè)計(jì)工具在設(shè)計(jì)過(guò)程中我們主要使用了Protel 99SE軟件。Protel 99SE是ProklTechnology公司開(kāi)發(fā)的基于Windows環(huán)境下的電路
25、板設(shè)計(jì)軟件。該軟件功能強(qiáng)大,人機(jī)界面友好,易學(xué)易用,仍然是大中院校電學(xué)專業(yè)必學(xué)課程,同時(shí)也是業(yè)界人士首選的電路板設(shè)計(jì)工具。Protel 99SE 由兩大部分組成:電路原理圖設(shè)計(jì)(Advanced Schematic)和多層印刷電路板設(shè) 計(jì)(Advanced PCB)。其中Advanced Schematic由兩部分組成;電路圖編輯器(Schematic)和元件庫(kù)編輯器(Schematic Library)。4.2 畫(huà)出軟件設(shè)計(jì)結(jié)構(gòu)圖、說(shuō)明其功能 如下圖所示:宏定義包含文件函數(shù)聲明 管腳定義 主函數(shù) 按鍵掃描子程序或按鍵判斷子程序 延時(shí)子程序 預(yù)
26、編譯處理函數(shù)申明定義管腳執(zhí)行塊按鍵掃描或判斷延時(shí)圖4.1 軟件設(shè)計(jì)結(jié)構(gòu)圖 圖4.2 功能說(shuō)明圖4.3 畫(huà)出主要軟件設(shè)計(jì)流程框圖宏定義包含文件函數(shù)聲明管腳定義主函數(shù)按鍵掃描子程序延時(shí)子程序圖4.3按鍵掃描程序流程圖 圖4.4 按鍵判斷控制程序流程圖宏定義包含文件函數(shù)聲明 管腳定義 主函數(shù) 按鍵判斷子程序延時(shí)子程序 其程序見(jiàn)附錄一: 5、系統(tǒng)調(diào)試5.1 硬件調(diào)試5.1.1 各個(gè)功能模塊分開(kāi)調(diào)試 (1)最小系統(tǒng)模塊的上電源模塊和按鍵模塊的檢測(cè) 首先,給最小系統(tǒng)板加上5V的電源,觀察發(fā)光二極管D5是否發(fā)光,若發(fā)光則確定最小系統(tǒng)板電源模塊沒(méi)問(wèn)題,若有沒(méi)發(fā)光則用萬(wàn)用
27、表檢測(cè)電源是否有輸出5V,若有,則檢測(cè)最小系統(tǒng)板的電源模塊的電路是否有短路,斷路的問(wèn)題。 其次,確定電源沒(méi)有問(wèn)題之后,調(diào)試按鍵模塊。按下按鍵,觀察P1口的發(fā)光二極管是否對(duì)映發(fā)光,以確認(rèn)按鍵沒(méi)有問(wèn)題。若不發(fā)光則對(duì)對(duì)映的模塊進(jìn)行檢測(cè)。 (2)串行口的調(diào)試 將編譯好的HEX文件用ISP下載軟件通過(guò)RS232串行口下載到單片機(jī)中,此時(shí)觀察D3是否發(fā)光,發(fā)光,確定串行口沒(méi)有問(wèn)題,若不發(fā)光則對(duì)對(duì)應(yīng)模塊的芯片MAX232,電容進(jìn)行檢測(cè),判斷是否損壞,判斷電路是否有連接出錯(cuò)之類的。確定串行口沒(méi)有錯(cuò)之后,看程序是否能成功下載到單片機(jī)中,若不能,檢測(cè)單片機(jī)是否損壞。(3)數(shù)碼管的調(diào)試通過(guò)了以上調(diào)試,將編譯好的按鍵
28、掃描程序載到單片機(jī)之中,判斷按鍵掃描無(wú)誤,再將編譯好的數(shù)碼管顯示程序下載到單片機(jī)中,觀察數(shù)碼管的顯示情況,看是否能按程序要求的功能顯示。(4)單片機(jī)最小系統(tǒng)調(diào)試 將編譯好的最小系統(tǒng)檢測(cè)程序下載到單片機(jī)中,觀察發(fā)光二極管和數(shù)碼管的顯示情況,具體程序如下:#include<reg52.h>#define uint unsigned int#define uchar unsigned charvoid delay(uint z);uchar numwe,numdu;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,
29、0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar code tablewei=0xfe,0xfd,0xfb,0xf7;void delay(uint z);void main() P1=0;numwe=0;numdu=0;while(1)numdu+;if(numdu=4)numdu=1;P2=tablenumdu;P0=tableweinumwe;numwe+;if(numwe=4)numwe=0;delay(600);void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-); 程序下載
30、成功后,可以再數(shù)碼管上顯示數(shù)字0、1、2,按下按鍵時(shí),對(duì)應(yīng)的發(fā)光二極管亮,這樣就能夠確認(rèn)最小系統(tǒng)板無(wú)誤。5.1.2 系統(tǒng)調(diào)試 將電機(jī)的模塊接在最小系統(tǒng)的P0端口,電源供電的部位接好電源,將編譯好的電機(jī)控制程序下載到單片機(jī)中,根據(jù)程序中所定義的按鍵功能,按下按鍵控制繼電器的吸合情況,可以聽(tīng)見(jiàn)繼電器吸合的聲響,為了觀察方便可以觀察每個(gè)繼電器對(duì)應(yīng)的發(fā)光二極管的發(fā)光情況見(jiàn)附錄二圖2。其程序參見(jiàn)附錄一中的按鍵掃描方式控制程序。 5.2 軟件調(diào)試5.2.1編譯程序的流程 編譯軟件是用的keil uVision2,打開(kāi)keil新建一個(gè)工程文件cx,設(shè)置好器件選用的是atmel中AT89C52.ou
31、tput中將生成hex文件選上。新建一個(gè)文件text,寫(xiě)好程序代碼以cx.c為名保存,在source group里面添加cx.c文件,再點(diǎn)擊build all taget files編譯生成.hex文件,若不能生成,調(diào)試程序,看錯(cuò)誤報(bào)告,確定程序的出錯(cuò)類型,修正程序,直到無(wú)誤的無(wú)警告的生成HEX文件,將出現(xiàn)下載到單片機(jī)中,觀察程序的運(yùn)行情況,若是不能實(shí)現(xiàn)按預(yù)定的功能則修改程序直到能實(shí)現(xiàn)程序功能。5.2.2程序調(diào)試過(guò)程 在文本中輸入如下程序:#include <reg52.h>(1)#include <intrins.h>#define uchar unsigned ch
32、ar#define TURE 1#define FALSE 0int del;(4)void Tkey(void);sbit p0_0=P00; (6) sbit p0_1=P01;sbit p0_2=P02;sbit p0_3=P03;sbit p0_4=P04;sbit key0=P10; sbit key1=P11;sbit key2=P12;sbit key3=P13;sbit key4=P14;sbit key5=P15;sbit key6=P16;sbit key7=P17;void main(void) /主 程序 void tkey(void); void delay(int)
33、; SCON=0x00; TI=0; while(TURE) Tkey(); delay(2000); void Tkey(void) (2) uchar readkey; uchar x_temp,y_temp; P1=0x0f; x_temp=P1&0x0f; if(x_temp=0x0f) goto keyout; P1=0xf0; y_temp=P1&0xf0; readkey=x_temp|y_temp; readkey=readkey;switch(readkey) case 0x11:key0=P10; int i; p0_0=1;p0_1=0;for(i=0;i
34、<10000;i+)p0_0=1;p0_1=0;break;/啟動(dòng)電機(jī)1正轉(zhuǎn) case 0x21:key1=P11; p0_2=1;p0_3=0; break;/啟動(dòng)電機(jī)2正轉(zhuǎn) case 0x41:key2=P12; p0_0=0;p0_1=1; break; /啟動(dòng)電機(jī)1反轉(zhuǎn) case 0x81:key3=P13; p0_2=0;p0_3=1; break; /啟動(dòng)電機(jī)2反轉(zhuǎn) case 0x12:key4=P14; p0_0=0;p0_1=0;break;/電機(jī)1停止 case 0x22:key5=P15; p0_2=0;p0_3=0; break;/電機(jī)2停止 case 0x42:k
35、ey6=P16; int i; p0_0=1;p0_1=0;for(i=0;i<10000;i+)p0_0=1;p0_1=0;break; case 0x82:key7=P17; int i; p0_2=1;p0_3=0;for(i=0;i<10000;i+)p0_2=1;p0_3=0; break; keyout:_nop_(); (3)void delay(del) /*延時(shí)程序*(5) for(del;del>0;del-); 在編寫(xiě)程序過(guò)程出現(xiàn)如下一些錯(cuò)誤:1)在程序中的(1)處曾出現(xiàn)過(guò)錯(cuò)誤,那是因?yàn)樵趙ord中編寫(xiě)好復(fù)制到keil中,編譯時(shí)不通過(guò),再在k
36、eil中英文半角狀態(tài)重新輸入,此錯(cuò)誤得以更正。2)編寫(xiě)程序時(shí),首先在(2)處輸入了一個(gè)“”與之對(duì)應(yīng)的“”在(3)處,(2)和(3)相距很遠(yuǎn),編譯過(guò)程中提示missing“,但是找了很久才找與之對(duì)應(yīng)的大括弧。3)在程序(5)處,延時(shí)函數(shù)是一個(gè)有返回參數(shù)的,對(duì)變量del的定義要注意是在(4)處定義。4)在程序(6)處,是對(duì)單片機(jī)端口的定義,軟件keil中選用的52系列,而52系列得單片機(jī)對(duì)自己的端口有自己規(guī)定。由于沒(méi)有參考52系列的端口管腳的定義而表達(dá)錯(cuò)誤。所以說(shuō)程序設(shè)計(jì)過(guò)程中,在程序書(shū)寫(xiě)的環(huán)節(jié)比較關(guān)鍵,軟件認(rèn)可的是英文半角狀態(tài)下的輸入,在確定輸入程序無(wú)誤的情況下,注意程序中容易犯的語(yǔ)法錯(cuò)誤,比如
37、說(shuō)大括?。ǎ┬±ɑ∫欢ㄒ獙?duì)應(yīng),為了在調(diào)試程序中避免這些難以查找的錯(cuò)誤在書(shū)寫(xiě)程序的時(shí)候是應(yīng)該注意成對(duì)的輸入。程序書(shū)寫(xiě)的順序一般是包含文件、宏定義、函數(shù)聲明,變量定義、管腳定義、主程序、各個(gè)子程序。函數(shù)注意先聲明再用,變量先定義再用。遵循編織程序的一般規(guī)則,減少語(yǔ)法錯(cuò)誤。 6、結(jié)論本設(shè)計(jì)綜合了目前相關(guān)領(lǐng)域的多篇文獻(xiàn),對(duì)直線電機(jī)的工作原理和單片機(jī)的運(yùn)用進(jìn)行了介紹。詳細(xì)介紹了設(shè)計(jì)的具體功能模塊,如單片機(jī)的最小系統(tǒng)、繼電器電路、LED指示燈、AD轉(zhuǎn)換電路等;軟硬件設(shè)計(jì)。在設(shè)計(jì)中,由于沒(méi)有提供電機(jī),只能用LED指示燈來(lái)顯示電機(jī)的工作。耦合電路是用來(lái)隔離單片機(jī)和繼電器之間的干擾,具體做電路板的時(shí)候
38、沒(méi)有耦合芯片TPL521_4。因?yàn)閷?shí)驗(yàn)室為我們提供的繼電器是5V電壓的器件,單片機(jī)也是工作在5V電源中,5V的繼電器不會(huì)對(duì)單片機(jī)造成多大的干擾所以中間的光耦部分可以節(jié)約下來(lái)。在軟硬件的調(diào)試過(guò)程中,首先進(jìn)行的是硬件調(diào)試,調(diào)試的方法有很多,一般我們所用的是觀察法和排除法。硬件的調(diào)試過(guò)程中,需要檢測(cè)電源供電是否能正常,可以看發(fā)光二極管可以判斷,檢測(cè)串行口也可以觀察發(fā)光二極管可以確定。最小系統(tǒng)上的按鍵的檢測(cè)是觀察與P1接的上拉電阻和發(fā)光二極管來(lái)確定。將無(wú)誤的出現(xiàn)下載到單片中,可以觀察數(shù)碼管的顯示情況,以確定數(shù)碼管模塊的無(wú)誤。單片機(jī)是最核心的模塊,硬件電路都是以單片機(jī)為核心,單片機(jī)的損壞沒(méi)有被察覺(jué)其他模
39、塊不能正常工作是很難調(diào)試的,所以調(diào)試其他的時(shí)候一定要保證單片沒(méi)有被損壞。軟件的測(cè)試就是一定要遵循書(shū)寫(xiě)程序的一般習(xí)慣,邏輯要有條理,思維清晰。在不斷的檢查、調(diào)試和修正下,最終LED指示燈正確的顯示了兩個(gè)電機(jī)工作的方式。在設(shè)計(jì)中我們還可以再擴(kuò)展一部分外圍,比如:接上液晶顯示部分,在液晶屏上顯示每個(gè)電機(jī)的工作模式,正轉(zhuǎn)、反轉(zhuǎn)的時(shí)間等參數(shù)。接上傳感器部分,直線電機(jī)的運(yùn)轉(zhuǎn)情況通過(guò)傳感器的檢測(cè)反饋到單片中進(jìn)行參數(shù)計(jì)算。電機(jī)的工作情況便可以更智能化。由于時(shí)間和外設(shè)的關(guān)系,這部分是做考慮。7、總結(jié)與體會(huì)這次智能化電子設(shè)計(jì)歷時(shí)近一個(gè)月的時(shí)間,在這段時(shí)間里,從最初的了解并認(rèn)識(shí)智能化電子技術(shù)以及我們的課題內(nèi)容直線電
40、機(jī),到一步步地設(shè)計(jì)方案,確定電路,焊接實(shí)驗(yàn)板,調(diào)試程序等,終于完成了本設(shè)計(jì)。在這個(gè)過(guò)程我們從相關(guān)領(lǐng)域的文獻(xiàn)中學(xué)到了更多知識(shí),并且運(yùn)用了我們所學(xué)的單片機(jī)以及外部接口的知識(shí),而且整個(gè)團(tuán)隊(duì)都積極的參與到設(shè)計(jì)中,并進(jìn)行了具體的分工,使得在設(shè)計(jì)過(guò)程中了解到團(tuán)隊(duì)精神的重要性。最小系統(tǒng)板的焊接在老師的指導(dǎo)下比較順利的完成了,之后的擴(kuò)展板部分由我們自己獨(dú)立設(shè)計(jì)完成,在與主板的連接上采用了導(dǎo)線連接,因此外觀上并不十分美觀,但條理布局還是很清晰。在設(shè)計(jì)過(guò)程中,我們遇到很多問(wèn)題,比如:在焊接完成最小系統(tǒng)板和外接板時(shí)候,程序不能下載到單片機(jī)上,經(jīng)過(guò)多次排查,發(fā)現(xiàn)問(wèn)題出在單片機(jī)芯片已經(jīng)燒壞了;而在程序正常下載到單片機(jī)上
41、后,LED指示燈不能正常顯示,經(jīng)過(guò)仔細(xì)檢查程序和板子,最后發(fā)現(xiàn)外擴(kuò)板子上的發(fā)光二極管接到單片機(jī)的P1口。這次設(shè)計(jì)的要求相當(dāng)嚴(yán)格,需要通過(guò)翻閱各種文獻(xiàn)才確立了實(shí)驗(yàn)總體設(shè)計(jì)方案。我覺(jué)得平時(shí)所學(xué)的知識(shí)有了實(shí)用的價(jià)值,達(dá)到了理論與實(shí)際相結(jié)合的目的,不僅學(xué)到了不少知識(shí),而且鍛煉了自己的實(shí)踐動(dòng)手能力,所以,在以后的學(xué)習(xí)生活中,我需要更努力地讀書(shū)和實(shí)踐,做能分析問(wèn)題和解決問(wèn)題的高素質(zhì)人才,為以后的順利就業(yè)作好準(zhǔn)備。使自己對(duì)以后的路有了更加清楚的認(rèn)識(shí),同時(shí),對(duì)未來(lái)有了更多的信心。 感謝學(xué)校給我們這次機(jī)會(huì),提供良好的實(shí)驗(yàn)環(huán)境及我們所需的設(shè)備,以及圖書(shū)館豐富的藏書(shū),不僅鍛煉了我們的動(dòng)手能力,并且更加深刻地了解智能
42、化電子技術(shù)正逐漸成為不可缺少的一項(xiàng)先進(jìn)技術(shù)和重要工具。再次感謝老師的輔導(dǎo)和同學(xué)幫助。 8、參考文獻(xiàn)1 龍駒. 永磁直流電動(dòng)機(jī)轉(zhuǎn)速控制系統(tǒng)的優(yōu)化設(shè)計(jì). 成都:西南交通大學(xué)出版社,2006.122 朱大奇、李念強(qiáng). 單片機(jī)原理·接口及應(yīng)用. 南京:南京大學(xué)出版社,2003.63 余永權(quán)、汪明慧. 單片機(jī)在控制系統(tǒng)中的應(yīng)用. 北京:電子工業(yè)出版社,2003.104 鄭瑜平. 可編程序控制器. 北京:北京航空航天大學(xué)出版社,1995.125 楊超宇、趙光明等. C程序語(yǔ)言設(shè)計(jì). 上海:華東理工大學(xué)出版社,2006.86 譚建成. 新編電機(jī)控制專用集成電路與應(yīng)用. 北京:機(jī)械工業(yè)出版
43、社,2005.4 附錄一:程序1:用按鍵掃描方式,編程如下: /*-按鍵掃描方式控制-*/#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define TURE 1#define FALSE 0int del;void Tkey(void);/*針腳定義*/sbit p0_0=P00; sbit p0_1=P01;sbit p0_2=P02;sbit p0_3=P03;sbit p0_4=P04;sbit key0=P10; sbit key1=P11;sbit k
44、ey2=P12;sbit key3=P13;sbit key4=P14;sbit key5=P15;sbit key6=P16;sbit key7=P17;/*主 程序*/void main(void) void tkey(void); void delay(int); SCON=0x00; TI=0; while(TURE) Tkey(); delay(2000); /按鍵掃描子程序void Tkey(void) uchar readkey; uchar x_temp,y_temp; P0=0x0f; x_temp=P0&0x0f; if(x_temp=0x0f) got
45、o keyout; P0=0xf0; y_temp=P0&0xf0; readkey=x_temp|y_temp; readkey=readkey;switch(readkey) case 0x11:key0=P10; int i; p0_0=1;p0_1=0;for(i=0;i<10000;i+)p0_0=1;p0_1=0;break;/啟動(dòng)電機(jī)1正轉(zhuǎn) case 0x21:key1=P11; p0_2=1;p0_3=0; break;/啟動(dòng)電機(jī)2正轉(zhuǎn) case 0x41:key2=P12; p0_0=0;p0_1=1; break; /啟動(dòng)電機(jī)1反轉(zhuǎn) case 0x81:key
46、3=P13; p0_2=0;p0_3=1; break; /啟動(dòng)電機(jī)2反轉(zhuǎn) case 0x12:key4=P14; p0_0=0;p0_1=0;break;/電機(jī)1停止 case 0x22:key5=P15; p0_2=0;p0_3=0; break;/電機(jī)2停止 case 0x42:key6=P16; int i; p0_0=1;p0_1=0;for(i=0;i<10000;i+)p0_0=1;p0_1=0;break; case 0x82:key7=P17; int i; p0_2=1;p0_3=0;for(i=0;i<10000;i+)p0_2=1;p0_3=0; break
47、; keyout:_nop_();/*延時(shí)程序*/void delay(del) for(del;del>0;del-); 程序2:按鍵判斷控制/*-按鍵控制-*/#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define TURE 1#define FALSE 0int del;void Tkey(void);/*針腳定義*/sbit p0_0=P00; sbit p0_1=P01;sbit p0_2=P02;sbit p0_3=P03;sbit p0_4=P04;
48、sbit key0=P10; sbit key1=P11;sbit key2=P12;sbit key3=P13;sbit key4=P14;sbit key5=P15;sbit key6=P16;sbit key7=P17;/*主程序*/void main(void) void tkey(void); void delay(int); SCON=0x00; TI=0; while(TURE) Tkey(); delay(2000); /*按鍵程序*/void Tkey(void) if( key0=0)/mode1 int i; p0_0=1;p0_1=0;for(i=0;i<1000
49、0;i+)p0_0=1;p0_1=0; /S0啟動(dòng)電機(jī)1正轉(zhuǎn),有一定的延時(shí) else if( key1=0) /mode2 p0_2=1;p0_3=0; /S1啟動(dòng)電機(jī)2正轉(zhuǎn) else if( key2=0)/mode3 p0_0=0; p0_1=1; /S3啟動(dòng)電機(jī)1反轉(zhuǎn) else if( key3=0) /mode4 p0_2=0; p0_3=1; /S4啟動(dòng)電機(jī)2反轉(zhuǎn) else if( key4=0)/mode5 p0_0=0; p0_1=0; /S5電機(jī)1停止 else if( key5=0) /mode6 p0_2=0; p0_3=0; /S6電機(jī)2停止 else if( key6=
50、0)/mode7 int i; p0_0=0;p0_1=1;for(i=0;i<10000;i+)p0_0=0;p0_1=1;/S7電機(jī)1反轉(zhuǎn)定時(shí)為計(jì)數(shù)10000的時(shí)間else if( key7=0)/mode8 int i; p0_2=1;p0_3=0;for(i=0;i<10000;i+)p0_2=1;p0_3=0;程序三:#include<reg52.h>#define uchar unsigned char#define uint unsigned int sbit dianji1_l=P00;sbit dianji1_r=P01;sbit dianj
51、i2_l=P02;sbit dianji2_r=P03; sbit mode1 = P10;sbit mode2 = P11;sbit mode3 = P12;sbit qianjin = P13;sbit houtui = P14; sbit jiam = P15; /每按一次前進(jìn)時(shí)間加1Ssbit jian = P16;/每按一次后退時(shí)間加1S uchar time_cnt;bit motor1,motor2,motor3,push,pull;int m=2,n=2; keyscan();void delay(uint cnt);/*主函數(shù)*/void main() uint i; P0 = 0x00; /關(guān)閉所有電機(jī) /*初
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 利用信息技術(shù)2.0優(yōu)化幼兒園五大領(lǐng)域教學(xué)的分析
- 物業(yè)管理智慧平臺(tái)使用協(xié)議
- ××超市退貨供應(yīng)商辦法
- 某超市廢物處置制度
- 我的語(yǔ)文老師記一位令人敬佩的老師7篇范文
- 2025年松節(jié)油項(xiàng)目申請(qǐng)報(bào)告模范
- 2025年高壓化成箔項(xiàng)目提案報(bào)告
- 影視娛樂(lè)行業(yè)演員權(quán)益保障協(xié)議
- 2025年政府大數(shù)據(jù)項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 2025年瑜伽教練資格證考試題庫(kù):瑜伽教練教學(xué)實(shí)踐案例分析題
- 門(mén)店規(guī)章制度守則范本
- 肋骨骨折課件
- 工地交通安全
- 【MOOC】多媒體技術(shù)與應(yīng)用-同濟(jì)大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 項(xiàng)目6 6.2 植物生產(chǎn)的溫度調(diào)控(1)(課件)-《植物生產(chǎn)與環(huán)境》(高教版第4版)
- 高等數(shù)學(xué)基礎(chǔ)-002-國(guó)開(kāi)機(jī)考復(fù)習(xí)資料
- 各氣象臺(tái)站區(qū)站號(hào)
- 2024年1月云南高中學(xué)業(yè)水平考試數(shù)學(xué)試卷真題(含答案詳解)
- 高教版2023年中職教科書(shū)《語(yǔ)文》(基礎(chǔ)模塊)下冊(cè)教案全冊(cè)
- 高績(jī)效教練讀書(shū)分享
- 孵化場(chǎng)安全培訓(xùn)
評(píng)論
0/150
提交評(píng)論