直線電機的控制_第1頁
直線電機的控制_第2頁
直線電機的控制_第3頁
直線電機的控制_第4頁
直線電機的控制_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上直線電機的控制  摘要:直線電機是一種將電能直接轉(zhuǎn)換成直線運動機械能,而不需要任何中間轉(zhuǎn)換機構(gòu)的傳動裝置。它可以看成是一臺旋轉(zhuǎn)電機按徑向剖開,并展成平面而成。直線電動機的工作原理與旋轉(zhuǎn)電動機相似。以直線感應(yīng)電動機為例:當(dāng)初級繞組通入交流電源時,便在氣隙中產(chǎn)生行波磁場,次級在行波磁場切割下,將感應(yīng)出電動勢并產(chǎn)生電流,該電流與氣隙中的磁場相作用就產(chǎn)生電磁推力。在本設(shè)計中用單片機的IO輸出端口來控制兩個電機工作模式(正轉(zhuǎn)、反轉(zhuǎn)),而每一個電機由兩個繼電器和LED來反映設(shè)計結(jié)果。 關(guān)鍵字:直線電機,旋轉(zhuǎn)電機,單片機,正轉(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è)計23、單元模塊設(shè)計33.1 各單元模塊功能介紹及電路設(shè)計33.1.1 單片機最小系統(tǒng)模塊及顯示33.1.2電機傳感器電壓放大部分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è)計114.1 程序設(shè)計原理及設(shè)計所用工具114.1.1 設(shè)計原理114.1.2 軟件硬件設(shè)計工具介紹114.2 畫出

7、軟件設(shè)計結(jié)構(gòu)圖、說明其功能114.3 畫出主要軟件設(shè)計流程框圖125、系統(tǒng)調(diào)試135.1 硬件調(diào)試135.1.1 各個功能模塊分開調(diào)試135.1.2 系統(tǒng)調(diào)試155.2 軟件調(diào)試155.2.1編譯程序的流程155.2.2程序調(diào)試過程156、結(jié)論197、總結(jié)與體會208、參考文獻21附錄一:程序代碼附錄二:圖1,圖21、前言 直線電機最初由英國人惠斯登1840年提出、實驗,但不成功。隨后,人們對它進行了深入研究,從理論到實踐做了大量工作。1945年美國西屋公司首先研究成功以直線電機作為動力的飛機彈射器,但由于成本太高而未能推廣??傮w來說,當(dāng)時由于自身理論上的不完善,加上其它相關(guān)技術(shù)的局限,同時,

8、需求不是很迫切,直線電機技術(shù)發(fā)展緩慢。隨著自動控制技術(shù)和微型計算機的高速發(fā)展,對各類自動控制系統(tǒng)的定位精度提出了更高的要求。在這種情況下,傳統(tǒng)的旋轉(zhuǎn)電機再加上一套變換機構(gòu)組成的直線運動驅(qū)動裝置,已經(jīng)遠不能滿足現(xiàn)代控制系統(tǒng)的要求。為此,從上世紀60年代開始,由于控制技術(shù)、材料技術(shù)的發(fā)展,基礎(chǔ)研究的進步與突破,直線電機進入全面開發(fā)階段。世界上許多國家下大力氣在研究、發(fā)展和應(yīng)用直線電機,使得直線電機的應(yīng)用領(lǐng)域越來越廣。英國萊斯韋特教授1966年出版了比較系統(tǒng)地介紹直線電機的專著Induction Machines for Spesial Purposes,為直線電機的發(fā)展做出了突出貢獻。一般電動機工

9、作時都是轉(zhuǎn)動的。但是用旋轉(zhuǎn)的電機驅(qū)動的交通工具(比如電動機車和城市中的電車等)需要做直線運動,用旋轉(zhuǎn)的電機驅(qū)動的機器的一些部件也要做直線運動。這就需要增加把旋轉(zhuǎn)運動變?yōu)橹本€運動的一套裝置。能不能直接運用直線運動的電機來驅(qū)動,從而省去這套裝呢?幾十年前人們就提出了這個問題現(xiàn)在已制成了直線運動的電動機,即直線電機。 直線電機是一種新型電機,近年來應(yīng)用日益廣泛。磁懸浮列車就是用直線電機來驅(qū)動的。直線電機除了用于磁懸浮列車外,還廣泛地用于其他方面,例如用于傳送系統(tǒng)、電氣錘、電磁攪拌器等在我國,直線電機也逐步得到推廣和應(yīng)用。直線電機的原理雖不復(fù)雜,但在設(shè)計、制造方面有它自己的特點,產(chǎn)品尚不如旋轉(zhuǎn)電機那樣

