基于CVI可視界面的直流電機(jī)測(cè)控系統(tǒng)的設(shè)計(jì)論文_第1頁(yè)
基于CVI可視界面的直流電機(jī)測(cè)控系統(tǒng)的設(shè)計(jì)論文_第2頁(yè)
基于CVI可視界面的直流電機(jī)測(cè)控系統(tǒng)的設(shè)計(jì)論文_第3頁(yè)
基于CVI可視界面的直流電機(jī)測(cè)控系統(tǒng)的設(shè)計(jì)論文_第4頁(yè)
基于CVI可視界面的直流電機(jī)測(cè)控系統(tǒng)的設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 . . . 1 / 56 畢畢 業(yè)業(yè) 設(shè)設(shè) 計(jì)(論計(jì)(論 文)文)題題 目:目: 基于 CVI 可視界面的直流電機(jī) 測(cè)控系統(tǒng)的設(shè)計(jì) 學(xué)生 曉敏 指導(dǎo)教師 國(guó)樹(shù) 二級(jí)學(xué)院 機(jī)電工程學(xué)院 專(zhuān) 業(yè) 電氣工程與其自動(dòng)化 班級(jí)06 電氣工程與其自動(dòng)化 學(xué)號(hào) 0605120108 提交日期 2010 年 5 月 12 日 答辯日期 2010 年 5 月 15 日 . . . I / 56目 錄摘要摘要 IIIIIIABSTRACTABSTRACTIVIV第一章第一章 設(shè)計(jì)的總體思想設(shè)計(jì)的總體思想 5 5第二章第二章 直流電動(dòng)機(jī)直流電動(dòng)機(jī) 2 22.1 直流電機(jī)的概述 2第三章第三章 LABWINDOWS

2、/CVILABWINDOWS/CVI 的簡(jiǎn)介的簡(jiǎn)介 5 53.1 虛擬儀器的簡(jiǎn)介 53.2 虛擬儀器的結(jié)構(gòu) 53.3 LABWINDOWS/CVI 編程語(yǔ)言 7第四章第四章 硬件設(shè)計(jì)硬件設(shè)計(jì) 8 84.1 硬件的簡(jiǎn)介 84.2 設(shè)計(jì)原理圖各部分的說(shuō)明 114.2.1 直流電動(dòng)機(jī)正轉(zhuǎn)、反轉(zhuǎn)以與停轉(zhuǎn) 114.2.2 直流電動(dòng)機(jī)轉(zhuǎn)速檢測(cè)方法 114.2.3 直流電動(dòng)機(jī)的控制方法 134.3 RS-232 通信電路 144.3.1 串行通信與并行通信 144.3.2 異步串行通信的數(shù)據(jù)傳送格式 154.3.3 RS-232 接口電路圖與其功能說(shuō)明 16第五章第五章 直流電動(dòng)機(jī)的調(diào)速與檢測(cè)的軟件的設(shè)計(jì)直

3、流電動(dòng)機(jī)的調(diào)速與檢測(cè)的軟件的設(shè)計(jì) 19195.1 直流電動(dòng)機(jī)的 PWM 程序設(shè)計(jì) 195.2 直流電動(dòng)機(jī)的檢測(cè)子程序 215.3 串口通信的程序 22第六章第六章上位機(jī)的軟件設(shè)計(jì)上位機(jī)的軟件設(shè)計(jì) 2525 . . . II / 566.1 CVI 界面的設(shè)計(jì) 256.2 串口參數(shù)選擇 256.4 電機(jī)的控制 296.5 調(diào)試好的 CVI 界面 31結(jié)論結(jié)論 3232參考文獻(xiàn)參考文獻(xiàn) 3333致致 3535附錄附錄 3636附錄一 直流電動(dòng)機(jī)控制的總體原理圖 36附錄二 直流電動(dòng)機(jī)控制的程序 36附錄二:CVI 上位機(jī)的軟件設(shè)計(jì) 40 . . . III / 56基于 CVI 可視界面的直流電機(jī)

4、測(cè)控系統(tǒng)的設(shè)計(jì)摘要直流電動(dòng)機(jī)由于具有良好的起動(dòng)、制動(dòng)性能,適宜在大圍平滑調(diào)速等特點(diǎn),在許多需要調(diào)速或快速正反向的電力拖動(dòng)系統(tǒng)中得到了廣泛的應(yīng)用。本設(shè)計(jì)應(yīng)用單片機(jī)(AT89S52)來(lái)實(shí)現(xiàn)直流電機(jī)的雙向控制、轉(zhuǎn)速的檢測(cè)和顯示、波形的整形和利用 RS232 與計(jì)算機(jī)進(jìn)行通信的過(guò)程,其中利用 Labwindows/CVI 編寫(xiě)上位機(jī)用戶界面軟件來(lái)實(shí)時(shí)的獲取直流電機(jī)的轉(zhuǎn)速。設(shè)計(jì)中用 protel99SE 完成電路原理圖的繪制,實(shí)現(xiàn)了系統(tǒng)硬件模塊的搭建,利用 Proteus 對(duì)原理圖進(jìn)行仿真,最后利用專(zhuān)業(yè)編程語(yǔ)言和 keilc 軟件對(duì)設(shè)計(jì)的電路進(jìn)行編程。關(guān)鍵詞:?jiǎn)纹瑱C(jī) Labwindows/CVI RS2

5、32 串口通信 protel99SE keilc . . . IV / 56CVI-basedCVI-based visualvisual interfaceinterface ofof thethe DCDC MotorMotor ControlControl SystemSystemAbstractAbstractDC motor as a good start, braking performance, suitable for a large range of speed and so smooth in many needed fast forward and reverse spe

6、ed or power drive system has been widely used.The design application MCU (AT89S52) to achieve bi-directional DC motor control, speed detection and display, waveform shaping and the use RS232 to communicate with the computer process, including use of Labwindows / CVI preparation of PC user interface

7、software for real-time DC motor speed.Design using protel99SE complete circuit schematic drawing, hardware modules to achieve system structures,using Proteus schematic diagram of the simulation, the final use of specialized programming languages and software design of the circuit keilc programming.K

8、eywords:SCM Labwindows/CVI RS232 serial communication protel99SE keilc . . . 5 / 56第一章 設(shè)計(jì)的總體思想本設(shè)計(jì)要完成的任務(wù)是利用單片機(jī)來(lái)控制直流電動(dòng)機(jī), 并設(shè)計(jì)其硬件電路,包括直流電機(jī)雙向控制電路,轉(zhuǎn)速檢測(cè)電路,波形整形電路、轉(zhuǎn)速顯示電路、RS232 通信電路。其中單片機(jī)負(fù)責(zé)底層的對(duì)電機(jī)的 PWM 控制,分為正轉(zhuǎn)和反轉(zhuǎn),轉(zhuǎn)速分為低速、中速、高速。單片機(jī)還負(fù)責(zé)獲取光電傳感器檢測(cè)到的轉(zhuǎn)盤(pán)轉(zhuǎn)速(即電機(jī)的轉(zhuǎn)速),并用整形電路對(duì)波形整形。同時(shí)還利用單片機(jī)的串口與計(jì)算機(jī)通信,在 LabWindows/CVI 中編寫(xiě)上位機(jī)用

