版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 畢 業(yè) 設(shè) 計(jì)(論 文)</p><p> 題 目: 基于CVI可視界面的直流電機(jī) </p><p> 測控系統(tǒng)的設(shè)計(jì) </p><p><b> 目 錄</b></p><p><b> 摘要III</b></p><
2、;p> AbstractIV</p><p> 第一章 設(shè)計(jì)的總體思想5</p><p> 第二章 直流電動(dòng)機(jī)2</p><p> 2.1 直流電機(jī)的概述2</p><p> 第三章 Labwindows/CVI的簡介5</p><p> 3.1 虛擬儀器的簡介5</p&g
3、t;<p> 3.2 虛擬儀器的結(jié)構(gòu)5</p><p> 3.3 Labwindows/CVI 編程語言7</p><p> 第四章 硬件設(shè)計(jì)8</p><p> 4.1 硬件的簡介8</p><p> 4.2 設(shè)計(jì)原理圖各部分的說明11</p><p> 4.2.1 直流電動(dòng)機(jī)正
4、轉(zhuǎn)、反轉(zhuǎn)以及停轉(zhuǎn)11</p><p> 4.2.2 直流電動(dòng)機(jī)轉(zhuǎn)速檢測方法11</p><p> 4.2.3 直流電動(dòng)機(jī)的控制方法13</p><p> 4.3 RS-232通信電路14</p><p> 4.3.1 串行通信與并行通信14</p><p> 4.3.2 異步串行通信的數(shù)據(jù)傳送格
5、式15</p><p> 4.3.3 RS-232接口電路圖及其功能說明16</p><p> 第五章 直流電動(dòng)機(jī)的調(diào)速與檢測的軟件的設(shè)計(jì)19</p><p> 5.1 直流電動(dòng)機(jī)的PWM程序設(shè)計(jì)19</p><p> 5.2 直流電動(dòng)機(jī)的檢測子程序21</p><p> 5.3 串口通信的程序
6、22</p><p> 第六章 上位機(jī)的軟件設(shè)計(jì)25</p><p> 6.1 CVI界面的設(shè)計(jì)25</p><p> 6.2 串口參數(shù)選擇25</p><p> 6.4 電機(jī)的控制29</p><p> 6.5調(diào)試好的CVI 界面31</p><p><b>
7、; 結(jié)論32</b></p><p><b> 參考文獻(xiàn)33</b></p><p><b> 致謝35</b></p><p><b> 附錄36</b></p><p> 附錄一 直流電動(dòng)機(jī)控制的總體原理圖36</p><
8、;p> 附錄二 直流電動(dòng)機(jī)控制的程序36</p><p> 附錄二:CVI上位機(jī)的軟件設(shè)計(jì)40</p><p> 基于CVI可視界面的直流電機(jī)測控系統(tǒng)的設(shè)計(jì)</p><p><b> 摘要</b></p><p> 直流電動(dòng)機(jī)由于具有良好的起動(dòng)、制動(dòng)性能,適宜在大范圍內(nèi)平滑調(diào)速等特點(diǎn),在許多需要調(diào)速
9、或快速正反向的電力拖動(dòng)系統(tǒng)中得到了廣泛的應(yīng)用。本設(shè)計(jì)應(yīng)用單片機(jī)(AT89S52)來實(shí)現(xiàn)直流電機(jī)的雙向控制、轉(zhuǎn)速的檢測和顯示、波形的整形和利用RS232與計(jì)算機(jī)進(jìn)行通信的過程,其中利用Labwindows/CVI編寫上位機(jī)用戶界面軟件來實(shí)時(shí)的獲取直流電機(jī)的轉(zhuǎn)速。設(shè)計(jì)中用protel99SE完成電路原理圖的繪制,實(shí)現(xiàn)了系統(tǒng)硬件模塊的搭建,利用Proteus對原理圖進(jìn)行仿真,最后利用專業(yè)編程語言和keilc軟件對設(shè)計(jì)的電路進(jìn)行編程。</
10、p><p> 關(guān)鍵詞:單片機(jī) Labwindows/CVI RS232串口通信 protel99SE keilc </p><p> CVI-based visual interface of the DC Motor Control System</p><p><b> Abstract</b></p><p&
11、gt; DC motor as a good start, braking performance, suitable for a large range of speed and so smooth in many needed fast forward and reverse speed or power drive system has been widely used. The design application MCU (
12、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 inte
13、rface software for real-time DC motor speed. Design using protel9</p><p> Keywords:SCM Labwindows/CVI RS232 serial communication protel99SE keilc </p><p> 第一章 設(shè)計(jì)的總體思想</p>&l
14、t;p> 本設(shè)計(jì)要完成的任務(wù)是利用單片機(jī)來控制直流電動(dòng)機(jī), 并設(shè)計(jì)其硬件電路,包括直流電機(jī)雙向控制電路,轉(zhuǎn)速檢測電路,波形整形電路、轉(zhuǎn)速顯示電路、RS232通信電路。其中單片機(jī)負(fù)責(zé)底層的對電機(jī)的PWM控制,分為正轉(zhuǎn)和反轉(zhuǎn),轉(zhuǎn)速分為低速、中速、高速。單片機(jī)還負(fù)責(zé)獲取光電傳感器檢測到的轉(zhuǎn)盤轉(zhuǎn)速(即電機(jī)的轉(zhuǎn)速),并用整形電路對波形整形。同時(shí)還利用單片機(jī)的串口與計(jì)算機(jī)通信,在LabWindows/CVI中編寫上位機(jī)用戶界面軟件,向單片機(jī)
15、發(fā)送改變轉(zhuǎn)速的命令,按照正轉(zhuǎn)和反轉(zhuǎn)及轉(zhuǎn)速(低、中、高),來實(shí)時(shí)控制電機(jī),并采集其電機(jī)轉(zhuǎn)速數(shù)據(jù)。采用巴特沃斯濾波器進(jìn)行濾波,實(shí)時(shí)顯示電機(jī)轉(zhuǎn)速波形,并將采集到的數(shù)據(jù)保存在.txt文件中。設(shè)計(jì)結(jié)構(gòu)圖如圖1所示:</p><p><b> 圖1 設(shè)計(jì)的結(jié)構(gòu)圖</b></p><p> 第二章 直流電動(dòng)機(jī)</p><p> 2.1 直流電機(jī)的概
16、述</p><p> 在現(xiàn)實(shí)生活中,直流電動(dòng)機(jī)較為常見,因?yàn)榇蟛糠值碾妱?dòng)玩具中使用的都是直流電動(dòng)機(jī),這一類直流電動(dòng)機(jī)體積小、功率低、轉(zhuǎn)速高,在一些比較小的場合十分適用,但它的特性與大型直流電動(dòng)機(jī)十分相似。從控制的角度來看,直流調(diào)速還是交流拖動(dòng)系統(tǒng)的基礎(chǔ)。早期直流電動(dòng)機(jī)的控制均以模擬電路為基礎(chǔ)。由運(yùn)算放大器、非線性集成電路以及少量的數(shù)字電路組成,控制系統(tǒng)的硬件部分非常復(fù)雜,</p><p>
17、; 功能單一,而且系統(tǒng)非常不靈活、調(diào)試?yán)щy,阻礙了直流電動(dòng)機(jī)控制技術(shù)的發(fā)展和應(yīng)用范圍的推廣。隨著單片機(jī)技術(shù)的日新月異。使許多控制功能及算法可以采用軟件技術(shù)來完成,不但為直流電動(dòng)機(jī)的控制提供了更大的靈活性,而且使系統(tǒng)能達(dá)到了更高的性能,從而大大節(jié)約了人力資源,降低了系統(tǒng)成本,有效地提高了工作效率。</p><p> 1、直流電動(dòng)機(jī)的工作原理</p><p> 直流電動(dòng)機(jī)由轉(zhuǎn)子部分和定子
18、部分組成。</p><p> 轉(zhuǎn)子部分由電樞和換向器組成。電樞由漆包線纏繞在特殊形狀的鐵氧體上構(gòu)成,換向器是電樞繞組的線圈引出端,通常情況下,直流電動(dòng)機(jī) 有3個(gè)繞組,那么換向器就有3個(gè),由于換向器的存在,使得電樞繞組內(nèi)的電流在不同的磁極下電流的方向不同,從而保證直流電動(dòng)機(jī)的轉(zhuǎn)子能夠向一個(gè)方向旋轉(zhuǎn)。</p><p> 定子部分由勵(lì)磁和電刷(碳刷)組成。在直流電機(jī)中勵(lì)磁部分大都是由永久磁鐵
19、構(gòu)成,電刷一般由銅片構(gòu)成,與換向器進(jìn)行滑動(dòng)接觸,用于將外部加載的直流電壓傳送到電樞繞組中。</p><p> (1)、直流電動(dòng)機(jī)的電磁轉(zhuǎn)矩</p><p> 直流電動(dòng)機(jī)的工作原理圖如圖2所示:</p><p> 圖2 直流電動(dòng)機(jī)的原理圖</p><p> F為導(dǎo)體受到的電磁力,該值大小為:F=Bli,式中,B為導(dǎo)體所在處的磁通密度;
20、l為導(dǎo)體在磁場中的長度;i為導(dǎo)體中流過的電流。由于電磁力的存在,使得沿著電樞的外圓切線方向產(chǎn)生電磁轉(zhuǎn)矩。直流電動(dòng)機(jī)產(chǎn)生的電磁轉(zhuǎn)矩作為驅(qū)動(dòng)轉(zhuǎn)矩使直流電動(dòng)機(jī)旋轉(zhuǎn)。</p><p> 當(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表示。這樣,直
21、流電動(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í),則有:</p><p> T2=T-T0=TL</p><p> 表明,當(dāng)直流電動(dòng)機(jī)穩(wěn)態(tài)運(yùn)行時(shí),其輸出轉(zhuǎn)矩的大小由負(fù)載阻轉(zhuǎn)矩決定。</p><p> 實(shí)際上,直流電動(dòng)機(jī)經(jīng)常運(yùn)行在轉(zhuǎn)速變化的情況下,例如啟動(dòng)、停轉(zhuǎn)或反轉(zhuǎn)等,以此必須考慮轉(zhuǎn)速轉(zhuǎn)速改變
22、時(shí)的轉(zhuǎn)矩平衡關(guān)系。</p><p> 當(dāng)直流電動(dòng)機(jī)的轉(zhuǎn)速改變時(shí),由于電動(dòng)機(jī)及負(fù)載具有轉(zhuǎn)動(dòng)慣量,將產(chǎn)生慣性轉(zhuǎn)矩Tj,即:</p><p><b> Tj=Jdω/dt</b></p><p> 式中,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)矩平衡
23、方程式為:</p><p> T2-TL=Tj=Jdω/dt(1)</p><p> 或: T2=TL+Tj=TL+Jdω/dt(2)</p><p> 式2表明當(dāng)輸出轉(zhuǎn)矩T2大于負(fù)載轉(zhuǎn)矩TL時(shí),dω/dt>0,說明電動(dòng)機(jī)在加速;當(dāng)輸出轉(zhuǎn)矩T2小于負(fù)載轉(zhuǎn)矩TL時(shí),dω/dt<0,說明電動(dòng)機(jī)在減速。可見此式表示轉(zhuǎn)速變化時(shí)電
24、動(dòng)機(jī)軸上的轉(zhuǎn)矩平衡關(guān)系,所以稱為電動(dòng)機(jī)的動(dòng)態(tài)轉(zhuǎn)矩平衡方程式。</p><p><b> 電動(dòng)機(jī)的特性</b></p><p> 當(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í),如果外加
25、阻轉(zhuǎn)矩過大,造成直流電動(dòng)機(jī)停轉(zhuǎn)的現(xiàn)象。這兩種情況的出現(xiàn)對于直流電動(dòng)機(jī)來說都是比較致命的。</p><p> 所以在保證直流電動(dòng)機(jī)能夠正常啟動(dòng)的同時(shí)最好能降低啟動(dòng)電流,在直流電動(dòng)機(jī)運(yùn)行過程中為了防止電動(dòng)機(jī)出現(xiàn)堵轉(zhuǎn)現(xiàn)象,如果有條件的話可以在電動(dòng)機(jī)軸上</p><p> 加裝飛輪裝置,或者在選擇電動(dòng)機(jī)時(shí),考慮好需要帶動(dòng)負(fù)載的大小,一般的,最好讓直流電動(dòng)機(jī)帶動(dòng)全部負(fù)載時(shí)的功率的60%-80%,
26、這樣既保護(hù)了直流電動(dòng)機(jī),同時(shí)效率也比較高。</p><p> 第三章 Labwindows/CVI的簡介</p><p> 3.1 虛擬儀器的簡介</p><p> 虛擬儀器是計(jì)算機(jī)技術(shù)、儀器技術(shù)和通信技術(shù)相結(jié)合的產(chǎn)物。虛擬儀器的目的是利用計(jì)算機(jī)強(qiáng)大資源使硬件技術(shù)軟件化,分立元件模塊化,降低程序開發(fā)的復(fù)雜程度,增強(qiáng)系統(tǒng)的功能和靈活性。</p>
27、<p> 虛擬儀器基于計(jì)算機(jī)的軟硬件測試平臺(tái),它可以代替?zhèn)鹘y(tǒng)的測量儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器、頻譜分析儀等;可集成自動(dòng)控制、工業(yè)控制系統(tǒng);可自由構(gòu)建專有儀器系統(tǒng)。它由計(jì)算機(jī)、應(yīng)用軟件和儀器硬件組成。虛擬儀器系統(tǒng)是將儀器硬件搭載到計(jì)算機(jī)平臺(tái),并輔以相應(yīng)軟件而構(gòu)成的。</p><p> 虛擬儀器通過軟件將計(jì)算機(jī)硬件資源與儀器硬件有機(jī)地融合為一體,從而把計(jì)算機(jī)強(qiáng)大的計(jì)算處理能力和儀器硬件的測
28、量、控制能力結(jié)合在一起,大大降低了儀器硬件的成本,并通過軟件實(shí)現(xiàn)對數(shù)據(jù)的顯示、存儲(chǔ)以及分析處理功能。從發(fā)展史看,電子測量儀器經(jīng)歷了由模擬儀器、智能儀器到虛擬儀器三個(gè)階段。如果在計(jì)算機(jī)中插入數(shù)據(jù)采集卡,利用計(jì)算機(jī)高速計(jì)算能力完成儀器信號(hào)的分析與處理、結(jié)果的輸出,就可以把傳統(tǒng)儀器的所有功能模塊集成在一臺(tái)計(jì)算機(jī)上,軟件稱為儀器系統(tǒng)的關(guān)鍵。</p><p> 虛擬儀器技術(shù)的優(yōu)勢在于可由用戶自己定義通用儀器系統(tǒng),且功能靈
29、活,很容易構(gòu)建,所以應(yīng)用面極為廣泛,尤其在科研、開發(fā)、測量、檢測、計(jì)量、控制等領(lǐng)域,更是不可多得優(yōu)秀開發(fā)工具。虛擬儀器技術(shù)先進(jìn),符合國際上流行的“硬件軟件化”的發(fā)展趨勢。它功能強(qiáng)大,可實(shí)現(xiàn)示波器、邏輯分析儀、頻譜儀信號(hào)發(fā)生器等多種普通儀器全部功能,配以專用探頭和軟件,還可以檢測特定系統(tǒng)的參數(shù);它操作靈活,完全圖形化界面;它集成方便,不但可以和高速數(shù)據(jù)采集設(shè)備構(gòu)成自動(dòng)測量系統(tǒng),而且可以和控制設(shè)備構(gòu)成自動(dòng)控制系統(tǒng)。</p>&
30、lt;p> 3.2 虛擬儀器的結(jié)構(gòu)</p><p> 一個(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)程序和簡單易用的高層語言接口,使用戶能較快速地建立可靠的應(yīng)用系統(tǒng)。近年來,由于多層電路板、可編程儀器放大器、即插即用、系統(tǒng)定時(shí)控制器、多數(shù)據(jù)采集板實(shí)時(shí)系統(tǒng)集成總線、高速數(shù)據(jù)采集的雙
31、緩沖區(qū)以及實(shí)現(xiàn)數(shù)據(jù)高速傳送的中斷、DMA(直接存儲(chǔ)器存取)等技術(shù)的應(yīng)用,使得最新的數(shù)據(jù)采集卡能保證儀器級的高準(zhǔn)確度與可靠性。</p><p> 軟件是虛擬儀器測控方案的關(guān)鍵。虛擬儀器的軟件系統(tǒng)主要分為四層結(jié)構(gòu):</p><p> 系統(tǒng)管理層、測控程序?qū)?、儀器驅(qū)動(dòng)層和I/O接口層。</p><p> I/O接口驅(qū)動(dòng)程序完成特定外部硬件設(shè)備的擴(kuò)展、驅(qū)動(dòng)和通信。驅(qū)動(dòng)
32、軟件有如下的基本功能。</p><p> ?、?以特定的采樣頻率獲取數(shù)據(jù)。</p><p> ?、?在處理器運(yùn)算的同時(shí)提取數(shù)據(jù)。</p><p> ?、?使用編程的I/O、中斷和DMA傳送數(shù)據(jù)。</p><p> ?、?在磁盤上存取數(shù)據(jù)流。</p><p> ?、?同時(shí)執(zhí)行幾種功能。</p><p&
33、gt; ?、?集成一個(gè)以上的DAQ卡。</p><p> ?、?同信號(hào)調(diào)理器結(jié)合在一起。</p><p> 虛擬儀器硬件系統(tǒng)包括GPIB(IEE488.2)、VXI、插入式數(shù)據(jù)/圖像采集板、串行通信與網(wǎng)絡(luò)等幾類I/O接口。虛擬儀器測試系統(tǒng)構(gòu)成方案如圖3所示:</p><p> 圖3 虛擬儀器測試系統(tǒng)構(gòu)成方案</p><p> 3.3 L
34、abwindows/CVI 編程語言</p><p> Labwindows/CVI是一個(gè)完全的ANSI C開發(fā)環(huán)境,用于儀器控制、自動(dòng)檢測、數(shù)據(jù)處理的應(yīng)用軟件。它以ANSI C為核心,將功能強(qiáng)大、使用靈活的C 語言平臺(tái)與用于數(shù)據(jù)采集、分析和顯示的測控專業(yè)工具有機(jī)結(jié)合起來。它的交互式開發(fā)平臺(tái)、交互式編程方法、豐富的功能面板和函數(shù)庫大大增強(qiáng)了C語言的功能,為熟悉C語言的開發(fā)人員建立自動(dòng)化檢測系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、過
35、程控制系統(tǒng)等提供了一個(gè)理想的軟件開發(fā)環(huán)境。</p><p> Labwindows/CVI的一般特性:</p><p> 提供了標(biāo)準(zhǔn)函數(shù)庫和交互式函數(shù)面板。</p><p> 利用便捷的用戶界面編輯器,代碼創(chuàng)建向?qū)Ъ昂瘮?shù)庫,實(shí)現(xiàn)可視化用戶界面的建立、顯示和控制。</p><p> 利用向?qū)Ш秃瘮?shù)庫開發(fā)IVI驅(qū)動(dòng)程序和控制ActiveX
36、服務(wù)器。</p><p> 提供了部分特定儀器的驅(qū)動(dòng)。</p><p> 可創(chuàng)建和編輯NI-DAQmx任務(wù)。</p><p><b> 第四章 硬件設(shè)計(jì)</b></p><p><b> 4.1 硬件的簡介</b></p><p> 本設(shè)計(jì)的控制核心是單片機(jī)AT89
37、S52。其內(nèi)部結(jié)構(gòu)如圖4所示:</p><p> 圖4 單片機(jī)的內(nèi)部結(jié)構(gòu)</p><p> AT89S52是一種低功耗、高性能COMS 8位微控制器,具有8KB系統(tǒng)內(nèi)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash存儲(chǔ)器允許程序存儲(chǔ)器ISP可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和可ISP編
38、程的Flash存儲(chǔ)器,使得AT89S52為眾多嵌入式應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。</p><p> AT89S52具有以下標(biāo)準(zhǔn)功能:8KBFlash存儲(chǔ)器,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,3個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級終端結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持兩種軟件可選擇節(jié)點(diǎn)模式。空閑模式下,CPU停止工作
39、,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作;掉電保護(hù)模式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。</p><p> 圖5 單片機(jī)的引腳圖</p><p><b> 管腳說明:</b></p><p><b> VCC:供電電壓。</b></p><
40、;p><b> GND: 接地。</b></p><p> P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p
41、> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被
42、內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> P3口:P3口管腳是8個(gè)帶
43、內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p> P3.0 RXD(串行輸入口)。</p><p> P3.1 TXD(串
44、行輸出口)。</p><p> P3.2 /INT0(外部中斷0)。</p><p> P3.3 /INT1(外部中斷1)。</p><p> P3.4 T0(記時(shí)器0外部輸入)。</p><p> P3.5 T1(記時(shí)器1外部輸入)。</p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)。</p
45、><p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)。</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。</p><p> ALE/PROG:地址鎖存允許
46、信號(hào)端。當(dāng)89C51上電正常工作后,ALE引腳不斷向外輸出正脈沖信號(hào),此頻率位振蕩器頻率fosc的1/6.當(dāng)CPU訪問片外存儲(chǔ)器時(shí),ALE輸出信號(hào)作為鎖存低8位地址的控制信號(hào)。平時(shí)不訪問片外存儲(chǔ)器時(shí),ALE端也以振蕩頻率的1/6固定輸出正脈沖,因而ALE信號(hào)可以用作對外輸出時(shí)鐘或定時(shí)信號(hào)。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MO
47、VC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。ALE端的負(fù)載驅(qū)動(dòng)能力為8個(gè)LS型TTL(低功耗甚高速TTL)負(fù)載。此引腳的第二功能/PROG在對片內(nèi)帶有4KBFLASH ROM的89C51編程寫入(固化程序)時(shí),作為編程脈沖輸入端。</p><p> /PSEN:程序存儲(chǔ)允許輸出信號(hào)端。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)
48、據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:外部程序存儲(chǔ)器地址允許輸入端/固化編程電壓輸入端。當(dāng)/EA引腳接高電平時(shí),CPU只訪問片內(nèi)FLASH ROM并執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令;但當(dāng)PC(程序計(jì)數(shù)器)的值超過0FFFH(4KB)時(shí),將自動(dòng)轉(zhuǎn)去執(zhí)行片外程序存儲(chǔ)</p><p> 器內(nèi)的程序。當(dāng)輸入信號(hào)/EA引腳接低電平時(shí),CPU只訪問片外FLA
49、SH ROM并執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令;而不管是否有內(nèi)部程序存儲(chǔ)器。需要注意的是,如果保密位LB1被編程,則復(fù)位時(shí)在內(nèi)部會(huì)鎖存/EA端的狀態(tài)。</p><p> 當(dāng)/EA端保持高電平時(shí),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的程序。在FLASH ROM編程期間,此引腳也用于施加12V編程允許電源(VPP)。</p><p> XTAL1:接外部晶體和微調(diào)電容的一端。在片內(nèi),它是振蕩電路反相放大
50、器的輸入端。在采用外部時(shí)鐘時(shí),則該引腳輸入外部時(shí)鐘脈沖。</p><p> XTAL2:接外部晶體和微調(diào)電容的另一端。它是振蕩電路反相放大器的輸出端,振蕩電路額頻率就是晶體的固有頻率。若需采用外部時(shí)鐘電路,則該引腳懸空。</p><p> 4.2 設(shè)計(jì)原理圖各部分的說明</p><p> 4.2.1 直流電動(dòng)機(jī)正轉(zhuǎn)、反轉(zhuǎn)以及停轉(zhuǎn)</p><
51、p> 本設(shè)計(jì)采用晶體三極管來控制直流電動(dòng)機(jī)的正、反轉(zhuǎn)以及停轉(zhuǎn),原理圖如圖6所示:</p><p> 圖6 直流電動(dòng)機(jī)正轉(zhuǎn)、反轉(zhuǎn)以及停轉(zhuǎn)的原理圖</p><p> 當(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)。</p><p> 當(dāng)PWM1和PWM2
52、同時(shí)為低電平時(shí),三極管Q1、Q2均能工作,電路中的其他部分均不工作,直流電動(dòng)機(jī)停轉(zhuǎn)。當(dāng)PWM1和PWM2同時(shí)為高電平時(shí),三極管Q1、Q2均不能工作,直流電機(jī)也停轉(zhuǎn)。該電路板可以直接通過引線或插針的形式與單片機(jī)相連。</p><p> 4.2.2 直流電動(dòng)機(jī)轉(zhuǎn)速檢測方法</p><p> 在應(yīng)用直流電動(dòng)機(jī)作為執(zhí)行部件時(shí),如果要很好地控制直流電動(dòng)機(jī),首先要知道直流電動(dòng)機(jī)的轉(zhuǎn)速。對于轉(zhuǎn)速的
53、檢測,方法有很多,常用到的傳感器有:霍爾傳感器、光電傳感器、旋轉(zhuǎn)編碼器等。其中霍爾傳感器是應(yīng)用磁感應(yīng)的方式進(jìn)行檢測,由于其安裝結(jié)構(gòu)的限制,這種傳感器檢測的精度很低,所以常常用在高轉(zhuǎn)速并且對精度要求不高的場合;旋轉(zhuǎn)編碼器的檢測精度非常高,通常旋轉(zhuǎn)一圈可輸出幾百至幾千個(gè)脈沖,適用于轉(zhuǎn)速較低的場合,但是這種傳感器價(jià)格較比其他傳感器高很多,一般情況下不予采用;光電傳感器的檢測精度介于前兩種傳感器之間,安裝簡單、價(jià)格較低,所以是設(shè)計(jì)中的首選。&l
54、t;/p><p> 光電傳感器有時(shí)又陳為光電開光,具有體積小、功能多、壽命長、精度高、響應(yīng)速度快、檢測距離遠(yuǎn),以及抗電磁干擾能力強(qiáng)等優(yōu)點(diǎn),同時(shí)由于光電傳感器屬于非接觸式檢測器件,對檢測對象不會(huì)造成損傷,所以被應(yīng)用到很多領(lǐng)域中。</p><p> 透射式光電傳感器是將砷化鎵紅外發(fā)光管和硅光敏三極管等,以相對的方向裝在中間帶槽的支架上。當(dāng)槽內(nèi)無物體時(shí),砷化鎵發(fā)光管發(fā)出的光直接照在硅光敏三極管的
55、窗口上,從而產(chǎn)生一定大的電流輸出,當(dāng)有物體經(jīng)過槽內(nèi)時(shí)則擋住光線,光敏管無輸出,以此可識(shí)別物體的有無。適用于光電控制、光電計(jì)量等電路中,可檢測物體的有無、運(yùn)動(dòng)方向、轉(zhuǎn)速等方面。</p><p> 利用透射式光電傳感器檢測的電路圖如圖7所示:</p><p> 圖7 透射式光電傳感器檢測速度的電路圖</p><p> 可是當(dāng)直流電動(dòng)機(jī)高速旋轉(zhuǎn),并且光電碼盤上的條
56、紋或孔較多時(shí),在示波器上看到的波形對單片機(jī)來說,識(shí)別起來十分困難。為了能夠讓單片機(jī)準(zhǔn)確識(shí)別光電傳感器輸出的信號(hào),可以在傳感器的輸出端連接一個(gè)具有施密特觸發(fā)特性的器件或是連接一個(gè)比較器。其原理圖如圖8所示:</p><p> 圖8 應(yīng)用74LS14為輸出波形整形的電路圖</p><p> 4.2.3 直流電動(dòng)機(jī)的控制方法</p><p> 直流電動(dòng)機(jī)在使用時(shí)需
57、要在電動(dòng)機(jī)的兩個(gè)接線端上加載電壓,電壓的高低直接影響電動(dòng)機(jī)的轉(zhuǎn)速,這取決于兩者之間的關(guān)系:</p><p> n=(U-IR)/CeΦ</p><p> 上式中,U為加載在電動(dòng)機(jī)兩端的直流電壓,I為直流電動(dòng)機(jī)的工作電流,R為直流電動(dòng)機(jī)線圈的等效內(nèi)阻,Ce=PN/(60a),其中,P為電極的極對數(shù),N為電樞繞組總導(dǎo)體數(shù),a為支路對數(shù),通常表示為2a,即電刷間的并聯(lián)支路數(shù),這個(gè)參數(shù)與電動(dòng)機(jī)
58、繞組的具體結(jié)構(gòu)有關(guān),所以Ce是一個(gè)常數(shù)由電動(dòng)機(jī)本身的結(jié)構(gòu)參數(shù)有關(guān),φ為每極總磁通。由于我們買到的直流電動(dòng)機(jī),其機(jī)械結(jié)構(gòu)已經(jīng)固定,勵(lì)磁部分為永久磁鐵,所以式中的R、Ce和φ已經(jīng)固定,只能改變加載在直流電動(dòng)機(jī)兩端的直流電壓。</p><p> 所以,常見的直流電動(dòng)機(jī)轉(zhuǎn)速控制方法是調(diào)節(jié)直流電壓。</p><p> 電壓調(diào)節(jié)的兩種方法:D/A轉(zhuǎn)換器輸出法和PWM輸出法。由于D/A轉(zhuǎn)換器大多是電
59、流輸出型,需要外接運(yùn)算放大器才能轉(zhuǎn)換成電壓,另外由于運(yùn)算放大器輸出的電流有限,如果直接連接到直流電動(dòng)機(jī)將會(huì)造成直流電動(dòng)機(jī)的轉(zhuǎn)矩過小和運(yùn)算放大器過熱的現(xiàn)象,所以建議采用PWM輸出方法。</p><p> 該方法可以利用單片機(jī)的一個(gè)I/O引腳作為PWM的輸出端,輸出信號(hào)控制大功率晶體管的開啟和關(guān)閉,以控制電動(dòng)機(jī)的運(yùn)轉(zhuǎn)和停止,當(dāng)PWM的頻率足夠高時(shí),由于電動(dòng)機(jī)的繞組是感性負(fù)載,具有儲(chǔ)能的作用,對PWM輸出的高低電平起
60、到了</p><p> 平波的作用,在電動(dòng)機(jī)的兩端可以近似得到直流電壓值,PWM的占空比越高,電動(dòng)機(jī)獲得的直流電壓越高,反之,PWM的占空比越低,電動(dòng)機(jī)獲得的直流電壓越低。</p><p> PWM的周期對于控制直流電動(dòng)機(jī)的轉(zhuǎn)速和轉(zhuǎn)動(dòng)特性有十分重要的作用。當(dāng)PWM的周期較長,占空比較小時(shí),在一個(gè)周期內(nèi)加載在直流電動(dòng)機(jī)兩端電壓的時(shí)間為100ms,而電動(dòng)機(jī)失去電壓的時(shí)間為900ms,在這段
61、時(shí)間內(nèi),電動(dòng)機(jī)線圈繞組內(nèi)的電流已經(jīng)釋放完畢(當(dāng)電動(dòng)機(jī)轉(zhuǎn)速較低時(shí),線圈繞組的性質(zhì)顯現(xiàn)為阻性,感性較少),電動(dòng)機(jī)在內(nèi)部繞組的轉(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周期到來時(shí),電動(dòng)機(jī)才能重新轉(zhuǎn)動(dòng)起來,如此循環(huán)。當(dāng)PWM的周期較短、占空比仍然為10%時(shí),在一個(gè)周期內(nèi)直流電動(dòng)機(jī)獲得電壓的時(shí)間為0.1ms,而失去電壓的時(shí)間為0.9ms,在這段時(shí)間內(nèi),直流電動(dòng)機(jī)線圈繞組內(nèi)的電流
62、并不會(huì)釋放完畢(主要取決于繞組感性的大?。绷麟妱?dòng)機(jī)繼續(xù)轉(zhuǎn)動(dòng),當(dāng)下一個(gè)PWM周期到來時(shí),直流電動(dòng)機(jī)重新獲得電壓,如此循環(huán),直流電動(dòng)機(jī)不再有停轉(zhuǎn)的現(xiàn)象。</p><p> 4.3 RS-232通信電路</p><p> 4.3.1 串行通信與并行通信</p><p> 在微型計(jì)算機(jī)系統(tǒng)中,MCU與外圍電路通信的基本方式有兩種,如圖9所示:</p>
63、<p> 并行通信——數(shù)據(jù)的各位同時(shí)傳送</p><p> 串行通信——數(shù)據(jù)一位一位順序傳送</p><p> 圖9 MCU與外圍電路通信的方式</p><p> 外部RAM擴(kuò)展電路、基本“I/O”擴(kuò)展電路、實(shí)時(shí)時(shí)鐘電路、鍵盤電路、LCD接口電路都是采用并行通信方式,從圖上可以看出,在并行通信中,數(shù)據(jù)有多少位就需要多少條傳送線。而串行通信只需要
64、一對傳送線,故串行通信能節(jié)省傳送線,特別是當(dāng)數(shù)據(jù)位數(shù)很多和傳送距離較遠(yuǎn)時(shí),這一優(yōu)點(diǎn)更加突出。A/D采樣電路就是串行通信的一個(gè)應(yīng)用,當(dāng)然串行通信還包括許多其他的通信形式,比如RS-232、CAN總線等。串行通信的主要缺點(diǎn)是數(shù)據(jù)的傳送速率比并行</p><p><b> 通信要慢。</b></p><p> 4.3.2 異步串行通信的數(shù)據(jù)傳送格式</p>
65、<p> 串行通信是將構(gòu)成字符的每個(gè)二進(jìn)制數(shù)據(jù)位依據(jù)一定的順序逐位傳送。按照數(shù)據(jù)傳送格式可以分為異步串行通信和同步串行通信。同步串行通信應(yīng)用在傳輸速度要求較高的場合,通信開始時(shí)需要同步信息,對收發(fā)兩端時(shí)間要求嚴(yán)格,這些條件局限了同步串行通信的應(yīng)用。</p><p> 異步串行通信規(guī)定了字符數(shù)據(jù)的傳送格式,即每個(gè)數(shù)據(jù)以相同的幀格式傳送。如下圖所示。每一幀由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位構(gòu)成,字
66、符數(shù)據(jù)一個(gè)接一個(gè)的傳送,在發(fā)送間隙,通信線路上總是處于邏輯“1”狀態(tài)。</p><p> 空閑位和起始位:當(dāng)通信線上沒有數(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è)低電平就是起始位,接收端檢測到這個(gè)邏輯低電平后,就開始準(zhǔn)備接收數(shù)據(jù)位信號(hào),所以起始位就表示字符傳送開始,起始位只有1位。</p>
67、<p> 數(shù)據(jù)位:緊跟在起始位后面的就是數(shù)據(jù)位,數(shù)據(jù)位長度可以是5、6、7或8位數(shù)據(jù)。在數(shù)據(jù)傳送過程中,數(shù)據(jù)從最小有效位開始傳送。</p><p> 奇偶校驗(yàn)位:數(shù)據(jù)位發(fā)送完后,可以選擇是否發(fā)送奇偶校驗(yàn)位,奇偶校驗(yàn)用于差錯(cuò)檢測,有奇校驗(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),則對
68、所有數(shù)據(jù)位取異或后求反便是校驗(yàn)位的數(shù)值;如果采用歐校驗(yàn),則對所有數(shù)據(jù)位取異或即是校驗(yàn)位的數(shù)值。</p><p> 停止位:在奇偶校驗(yàn)位或數(shù)據(jù)位之后發(fā)送的是停止位,可以是1位、1位半或2位,表示一個(gè)字符的結(jié)束。</p><p> 波特率:通信線路上的字符數(shù)據(jù)是按位傳送的,每一位寬度(位信號(hào)持續(xù)</p><p> 時(shí)間)由數(shù)據(jù)傳送速率確定,傳送速率越快,每一位的寬
69、度越短。把數(shù)據(jù)傳送速率稱為波特率,其定義是:單位時(shí)間內(nèi)傳送的信息量,以每秒傳送的位(bit)表示,單位為波特。</p><p> 1波特=1位/秒=1bit/s=1bps</p><p> 在異步串行通信中,發(fā)送端和接收端保持相同的傳送波特率,相同的起始位、奇偶位和停止位,這樣收發(fā)兩端才能成功地傳送數(shù)據(jù)。</p><p> 4.3.3 RS-232接口電路圖及
70、其功能說明</p><p> 單片機(jī)上有UART(通用異步接收/發(fā)送)用于串行通信,發(fā)送時(shí)數(shù)據(jù)由TXD端送出,接收時(shí)數(shù)據(jù)由RXD端輸入,片內(nèi)有兩個(gè)緩沖器,一個(gè)作為發(fā)送緩沖器,另一個(gè)作為接收緩沖器。UART是可編程的全雙工串行口,這里的串行口只提供TTL電平,可以使用驅(qū)動(dòng)芯片如“MAX232”把TTL電平變成RS-232標(biāo)準(zhǔn)接口電平,從而和通用微機(jī)通信。</p><p> 串行通信的RS
71、-232接口電路,包括擴(kuò)展串行通信的異步收發(fā)器以及RS-232電平轉(zhuǎn)換電路。</p><p> (1)、MAX232片介紹</p><p> MAX232是一種把電腦的串行口RS232信號(hào)電平(-10 ,+10v)轉(zhuǎn)換為單片機(jī)所用到的TTL信號(hào)點(diǎn)平(0 ,+5)的芯片, MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5v單電源供電。內(nèi)部結(jié)構(gòu)基本可分三個(gè)
72、部分:</p><p> 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。</p><p> 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。</p><p> 其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(
73、T1OUT)為第一數(shù)據(jù)通道。 8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。</p><p> TTL/CMOS數(shù)據(jù)從T1IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。</p><p> 第
74、三部分是供電。15腳DNG、16腳VCC(+5v)。</p><p> 其內(nèi)部結(jié)構(gòu)如圖10所示:</p><p> 圖10 MAX232的內(nèi)部結(jié)構(gòu)</p><p> MAX232的元件封裝圖如圖11所示:</p><p> 圖11 MAX232芯片的封裝圖</p><p><b> 主要特點(diǎn) :&l
75、t;/b></p><p> 1、單5V電源工作。</p><p> 2、 LinBiCMOSTM工藝技術(shù)。</p><p> 3、 兩個(gè)驅(qū)動(dòng)器及兩個(gè)接收器。</p><p> 4、 ±30V輸入電平。</p><p> 5、低電源電流:典型值是8mA。</p><p>
76、; 6、符合甚至優(yōu)于ANSI標(biāo)準(zhǔn) EIA/TIA-232-E及ITU推薦標(biāo)準(zhǔn)V.28。</p><p> 7、ESD保護(hù)大于MIL-STD-883(方 法3015)標(biāo)準(zhǔn)的2000V。</p><p> (2)、RS-232(DB9)的引腳定義:</p><p> DCD :載波檢測。主要用于Modem通知計(jì)算機(jī)其處于在線狀態(tài),即Modem檢測到撥號(hào)音,處于在
77、線狀態(tài)。</p><p> RXD:此引腳用于接收外部設(shè)備送來的數(shù)據(jù);在你使用Modem時(shí),你會(huì)發(fā)現(xiàn)RXD指示燈在閃爍,說明RXD引腳上有數(shù)據(jù)進(jìn)入。</p><p> TXD:此引腳將計(jì)算機(jī)的數(shù)據(jù)發(fā)送給外部設(shè)備;在你使用Modem時(shí),你會(huì)發(fā)現(xiàn)TXD指示燈在閃爍,說明計(jì)算機(jī)正在通過TXD引腳發(fā)送數(shù)據(jù)。</p><p> DTR:數(shù)據(jù)終端就緒;當(dāng)此引腳高電平時(shí),通
78、知Modem可以進(jìn)行數(shù)據(jù)傳輸,計(jì)算機(jī)已經(jīng)準(zhǔn)備好。</p><p> GND:信號(hào)地;此位不做過多解釋。</p><p> DSR:數(shù)據(jù)設(shè)備就緒;此引腳高電平時(shí),通知計(jì)算機(jī)Modem已經(jīng)準(zhǔn)備好,可以進(jìn)行數(shù)據(jù)通訊了。</p><p> RTS:請求發(fā)送;此腳由計(jì)算機(jī)來控制,用以通知Modem馬上傳送數(shù)據(jù)至計(jì)算機(jī);否則,Modem將收到的數(shù)據(jù)暫時(shí)放入緩沖區(qū)中。<
79、;/p><p> CTS: 清除發(fā)送;此腳由Modem控制,用以通知計(jì)算機(jī)將欲傳的數(shù)據(jù)送至Modem。</p><p> RI : Modem通知計(jì)算機(jī)有呼叫進(jìn)來,是否接聽呼叫由計(jì)算機(jī)決定。</p><p> RS-232接口原理圖如圖12所示:</p><p> 圖12 RS-232接口原理圖</p><p>
80、 第五章 直流電動(dòng)機(jī)的調(diào)速與檢測的軟件的設(shè)計(jì)</p><p> 本設(shè)計(jì)采用單片機(jī)對直流電動(dòng)機(jī)進(jìn)行控制,根據(jù)設(shè)計(jì)的直流電動(dòng)機(jī)的測速系統(tǒng)的硬件電路的要求,通過對系統(tǒng)功能的總結(jié)將系統(tǒng)軟件程序劃分為:直流電動(dòng)機(jī)控制的主程序、直流電動(dòng)機(jī)轉(zhuǎn)速檢測子程序、直流電動(dòng)機(jī)的三種速度的控制的子程序、轉(zhuǎn)速顯示的子程序和串口通信的子程序。</p><p> 5.1 直流電動(dòng)機(jī)的PWM程序設(shè)計(jì)</p>
81、;<p> 直流電機(jī)驅(qū)動(dòng)使用最廣泛的就是H型全橋式電路,這種驅(qū)動(dòng)電路方便地實(shí)現(xiàn)直流電機(jī)的三象限運(yùn)行,分別對應(yīng)正轉(zhuǎn)、反轉(zhuǎn)和停轉(zhuǎn)。</p><p> 單片機(jī)PWM 脈沖信號(hào)的產(chǎn)生從程序設(shè)計(jì)上來講,可以采用軟件延時(shí)和計(jì)時(shí)器延時(shí)兩種方法。軟件延時(shí)雖然理論上實(shí)現(xiàn)起來較容易,但占用系統(tǒng)資源過多,使用并不方便。本設(shè)計(jì)應(yīng)用的是軟件延時(shí)的方式輸出PWM,該P(yáng)WM 調(diào)速器采用定時(shí)器2中斷方式產(chǎn)生PWM脈沖,PWM
82、控制子程序也就是定時(shí)器2的中斷服務(wù)程序。其程序流程圖如圖13所示。</p><p> 圖13 PWM控制的框圖</p><p><b> 其程序片段為:</b></p><p> #ifndef __MOTOR_PWM__</p><p> #define __MOTOR_PWM__</p><
83、;p> #define uint unsigned int</p><p> #define uchar unsigned char</p><p> sbit PWM1 = P1^0;</p><p> sbit PWM2 = P1^1;</p><p> void Init_Timer2(void)</p>
84、<p><b> {</b></p><p> RCAP2H = 0xfc;//@12M 1ms 16bit 自動(dòng)重載</p><p> RCAP2L = 0x66;</p><p><b> ET2=1;</b></p><p><b> EA=1;</b>
85、;</p><p><b> TR2=1;</b></p><p><b> }</b></p><p> void main(void)</p><p><b> {</b></p><p> Init_Timer0(); //timer
86、0用來定時(shí)采樣電機(jī)的速度 </p><p> Initial_Uart();//timer1用做串口通信 波特率設(shè)置9600,11.0592MHz</p><p> Init_Timer2(); //timer2產(chǎn)生PWM</p><p> Init_INT0(); //int0用來計(jì)數(shù)電機(jī)轉(zhuǎn)速測量脈沖數(shù),下降沿觸發(fā) </p><p&
87、gt; InitLcd(); </p><p><b> EX0=1;</b></p><p><b> TR0=1;</b></p><p><b> EA=1;</b></p><p><b> PWM1=0;</b></p>
88、<p><b> PWM2=0;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> ShowString(0,Line0); ;</p><p><b> }</b>&l
89、t;/p><p><b> }</b></p><p> void Int0_ISR(void) interrupt 0</p><p><b> {</b></p><p> PulseCounter++; //因?yàn)殡姍C(jī)轉(zhuǎn)速慢,這里不考慮PulseCounter溢出問題 </p&g
90、t;<p><b> }</b></p><p> void Timer2_ISR(void) interrupt 5 using 1</p><p><b> {</b></p><p> TF2=0; //T2中斷標(biāo)志位清0</p><p> if(Forward_
91、Rotation_Flag == 1) //正向轉(zhuǎn)動(dòng) </p><p><b> {</b></p><p><b> PWM2=0;</b></p><p> Timer2Count++; //計(jì)數(shù) </p><p> if( Timer2Count == PW
92、M1_ON) PWM1 = 0; // </p><p> if( Timer2Count == PERIOD)</p><p><b> {</b></p><p> if(PWM1_ON != 0) PWM1 = 1; //如果占空比D=0 保持原來狀態(tài) </p><p> Timer2Cou
93、nt=0;</p><p><b> }</b></p><p><b> }</b></p><p> else if(Reverse_Rotation_Flag == 1) //反向轉(zhuǎn)動(dòng) </p><p><b> {</b></p><
94、p><b> PWM1=0;</b></p><p> Timer2Count++; //計(jì)數(shù) </p><p> if ( Timer2Count == PWM2_ON) PWM2 = 0; // </p><p> if( Timer2Count == PERIOD)</p><p
95、><b> {</b></p><p> if(PWM2_ON != 0) PWM2 = 1; //如果占空比D=0 保持原來狀態(tài) </p><p> Timer2Count=0;</p><p><b> }</b></p><p><b> }<
96、/b></p><p><b> }</b></p><p> 5.2 直流電動(dòng)機(jī)的檢測子程序</p><p> 直流電動(dòng)機(jī)轉(zhuǎn)速的測量有兩種方法:定時(shí)法和間隔法。定時(shí)法是在一定的時(shí)間間隔內(nèi)檢測脈沖的數(shù)量(即通過對發(fā)射式光電傳感器的光電碼盤上的孔的數(shù)量進(jìn)行測量),通過計(jì)算得出在單位時(shí)間內(nèi)直流電動(dòng)機(jī)轉(zhuǎn)過的圈數(shù),即可得到轉(zhuǎn)速;間隔法是檢測
97、光電碼盤上孔與孔之間的間隔時(shí)間,通過這個(gè)時(shí)間可以計(jì)算出直流電動(dòng)機(jī)旋轉(zhuǎn)一周需要的時(shí)間,進(jìn)而得到轉(zhuǎn)速。本設(shè)計(jì)采用的是定時(shí)法。</p><p> 當(dāng)直流電動(dòng)機(jī)開始轉(zhuǎn)動(dòng)時(shí),光電傳感器上有四個(gè)槽,每一個(gè)槽通過時(shí),就會(huì)計(jì)數(shù),每次定時(shí)為50ms,在定時(shí)的次數(shù)到第五次時(shí),就得到脈沖數(shù)。因?yàn)槊克膫€(gè)槽為一組,轉(zhuǎn)速為脈沖數(shù)除以4,通常轉(zhuǎn)速用轉(zhuǎn)每秒表示,而前面得到的是轉(zhuǎn)每250毫秒,只要乘以4就能得到所要的轉(zhuǎn)速。</p>
98、<p><b> 其程序片段為:</b></p><p> #ifndef __TIMER0__</p><p> #define __TIMER0__</p><p> void Init_Timer0(void)</p><p><b> {</b></p>
99、<p> TMOD |= 0x01;//定時(shí)器設(shè)置 1ms in 12M crystal</p><p> TH0=0x4c; </p><p> TL0=0x00;//定時(shí)50mS </p><p><b> EA=0;</b></p><p><b> ET0=1;</b>&
100、lt;/p><p><b> TR0=0;</b></p><p><b> }</b></p><p><b> #endif</b></p><p> void Timer0_ISR(void) interrupt 1</p><p><b
101、> {</b></p><p> TH0 = 0x4c;</p><p> TL0 = 0x00; //50ms定時(shí),11.0592MHz </p><p> Timer0Count++;</p><p> if(Timer0Count == 5)//250ms</p><p><
102、;b> {</b></p><p> speed = PulseCounter; //PulseCounter/4*4</p><p> Timer0Count=0;</p><p> PulseCounter=0;</p><p><b> }</b></p><p&g
103、t;<b> }</b></p><p> 5.3 串口通信的程序</p><p> 當(dāng)計(jì)算機(jī)和TTL電平的設(shè)備通信時(shí),如計(jì)算機(jī)和單片機(jī)通信時(shí),需要使用RS-232C/TTL 電平轉(zhuǎn)換器件,常用的有MAX232。MAX232芯片中的兩路發(fā)送接收中任選一路作為接口,要注意其發(fā)送與接收引腳對應(yīng),否則可能對器件或計(jì)算機(jī)串口造成永久性損壞。如選他T1IN接單片機(jī)的發(fā)送端
104、TXD,則PC機(jī)、的RS—232的接收端RD一定要對應(yīng)接T1OUT引腳。同時(shí),R1OUT接單片機(jī)的接受端RXD引腳,則PC機(jī)的RS—232的發(fā)送端TD一定要對應(yīng)接R1IN引腳。本設(shè)計(jì)采用的是R1IN和T1OUT這一組引腳。</p><p><b> 其程序片段為:</b></p><p> void UART_ISR (void) interrupt 4 usin
105、g 3//串行中斷服務(wù)程序 </p><p><b> {</b></p><p> unsigned char UartTemp; //定義臨時(shí)變量 </p><p> if(RI) //一幀接收結(jié)束,硬件將RI置1</p><p><b>
106、; {</b></p><p> RI=0; //軟件將標(biāo)志位清零 </p><p> UartTemp=SBUF; //讀入緩沖區(qū)的值 </p><p> switch(UartTemp)</p><p><b> {</b><
107、/p><p> case 0xAA: TI=1; //收到要發(fā)送速度的指令,TI=1,準(zhǔn)備發(fā)送速度.</p><p> case 0xBB: //正轉(zhuǎn)命令 </p><p> Forward_Rotation_Flag=1;</p><p> Reverse_Rotation_Flag=0;</p>&
108、lt;p> break; </p><p> case 0xCC: //反轉(zhuǎn)命令 </p><p> Forward_Rotation_Flag=0;</p><p> Reverse_Rotation_Flag=1;</p><p> break; </p>&
109、lt;p> case 0xBD: PWM1_ON=2, PWM2_ON=0;break; //正向低速命令 </p><p> case 0xBE: PWM1_ON=5, PWM2_ON=0;break; //正向中速命令 </p><p> case 0xBF: PWM1_ON=10,PWM2_ON=0;break; //正向高速命令 </p>
110、<p> case 0xCD: PWM1_ON=0, PWM2_ON=2; break; //反向低速命令 </p><p> case 0xCE: PWM1_ON=0, PWM2_ON=5; break; //反向中速命令 </p><p> case 0xCF: PWM1_ON=0, PWM2_ON=15;break; //反向高速命令 <
111、/p><p> case 0xEE: //停止命令 </p><p> Forward_Rotation_Flag=0;</p><p> Reverse_Rotation_Flag=0;</p><p> PWM1_ON=0;</p><p> PWM2_ON=0;</p>
112、<p> break; </p><p> default: ;</p><p><b> }</b></p><p><b> }</b></p><p> if(TI) //如果是發(fā)送標(biāo)志位,清零 </p&g
113、t;<p><b> {</b></p><p><b> TI=0;</b></p><p> if (UartTemp == 0xAA) //接收到指令0xAA,則發(fā)送速度 </p><p><b> {</b></p><p> SBUF=
114、speed; //啟動(dòng)發(fā)送 </p><p> UartTemp = 0;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 第六章 上位機(jī)
115、的軟件設(shè)計(jì)</p><p> 6.1 CVI界面的設(shè)計(jì)</p><p> 界面的設(shè)計(jì)如圖13所示:</p><p> 圖13 CVI界面的設(shè)計(jì)</p><p> 6.2 串口參數(shù)選擇</p><p> 在進(jìn)行CVI上位機(jī)的運(yùn)行時(shí),首先必須要使計(jì)算機(jī)上的端口與實(shí)驗(yàn)板上所用的端口一致,所以必須選擇合適的串口;
116、也要根據(jù)不同串口選擇合適的波特率,選擇你所要的奇偶校驗(yàn)?zāi)J?、?shù)據(jù)位數(shù)和停止位數(shù)。</p><p><b> 程序片段為:</b></p><p> //串口參數(shù)選擇子程序</p><p> void SelectUartPara(void)</p><p><b> {</b></p&
117、gt;<p> int ComValue,BaudValue,JoValue,LengthValue,StopValue;</p><p> /*********************選擇串行口***********************/</p><p> GetCtrlVal(PANEL,PANEL_COMSELECT,&ComValue);</p
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于cvi可視界面的直流電機(jī)測控系統(tǒng)的方案
- 直流電機(jī)控制設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文---直流電機(jī)控制系統(tǒng)
- 直流電機(jī)控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-直流電機(jī)控制系統(tǒng)
- 畢業(yè)論文---直流電機(jī)調(diào)速系統(tǒng)(pwm)
- 直流電機(jī)控制系統(tǒng)畢業(yè)論文
- 基于fpga的直流電機(jī)綜合測控系統(tǒng)設(shè)計(jì)
- eda實(shí)驗(yàn)直流電機(jī)測控系統(tǒng)設(shè)計(jì)
- 基于直流電機(jī)的小車運(yùn)動(dòng)控制設(shè)計(jì)-畢業(yè)論文
- 直流電機(jī)啟動(dòng)系統(tǒng)的設(shè)計(jì)與仿真 畢業(yè)論文
- 雙閉環(huán)直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)-畢業(yè)論文
- 基于單片機(jī)的直流電機(jī)測速系統(tǒng) 畢業(yè)論文
- 畢業(yè)論文-直流電機(jī)調(diào)速系統(tǒng)的軟硬件設(shè)計(jì)
- 直流電機(jī)課程設(shè)計(jì)--直流電機(jī)控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文-直流電機(jī)調(diào)速系統(tǒng)的軟硬件設(shè)計(jì)
- 單片機(jī)直流電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 基于fpga直流電機(jī)的pwm控制轉(zhuǎn)速閉環(huán)系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文(設(shè)計(jì))基于單片機(jī)的直流電機(jī)控制設(shè)計(jì)
- 無刷直流電機(jī)控制系統(tǒng)的設(shè)計(jì)【畢業(yè)論文】
評論
0/150
提交評論