10、成熟,有待進一步研究和改進。       2、總體方案設(shè)計直線電機是一種通過將封閉式磁場展開為開放式磁場,將電能直接轉(zhuǎn)化為直線運動的機械能,而不需要任何中間轉(zhuǎn)換機構(gòu)的傳動裝置。在本次設(shè)計中使用單片機來控制電機工作。單片機選用AT89S52系列,由于設(shè)計中沒有提供電機,則用的是LED燈來觀察電機的工作模式,在這次設(shè)計中電機共有兩個,每一個電機分別由兩個繼電器來控制,而每個電機的工作方式有正轉(zhuǎn)、反轉(zhuǎn)。具體的設(shè)計思路:用AT89S52單片機P1口與按鍵相連,這8個按鍵用的IO口是P1_0到P1_7,數(shù)碼管的顯示部分是用的P2口,設(shè)計中面包板

11、的接口用P0口。P0_0和P0_1控制電機1工作,P0_2和P0_3控制電機2。通過改變P0_0和P0_1的輸出電平來控制電機1的正轉(zhuǎn)反轉(zhuǎn),通過改變P0_2和P0_3的輸出電平來控制電機2的正轉(zhuǎn)反轉(zhuǎn)。如當(dāng)按下按鍵KEY0(與P1_0相接)時,P0_0=1,P0_1=0,電機1正轉(zhuǎn);按下按鍵KEY1時,p0_2=1,p0_3=0,電機2正轉(zhuǎn);按下按鍵KEY2時,P0_0=0,P0_1=1,電機1反轉(zhuǎn);按下按鍵KEY3時,P2_0=0,P3_1=1,電機1反轉(zhuǎn);如此下去,就可以顯示電機的工作模式了。設(shè)計框圖如下圖2.1所示,其原理圖參見附錄二圖1。   單片機AT89

12、S52 LED指示燈數(shù)碼管顯示系統(tǒng)外擴部分AD轉(zhuǎn)換電源部分RS232串行通信接口電路 圖2.1 總體設(shè)計框圖3、單元模塊設(shè)計3.1 各單元模塊功能介紹及電路設(shè)計3.1.1 單片機最小系統(tǒng)模塊及顯示 單片機的最小系統(tǒng),一般包括單片機芯片,復(fù)位電路,時鐘電路及數(shù)碼管顯示電路。在本次設(shè)計中,P0口的P0_0,P0_1,P0_2,P0_3為控制電機工作的接口,最小系統(tǒng)上的8個按鍵用的是P1口的P1_0P1_7,上接上拉電阻和8個發(fā)光二極管和5V電壓,當(dāng)選擇相應(yīng)的按鍵時其所對應(yīng)的發(fā)光二極管亮,而P2_0P2_7作為輸出接到LED數(shù)碼管顯示上。當(dāng)程序下載到單片機最小系統(tǒng)圖上后就可以通過按鍵來控制系統(tǒng)的功能

13、,并顯示出結(jié)果。如下圖3.1所示:圖3.1單片機最小系統(tǒng)模塊及顯示3.1.2電機傳感器電壓放大部分 在實際的牽引電機中通過傳感器感知其牽引力的大小轉(zhuǎn)換成電壓信號,由于其電壓信號很微弱為了便于控制要進行放大,所以我們將通過OP07電壓放大器對腰牽引電機傳感器電壓進行放大。電壓從2、3口輸入,W2為變阻器,可通過調(diào)節(jié)來調(diào)節(jié)力與電壓的比,R16為反饋電路中的電阻,提高電路的靈敏性,降低誤差。如下圖3.2所示:圖3.2電機傳感器電壓放大部分3.1.3 RS232串行通信接口部分 在電腦中運行的程序要下載到單片機上進行運行,則要通過串行口,用到的是RS232的通信接口,在圖3. 3中用到了一個發(fā)光二極管