9、戶界面軟件,向單片機(jī)發(fā)送改變轉(zhuǎn)速的命令,按照正轉(zhuǎn)和反轉(zhuǎn)與轉(zhuǎn)速(低、中、高),來(lái)實(shí)時(shí)控制電機(jī),并采集其電機(jī)轉(zhuǎn)速數(shù)據(jù)。采用巴特沃斯濾波器進(jìn)行濾波,實(shí)時(shí)顯示電機(jī)轉(zhuǎn)速波形,并將采集到的數(shù)據(jù)保存在.txt 文件中。設(shè)計(jì)結(jié)構(gòu)圖如圖 1 所示:圖1 設(shè)計(jì)的結(jié)構(gòu)圖PWM輸出89S52單片機(jī)功率驅(qū)動(dòng)器整形電路顯示波形直流電機(jī)轉(zhuǎn)速的控制光電傳感器CVI 上位機(jī)RS232方向的控制 . . . 2 / 56第二章 直流電動(dòng)機(jī)2.1 直流電機(jī)的概述在現(xiàn)實(shí)生活中,直流電動(dòng)機(jī)較為常見(jiàn),因?yàn)榇蟛糠值碾妱?dòng)玩具中使用的都是直流電動(dòng)機(jī),這一類(lèi)直流電動(dòng)機(jī)體積小、功率低、轉(zhuǎn)速高,在一些比較小的場(chǎng)合十分適用,但它的特性與大型直流電動(dòng)機(jī)

10、十分相似。從控制的角度來(lái)看,直流調(diào)速還是交流拖動(dòng)系統(tǒng)的基礎(chǔ)。早期直流電動(dòng)機(jī)的控制均以模擬電路為基礎(chǔ)。由運(yùn)算放大器、非線性集成電路以與少量的數(shù)字電路組成,控制系統(tǒng)的硬件部分非常復(fù)雜,功能單一,而且系統(tǒng)非常不靈活、調(diào)試?yán)щy,阻礙了直流電動(dòng)機(jī)控制技術(shù)的發(fā)展和應(yīng)用圍的推廣。隨著單片機(jī)技術(shù)的日新月異。使許多控制功能與算法可以采用軟件技術(shù)來(lái)完成,不但為直流電動(dòng)機(jī)的控制提供了更大的靈活性,而且使系統(tǒng)能達(dá)到了更高的性能,從而大大節(jié)約了人力資源,降低了系統(tǒng)成本,有效地提高了工作效率。1、直流電動(dòng)機(jī)的工作原理直流電動(dòng)機(jī)由轉(zhuǎn)子部分和定子部分組成。轉(zhuǎn)子部分由電樞和換向器組成。電樞由漆包線纏繞在特殊形狀的鐵氧體上構(gòu)成,

11、換向器是電樞繞組的線圈引出端,通常情況下,直流電動(dòng)機(jī) 有3個(gè)繞組,那么換向器就有3個(gè),由于換向器的存在,使得電樞繞組的電流在不同的磁極下電流的方向不同,從而保證直流電動(dòng)機(jī)的轉(zhuǎn)子能夠向一個(gè)方向旋轉(zhuǎn)。定子部分由勵(lì)磁和電刷(碳刷)組成。在直流電機(jī)中勵(lì)磁部分大都是由永久磁鐵構(gòu)成,電刷一般由銅片構(gòu)成,與換向器進(jìn)行滑動(dòng)接觸,用于將外部加載的直流電壓傳送到電樞繞組中。(1)、直流電動(dòng)機(jī)的電磁轉(zhuǎn)矩 直流電動(dòng)機(jī)的工作原理圖如圖2所示:圖2 直流電動(dòng)機(jī)的原理圖 . . . 3 / 56F為導(dǎo)體受到的電磁力,該值大小為:F=Bli,式中,B為導(dǎo)體所在處的磁通密度;l為導(dǎo)體在磁場(chǎng)中的長(zhǎng)度;i為導(dǎo)體中流過(guò)的電流。由于電

12、磁力的存在,使得沿著電樞的外圓切線方向產(chǎn)生電磁轉(zhuǎn)矩。直流電動(dòng)機(jī)產(chǎn)生的電磁轉(zhuǎn)矩作為驅(qū)動(dòng)轉(zhuǎn)矩使直流電動(dòng)機(jī)旋轉(zhuǎn)。當(dāng)直流電動(dòng)機(jī)帶著負(fù)載勻速旋轉(zhuǎn)時(shí),其輸出轉(zhuǎn)矩必定與負(fù)載轉(zhuǎn)矩相等,但直流電動(dòng)機(jī)的輸出轉(zhuǎn)矩不是電磁轉(zhuǎn)矩。因?yàn)橹绷麟妱?dòng)機(jī)本身的機(jī)械摩擦(例如軸承的摩擦、電刷和換向器的摩擦等)和電樞鐵芯中的渦流、磁滯損耗都要引起阻轉(zhuǎn)矩,此轉(zhuǎn)矩用T0表示。這樣,直流電動(dòng)機(jī)的輸出轉(zhuǎn)矩T2便等于電磁轉(zhuǎn)矩T減去直流電動(dòng)機(jī)本身的阻轉(zhuǎn)矩T0。所以,當(dāng)直流電動(dòng)機(jī)克服負(fù)載阻轉(zhuǎn)矩TL勻速旋轉(zhuǎn)時(shí),則有:T2=T-T0=TL表明,當(dāng)直流電動(dòng)機(jī)穩(wěn)態(tài)運(yùn)行時(shí),其輸出轉(zhuǎn)矩的大小由負(fù)載阻轉(zhuǎn)矩決定。實(shí)際上,直流電動(dòng)機(jī)經(jīng)常運(yùn)行在轉(zhuǎn)速變化的情況下,例如

13、啟動(dòng)、停轉(zhuǎn)或反轉(zhuǎn)等,以此必須考慮轉(zhuǎn)速轉(zhuǎn)速改變時(shí)的轉(zhuǎn)矩平衡關(guān)系。當(dāng)直流電動(dòng)機(jī)的轉(zhuǎn)速改變時(shí),由于電動(dòng)機(jī)與負(fù)載具有轉(zhuǎn)動(dòng)慣量,將產(chǎn)生慣性轉(zhuǎn)矩Tj,即:Tj=Jd/dt式中,J為負(fù)載和電動(dòng)機(jī)轉(zhuǎn)動(dòng)部分的轉(zhuǎn)動(dòng)慣量,即折算到電動(dòng)機(jī)軸上的轉(zhuǎn)動(dòng)慣量; 為電動(dòng)機(jī)的角速度;d/dt為電動(dòng)機(jī)的角加速度。這時(shí)電動(dòng)機(jī)軸上的轉(zhuǎn)矩平衡方程式為:T2-TL=Tj=Jd/dt(1)或: T2=TL+Tj=TL+Jd/dt(2)式2表明當(dāng)輸出轉(zhuǎn)矩T2大于負(fù)載轉(zhuǎn)矩TL時(shí),d/dt0,說(shuō)明電動(dòng)機(jī)在加速;當(dāng)輸出轉(zhuǎn)矩T2小于負(fù)載轉(zhuǎn)矩TL時(shí),d/dt0,說(shuō)明電動(dòng)機(jī)在減速??梢?jiàn)此式表示轉(zhuǎn)速變化時(shí)電動(dòng)機(jī)軸上的轉(zhuǎn)矩平衡關(guān)系,所以稱(chēng)為電動(dòng)機(jī)的動(dòng)態(tài)轉(zhuǎn)矩

14、平衡方程式。2、 電動(dòng)機(jī)的特性當(dāng)直流電動(dòng)機(jī)的轉(zhuǎn)速N=0時(shí),此時(shí)電動(dòng)機(jī)上的電流最大,電流值的大小可以根據(jù)式Ist=Ua/Ra進(jìn)行計(jì)算(Ist時(shí)直流電動(dòng)機(jī)的啟動(dòng)電流)。出現(xiàn)N=0的情況有兩種:一種是直流電動(dòng)機(jī)在啟動(dòng)的瞬間;另一種情況是電動(dòng)機(jī)堵轉(zhuǎn),即當(dāng)電動(dòng)機(jī)運(yùn)行時(shí),如果外加阻轉(zhuǎn)矩過(guò)大,造成直流電動(dòng)機(jī)停轉(zhuǎn)的現(xiàn)象。這兩種情況的出現(xiàn)對(duì)于直流電動(dòng)機(jī)來(lái)說(shuō)都是比較致命的。所以在保證直流電動(dòng)機(jī)能夠正常啟動(dòng)的同時(shí)最好能降低啟動(dòng)電流,在直流電動(dòng)機(jī)運(yùn)行過(guò)程中為了防止電動(dòng)機(jī)出現(xiàn)堵轉(zhuǎn)現(xiàn)象,如果有條件的話可以在電動(dòng)機(jī) . . . 4 / 56軸上加裝飛輪裝置,或者在選擇電動(dòng)機(jī)時(shí),考慮好需要帶動(dòng)負(fù)載的大小,一般的,最好讓直流電

15、動(dòng)機(jī)帶動(dòng)全部負(fù)載時(shí)的功率的60%-80%,這樣既保護(hù)了直流電動(dòng)機(jī),同時(shí)效率也比較高。 . . . 5 / 56第三章 Labwindows/CVI 的簡(jiǎn)介3.1 虛擬儀器的簡(jiǎn)介虛擬儀器是計(jì)算機(jī)技術(shù)、儀器技術(shù)和通信技術(shù)相結(jié)合的產(chǎn)物。虛擬儀器的目的是利用計(jì)算機(jī)強(qiáng)大資源使硬件技術(shù)軟件化,分立元件模塊化,降低程序開(kāi)發(fā)的復(fù)雜程度,增強(qiáng)系統(tǒng)的功能和靈活性。虛擬儀器基于計(jì)算機(jī)的軟硬件測(cè)試平臺(tái),它可以代替?zhèn)鹘y(tǒng)的測(cè)量?jī)x器,如示波器、邏輯分析儀、信號(hào)發(fā)生器、頻譜分析儀等;可集成自動(dòng)控制、工業(yè)控制系統(tǒng);可自由構(gòu)建專(zhuān)有儀器系統(tǒng)。它由計(jì)算機(jī)、應(yīng)用軟件和儀器硬件組成。虛擬儀器系統(tǒng)是將儀器硬件搭載到計(jì)算機(jī)平臺(tái),并輔以相應(yīng)軟

16、件而構(gòu)成的。虛擬儀器通過(guò)軟件將計(jì)算機(jī)硬件資源與儀器硬件有機(jī)地融合為一體,從而把計(jì)算機(jī)強(qiáng)大的計(jì)算處理能力和儀器硬件的測(cè)量、控制能力結(jié)合在一起,大大降低了儀器硬件的成本,并通過(guò)軟件實(shí)現(xiàn)對(duì)數(shù)據(jù)的顯示、存儲(chǔ)以與分析處理功能。從發(fā)展史看,電子測(cè)量?jī)x器經(jīng)歷了由模擬儀器、智能儀器到虛擬儀器三個(gè)階段。如果在計(jì)算機(jī)中插入數(shù)據(jù)采集卡,利用計(jì)算機(jī)高速計(jì)算能力完成儀器信號(hào)的分析與處理、結(jié)果的輸出,就可以把傳統(tǒng)儀器的所有功能模塊集成在一臺(tái)計(jì)算機(jī)上,軟件稱(chēng)為儀器系統(tǒng)的關(guān)鍵。虛擬儀器技術(shù)的優(yōu)勢(shì)在于可由用戶自己定義通用儀器系統(tǒng),且功能靈活,很容易構(gòu)建,所以應(yīng)用面極為廣泛,尤其在科研、開(kāi)發(fā)、測(cè)量、檢測(cè)、計(jì)量、控制等領(lǐng)域,更是不

17、可多得優(yōu)秀開(kāi)發(fā)工具。虛擬儀器技術(shù)先進(jìn),符合國(guó)際上流行的“硬件軟件化”的發(fā)展趨勢(shì)。它功能強(qiáng)大,可實(shí)現(xiàn)示波器、邏輯分析儀、頻譜儀信號(hào)發(fā)生器等多種普通儀器全部功能,配以專(zhuān)用探頭和軟件,還可以檢測(cè)特定系統(tǒng)的參數(shù);它操作靈活,完全圖形化界面;它集成方便,不但可以和高速數(shù)據(jù)采集設(shè)備構(gòu)成自動(dòng)測(cè)量系統(tǒng),而且可以和控制設(shè)備構(gòu)成自動(dòng)控制系統(tǒng)。3.2 虛擬儀器的結(jié)構(gòu)一個(gè)典型的數(shù)據(jù)采集控制系統(tǒng)由傳感器、信號(hào)調(diào)理電路、數(shù)據(jù)采集卡(板)、計(jì)算機(jī)、控制執(zhí)行設(shè)備五部分組成。一個(gè)好的數(shù)據(jù)采集產(chǎn)品不僅應(yīng)具備良好性能和高可靠性,還應(yīng)提供高性能的驅(qū)動(dòng)程序和簡(jiǎn)單易用的高層語(yǔ)言接口,使用戶能較快速地建立可靠的應(yīng)用系統(tǒng)。近年來(lái),由于多層電

18、路板、可編程儀器 . . . 6 / 56放大器、即插即用、系統(tǒng)定時(shí)控制器、多數(shù)據(jù)采集板實(shí)時(shí)系統(tǒng)集成總線、高速數(shù)據(jù)采集的雙緩沖區(qū)以與實(shí)現(xiàn)數(shù)據(jù)高速傳送的中斷、DMA(直接存儲(chǔ)器存?。┑燃夹g(shù)的應(yīng)用,使得最新的數(shù)據(jù)采集卡能保證儀器級(jí)的高準(zhǔn)確度與可靠性。軟件是虛擬儀器測(cè)控方案的關(guān)鍵。虛擬儀器的軟件系統(tǒng)主要分為四層結(jié)構(gòu):系統(tǒng)管理層、測(cè)控程序?qū)?、儀器驅(qū)動(dòng)層和I/O接口層。I/O接口驅(qū)動(dòng)程序完成特定外部硬件設(shè)備的擴(kuò)展、驅(qū)動(dòng)和通信。驅(qū)動(dòng)軟件有如下的基本功能。 以特定的采樣頻率獲取數(shù)據(jù)。 在處理器運(yùn)算的同時(shí)提取數(shù)據(jù)。 使用編程的I/O、中斷和DMA傳送數(shù)據(jù)。 在磁盤(pán)上存取數(shù)據(jù)流。 同時(shí)執(zhí)行幾種功能。 集成一個(gè)以

19、上的DAQ卡。 同信號(hào)調(diào)理器結(jié)合在一起。虛擬儀器硬件系統(tǒng)包括GPIB(IEE488.2)、VXI、插入式數(shù)據(jù)/圖像采集板、串行通信與網(wǎng)絡(luò)等幾類(lèi)I/O接口。虛擬儀器測(cè)試系統(tǒng)構(gòu)成方案如圖3所示:Active XDDESQL系統(tǒng)執(zhí)行測(cè)試報(bào)告統(tǒng)計(jì)過(guò)程控 制系統(tǒng)管理虛擬儀器模塊測(cè)控程序儀器驅(qū)動(dòng)軟件儀器驅(qū)動(dòng)IEE488.2VXI/VISADAQ接口IMAQ接口I/O 接口GPIB儀器串行儀器VXI儀器DAQ儀器IMAQ板卡儀器硬件 . . . 7 / 56圖 3 虛擬儀器測(cè)試系統(tǒng)構(gòu)成方案 . . . 8 / 563.3 Labwindows/CVI 編程語(yǔ)言Labwindows/CVI是一個(gè)完全的ANSI