14、D3用來對電路中是否通電進行顯示,以指示芯片是否正常供電,便于程序的調(diào)試與分析。 圖3.3 RS232串行通信接口部分電路圖3.1.4 繼電器控制電路 本次設(shè)計中四個繼電器分兩組控制兩個電機,兩個繼電器控制一個電機,電機的正傳和反轉(zhuǎn)可以由電壓的正和負來決定正轉(zhuǎn)工作模式和反轉(zhuǎn)工作模式。程序下載到單片機之中,程序運行中通過檢測按鍵閉合情況來控制繼電器的吸合和斷開,吸合的時候表示電機正在運行,斷開的時候表示電機已經(jīng)停止運行。正轉(zhuǎn)吸合的時候表示電機正在伸出去,閉合時電機伸出將停止。反轉(zhuǎn)吸和的時候表示電機正在收回,斷開表示收回的動作停止。繼電器工作的時候指示燈發(fā)光二極管亮,表示正在工作,兩組繼電器相當(dāng)于

15、是兩個并行的電機,互不影響。如圖3.4所示:圖3.4繼電器控制電路3.3 器件介紹3.3.1 MAX232 MAX232CPE是在一個RS - 232驅(qū)動器/接收器適用于所有EIA/TIA-232E和V 28 /24通信接口,尤其是對那些申請凡+12 V是無法使用。 該MAX232CPE特別有用電池供電的系統(tǒng),因為其低功耗的停機模式,降低功耗小于5uW 。應(yīng)用于便攜式計算機、低功耗調(diào)制解調(diào)器、電池供電的RS - 232接口系統(tǒng)、多點RS - 232接口系統(tǒng)。具有特征有從+5 V 單電源供電、滿足所有EIA/TIA-232E和五.28規(guī)格、兩個驅(qū)動器和兩個接收器、態(tài)輸出驅(qū)動器和接收器、數(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 )和高開環(huán)增益( 200第V /毫伏的OP07

17、E )。低偏移和高開環(huán)增益使OP07在高增益儀表的應(yīng)用。 管腳配置如圖3.6所示: 87654321OP07VO STRIMV+OUTNCV-+IN-INVOS TRIM圖3.6 OP07管腳配置NC= NO CONNECT3.3.3 ADC0832CCN ADC0832是美國國家半導(dǎo)體公司生產(chǎn)的一種8為分辨率、雙通道A/D轉(zhuǎn)換芯片。由于他體積小兼容性強,性價比高而深受單片機愛好者及企業(yè)歡迎,其目前已經(jīng)占有很高的普及率。學(xué)習(xí)并使用ADC0832可是我們了解A/D轉(zhuǎn)換器的原理,有助于我們單片機技術(shù)水平的提高。(1)    ADC0832的特點八位分辨率;雙

18、通道A/D轉(zhuǎn)換; 輸入/輸出電平與TTL/MOS相兼容;單電源5V電壓供電時電壓范圍0V -5V之間;工作頻率為250KHZ,轉(zhuǎn)換時間為32us;一般功耗僅為15Mv;8P、14P-DIP(雙列直插),PICC多種封裝;商用級芯片溫寬為0-70,工業(yè)級芯片溫寬為-40-85.管腳配置如圖3.7所示:  12643578VCCCLKD0D1GNDCH1CH0CS圖3.7 ADC0832管腳配置圖 芯片接口說明:CS 片選使能,低電平芯片使能CHO 模擬輸入通道0,或作為IN+/-使用CH1 模擬輸入通道1,或作為IN+/-使用GND 芯片參考零點位(地)DI 數(shù)據(jù)信

19、號輸入,選擇通道控制。DO數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出CLK 芯片時鐘輸出Vcc/REF 電源輸入及參考電壓輸入(復(fù)用)(2)單片機對ADC0832 的控制原理正常情況下ADC0832 與單片機的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設(shè)計時可以將DO和DI 并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng)ADC0832未工作時其CS輸入端應(yīng)為高電平,此時芯片禁用,CLK 和DO/DI 的電平可任意。當(dāng)要進行A/D轉(zhuǎn)換時,須先將CS使能端置于低電平并且保持低電平直到轉(zhuǎn)換完全結(jié)束。此時芯片開始轉(zhuǎn)換工作,同時由處理器向芯片時鐘輸入端CL

20、K 輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。3.3.4 是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。   AT89S52具有如下特點:40個引腳,8k Bytes Flash片內(nèi)

21、程序存儲器,256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。同步串行口可用于對溫濕度信號的串行接收,異步發(fā)送/接收串口用于向上位機等進行串行通信。管腳配置如圖3.8所示:圖3.8 AT89S52管腳配置圖 此外,AT89S52設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或

22、硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。  3.4各單元模塊的連接本實驗即為用單片機控制直線電機的思路,即分為信號采集、信號輸入、信號處理、信號的輸出顯示四個模塊。信號采集部分電壓信號輸入進行電壓放大后由ADC0832轉(zhuǎn)換進行模數(shù)轉(zhuǎn)換信號輸入到單片機的內(nèi)部,單片機的外圍電路包括晶振,復(fù)位,和程序下載所用到的RS232串行通信接口部分(接單片機RXT,TXT引腳),信號處理由單片機中程序進行處理,輸出的信號在繼電器模塊進行顯示,(由P0P4管腳輸入),按鍵輸入由P0接入。連接圖如圖3.9所示: 圖3.9 個單元模塊的鏈接總圖

23、 4、軟件設(shè)計4.1 程序設(shè)計原理及設(shè)計所用工具4.1.1 設(shè)計原理由系統(tǒng)圖可知最小系統(tǒng)上有8個按鍵用的IO口是P1_0到P1_7,數(shù)碼管的顯示部分是用的P2口,設(shè)計中面包板的接口用P0口。P0_0和P0_1控制電機1工作,P0_2和P0_3控制電機2。通過改變P0_0和P0_1的輸出電平來控制電機1的正轉(zhuǎn)反轉(zhuǎn),通過改變P0_2和P0_3的輸出電平來控制電機2的正轉(zhuǎn)反轉(zhuǎn),若要改變正轉(zhuǎn)反轉(zhuǎn)的時間可以用一個for循環(huán),或者一個時延delay函數(shù)。為便以控制P0電平的改變用最小系統(tǒng)板上的8個按鍵控制。在程序中對按鍵不同的定義寫了兩種程序,一種是按鍵掃描,第二種是直接通過按鍵判斷。4.1.2

24、 軟件硬件設(shè)計工具介紹(1)軟件設(shè)計工具使用的軟件是keil uVision2, Keil uVision2是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)c語言的語法來開發(fā),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用,而且大大的提高了工作效率和項目開發(fā)周期,他還能嵌入?yún)R編,可以在關(guān)鍵的位置嵌入,使程序達到接近于匯編的工作效率。(2)硬件設(shè)計工具在設(shè)計過程中我們主要使用了Protel 99SE軟件。Protel 99SE是ProklTechnology公司開發(fā)的基于Windows環(huán)境下的電路

25、板設(shè)計軟件。該軟件功能強大,人機界面友好,易學(xué)易用,仍然是大中院校電學(xué)專業(yè)必學(xué)課程,同時也是業(yè)界人士首選的電路板設(shè)計工具。Protel 99SE 由兩大部分組成:電路原理圖設(shè)計(Advanced Schematic)和多層印刷電路板設(shè) 計(Advanced PCB)。其中Advanced Schematic由兩部分組成;電路圖編輯器(Schematic)和元件庫編輯器(Schematic Library)。4.2 畫出軟件設(shè)計結(jié)構(gòu)圖、說明其功能 如下圖所示:宏定義包含文件函數(shù)聲明 管腳定義 主函數(shù) 按鍵掃描子程序或按鍵判斷子程序 延時子程序 預(yù)