20、 C開(kāi)發(fā)環(huán)境,用于儀器控制、自動(dòng)檢測(cè)、數(shù)據(jù)處理的應(yīng)用軟件。它以ANSI C為核心,將功能強(qiáng)大、使用靈活的C 語(yǔ)言平臺(tái)與用于數(shù)據(jù)采集、分析和顯示的測(cè)控專(zhuān)業(yè)工具有機(jī)結(jié)合起來(lái)。它的交互式開(kāi)發(fā)平臺(tái)、交互式編程方法、豐富的功能面板和函數(shù)庫(kù)大大增強(qiáng)了C語(yǔ)言的功能,為熟悉C語(yǔ)言的開(kāi)發(fā)人員建立自動(dòng)化檢測(cè)系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、過(guò)程控制系統(tǒng)等提供了一個(gè)理想的軟件開(kāi)發(fā)環(huán)境。Labwindows/CVI的一般特性: 提供了標(biāo)準(zhǔn)函數(shù)庫(kù)和交互式函數(shù)面板。 利用便捷的用戶界面編輯器,代碼創(chuàng)建向?qū)c函數(shù)庫(kù),實(shí)現(xiàn)可視化用戶界面的建立、顯示和控制。 利用向?qū)Ш秃瘮?shù)庫(kù)開(kāi)發(fā)IVI驅(qū)動(dòng)程序和控制ActiveX服務(wù)器。 提供了部分特定儀器

21、的驅(qū)動(dòng)。 可創(chuàng)建和編輯NI-DAQmx任務(wù)。 . . . 9 / 56第四章 硬件設(shè)計(jì)4.1 硬件的簡(jiǎn)介本設(shè)計(jì)的控制核心是單片機(jī)AT89S52。其部結(jié)構(gòu)如圖4所示:圖4 單片機(jī)的部結(jié)構(gòu)AT89S52是一種低功耗、高性能COMS 8位微控制器,具有8KB系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash存儲(chǔ)器允許程序存儲(chǔ)器ISP可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和可ISP編程的Flash存儲(chǔ)器,使得AT89S52為眾多嵌入式應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:

22、8KBFlash存儲(chǔ)器,256字節(jié)RAM,32位I/O口線,看門(mén)狗定時(shí)器,2個(gè)數(shù)據(jù)指針,3個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)終端結(jié)構(gòu),全雙工串行口,片晶振與時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持兩種軟件可選擇節(jié)點(diǎn)模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作;掉電保護(hù)模式下,RAM容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。I/O存儲(chǔ)器EPROM/ROM定時(shí)/計(jì)數(shù)器運(yùn)算器控制器中斷CPU片內(nèi)振蕩器RAM/SFP并行口存儲(chǔ)器擴(kuò)展控制器串行口XTAL . . . 9 / 56圖5 單片機(jī)的引腳圖管腳說(shuō)明:VC

23、C:供電電壓。GND: 接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)部上拉

24、電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3口:P3口管腳是8個(gè)帶部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被部上拉為高電平,并用作輸入。作為輸

25、入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行輸入口) 。 . . . 10 / 56P3.1 TXD(串行輸出口) 。P3.2 /INT0(外部中斷0) 。P3.3 /INT1(外部中斷1) 。P3.4 T0(記時(shí)器0外部輸入) 。P3.5 T1(記時(shí)器1外部輸入) 。P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) 。P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) 。P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于

26、鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。ALE/PROG:地址鎖存允許信號(hào)端。當(dāng) 89C51 上電正常工作后,ALE 引腳不斷向外輸出正脈沖信號(hào),此頻率位振蕩器頻率 fosc 的 1/6.當(dāng) CPU 訪問(wèn)片外存儲(chǔ)器時(shí),ALE 輸出信號(hào)作為鎖存低 8 位地址的控制信號(hào)。平時(shí)不訪問(wèn)片外存儲(chǔ)器時(shí),ALE 端也以振蕩頻率的 1/6 固定輸出正脈沖,因而 ALE 信號(hào)可以用作對(duì)外輸出時(shí)鐘或定時(shí)信號(hào)。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè) ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時(shí), ALE 只有在執(zhí)行 MOVX,MOVC 指令是

27、ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無(wú)效。ALE 端的負(fù)載驅(qū)動(dòng)能力為 8 個(gè) LS型 TTL(低功耗甚高速 TTL)負(fù)載。此引腳的第二功能/PROG 在對(duì)片帶有4KBFLASH ROM 的 89C51 編程寫(xiě)入(固化程序)時(shí),作為編程脈沖輸入端。/PSEN:程序存儲(chǔ)允許輸出信號(hào)端。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN 有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN 信號(hào)將不出現(xiàn)。/EA/VPP:外部程序存儲(chǔ)器地址允許輸入端/固化編程電壓輸入端。當(dāng)/EA引腳接高電平時(shí),CPU 只訪問(wèn)片 FLASH ROM 并執(zhí)行部程序

28、存儲(chǔ)器中的指令;但當(dāng) PC(程序計(jì)數(shù)器)的值超過(guò) 0FFFH(4KB)時(shí),將自動(dòng)轉(zhuǎn)去執(zhí)行片外程序存儲(chǔ)器的程序。當(dāng)輸入信號(hào)/EA 引腳接低電平時(shí),CPU 只訪問(wèn)片外 FLASH ROM 并執(zhí)行部程序存儲(chǔ)器中的指令;而不管是否有部程序存儲(chǔ)器。需要注意的是,如果位LB1 被編程,則復(fù)位時(shí)在部會(huì)鎖存/EA 端的狀態(tài)。當(dāng)/EA 端保持高電平時(shí),CPU 則執(zhí)行部程序存儲(chǔ)器中的程序。在 FLASH ROM編程期間,此引腳也用于施加 12V 編程允許電源(VPP)。XTAL1:接外部晶體和微調(diào)電容的一端。在片,它是振蕩電路反相放大器的輸入端。在采用外部時(shí)鐘時(shí),則該引腳輸入外部時(shí)鐘脈沖。 . . . 11 /

29、56XTAL2:接外部晶體和微調(diào)電容的另一端。它是振蕩電路反相放大器的輸出端,振蕩電路額頻率就是晶體的固有頻率。若需采用外部時(shí)鐘電路,則該引腳懸空。4.2 設(shè)計(jì)原理圖各部分的說(shuō)明4.2.1 直流電動(dòng)機(jī)正轉(zhuǎn)、反轉(zhuǎn)以與停轉(zhuǎn)本設(shè)計(jì)采用晶體三極管來(lái)控制直流電動(dòng)機(jī)的正、反轉(zhuǎn)以與停轉(zhuǎn),原理圖如圖6所示:圖6 直流電動(dòng)機(jī)正轉(zhuǎn)、反轉(zhuǎn)以與停轉(zhuǎn)的原理圖當(dāng)PWM1為高電平,PWM2為低電平時(shí),三極管Q2、Q3、Q6均導(dǎo)通,使得直流電動(dòng)機(jī)正轉(zhuǎn),同理,當(dāng)PWM1為低電平,PWM2為高電平時(shí),直流電動(dòng)機(jī)反轉(zhuǎn)。當(dāng)PWM1和PWM2同時(shí)為低電平時(shí),三極管Q1、Q2均能工作,電路中的其他部分均不工作,直流電動(dòng)機(jī)停轉(zhuǎn)。當(dāng)PWM1

30、和PWM2同時(shí)為高電平時(shí),三極管Q1、Q2均不能工作,直流電機(jī)也停轉(zhuǎn)。該電路板可以直接通過(guò)引線或插針的形式與單片機(jī)相連。4.2.2 直流電動(dòng)機(jī)轉(zhuǎn)速檢測(cè)方法在應(yīng)用直流電動(dòng)機(jī)作為執(zhí)行部件時(shí),如果要很好地控制直流電動(dòng)機(jī),首先要知道直流電動(dòng)機(jī)的轉(zhuǎn)速。對(duì)于轉(zhuǎn)速的檢測(cè),方法有很多,常用到的傳感器有:霍爾傳感器、光電傳感器、旋轉(zhuǎn)編碼器等。其中霍爾傳感器是應(yīng)用磁感應(yīng)的方 . . . 12 / 56式進(jìn)行檢測(cè),由于其安裝結(jié)構(gòu)的限制,這種傳感器檢測(cè)的精度很低,所以常常用在高轉(zhuǎn)速并且對(duì)精度要求不高的場(chǎng)合;旋轉(zhuǎn)編碼器的檢測(cè)精度非常高,通常旋轉(zhuǎn)一圈可輸出幾百至幾千個(gè)脈沖,適用于轉(zhuǎn)速較低的場(chǎng)合,但是這種傳感器價(jià)格較比其他

31、傳感器高很多,一般情況下不予采用;光電傳感器的檢測(cè)精度介于前兩種傳感器之間,安裝簡(jiǎn)單、價(jià)格較低,所以是設(shè)計(jì)中的首選。光電傳感器有時(shí)又為光電開(kāi)光,具有體積小、功能多、壽命長(zhǎng)、精度高、響應(yīng)速度快、檢測(cè)距離遠(yuǎn),以與抗電磁干擾能力強(qiáng)等優(yōu)點(diǎn),同時(shí)由于光電傳感器屬于非接觸式檢測(cè)器件,對(duì)檢測(cè)對(duì)象不會(huì)造成損傷,所以被應(yīng)用到很多領(lǐng)域中。透射式光電傳感器是將砷化鎵紅外發(fā)光管和硅光敏三極管等,以相對(duì)的方向裝在中間帶槽的支架上。當(dāng)槽無(wú)物體時(shí),砷化鎵發(fā)光管發(fā)出的光直接照在硅光敏三極管的窗口上,從而產(chǎn)生一定大的電流輸出,當(dāng)有物體經(jīng)過(guò)槽時(shí)則擋住光線,光敏管無(wú)輸出,以此可識(shí)別物體的有無(wú)。適用于光電控制、光電計(jì)量等電路中,可檢

32、測(cè)物體的有無(wú)、運(yùn)動(dòng)方向、轉(zhuǎn)速等方面。利用透射式光電傳感器檢測(cè)的電路圖如圖7所示:圖7 透射式光電傳感器檢測(cè)速度的電路圖可是當(dāng)直流電動(dòng)機(jī)高速旋轉(zhuǎn),并且光電碼盤(pán)上的條紋或孔較多時(shí),在示波器上看到的波形對(duì)單片機(jī)來(lái)說(shuō),識(shí)別起來(lái)十分困難。為了能夠讓單片機(jī)準(zhǔn)確識(shí)別光電傳感器輸出的信號(hào),可以在傳感器的輸出端連接一個(gè)具有施密特觸發(fā)特性的器件或是連接一個(gè)比較器。其原理圖如圖8所示: . . . 13 / 56圖8 應(yīng)用74LS14為輸出波形整形的電路圖4.2.3 直流電動(dòng)機(jī)的控制方法直流電動(dòng)機(jī)在使用時(shí)需要在電動(dòng)機(jī)的兩個(gè)接線端上加載電壓,電壓的高低直接影響電動(dòng)機(jī)的轉(zhuǎn)速,這取決于兩者之間的關(guān)系:n=(U-IR)/C

33、e上式中,U為加載在電動(dòng)機(jī)兩端的直流電壓,I為直流電動(dòng)機(jī)的工作電流,R為直流電動(dòng)機(jī)線圈的等效阻,Ce=PN/(60a),其中,P為電極的極對(duì)數(shù),N為電樞繞組總導(dǎo)體數(shù),a為支路對(duì)數(shù),通常表示為2a,即電刷間的并聯(lián)支路數(shù),這個(gè)參數(shù)與電動(dòng)機(jī)繞組的具體結(jié)構(gòu)有關(guān),所以Ce是一個(gè)常數(shù)由電動(dòng)機(jī)本身的結(jié)構(gòu)參數(shù)有關(guān),為每極總磁通。由于我們買(mǎi)到的直流電動(dòng)機(jī),其機(jī)械結(jié)構(gòu)已經(jīng)固定,勵(lì)磁部分為永久磁鐵,所以式中的R、Ce和已經(jīng)固定,只能改變加載在直流電動(dòng)機(jī)兩端的直流電壓。所以,常見(jiàn)的直流電動(dòng)機(jī)轉(zhuǎn)速控制方法是調(diào)節(jié)直流電壓。電壓調(diào)節(jié)的兩種方法:D/A轉(zhuǎn)換器輸出法和PWM輸出法。由于D/A轉(zhuǎn)換器大多是電流輸出型,需要外接運(yùn)算

34、放大器才能轉(zhuǎn)換成電壓,另外由于運(yùn)算放大器輸出的電流有限,如果直接連接到直流電動(dòng)機(jī)將會(huì)造成直流電動(dòng)機(jī)的轉(zhuǎn)矩過(guò)小和運(yùn)算放大器過(guò)熱的現(xiàn)象,所以建議采用PWM輸出方法。該方法可以利用單片機(jī)的一個(gè)I/O引腳作為PWM的輸出端,輸出信號(hào)控制大功率晶體管的開(kāi)啟和關(guān)閉,以控制電動(dòng)機(jī)的運(yùn)轉(zhuǎn)和停止,當(dāng)PWM的頻率足夠高時(shí),由于電動(dòng)機(jī)的繞組是感性負(fù)載,具有儲(chǔ)能的作用,對(duì)PWM輸出的高低電平起到了平波的作用,在電動(dòng)機(jī)的兩端可以近似得到直流電壓值,PWM的占空比越高,電 . . . 14 / 56動(dòng)機(jī)獲得的直流電壓越高,反之,PWM的占空比越低,電動(dòng)機(jī)獲得的直流電壓越低。PWM的周期對(duì)于控制直流電動(dòng)機(jī)的轉(zhuǎn)速和轉(zhuǎn)動(dòng)特性有