26、編譯處理函數(shù)申明定義管腳執(zhí)行塊按鍵掃描或判斷延時圖4.1 軟件設(shè)計結(jié)構(gòu)圖 圖4.2 功能說明圖4.3 畫出主要軟件設(shè)計流程框圖宏定義包含文件函數(shù)聲明管腳定義主函數(shù)按鍵掃描子程序延時子程序圖4.3按鍵掃描程序流程圖 圖4.4 按鍵判斷控制程序流程圖宏定義包含文件函數(shù)聲明 管腳定義 主函數(shù) 按鍵判斷子程序延時子程序 其程序見附錄一: 5、系統(tǒng)調(diào)試5.1 硬件調(diào)試5.1.1 各個功能模塊分開調(diào)試 (1)最小系統(tǒng)模塊的上電源模塊和按鍵模塊的檢測 首先,給最小系統(tǒng)板加上5V的電源,觀察發(fā)光二極管D5是否發(fā)光,若發(fā)光則確定最小系統(tǒng)板電源模塊沒問題,若有沒發(fā)光則用萬用

27、表檢測電源是否有輸出5V,若有,則檢測最小系統(tǒng)板的電源模塊的電路是否有短路,斷路的問題。 其次,確定電源沒有問題之后,調(diào)試按鍵模塊。按下按鍵,觀察P1口的發(fā)光二極管是否對映發(fā)光,以確認按鍵沒有問題。若不發(fā)光則對對映的模塊進行檢測。 (2)串行口的調(diào)試 將編譯好的HEX文件用ISP下載軟件通過RS232串行口下載到單片機中,此時觀察D3是否發(fā)光,發(fā)光,確定串行口沒有問題,若不發(fā)光則對對應(yīng)模塊的芯片MAX232,電容進行檢測,判斷是否損壞,判斷電路是否有連接出錯之類的。確定串行口沒有錯之后,看程序是否能成功下載到單片機中,若不能,檢測單片機是否損壞。(3)數(shù)碼管的調(diào)試通過了以上調(diào)試,將編譯好的按鍵

28、掃描程序載到單片機之中,判斷按鍵掃描無誤,再將編譯好的數(shù)碼管顯示程序下載到單片機中,觀察數(shù)碼管的顯示情況,看是否能按程序要求的功能顯示。(4)單片機最小系統(tǒng)調(diào)試 將編譯好的最小系統(tǒng)檢測程序下載到單片機中,觀察發(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,按下按鍵時,對應(yīng)的發(fā)光二極管亮,這樣就能夠確認最小系統(tǒng)板無誤。5.1.2 系統(tǒng)調(diào)試 將電機的模塊接在最小系統(tǒng)的P0端口,電源供電的部位接好電源,將編譯好的電機控制程序下載到單片機中,根據(jù)程序中所定義的按鍵功能,按下按鍵控制繼電器的吸合情況,可以聽見繼電器吸合的聲響,為了觀察方便可以觀察每個繼電器對應(yīng)的發(fā)光二極管的發(fā)光情況見附錄二圖2。其程序參見附錄一中的按鍵掃描方式控制程序。 5.2 軟件調(diào)試5.2.1編譯程序的流程 編譯軟件是用的keil uVision2,打開keil新建一個工程文件cx,設(shè)置好器件選用的是atmel中AT89C52.ou

31、tput中將生成hex文件選上。新建一個文件text,寫好程序代碼以cx.c為名保存,在source group里面添加cx.c文件,再點擊build all taget files編譯生成.hex文件,若不能生成,調(diào)試程序,看錯誤報告,確定程序的出錯類型,修正程序,直到無誤的無警告的生成HEX文件,將出現(xiàn)下載到單片機中,觀察程序的運行情況,若是不能實現(xiàn)按預(yù)定的功能則修改程序直到能實現(xiàn)程序功能。5.2.2程序調(diào)試過程 在文本中輸入如下程序:#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;/啟動電機1正轉(zhuǎn) case 0x21:key1=P11; p0_2=1;p0_3=0; break;/啟動電機2正轉(zhuǎn) case 0x41:key2=P12; p0_0=0;p0_1=1; break; /啟動電機1反轉(zhuǎn) case 0x81:key3=P13; p0_2=0;p0_3=1; break; /啟動電機2反轉(zhuǎn) case 0x12:key4=P14; p0_0=0;p0_1=0;break;/電機1停止 case 0x22:key5=P15; p0_2=0;p0_3=0; break;/電機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) /*延時程序*(5) for(del;del>0;del-);  在編寫程序過程出現(xiàn)如下一些錯誤:1)在程序中的(1)處曾出現(xiàn)過錯誤,那是因為在word中編寫好復(fù)制到keil中,編譯時不通過,再在k

36、eil中英文半角狀態(tài)重新輸入,此錯誤得以更正。2)編寫程序時,首先在(2)處輸入了一個“”與之對應(yīng)的“”在(3)處,(2)和(3)相距很遠,編譯過程中提示missing“,但是找了很久才找與之對應(yīng)的大括弧。3)在程序(5)處,延時函數(shù)是一個有返回參數(shù)的,對變量del的定義要注意是在(4)處定義。4)在程序(6)處,是對單片機端口的定義,軟件keil中選用的52系列,而52系列得單片機對自己的端口有自己規(guī)定。由于沒有參考52系列的端口管腳的定義而表達錯誤。所以說程序設(shè)計過程中,在程序書寫的環(huán)節(jié)比較關(guān)鍵,軟件認可的是英文半角狀態(tài)下的輸入,在確定輸入程序無誤的情況下,注意程序中容易犯的語法錯誤,比如