35、十分重要的作用。當(dāng)PWM的周期較長(zhǎng),占空比較小時(shí),在一個(gè)周期加載在直流電動(dòng)機(jī)兩端電壓的時(shí)間為100ms,而電動(dòng)機(jī)失去電壓的時(shí)間為900ms,在這段時(shí)間,電動(dòng)機(jī)線圈繞組的電流已經(jīng)釋放完畢(當(dāng)電動(dòng)機(jī)轉(zhuǎn)速較低時(shí),線圈繞組的性質(zhì)顯現(xiàn)為阻性,感性較少),電動(dòng)機(jī)在部繞組的轉(zhuǎn)動(dòng)慣量下將繼續(xù)向前轉(zhuǎn)動(dòng),如果負(fù)載的轉(zhuǎn)矩較大,那么此時(shí)電動(dòng)機(jī)的轉(zhuǎn)速跌落很快,甚至出現(xiàn)停轉(zhuǎn)的現(xiàn)象,只有下一個(gè)PWM周期到來(lái)時(shí),電動(dòng)機(jī)才能重新轉(zhuǎn)動(dòng)起來(lái),如此循環(huán)。當(dāng)PWM的周期較短、占空比仍然為10%時(shí),在一個(gè)周期直流電動(dòng)機(jī)獲得電壓的時(shí)間為0.1ms,而失去電壓的時(shí)間為0.9ms,在這段時(shí)間,直流電動(dòng)機(jī)線圈繞組的電流并不會(huì)釋放完畢(主要取決于

36、繞組感性的大?。绷麟妱?dòng)機(jī)繼續(xù)轉(zhuǎn)動(dòng),當(dāng)下一個(gè)PWM周期到來(lái)時(shí),直流電動(dòng)機(jī)重新獲得電壓,如此循環(huán),直流電動(dòng)機(jī)不再有停轉(zhuǎn)的現(xiàn)象。4.3 RS-232 通信電路4.3.1 串行通信與并行通信在微型計(jì)算機(jī)系統(tǒng)中,MCU與外圍電路通信的基本方式有兩種,如圖9所示:并行通信數(shù)據(jù)的各位同時(shí)傳送串行通信數(shù)據(jù)一位一位順序傳送圖9 MCU與外圍電路通信的方式外部RAM擴(kuò)展電路、基本“I/O”擴(kuò)展電路、實(shí)時(shí)時(shí)鐘電路、鍵盤(pán)電路、LCD接口電路都是采用并行通信方式,從圖上可以看出,在并行通信中,數(shù)據(jù)有多少位就需要多少條傳送線。而串行通信只需要一對(duì)傳送線,故串行通信能節(jié)省傳送線,特別是當(dāng)數(shù)據(jù)位數(shù)很多和傳送距離較遠(yuǎn)時(shí),這

37、一優(yōu)點(diǎn)更加突MCUMCU或外圍電路D1D2Dn狀態(tài)控制D0 . . . 15 / 56出。A/D采樣電路就是串行通信的一個(gè)應(yīng)用,當(dāng)然串行通信還包括許多其他的通信形式,比如RS-232、CAN總線等。串行通信的主要缺點(diǎn)是數(shù)據(jù)的傳送速率比并行通信要慢。4.3.2 異步串行通信的數(shù)據(jù)傳送格式串行通信是將構(gòu)成字符的每個(gè)二進(jìn)制數(shù)據(jù)位依據(jù)一定的順序逐位傳送。按照數(shù)據(jù)傳送格式可以分為異步串行通信和同步串行通信。同步串行通信應(yīng)用在傳輸速度要求較高的場(chǎng)合,通信開(kāi)始時(shí)需要同步信息,對(duì)收發(fā)兩端時(shí)間要求嚴(yán)格,這些條件局限了同步串行通信的應(yīng)用。異步串行通信規(guī)定了字符數(shù)據(jù)的傳送格式,即每個(gè)數(shù)據(jù)以一樣的幀格式傳送。如下圖所

38、示。每一幀由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位構(gòu)成,字符數(shù)據(jù)一個(gè)接一個(gè)的傳送,在發(fā)送間隙,通信線路上總是處于邏輯“1”狀態(tài)。0起始位第 n+1 個(gè)字符第 n 個(gè)字符起始位0空閑位空閑位低位高位58 位數(shù)據(jù)奇偶校驗(yàn)停止位空閑位和起始位:當(dāng)通信線上沒(méi)有數(shù)據(jù)傳送時(shí)就處于空閑狀態(tài),通信線上保持邏輯電平“1”,即相當(dāng)于發(fā)送端不斷發(fā)送空閑位“1”,當(dāng)發(fā)送端要發(fā)送一個(gè)字符數(shù)據(jù)時(shí),首先發(fā)出一個(gè)邏輯“0”信號(hào),這個(gè)低電平就是起始位,接收端檢測(cè)到這個(gè)邏輯低電平后,就開(kāi)始準(zhǔn)備接收數(shù)據(jù)位信號(hào),所以起始位就表示字符傳送開(kāi)始,起始位只有1位。數(shù)據(jù)位:緊跟在起始位后面的就是數(shù)據(jù)位,數(shù)據(jù)位長(zhǎng)度可以是5、6、7或8位數(shù)據(jù)。在數(shù)

39、據(jù)傳送過(guò)程中,數(shù)據(jù)從最小有效位開(kāi)始傳送。奇偶校驗(yàn)位:數(shù)據(jù)位發(fā)送完后,可以選擇是否發(fā)送奇偶校驗(yàn)位,奇偶校驗(yàn)用于差錯(cuò)檢測(cè),有奇校驗(yàn)和偶校驗(yàn)兩種方式。奇校驗(yàn)是指在所有數(shù)據(jù)位和校驗(yàn)位中,“1”的個(gè)數(shù)為奇數(shù);偶校驗(yàn)是指在所有數(shù)據(jù)位和校驗(yàn)位中,“1”的個(gè)數(shù)為偶數(shù)。奇偶校驗(yàn)的方法是:如果采用奇校驗(yàn),則對(duì)所有數(shù)據(jù)位取異或后求反便是校驗(yàn)位的數(shù)值;如果采用歐校驗(yàn),則對(duì)所有數(shù)據(jù)位取異或 . . . 16 / 56即是校驗(yàn)位的數(shù)值。停止位:在奇偶校驗(yàn)位或數(shù)據(jù)位之后發(fā)送的是停止位,可以是1位、1位半或2位,表示一個(gè)字符的結(jié)束。波特率:通信線路上的字符數(shù)據(jù)是按位傳送的,每一位寬度(位信號(hào)持續(xù)時(shí)間)由數(shù)據(jù)傳送速率確定,傳送

40、速率越快,每一位的寬度越短。把數(shù)據(jù)傳送速率稱(chēng)為波特率,其定義是:?jiǎn)挝粫r(shí)間傳送的信息量,以每秒傳送的位(bit)表示,單位為波特。1波特=1位/秒=1bit/s=1bps在異步串行通信中,發(fā)送端和接收端保持一樣的傳送波特率,一樣的起始位、奇偶位和停止位,這樣收發(fā)兩端才能成功地傳送數(shù)據(jù)。4.3.3 RS-232 接口電路圖與其功能說(shuō)明單片機(jī)上有UART(通用異步接收/發(fā)送)用于串行通信,發(fā)送時(shí)數(shù)據(jù)由TXD端送出,接收時(shí)數(shù)據(jù)由RXD端輸入,片有兩個(gè)緩沖器,一個(gè)作為發(fā)送緩沖器,另一個(gè)作為接收緩沖器。UART是可編程的全雙工串行口,這里的串行口只提供TTL電平,可以使用驅(qū)動(dòng)芯片如“MAX232”把TTL

41、電平變成RS-232標(biāo)準(zhǔn)接口電平,從而和通用微機(jī)通信。串行通信的RS-232接口電路,包括擴(kuò)展串行通信的異步收發(fā)器以與RS-232電平轉(zhuǎn)換電路。(1)、MAX232片介紹MAX232是一種把電腦的串行口RS232信號(hào)電平(-10 ,+10v)轉(zhuǎn)換為單片機(jī)所用到的TTL信號(hào)點(diǎn)平(0 ,+5)的芯片, MAX232芯片是美信公司專(zhuān)門(mén)為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v單電源供電。部結(jié)構(gòu)基本可分三個(gè)部分:第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、

42、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電 . . . 17 / 56腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳DNG、16腳VCC(+5v)。其部結(jié)構(gòu)如圖10所示:圖10 MAX232的部結(jié)構(gòu)MAX232

43、的元件封裝圖如圖11所示:圖11 MAX232芯片的封裝圖主要特點(diǎn) :1、單 5V 電源工作。2、 LinBiCMOSTM 工藝技術(shù)。 . . . 18 / 563、 兩個(gè)驅(qū)動(dòng)器與兩個(gè)接收器。4、 30V 輸入電平。5、低電源電流:典型值是 8mA。6、符合甚至優(yōu)于 ANSI 標(biāo)準(zhǔn) EIA/TIA-232-E 與 ITU 推薦標(biāo)準(zhǔn) V.28。7、ESD 保護(hù)大于 MIL-STD-883(方 法 3015)標(biāo)準(zhǔn)的 2000V。(2)、RS-232(DB9)的引腳定義:DCD :載波檢測(cè)。主要用于Modem通知計(jì)算機(jī)其處于在線狀態(tài),即Modem檢測(cè)到撥號(hào)音,處于在線狀態(tài)。RXD:此引腳用于接收外部

44、設(shè)備送來(lái)的數(shù)據(jù);在你使用Modem時(shí),你會(huì)發(fā)現(xiàn)RXD指示燈在閃爍,說(shuō)明RXD引腳上有數(shù)據(jù)進(jìn)入。TXD:此引腳將計(jì)算機(jī)的數(shù)據(jù)發(fā)送給外部設(shè)備;在你使用Modem時(shí),你會(huì)發(fā)現(xiàn)TXD指示燈在閃爍,說(shuō)明計(jì)算機(jī)正在通過(guò)TXD引腳發(fā)送數(shù)據(jù)。DTR:數(shù)據(jù)終端就緒;當(dāng)此引腳高電平時(shí),通知Modem可以進(jìn)行數(shù)據(jù)傳輸,計(jì)算機(jī)已經(jīng)準(zhǔn)備好。GND:信號(hào)地;此位不做過(guò)多解釋。DSR:數(shù)據(jù)設(shè)備就緒;此引腳高電平時(shí),通知計(jì)算機(jī)Modem已經(jīng)準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)通訊了。RTS:請(qǐng)求發(fā)送;此腳由計(jì)算機(jī)來(lái)控制,用以通知Modem馬上傳送數(shù)據(jù)至計(jì)算機(jī);否則,Modem將收到的數(shù)據(jù)暫時(shí)放入緩沖區(qū)中。CTS: 清除發(fā)送;此腳由Modem

45、控制,用以通知計(jì)算機(jī)將欲傳的數(shù)據(jù)送至Modem。RI : Modem通知計(jì)算機(jī)有呼叫進(jìn)來(lái),是否接聽(tīng)呼叫由計(jì)算機(jī)決定。RS-232接口原理圖如圖12所示: . . . 19 / 56圖12 RS-232接口原理圖 . . . 19 / 56第五章 直流電動(dòng)機(jī)的調(diào)速與檢測(cè)的軟件的設(shè)計(jì)本設(shè)計(jì)采用單片機(jī)對(duì)直流電動(dòng)機(jī)進(jìn)行控制,根據(jù)設(shè)計(jì)的直流電動(dòng)機(jī)的測(cè)速系統(tǒng)的硬件電路的要求,通過(guò)對(duì)系統(tǒng)功能的總結(jié)將系統(tǒng)軟件程序劃分為:直流電動(dòng)機(jī)控制的主程序、直流電動(dòng)機(jī)轉(zhuǎn)速檢測(cè)子程序、直流電動(dòng)機(jī)的三種速度的控制的子程序、轉(zhuǎn)速顯示的子程序和串口通信的子程序。5.1 直流電動(dòng)機(jī)的 PWM 程序設(shè)計(jì)直流電機(jī)驅(qū)動(dòng)使用最廣泛的就是H型

46、全橋式電路,這種驅(qū)動(dòng)電路方便地實(shí)現(xiàn)直流電機(jī)的三象限運(yùn)行,分別對(duì)應(yīng)正轉(zhuǎn)、反轉(zhuǎn)和停轉(zhuǎn)。單片機(jī)PWM 脈沖信號(hào)的產(chǎn)生從程序設(shè)計(jì)上來(lái)講,可以采用軟件延時(shí)和計(jì)時(shí)器延時(shí)兩種方法。軟件延時(shí)雖然理論上實(shí)現(xiàn)起來(lái)較容易,但占用系統(tǒng)資源過(guò)多,使用并不方便。本設(shè)計(jì)應(yīng)用的是軟件延時(shí)的方式輸出PWM,該P(yáng)WM 調(diào)速器采用定時(shí)器2中斷方式產(chǎn)生PWM脈沖,PWM 控制子程序也就是定時(shí)器2的中斷服務(wù)程序。其程序流程圖如圖13所示。圖13 PWM控制的框圖開(kāi)始初始化開(kāi)啟定時(shí)器 2調(diào)用 PWM 控制子程序調(diào)用顯示子程序速度顯示在 LCD上YesNoPWM1=0直流電動(dòng)機(jī)反轉(zhuǎn)PWM2=0直流電動(dòng)機(jī)正轉(zhuǎn)計(jì)算出電動(dòng)機(jī)的轉(zhuǎn)速 . . .

47、20 / 56其程序片段為:#ifndef _MOTOR_PWM_#define _MOTOR_PWM_#define uint unsigned int#define uchar unsigned charsbit PWM1 = P10;sbit PWM2 = P11;void Init_Timer2(void) RCAP2H = 0 xfc;/12M 1ms 16bit 自動(dòng)重載 RCAP2L = 0 x66; ET2=1; EA=1; TR2=1;void main(void)Init_Timer0(); /timer0用來(lái)定時(shí)采樣電機(jī)的速度 Initial_Uart();/timer1

48、用做串口通信 波特率設(shè)置9600,11.0592MHzInit_Timer2(); /timer2產(chǎn)生PWMInit_INT0(); /int0用來(lái)計(jì)數(shù)電機(jī)轉(zhuǎn)速測(cè)量脈沖數(shù),下降沿觸發(fā) InitLcd(); EX0=1;TR0=1;EA=1;PWM1=0;PWM2=0;while(1) ShowString(0,Line0); ;void Int0_ISR(void) interrupt 0PulseCounter+; /因?yàn)殡姍C(jī)轉(zhuǎn)速慢,這里不考慮PulseCounter溢出問(wèn)題 . . . 21 / 56void Timer2_ISR(void) interrupt 5 using 1TF2=

49、0; /T2中斷標(biāo)志位清0if(Forward_Rotation_Flag = 1) /正向轉(zhuǎn)動(dòng) PWM2=0;Timer2Count+; /計(jì)數(shù) if( Timer2Count = PWM1_ON) PWM1 = 0; / if( Timer2Count = PERIOD) if(PWM1_ON != 0) PWM1 = 1; /如果占空比D=0 保持原來(lái)狀態(tài) Timer2Count=0; else if(Reverse_Rotation_Flag = 1) /反向轉(zhuǎn)動(dòng) PWM1=0;Timer2Count+; /計(jì)數(shù) if ( Timer2Count = PWM2_ON) PWM2 = 0

50、; / if( Timer2Count = PERIOD) if(PWM2_ON != 0) PWM2 = 1; /如果占空比D=0 保持原來(lái)狀態(tài) Timer2Count=0; 5.2 直流電動(dòng)機(jī)的檢測(cè)子程序直流電動(dòng)機(jī)轉(zhuǎn)速的測(cè)量有兩種方法:定時(shí)法和間隔法。定時(shí)法是在一定的時(shí)間間隔檢測(cè)脈沖的數(shù)量(即通過(guò)對(duì)發(fā)射式光電傳感器的光電碼盤(pán)上的孔的數(shù)量進(jìn)行測(cè)量),通過(guò)計(jì)算得出在單位時(shí)間直流電動(dòng)機(jī)轉(zhuǎn)過(guò)的圈數(shù),即可得到轉(zhuǎn)速;間隔法是檢測(cè)光電碼盤(pán)上孔與孔之間的間隔時(shí)間,通過(guò)這個(gè)時(shí)間可以計(jì)算出直流電動(dòng)機(jī)旋轉(zhuǎn)一周需要的時(shí)間,進(jìn)而得到轉(zhuǎn)速。本設(shè)計(jì)采用的是定時(shí)法。當(dāng)直流電動(dòng)機(jī)開(kāi)始轉(zhuǎn)動(dòng)時(shí),光電傳感器上有四個(gè)槽,每一個(gè)槽通