37、說大括弧()小括弧一定要對應(yīng),為了在調(diào)試程序中避免這些難以查找的錯誤在書寫程序的時候是應(yīng)該注意成對的輸入。程序書寫的順序一般是包含文件、宏定義、函數(shù)聲明,變量定義、管腳定義、主程序、各個子程序。函數(shù)注意先聲明再用,變量先定義再用。遵循編織程序的一般規(guī)則,減少語法錯誤。 6、結(jié)論本設(shè)計綜合了目前相關(guān)領(lǐng)域的多篇文獻,對直線電機的工作原理和單片機的運用進行了介紹。詳細介紹了設(shè)計的具體功能模塊,如單片機的最小系統(tǒng)、繼電器電路、LED指示燈、AD轉(zhuǎn)換電路等;軟硬件設(shè)計。在設(shè)計中,由于沒有提供電機,只能用LED指示燈來顯示電機的工作。耦合電路是用來隔離單片機和繼電器之間的干擾,具體做電路板的時候

38、沒有耦合芯片TPL521_4。因為實驗室為我們提供的繼電器是5V電壓的器件,單片機也是工作在5V電源中,5V的繼電器不會對單片機造成多大的干擾所以中間的光耦部分可以節(jié)約下來。在軟硬件的調(diào)試過程中,首先進行的是硬件調(diào)試,調(diào)試的方法有很多,一般我們所用的是觀察法和排除法。硬件的調(diào)試過程中,需要檢測電源供電是否能正常,可以看發(fā)光二極管可以判斷,檢測串行口也可以觀察發(fā)光二極管可以確定。最小系統(tǒng)上的按鍵的檢測是觀察與P1接的上拉電阻和發(fā)光二極管來確定。將無誤的出現(xiàn)下載到單片中,可以觀察數(shù)碼管的顯示情況,以確定數(shù)碼管模塊的無誤。單片機是最核心的模塊,硬件電路都是以單片機為核心,單片機的損壞沒有被察覺其他模

39、塊不能正常工作是很難調(diào)試的,所以調(diào)試其他的時候一定要保證單片沒有被損壞。軟件的測試就是一定要遵循書寫程序的一般習(xí)慣,邏輯要有條理,思維清晰。在不斷的檢查、調(diào)試和修正下,最終LED指示燈正確的顯示了兩個電機工作的方式。在設(shè)計中我們還可以再擴展一部分外圍,比如:接上液晶顯示部分,在液晶屏上顯示每個電機的工作模式,正轉(zhuǎn)、反轉(zhuǎn)的時間等參數(shù)。接上傳感器部分,直線電機的運轉(zhuǎn)情況通過傳感器的檢測反饋到單片中進行參數(shù)計算。電機的工作情況便可以更智能化。由于時間和外設(shè)的關(guān)系,這部分是做考慮。7、總結(jié)與體會這次智能化電子設(shè)計歷時近一個月的時間,在這段時間里,從最初的了解并認識智能化電子技術(shù)以及我們的課題內(nèi)容直線電

40、機,到一步步地設(shè)計方案,確定電路,焊接實驗板,調(diào)試程序等,終于完成了本設(shè)計。在這個過程我們從相關(guān)領(lǐng)域的文獻中學(xué)到了更多知識,并且運用了我們所學(xué)的單片機以及外部接口的知識,而且整個團隊都積極的參與到設(shè)計中,并進行了具體的分工,使得在設(shè)計過程中了解到團隊精神的重要性。最小系統(tǒng)板的焊接在老師的指導(dǎo)下比較順利的完成了,之后的擴展板部分由我們自己獨立設(shè)計完成,在與主板的連接上采用了導(dǎo)線連接,因此外觀上并不十分美觀,但條理布局還是很清晰。在設(shè)計過程中,我們遇到很多問題,比如:在焊接完成最小系統(tǒng)板和外接板時候,程序不能下載到單片機上,經(jīng)過多次排查,發(fā)現(xiàn)問題出在單片機芯片已經(jīng)燒壞了;而在程序正常下載到單片機上

41、后,LED指示燈不能正常顯示,經(jīng)過仔細檢查程序和板子,最后發(fā)現(xiàn)外擴板子上的發(fā)光二極管接到單片機的P1口。這次設(shè)計的要求相當(dāng)嚴格,需要通過翻閱各種文獻才確立了實驗總體設(shè)計方案。我覺得平時所學(xué)的知識有了實用的價值,達到了理論與實際相結(jié)合的目的,不僅學(xué)到了不少知識,而且鍛煉了自己的實踐動手能力,所以,在以后的學(xué)習(xí)生活中,我需要更努力地讀書和實踐,做能分析問題和解決問題的高素質(zhì)人才,為以后的順利就業(yè)作好準備。使自己對以后的路有了更加清楚的認識,同時,對未來有了更多的信心。 感謝學(xué)校給我們這次機會,提供良好的實驗環(huán)境及我們所需的設(shè)備,以及圖書館豐富的藏書,不僅鍛煉了我們的動手能力,并且更加深刻地了解智能

42、化電子技術(shù)正逐漸成為不可缺少的一項先進技術(shù)和重要工具。再次感謝老師的輔導(dǎo)和同學(xué)幫助。 8、參考文獻1 龍駒. 永磁直流電動機轉(zhuǎn)速控制系統(tǒng)的優(yōu)化設(shè)計. 成都:西南交通大學(xué)出版社,2006.122 朱大奇、李念強. 單片機原理·接口及應(yīng)用. 南京:南京大學(xué)出版社,2003.63 余永權(quán)、汪明慧. 單片機在控制系統(tǒng)中的應(yīng)用. 北京:電子工業(yè)出版社,2003.104 鄭瑜平. 可編程序控制器. 北京:北京航空航天大學(xué)出版社,1995.125 楊超宇、趙光明等. C程序語言設(shè)計. 上海:華東理工大學(xué)出版社,2006.86 譚建成. 新編電機控制專用集成電路與應(yīng)用. 北京:機械工業(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;/啟動電機1正轉(zhuǎn) case 0x21:key1=P11; p0_2=1;p0_3=0; break;/啟動電機2正轉(zhuǎn) case 0x41:key2=P12; p0_0=0;p0_1=1; break; /啟動電機1反轉(zhuǎn) case 0x81:key

46、3=P13; p0_2=0;p0_3=1; break; /啟動電機2反轉(zhuǎn) case 0x12:key4=P14; p0_0=0;p0_1=0;break;/電機1停止 case 0x22:key5=P15; p0_2=0;p0_3=0; break;/電機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_();/*延時程序*/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啟動電機1正轉(zhuǎn),有一定的延時 else if( key1=0) /mode2 p0_2=1;p0_3=0; /S1啟動電機2正轉(zhuǎn) else if( key2=0)/mode3 p0_0=0; p0_1=1; /S3啟動電機1反轉(zhuǎn) else if( key3=0) /mode4 p0_2=0; p0_3=1; /S4啟動電機2反轉(zhuǎn) else if( key4=0)/mode5 p0_0=0; p0_1=0; /S5電機1停止 else if( key5=0) /mode6 p0_2=0; p0_3=0; /S6電機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電機1反轉(zhuǎn)定時為計數(shù)10000的時間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; /每按一次前進時間加1Ssbit jian = P16;/每按一次后退時間加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)閉所有電機  /*初

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論