51、過(guò)時(shí),就會(huì)計(jì)數(shù),每次定時(shí)為50ms,在定時(shí)的次數(shù)到第五次時(shí),就得到脈沖數(shù)。因?yàn)槊?. . . 22 / 56四個(gè)槽為一組,轉(zhuǎn)速為脈沖數(shù)除以4,通常轉(zhuǎn)速用轉(zhuǎn)每秒表示,而前面得到的是轉(zhuǎn)每250毫秒,只要乘以4就能得到所要的轉(zhuǎn)速。其程序片段為:#ifndef _TIMER0_#define _TIMER0_void Init_Timer0(void)TMOD |= 0 x01;/定時(shí)器設(shè)置 1ms in 12M crystalTH0=0 x4c; TL0=0 x00;/定時(shí)50mS EA=0;ET0=1;TR0=0;#endifvoid Timer0_ISR(void) interrupt 1TH0

52、 = 0 x4c;TL0 = 0 x00; /50ms定時(shí),11.0592MHz Timer0Count+;if(Timer0Count = 5) /250msspeed = PulseCounter; /PulseCounter/4*4Timer0Count=0;PulseCounter=0;5.3 串口通信的程序當(dāng)計(jì)算機(jī)和TTL電平的設(shè)備通信時(shí),如計(jì)算機(jī)和單片機(jī)通信時(shí),需要使用RS-232C/TTL 電平轉(zhuǎn)換器件,常用的有MAX232。MAX232芯片中的兩路發(fā)送接收中任選一路作為接口,要注意其發(fā)送與接收引腳對(duì)應(yīng),否則可能對(duì)器件或計(jì)算機(jī)串口造成永久性損壞。如選他T1IN接單片機(jī)的發(fā)送端TX

53、D,則PC機(jī)、的RS232的接收端RD一定要對(duì)應(yīng)接T1OUT引腳。同時(shí),R1OUT接單片機(jī)的接受端RXD引腳,則PC機(jī)的RS232的發(fā)送端TD一定要對(duì)應(yīng)接R1IN引腳。本設(shè)計(jì)采用的是R1IN和T1OUT這一組引腳。其程序片段為:void UART_ISR (void) interrupt 4 using 3/串行中斷服務(wù)程序 . . . 23 / 56 unsigned char UartTemp; /定義臨時(shí)變量 if(RI) /一幀接收結(jié)束,硬件將RI置1RI=0; /軟件將標(biāo)志位清零 UartTemp=SBUF; /讀入緩沖區(qū)的值 switch(UartTemp)case 0 xAA:

54、TI=1; /收到要發(fā)送速度的指令,TI=1,準(zhǔn)備發(fā)送速度.case 0 xBB: /正轉(zhuǎn)命令 Forward_Rotation_Flag=1;Reverse_Rotation_Flag=0;break; case 0 xCC: /反轉(zhuǎn)命令 Forward_Rotation_Flag=0;Reverse_Rotation_Flag=1;break; case 0 xBD: PWM1_ON=2, PWM2_ON=0;break; /正向低速命令 case 0 xBE: PWM1_ON=5, PWM2_ON=0;break; /正向中速命令 case 0 xBF: PWM1_ON=10,PWM2_

55、ON=0;break; /正向高速命令 case 0 xCD: PWM1_ON=0, PWM2_ON=2; break; /反向低速命令 case 0 xCE: PWM1_ON=0, PWM2_ON=5; break; /反向中速命令 case 0 xCF: PWM1_ON=0, PWM2_ON=15;break; /反向高速命令 case 0 xEE: /停止命令 Forward_Rotation_Flag=0;Reverse_Rotation_Flag=0;PWM1_ON=0;PWM2_ON=0;break; default: ;if(TI) /如果是發(fā)送標(biāo)志位,清零 . . . 24 /

56、 56TI=0; if (UartTemp = 0 xAA) /接收到指令0 xAA,則發(fā)送速度 SBUF=speed; /啟動(dòng)發(fā)送 UartTemp = 0; . . . 25 / 56第六章上位機(jī)的軟件設(shè)計(jì)6.1 CVI 界面的設(shè)計(jì)界面的設(shè)計(jì)如圖 13 所示:圖 13 CVI 界面的設(shè)計(jì)6.2 串口參數(shù)選擇在進(jìn)行 CVI 上位機(jī)的運(yùn)行時(shí),首先必須要使計(jì)算機(jī)上的端口與實(shí)驗(yàn)板上所用的端口一致,所以必須選擇合適的串口;也要根據(jù)不同串口選擇合適的波特率,選擇你所要的奇偶校驗(yàn)?zāi)J健?shù)據(jù)位數(shù)和停止位數(shù)。程序片段為:/串口參數(shù)選擇子程序void SelectUartPara(void)int ComVa

57、lue,BaudValue,JoValue,LengthValue,StopValue;/*選擇串行口*/GetCtrlVal(PANEL,PANEL_COMSELECT,&ComValue);switch(ComValue)case 1:ComSelect=1;break; . . . 26 / 56case 2:ComSelect=2;break;case 3:ComSelect=3;break;case 4:ComSelect=4;break;case 5:ComSelect=5;break;/*選擇波特率*/GetCtrlVal(PANEL,PANEL_BTLSELECT,&a

58、mp;BaudValue);switch(BaudValue)case 1:BaudSelect=1200;break;case 2:BaudSelect=2400;break;case 3:BaudSelect=4800;break;case 4:BaudSelect=9600;break;case 5:BaudSelect=19200;break;/*選擇奇偶校驗(yàn)?zāi)J?/GetCtrlVal(PANEL,PANEL_JYSELECT,&JoValue);switch(JoValue)case 1:JoSelect=0;break;case 2:JoSelect=1;break;ca

59、se 3: . . . 27 / 56JoSelect=2;break;/*選擇數(shù)據(jù)位長(zhǎng)度*/GetCtrlVal(PANEL,PANEL_LONGSELECT,&LengthValue);switch(LengthValue)case 1:LengthSelect=7;break;case 2:LengthSelect=8;break;case 3:LengthSelect=9;break;/*選擇停止位*/GetCtrlVal(PANEL,PANEL_STOPSELECT,&StopValue);switch(StopValue)case 1:StopSelect=1;br

60、eak;case 2:StopSelect=2;break;6.3 數(shù)據(jù)采集數(shù)據(jù)采集程序流程:?jiǎn)?dòng)數(shù)據(jù)采集主程序設(shè)置通道號(hào)與通道代碼啟動(dòng)轉(zhuǎn)換。查詢(xún)轉(zhuǎn)換狀態(tài)。如果轉(zhuǎn)換結(jié)束,讀轉(zhuǎn)換結(jié)果的高位和低位。將轉(zhuǎn)換結(jié)果轉(zhuǎn)換為十進(jìn)制數(shù)據(jù)。程序片段:int Send (unsigned char command)FlushInQ(ComSelect);/清空輸入緩沖區(qū) . . . 28 / 56FlushOutQ(ComSelect); /清空輸出緩沖區(qū) status=ComWrtByte(ComSelect,command); /發(fā)送 if(status != 1) MessagePopup(Error,Send data failed!);r

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論