版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ( 屆)</b></p><p> 論文題目 智能船控制系統(tǒng)研發(fā)方案</p><p> (英文) The Development of intelligent</p><p> Remote control boat system<
2、/p><p> 所在學(xué)院 電子信息學(xué)院 </p><p> 專業(yè)班級(jí) 電子信息工程 </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><
3、p> 完成日期 年 月 日</p><p><b> 摘 要</b></p><p> 在國(guó)際上,無人駕駛近海巡查裝置目前已成為各國(guó)研究的熱點(diǎn),該類裝置因體積下,操作方便,工作區(qū)域廣等特點(diǎn),無論在民用領(lǐng)域還是軍事領(lǐng)域都有廣泛的運(yùn)用。本課題是將單片機(jī)在智能小船控制上的一個(gè)運(yùn)用,制作智能遙控小船控制系統(tǒng),通過無線電作為信
4、號(hào)傳輸?shù)妮d體來實(shí)現(xiàn)數(shù)據(jù)的傳輸,從而能夠根據(jù)按鍵信息來遠(yuǎn)程控制小船的速度和轉(zhuǎn)向,無線傳輸距離超過30米。整個(gè)系統(tǒng)采用的是以STC89C51單片機(jī)為核心,NRF2401作為無線/接收模塊主控芯片,來實(shí)現(xiàn)對(duì)小船內(nèi)部直流伺服電機(jī)的控制。該系統(tǒng)為自動(dòng)化控制系統(tǒng),通過按鍵電路,我們可以輸入轉(zhuǎn)向、變速等命令,然后整個(gè)系統(tǒng)采用的是以STC89C51單片機(jī)為核心,NRF2401作為無線/接收模塊主控芯片,來實(shí)現(xiàn)對(duì)小船內(nèi)部直流伺服電機(jī)的控制。該系統(tǒng)為自動(dòng)化
5、控制系統(tǒng),通過按鍵電路,我們可以輸入轉(zhuǎn)向、變速等命令,然后信息通過發(fā)射模塊上的NRF2401芯片發(fā)送到接收模塊,由接收模塊上無線接收器實(shí)時(shí)接收數(shù)據(jù)并存儲(chǔ),作為中央處理器的STC89C51單片機(jī)采集接收模塊和傳感器模塊數(shù)據(jù),經(jīng)過數(shù)據(jù)篩選后分別發(fā)送給電機(jī)驅(qū)動(dòng)模塊和顯示模塊。從而實(shí)現(xiàn)遙控小船的變速控制和環(huán)境信息檢測(cè)。此課題的研究成果還</p><p> 關(guān)鍵詞:STC89C51;無線遙控;伺服電機(jī);PWM波</
6、p><p><b> Abstract</b></p><p> ? Internationally, unmanned search device for water front is becoming the hot spot in the study of all countries. Because of its minute volume,convenien
7、t operation,wide work area and other characteristics, it is widely applied in either civil or military field . This topic is a use of intelligent microcomputer in the control of the Artificial boat , making intelligent r
8、emote boat control system, through the radio as a signal transmission carrier to realize the transmission, and thus be able to r</p><p> Key Words: STC89C51; wireless remote control; Servo motor; PWM waves&
9、lt;/p><p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p><b> 2 總體設(shè)計(jì)2</b></p><p><b> 3 硬件設(shè)計(jì)3</b></p><p> 3.1
10、微處理器系統(tǒng)3</p><p> 3.1.1 單片機(jī)選型3</p><p> 3.1.2 MSC-51單片機(jī)概述4</p><p> 3.1.3 微處理系統(tǒng)電路6</p><p> 3.2 無線模塊7</p><p> 3.2.1 無線遙控方案選擇7</p><p> 3
11、.2.2 無線發(fā)射模塊選擇比較8</p><p> 3.2.3 NRF2401介紹9</p><p> 3.2.4 無線模塊接收電路10</p><p> 3.3 電機(jī)驅(qū)動(dòng)模塊10</p><p> 3.3.1 電機(jī)選型10</p><p> 3.3.2 驅(qū)動(dòng)模塊11</p><
12、;p> 3.4 電源模塊電路12</p><p> 3.5 蜂鳴器電路12</p><p><b> 4 軟件設(shè)計(jì)14</b></p><p> 4.1 軟件開發(fā)工具14</p><p> 4.1.1 51單片機(jī)編譯軟件平臺(tái)介紹14</p><p> 4.2 總體程序流
13、程圖16</p><p> 4.3 發(fā)射模塊部分16</p><p> 4.3.1 按鍵程序17</p><p> 4.3.2 無線發(fā)送18</p><p> 4.4 無線接收19</p><p> 4.4.1 無線接收程序19</p><p> 4.4.2 PWM 波模
14、塊22</p><p> 5 制作和調(diào)試24</p><p> 5.1 電路板的設(shè)計(jì)和制作24</p><p> 5.2 系統(tǒng)調(diào)試26</p><p> 5.2.1 硬件調(diào)試26</p><p> 5.2.2 軟件調(diào)試26</p><p> 5.2.3 聯(lián)合調(diào)試26&l
15、t;/p><p> 5.3 智能小船控制系統(tǒng)的調(diào)試27</p><p><b> 6 結(jié)論28</b></p><p><b> 致 謝29</b></p><p><b> 參考文獻(xiàn)30</b></p><p> 附錄1 系統(tǒng)實(shí)物圖
16、32</p><p> 附錄2 實(shí)驗(yàn)原理圖33</p><p> 附錄3 畢業(yè)設(shè)計(jì)作品說明書34</p><p><b> 1 引言</b></p><p> 隨著計(jì)算機(jī)、通信技術(shù)和無線技術(shù)的逐步發(fā)展,無線通信技術(shù)在傳統(tǒng)有線通信技術(shù)的基礎(chǔ)上被廣泛應(yīng)用,它有著有線技術(shù)所無法比擬的優(yōu)勢(shì),如方便,適應(yīng)性強(qiáng),快捷
17、等,所以很快地被更廣泛應(yīng)用于移動(dòng)通信行業(yè)、工業(yè)能源管理、工業(yè)控制等領(lǐng)域。</p><p> 在無線通信技術(shù)蓬勃發(fā)展的同時(shí),越來越智能化的現(xiàn)實(shí)生活,我們總能找到單片機(jī)的身影。大到軍用領(lǐng)域?qū)椀那岸司_制導(dǎo)裝置,飛機(jī)檢測(cè)控制終端的數(shù)據(jù)處理模塊,工業(yè)自動(dòng)化系統(tǒng)的數(shù)據(jù)采集,小到民用轎車的安全保障系統(tǒng),個(gè)人計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī),甚至是遙控玩具、電動(dòng)寵物等等,這些都離不開單片機(jī)。<
18、/p><p> 鑒于單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),單片機(jī)被應(yīng)用在無線傳輸[2]?;趩纹瑱C(jī)的無線傳輸系統(tǒng)不但體積小而且便于控制,有非常大的開發(fā)前景,為個(gè)領(lǐng)域系統(tǒng)開發(fā)工程師看好。本系統(tǒng)是基于單片機(jī)的無線傳輸?shù)囊粋€(gè)實(shí)際應(yīng)用。</p><p> 本系統(tǒng)是智能遙控小船系統(tǒng)開發(fā),是一個(gè)基于單片機(jī)為中央數(shù)據(jù)處理器的系統(tǒng),通過無線傳輸模塊實(shí)現(xiàn)上位機(jī)的數(shù)據(jù)傳送。這
19、個(gè)系統(tǒng)主要按鍵電路、穩(wěn)壓電源、主控電路、無線發(fā)射與接收模塊、電機(jī)驅(qū)動(dòng)模塊、傳感器模塊和顯示模塊組成。</p><p> 通過按鍵電路,我們可以輸入轉(zhuǎn)向、變速等命令,然后信息通過發(fā)射模塊上的NRF2401芯片發(fā)送到到接收模塊,由接收模塊上無線接收器實(shí)時(shí)接收數(shù)據(jù)并存儲(chǔ),作為中央處理器的STC89C51單片機(jī)采集接收模塊和傳感器模塊數(shù)據(jù),經(jīng)過數(shù)據(jù)篩選后分別發(fā)送給電機(jī)驅(qū)動(dòng)模塊和顯示模塊。從而實(shí)現(xiàn)遙控小船的變速控制和環(huán)境
20、信息檢測(cè)。</p><p><b> 2 總體設(shè)計(jì)</b></p><p> 本課題是設(shè)計(jì)一個(gè)智能遙控小船系統(tǒng),能夠根據(jù)按鍵的開關(guān)來無線控制小船變速、轉(zhuǎn)向及環(huán)境信息測(cè)量功能。根據(jù)系統(tǒng)設(shè)計(jì)的功能要求,確定系統(tǒng)的總體框架如圖2-1所示:</p><p> 圖2-1 系統(tǒng)總體框架圖</p><p> 系統(tǒng)主要由按鍵電
21、路、穩(wěn)壓電源、主控電路、無線發(fā)射與接收模塊、電機(jī)驅(qū)動(dòng)模塊、傳感器模塊和顯示模塊等組成。</p><p> 電源模塊是把市電經(jīng)過降壓穩(wěn)壓后得到穩(wěn)定的5V直流電源,為單片機(jī)、無線發(fā)射和接收模塊、電機(jī)驅(qū)動(dòng)、傳感器等提供穩(wěn)定電壓。按鍵信號(hào)通過單片機(jī)編碼后,通過NRF2401芯片以無線電信號(hào)的形式發(fā)送給無線接收器;當(dāng)無線接收器接收到信號(hào)時(shí),把有用的信號(hào)傳送給單片機(jī),單片機(jī)把這些信號(hào)進(jìn)行解碼處理并結(jié)合傳感器采集到的信息后自
22、動(dòng)的發(fā)送控制和顯示命令,使顯示器和作為小船動(dòng)力的兩個(gè)無刷電機(jī)開始工作,從而實(shí)現(xiàn)小船系統(tǒng)的控制和監(jiān)測(cè)功能。在整個(gè)系統(tǒng)中,轉(zhuǎn)向功能是通過PWM波使兩個(gè)無刷電機(jī)的差速,進(jìn)而實(shí)現(xiàn)轉(zhuǎn)向的功能,相對(duì)以往方向舵控制方式,差速轉(zhuǎn)向使得小船由更加靈活,穩(wěn)定。</p><p><b> 3 硬件設(shè)計(jì)</b></p><p> 智能船控制系統(tǒng)主要包括按鍵電路、穩(wěn)壓電源、主控電路、無線發(fā)
23、射與接收模塊、電機(jī)驅(qū)動(dòng)模塊、傳感器模塊和顯示模塊。</p><p> 3.1 微處理器系統(tǒng)</p><p> 3.1.1 單片機(jī)選型</p><p> 51系列單片機(jī),作為一款通用型的單片機(jī),使用的是CISC指令系統(tǒng),哈佛結(jié)構(gòu)體系的總線,堆棧結(jié)構(gòu)是在RAM區(qū),由程序指定SP的開始位置,0x20到0x2F的Bytes的位可以尋址,有17條專用的位操作指令和4條一
24、位指令[1],它相對(duì)于專用的電動(dòng)機(jī)芯片和電動(dòng)機(jī)控制電路板而言,熟悉它的開發(fā)人員多,在此基礎(chǔ)上進(jìn)行二次開發(fā)的周期相對(duì)要短。同時(shí)它對(duì)外設(shè)功能(ADC、DAC、可編程增益放大器、PCA 及內(nèi)部振蕩器等)進(jìn)行了高度集成,為設(shè)計(jì)小體積,低功耗,高可靠,高性能的應(yīng)用系統(tǒng)提供了極大的方便。</p><p> 8位單片機(jī)中PIC單片機(jī)的堆棧結(jié)構(gòu)是固定的,PIC16F630有八級(jí)深度的硬件堆棧,RAM每個(gè)字節(jié)的位都可以尋址,有4
25、條專用的位操作指令和2條移位指令I(lǐng)C單片機(jī)及其輔助電路系統(tǒng)采用常規(guī)設(shè)計(jì),使用四片74L244擴(kuò)展I/O接口電路,PIC單片機(jī)的所有寄存器,包括I/O口,定時(shí)器和程序計(jì)數(shù)器等都采用RAM結(jié)構(gòu)形式,而且都只需要一個(gè)指令周期就可以完成訪問和操作該芯片接收靈敏度高,性能穩(wěn)定,基本工作過程為,通過對(duì)接收到的脈沖進(jìn)行解碼,獲取,遙控器發(fā)出的鍵值信息,當(dāng)接收到無線信號(hào)時(shí),輸出低電平,否則輸出高電平。</p><p> MSP
26、430 單片機(jī)是16位的單片機(jī),采用了精簡(jiǎn)指令集(RISC)結(jié)構(gòu),只有簡(jiǎn)潔的27條指令,大量的指令則是模擬指令,眾多的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器都可參加多種運(yùn)算。這些內(nèi)核指令均為單周期指令,功能強(qiáng),運(yùn)行的速度快。</p><p> 綜上,PIC單片機(jī)在I/O腳方向寄存器的性能優(yōu)勢(shì),可靠性能強(qiáng),抗干擾性好,適合作為系統(tǒng)的中央處理器。MSP430系列單片機(jī)在低功耗方面的優(yōu)越性能,使得其更適合應(yīng)用于使用電池供電的儀器、
27、儀表類產(chǎn)品中去。而C51單片機(jī)相對(duì)其他單片機(jī)在架構(gòu)上和數(shù)據(jù)存儲(chǔ)能力上都不存在非常大的優(yōu)勢(shì),但是基于51單片機(jī)的C語言編程環(huán)境在長(zhǎng)期的發(fā)展中為大部分初學(xué)者接受,操作性強(qiáng),非常適合小系統(tǒng)開發(fā)和應(yīng)用。故選80C51單片機(jī)為智能船控制系統(tǒng)的中央處理器。</p><p> 3.1.2 MSC-51單片機(jī)概述</p><p> 51系列單片機(jī)是美國(guó)ATMEL公司生產(chǎn)的低功耗、高性能CMOS 8位微
28、處理器,因?yàn)樗捎镁?jiǎn)指令集、哈佛總線結(jié)構(gòu)、流水線指取的方式,抗干擾能力強(qiáng),而且性價(jià)比高,是目前應(yīng)用最廣泛的8位單片機(jī)之一。</p><p> TSC89C51單片機(jī)的結(jié)構(gòu):</p><p> TSC89C51單片機(jī)構(gòu)造主要包括了中央處理器、存儲(chǔ)器、輸入/輸出口和定時(shí)器/計(jì)數(shù)器,中斷系統(tǒng)等功能部件。</p><p> 89C51的內(nèi)部資源包括: </p&
29、gt;<p><b> 8位CPU</b></p><p> 4KB字節(jié)掩膜ROM程序存貯器</p><p> 128字節(jié)內(nèi)部RAM數(shù)據(jù)存貯器</p><p> 2個(gè)16位的定時(shí)器/計(jì)數(shù)器</p><p> 1個(gè)全雙工的異步串行口</p><p> 5個(gè)中斷源、2級(jí)中斷優(yōu)
30、先級(jí)的中斷控制器</p><p> 時(shí)鐘電路,外接晶振和電容可產(chǎn)生1.2MHz~12MHz的時(shí)鐘頻率</p><p> 其STC89C51單片機(jī)引腳如3-1所示:</p><p> 圖3-1 STC89C51單片機(jī)引腳圖</p><p> STC89C51引腳功能說明①XTAL1:片內(nèi)晶振電路反相放大器的輸入端.</p>
31、;<p> ?、赬TAL2:片內(nèi)晶振電路反相放大器的輸出端。③P0:P0口是一組8位開路型雙向I/O 口,即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí).每位能以吸收電流的方式驅(qū)動(dòng)8個(gè)TTL 邏輯門電路,對(duì)端口P0 寫“1”時(shí),可作為高阻抗輸入端用。④P1口:P1 是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,4個(gè)TTL電路。若端口配置為“1”,通過內(nèi)置的上拉電阻可將端口拉到高電平,此時(shí)端口可作輸入口。</p><
32、;p> ?、軵2口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,可驅(qū)動(dòng)4個(gè)TTL邏輯電路。作輸入口使用時(shí),因?yàn)閮?nèi)置上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。 </p><p> ?、轕3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。作為輸入端口時(shí),被外部拉低的P3口輸出電流。 除了I/0口線外P3口還接收一些用于FLASH閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)[2]。</p>&
33、lt;p> ?、逺ST:出現(xiàn)兩個(gè)周期以上高電平時(shí),復(fù)位單片機(jī)。</p><p> ?、郃LE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié).ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。</p><p> 對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。該位置位后,只有
34、一條MOVX和MOVC指令才能將ALE激活,若該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。</p><p> ?、酨SEN:程序儲(chǔ)存允許PSEN輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。</p><p> ?、釫A/VPP:
35、外部訪問允許。欲使CPU 僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH ) , EA端必須保持低電平(接地).需注意的是:如果加密位LBI被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端), CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令[3]。</p><p> 3.1.3 微處理系統(tǒng)電路</p><p> 如圖3-2所示為STC89C51單片機(jī)工作的最小系統(tǒng)[4]。STC
36、89C51單片機(jī)的VDD端和VSS端分別接5V電源和接地;EA端接高電平使單片機(jī)執(zhí)行內(nèi)部程序存儲(chǔ)器內(nèi)程序,外接12M晶振為系統(tǒng)提供振蕩和時(shí)鐘信號(hào);RXD和TXD與RS232串口交叉連接,為單片機(jī)提供程序下載提供外接通道;INT1、T0、T1、WR則分別與按鍵模塊中的四個(gè)按鍵連接,接收按鍵信息;為了方便程序校驗(yàn),我們將P0.0至P0.7端口外接上拉電阻后連接LED等,觀察單片機(jī)在程序運(yùn)行時(shí)的信號(hào)輸出指示;復(fù)位使單片機(jī)實(shí)現(xiàn)初始化,單片機(jī)在啟
37、動(dòng)運(yùn)行時(shí),都需要先復(fù)位,它的作用是使CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作,所以RESET腳接復(fù)位電路,當(dāng)系統(tǒng)上電時(shí),電容的隔直通交作用,能在通電瞬間復(fù)位STC89C51單片機(jī)。</p><p> 圖3-2 微處理器核心電路圖</p><p> STC89C51單片機(jī)的P1口的一些引腳接無線模塊電路。當(dāng)有檢測(cè)到按鍵時(shí),按鍵信號(hào)輸入到STC89C51單片
38、機(jī)的INT端(或T0、T1、WR端),STC89C51單片機(jī)根據(jù)不同的按鍵值來發(fā)送不同的數(shù)據(jù)到NRF2401芯片的緩存區(qū),而后通過緩存區(qū)無線發(fā)送按鍵數(shù)據(jù);接收端的NRF2401模塊可以接收到這些數(shù)據(jù),從而執(zhí)行相應(yīng)的操作。例如控制電機(jī)的正反轉(zhuǎn),調(diào)速等工作。當(dāng)解碼后信號(hào)要求電機(jī)正轉(zhuǎn),P2.0高電平,P2.1低電平,以此可以控制小船驅(qū)動(dòng)電機(jī)正轉(zhuǎn);當(dāng)解碼后信號(hào)要求電機(jī)反轉(zhuǎn)時(shí),P2.0低電平,P2.1高電平,就可以控制小船驅(qū)動(dòng)電機(jī)反轉(zhuǎn);當(dāng)沒有信號(hào)
39、輸入的時(shí)候,就給P2.0低電平,P2.1低電平,這樣驅(qū)動(dòng)電機(jī)電機(jī)就會(huì)停止。再通過控制輸出波形的脈沖寬度我們就能實(shí)現(xiàn)電機(jī)速度的控制,兩臺(tái)電機(jī)的差速功能則是實(shí)現(xiàn)小船系統(tǒng)轉(zhuǎn)向的關(guān)鍵。</p><p><b> 3.2 無線模塊</b></p><p> 3.2.1 無線遙控方案選擇</p><p> 方案一:由發(fā)射和接收兩大部分組成的紅外遙控系
40、統(tǒng),應(yīng)用編碼和解碼專用集成電路芯片來進(jìn)行控制操作,發(fā)射部分包括鍵盤、編碼調(diào)試、LED紅外發(fā)送器;接收部分包括光電轉(zhuǎn)換放大器、解調(diào)、解碼電路等[5]。相對(duì)來說,結(jié)構(gòu)比較復(fù)雜,而且使用起來必須將遙控器的紅外發(fā)射管對(duì)準(zhǔn)接收管。</p><p> 方案二:有發(fā)射和接收組成的無線電波遙控系統(tǒng)。相對(duì)紅外遙控,無線電遙控在市場(chǎng)上的運(yùn)用普及率非常高,設(shè)備采購(gòu)和維護(hù)都佷方便,再加上無線電遙控技術(shù)性能穩(wěn)定,傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)
41、、無方向性等優(yōu)勢(shì),對(duì)于遙控小船的控制是一個(gè)比較合適的選擇。</p><p> 方案三:超聲波遙控系統(tǒng)的主要原理是利用超聲波來無線傳送指令信號(hào),可以應(yīng)用比較苛刻的遙控、遙測(cè)環(huán)境。市場(chǎng)上比較普遍的是采用AX5326與AX5327組成的遙控系統(tǒng),具有體積小、功耗低、抗干擾能力和可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),但是缺點(diǎn)是這種遙控的成本比較高,不適合在簡(jiǎn)易系統(tǒng)中運(yùn)用。</p><p> 綜合上述三種方案,最終
42、選擇用電量、發(fā)射、接收功率都不大,能穿透一定介質(zhì)的障礙,而且遙控?zé)o方向性的無線電遙控。采用以NRF2401為核心芯片的無線發(fā)射模塊與單片機(jī)配合來實(shí)現(xiàn)無線通訊功能。</p><p> 3.2.2 無線發(fā)射模塊選擇比較</p><p> 最初的高頻等幅震蕩信號(hào)由振蕩器產(chǎn)生的,經(jīng)過倍頻器,輸出震蕩器頻率的整數(shù)倍,接著再通過高頻功率放大器,對(duì)前級(jí)送來的高頻電壓信號(hào)進(jìn)行放大,并獲得足夠大的高頻功
43、率,提高給輸出放大器足夠的激勵(lì)。再接著是高頻輸出功率放大器,它是發(fā)射機(jī)的末級(jí),是使信號(hào)再次放大并進(jìn)行調(diào)制后,最后輸送到天線上進(jìn)行發(fā)射[7]。</p><p> 圖3-3 發(fā)射設(shè)備組成框圖</p><p> 調(diào)頻收發(fā)模塊與調(diào)幅收發(fā)模塊的對(duì)比:目前對(duì)無線收發(fā)模塊的應(yīng)用主要可以分為以下兩大類:調(diào)頻收發(fā)模塊和調(diào)幅收發(fā)模塊。在無線廣播、電視、通信等系統(tǒng)中,除了采用振幅調(diào)制方式(AM)外,還廣泛采
44、用頻率調(diào)制方式(FM)[12]。下面是對(duì)這兩種調(diào)制方式的主要特性的比較:</p><p><b> 抗干擾性能</b></p><p> 抗干擾性強(qiáng)是調(diào)頻FM的主要優(yōu)點(diǎn)??垢蓴_好是指在輸入信號(hào)噪聲比相同的條件下,調(diào)頻接收機(jī)輸出端的信噪比大于調(diào)幅接收機(jī)輸出點(diǎn)的信噪比。調(diào)頻制(FM)的抗干擾性能均優(yōu)于調(diào)幅制(AM)[8]。</p><p>&l
45、t;b> 占用的頻帶寬度</b></p><p> 因?yàn)楣軒д{(diào)頻系統(tǒng)所占用的頻帶較寬,所以調(diào)頻只適合在超短波以上頻段(30Hz-30GHz)使用。對(duì)于中、長(zhǎng)波頻段(300KHz-3MHz、30~300KkHz)而言,采用的調(diào)幅或者單邊帶調(diào)制方式。</p><p> 3.2.3 NRF2401介紹</p><p> nRF24L01是由NOR
46、DIC公司適用于無線遙控集成電路的無線收發(fā)芯片,工作在2.4GHz~2.5GHz的ISM 頻段。其內(nèi)置無線收發(fā)器包括:調(diào)制器和解調(diào)器、功率放大器、頻率發(fā)生器、晶體振蕩器并融合增強(qiáng)型“SchockBurst”技術(shù)[9]。輸出功率頻道選擇和協(xié)議的設(shè)置可以通過SPI 接口進(jìn)行設(shè)置。適合與市面上大部分單片機(jī)進(jìn)行組合配合完成無線數(shù)據(jù)傳送工作[10]。 具有價(jià)格低、功耗小、抗干擾性好、外圍電路簡(jiǎn)單,使用方便等優(yōu)點(diǎn)。目前被廣泛應(yīng)用于家電遙控、車門遙控
47、及工業(yè)遙控等領(lǐng)域。</p><p> 圖3-4 NRF2401芯片引腳圖</p><p> NRF24L01芯片引腳排列如圖3-4所示。各引腳功能如下:CE為數(shù)據(jù)發(fā)射和接收使能端;CSN為SPI的使能端;SCK為SPI時(shí)鐘輸入端;MISO為SPI數(shù)據(jù)主入輸端;IRQ是中斷輸出;VDD為電源端,接3 V直流電源;VSS為參考接地端;XC1,XC2為晶振端;VDD_PA給功率放大器供電1
48、.8 V;ANT1,ANT2為天線接口端;IREF為參考電流端.</p><p> 本系統(tǒng)中我們將NRF2401直接和單片機(jī)P1接口相連接,NRF2401模塊外接12個(gè)引腳,其中單片機(jī)P1.0與DATA腳相連,P1.1與DR1相連,P1.2與Dout2相連,P1.3與DR2連接,P1.4與PWR_UP相連,P1.5與使能端CE連接,P1.6與是時(shí)鐘信號(hào)CLK2連接,P1.7與CS端連接,INT0與時(shí)鐘信號(hào)CLK
49、1連接。</p><p> NRF2401 所特有的ShockBurstTM發(fā)射模式的工作流程是當(dāng)微處理器要發(fā)送數(shù)據(jù)時(shí),將CE端置高,然后將接收機(jī)的地址和要發(fā)送的數(shù)據(jù)按一定格式送入芯片,之后將CE置0,激發(fā)ShockBurstTM發(fā)射,結(jié)束后進(jìn)入空閑狀態(tài)。在接收數(shù)據(jù)階段,芯片需要首先配置本機(jī)地址和要接受的數(shù)據(jù)包大小,將CE端置高,200us后,芯片進(jìn)入數(shù)據(jù)掃描階段,等待正確格式數(shù)據(jù)(正確地址和校驗(yàn)碼),若出現(xiàn)
50、則將DR1置高通知微處理器接收數(shù)據(jù),待結(jié)束后置低DR1。</p><p> 3.2.4 無線模塊接收電路</p><p> 圖3-5 無線發(fā)射部分接口電路圖</p><p> 3.3 電機(jī)驅(qū)動(dòng)模塊</p><p> 3.3.1 電機(jī)選型</p><p> 隨著科技的發(fā)展,各式各樣的電動(dòng)機(jī)出現(xiàn)在我們的日常生活
51、中,同步電動(dòng)機(jī)和異步電動(dòng)機(jī)的應(yīng)用也越來越普及。于此同時(shí),生產(chǎn)廠家、科研院所的廣大電機(jī)研發(fā)工作者在減小電機(jī)尺寸,減輕電機(jī)質(zhì)量,提高電機(jī)單機(jī)容量等方面投入的巨大人力和物力。如更換電機(jī)的絕緣材料,來提高電機(jī)的耐熱等級(jí);選用更好的導(dǎo)電材料和導(dǎo)磁材料,來增加電機(jī)的電磁性能等方法。</p><p> 電機(jī)按電壓輸入可劃分為直流電機(jī)和交流電機(jī)。直流電動(dòng)機(jī)的基本工作原理是:加于電動(dòng)機(jī)上的直流電源,借助于換向器和電刷的作用,使直
52、流電動(dòng)機(jī)電樞線圈中流過的電流方向交替變化,以達(dá)到電樞產(chǎn)生的電磁轉(zhuǎn)矩的方向恒定不變,確保直流電動(dòng)機(jī)連續(xù)旋轉(zhuǎn)在同一方向上。直流電動(dòng)機(jī)具有良好的起動(dòng)、制動(dòng)和調(diào)速性能;能快速起、制動(dòng),正、反轉(zhuǎn);能在十分寬廣的范圍內(nèi)平滑而經(jīng)濟(jì)地調(diào)節(jié)速度。相對(duì)地,交流電動(dòng)機(jī)具有結(jié)構(gòu)簡(jiǎn)單、制造、維護(hù)和使用方便、價(jià)格低廉、運(yùn)行可靠、效率較高的優(yōu)點(diǎn)。</p><p> 本系統(tǒng)采用的電動(dòng)機(jī)為永磁伺服電機(jī),具有體積小,效率高,價(jià)格合理,供電方便等優(yōu)
53、勢(shì)。伺服電機(jī)可使控制速度,位置精度準(zhǔn)確,可以精確地將模擬量信號(hào)轉(zhuǎn)化為轉(zhuǎn)矩和轉(zhuǎn)速以驅(qū)動(dòng)控制對(duì)象。伺服電機(jī)轉(zhuǎn)子轉(zhuǎn)速受輸入信號(hào)控制,并能快速反應(yīng),在自動(dòng)控制系統(tǒng)中,用作執(zhí)行元件,且具有機(jī)電時(shí)間常數(shù)小、線性度高、始動(dòng)電壓等特性,可把所收到的電信號(hào)轉(zhuǎn)換成電動(dòng)機(jī)軸上的角位移或角速度輸出。最終我們將電機(jī)與螺旋槳直接連接,以提高效率。</p><p> 3.3.2 驅(qū)動(dòng)模塊</p><p> 模擬電路
54、上,我們需每一個(gè)H橋式電機(jī)驅(qū)動(dòng)電路來控制電機(jī)的正反轉(zhuǎn),其中包括4個(gè)三極管和一個(gè)電機(jī)(如圖3-5所示)。要使電機(jī)運(yùn)轉(zhuǎn),必須導(dǎo)通對(duì)角線上的一對(duì)三極管。根據(jù)不同三極管對(duì)的導(dǎo)通情況,電流可以控制通過電機(jī)的電流方向,從而達(dá)到控制電機(jī)轉(zhuǎn)向的目的。</p><p> 圖3-5 H橋式電路</p><p> 本系統(tǒng)我們采用L298N芯片實(shí)現(xiàn),L298由SGS公司出品,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路,即內(nèi)
55、含二個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器,相對(duì)普通的H橋電路,為避免同向的三極管同時(shí)導(dǎo)通,芯片外在每對(duì)同向的三極管基級(jí)加上了了邏輯門電路,同側(cè)一個(gè)三極管輸入信號(hào)前經(jīng)非門后相與,另外一個(gè)直接信號(hào)相與,這樣保證了,同一方向的三極管基級(jí)信號(hào)不同,因此不會(huì)同時(shí)導(dǎo)通而導(dǎo)致電路短路(如圖3-5所示)。能直接接收單片機(jī)p3端口發(fā)送的標(biāo)準(zhǔn)TTL邏輯電平信號(hào),可兩個(gè)伺服電機(jī)。而電機(jī)的調(diào)速功能則是通過PWM波的信號(hào)占空比實(shí)現(xiàn)。我們將在接下來的軟件模塊詳細(xì)介紹
56、。</p><p> 圖3-4 L198內(nèi)部結(jié)構(gòu)圖</p><p> 3.4 電源模塊電路</p><p> 電源部分電路圖如圖3-6所示。電源模塊的核心是穩(wěn)壓電路,將輸入的5V電壓經(jīng)過AMS1117芯片變壓后固定輸出穩(wěn)定的3.3V直流電。AMS1117芯片作為一款廣泛應(yīng)用于各類電子產(chǎn)品的低漏失電壓調(diào)整器,其穩(wěn)壓調(diào)整管是由一個(gè)PNP 驅(qū)動(dòng)的NPN 三極管組成
57、的,漏失電壓定義為:VDROP=VBE+VSAT。從AMS1117的輸出端得到穩(wěn)定的輸出電壓VCC,只要是為nrf2401提供穩(wěn)定的工作電壓。單片機(jī)、蜂鳴器電路、傳感器電路以及穩(wěn)壓電路所需的5v直流電壓都是通過外接VCC(5V直流電)電池實(shí)現(xiàn)的。</p><p> 圖3-6 電源部分電路圖</p><p><b> 3.5 蜂鳴器電路</b></p>
58、<p> 蜂鳴器工作原理是當(dāng)電流通過電磁線圈,利用電磁感應(yīng)原理產(chǎn)生磁場(chǎng)來驅(qū)動(dòng)振動(dòng)膜發(fā)聲。但是電流大小達(dá)到一定量后才能產(chǎn)生足夠的磁場(chǎng)來驅(qū)動(dòng)蜂鳴器工作,而51單片機(jī)OSC引腳輸出的電流較小,TTL電平基本上驅(qū)動(dòng)不了蜂鳴器,因此需要一個(gè)電流放大電路。本系統(tǒng)設(shè)計(jì)通過一個(gè)PNP三極管9012的功率放大功能來驅(qū)動(dòng)蜂鳴器,原理圖見下面圖3-7:</p><p> 圖3-7 蜂鳴器電路圖</p>
59、<p> 如圖3-7所示,蜂鳴器的正極接三極管的集電極C,負(fù)極接地。PNP三極管的發(fā)射極接到VCC(+5V直流電),三極管的基極B經(jīng)過限流電阻R10后由單片機(jī)的RD引腳控制。當(dāng)89C51單片機(jī)RD腳輸出高電平時(shí),三極管Q2截止,蜂鳴器斷路,蜂鳴器不工作;當(dāng)RD腳輸出低電平時(shí),三極管Q2導(dǎo)通,蜂鳴器電路內(nèi)電流形成回路。但是由于這個(gè)蜂鳴器是頻率型的,只有獲得一定的頻率的磁場(chǎng),蜂鳴器才能發(fā)出人能聽得到的聲音,故需要控制RD輸出電平
60、的占空比,使其頻率在音頻范圍內(nèi),蜂鳴器才會(huì)發(fā)出聲音。因此,可以通過持續(xù)控制RD引腳的電平來控制蜂鳴器是否發(fā)出聲音。</p><p><b> 4 軟件設(shè)計(jì)</b></p><p> 4.1 軟件開發(fā)工具</p><p> 4.1.1 51單片機(jī)編譯軟件平臺(tái)介紹</p><p> 軟件設(shè)計(jì)采用keil softwa
61、re公司的KeilμVision4軟件平臺(tái)及調(diào)試環(huán)境。它針對(duì)51系列兼容單片機(jī)C語言的軟件開發(fā)平臺(tái)。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部分組合在一起[11]。作為公司最新一代產(chǎn)品,引入靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多臺(tái)監(jiān)視器,并提供了視覺上的表面對(duì)窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組
62、織多個(gè)窗口,提供一個(gè)整潔,高效的環(huán)境來開發(fā)應(yīng)用程序。</p><p> Keil是基于Windows操作系統(tǒng)的集成開發(fā)環(huán)境,適用于51 MCU系列。KeilμVision4主要提供以下功能:</p><p> ?。?)使用內(nèi)置的編輯器創(chuàng)建及編輯源代碼。</p><p> (2)匯編、編譯和鏈接源代碼。</p><p> ?。?)通過使用內(nèi)
63、置的軟件模擬器來觀察程序流程,或者使用在線仿真器或</p><p> 在調(diào)試器以實(shí)時(shí)方式觀察程序流程來調(diào)試可執(zhí)行邏輯。</p><p> ?。?)用軟件模擬器或仿真器進(jìn)行時(shí)序測(cè)量。</p><p> KeilμVision4集成開發(fā)環(huán)境如圖4-1所示:</p><p> 圖4-1 keil 4 軟件開發(fā)環(huán)境</p>&l
64、t;p> KeilμVision4的程序編輯器可以識(shí)別匯編器和編譯器的編程語法結(jié)構(gòu),尤其在C語言的編輯上,若將文件保存名后面加上.c,編輯器就自動(dòng)地將源代碼以不同顏色區(qū)分,這有助于編寫者高效的區(qū)分代碼結(jié)構(gòu),保證程序在語法上的正確性。項(xiàng)目管理器有助于組織應(yīng)用程序中使用的各種文件:源文件、處理器描述頭文件以及庫(kù)文件。編輯完成后編譯了代碼,如果在編譯應(yīng)用程序時(shí)語言工具報(bào)錯(cuò)則會(huì)顯示出錯(cuò)的行,雙擊它即可轉(zhuǎn)到對(duì)應(yīng)的源文件代碼行,方便實(shí)時(shí)的修
65、改。若語法檢查沒有錯(cuò)誤,軟件自帶的斷點(diǎn)調(diào)試可將程序分區(qū)調(diào)試,這極大方便了測(cè)試者發(fā)現(xiàn)、解決問題。</p><p> 程序燒考軟件我們使用的是STC-ISP,軟件也可以使串口的測(cè)試軟件,可以按不同波特率下進(jìn)行串口通訊。</p><p> 圖4-2 STC-ISP操作環(huán)境</p><p> 4.2 總體程序流程圖</p><p> 主系統(tǒng)
66、有兩片MCU分別分布于發(fā)射模塊和接收模塊兩塊PCB板上,故主程序主要是分為數(shù)據(jù)發(fā)送模塊主程序和數(shù)據(jù)接收模塊主程序。如圖4-3,4-4所示:</p><p> 圖4-3 發(fā)射模塊流程圖 圖4-4 接收模塊流程圖 </p><p> 4.3 發(fā)射模塊部分</p><p> 本設(shè)計(jì)中的無線發(fā)射模塊程序中主要是包括按鍵消抖程序和NRF240
67、1的無線發(fā)射程序。使用單片機(jī)STC89C51作為主控芯片, 并且實(shí)現(xiàn)編碼數(shù)據(jù)的軟件編碼。</p><p> 4.3.1 按鍵程序</p><p> 系統(tǒng)在按鍵模塊采用4個(gè)性價(jià)比很高的普通無鎖按鍵,在使用過程中會(huì)出現(xiàn)按鍵內(nèi)部?jī)蓧K貼板因性能不穩(wěn)定而出現(xiàn)的輸出信號(hào)不穩(wěn)定現(xiàn)象,所以我們?cè)趩纹瑱C(jī)掃描按鍵信息前進(jìn)行軟件消抖處理并在按下按鍵后設(shè)置按鍵標(biāo)志位。</p><p>
68、<b> 程序設(shè)計(jì)如下所示:</b></p><p> void keytest(void) //按鍵測(cè)試程序</p><p> ////////按鍵K1判斷程序////////</p><p><b> { </b></p><p> while(K1==0) </p>
69、<p><b> {</b></p><p> delayms(100);//按鍵去抖</p><p> if(K1==1) </p><p><b> {</b></p><p> nRF2401_flag|=0x02; //按鍵標(biāo)志位nRF2401_flag_bit1=1&
70、lt;/p><p> speakertest();</p><p> nRF2401_Data[0]++;</p><p><b> }</b></p><p><b> else</b></p><p><b> {;}</b></p>
71、;<p><b> }</b></p><p> /////////////////////////////</p><p> ////////按鍵K2判斷程序////////</p><p> while(K2==0) </p><p><b> {</b></p&g
72、t;<p> delayms(100);//按鍵去抖</p><p> if(K2==1) </p><p><b> {</b></p><p> nRF2401_flag|=0x02; //按鍵標(biāo)志位nRF2401_flag_bit1=1</p><p> speakertest();<
73、/p><p> nRF2401_Data[0]--;</p><p><b> }</b></p><p><b> else</b></p><p> {nRF2401_flag&=0xfd; } //清除按鍵標(biāo)志位nRF2401_flag_bit1=0</p><
74、p><b> }</b></p><p> /////////////////////////////</p><p> ////////按鍵K3判斷程序////////</p><p> while(K3==0) </p><p><b> {</b></p><
75、;p> delayms(100);//按鍵去抖</p><p> if(K3==1) </p><p><b> {</b></p><p> nRF2401_flag|=0x02; //按鍵標(biāo)志位nRF2401_flag_bit1=1</p><p> speakertest();</p>
76、<p> nRF2401_Data[0]=0x00;</p><p><b> }</b></p><p><b> else</b></p><p> {nRF2401_flag&=0xfd; } //清除按鍵標(biāo)志位nRF2401_flag_bit1=0</p><p>
77、;<b> }</b></p><p> /////////////////////////////</p><p> ////////按鍵K4判斷程序////////</p><p> while(K4==0) </p><p><b> {</b></p><p&g
78、t; delayms(100);//按鍵去抖</p><p> if(K4==1) </p><p><b> {</b></p><p> nRF2401_flag|=0x02; //按鍵標(biāo)志位nRF2401_flag_bit1=1</p><p> speakertest();</p><
79、;p> nRF2401_Data[0]=0xff; </p><p><b> }</b></p><p><b> else</b></p><p> {nRF2401_flag&=0xfd; } //清除按鍵標(biāo)志位nRF2401_flag_bit1=0</p><p>&
80、lt;b> }</b></p><p> 4.3.2 無線發(fā)送</p><p> 發(fā)射模塊最核心的任務(wù)就是將發(fā)射端按鍵的有用信息經(jīng)編碼后發(fā)送出去。主要設(shè)計(jì)思路是單片機(jī)連續(xù)地掃描按鍵信息,當(dāng)發(fā)現(xiàn)有經(jīng)過消抖處理后的按鍵信號(hào)后將按鍵信息存儲(chǔ)至nRF2401_Data,然后配置單片機(jī)進(jìn)入發(fā)射模式發(fā)送nrf2401_Data數(shù)據(jù)并清除按鍵標(biāo)志位。具體程序如下所示:</p
81、><p> void nRF2401_Transmit_Mode(void)</p><p><b> {</b></p><p> nRF2401_PWR_UP=1; //進(jìn)入配置模式</p><p> nRF2401_CE=0;</p><p> nRF2401_CS=1;</p&
82、gt;<p> delayms(1); </p><p> //RXEN(bit0)=0 transmit mode ; datasheet(page22 of 37);</p><p><b> DATA =0;</b></p><p><b> CLK1=1; </b></p>&l
83、t;p><b> _nop_();</b></p><p><b> CLK1=0;</b></p><p> //設(shè)置為Active(Tx)模式 </p><p> nRF2401_CE=1;</p><p> nRF2401_CS=0;</p><p>
84、 delayms(1); </p><p><b> }</b></p><p> void keytest(void) </p><p><b> {</b></p><p> if((nRF2401_flag&0x02)==0x02)//判斷是否有按鍵按下</p>
85、<p><b> {</b></p><p> P0=~nRF2401_Data[0];</p><p> nRF2401_Transmit_Mode(); //設(shè)置為發(fā)送模式</p><p> nRF2401_Transmit_Data(nRF2401_Data); //發(fā)送數(shù)據(jù)</p><
86、p> nRF2401_flag&=0xfd; //清除按鍵標(biāo)志位nRF2401_flag_bit1=0 </p><p><b> }</b></p><p><b> else</b></p><p><b> {;}</b></p><p><
87、b> }</b></p><p><b> 4.4 無線接收</b></p><p> 4.4.1 無線接收程序</p><p> 單片機(jī)無線接收數(shù)據(jù)的設(shè)計(jì)思路是首先配置nRF2401芯片進(jìn)入接收模式,在接下來的每一個(gè)時(shí)鐘信號(hào)后,單片機(jī)搜索nRF2401_flag&0x01為0x01的無線信號(hào),若出現(xiàn)正確格式的
88、無線數(shù)據(jù),則接收并存儲(chǔ)在nRF2401_Data數(shù)據(jù)空間內(nèi)。</p><p><b> 程序如下所示:</b></p><p> /*********設(shè)置接收模式子程序*********/</p><p> void nRF2401_Receive_Mode(void)</p><p><b> {&l
89、t;/b></p><p> nRF2401_PWR_UP = 1; //進(jìn)入配置模式</p><p> nRF2401_CE=0;</p><p> nRF2401_CS=1;</p><p> delayms(1);</p><p><b> DATA =1;</b></
90、p><p><b> CLK1=1;</b></p><p><b> _nop_();</b></p><p><b> CLK1=0;</b></p><p> //設(shè)置為Active(Rx)模式</p><p> nRF2401_CE=1;&
91、lt;/p><p> nRF2401_CS=0;</p><p> delayms(1);</p><p><b> }</b></p><p> /********接收數(shù)據(jù)子程序*********/</p><p> void nRF2401_Receive_Data(uchar *dat
92、a_temp)</p><p><b> {</b></p><p><b> uchar i;</b></p><p> if (DR1==1) //接收完畢后,DR1自動(dòng)為0 </p><p><b> {</b></p><p> fo
93、r (i=0; i<DATA1_W/8; i++)</p><p><b> {</b></p><p> *data_temp=nRF2401_Read_Byte();</p><p> data_temp++;</p><p><b> }</b></p><p
94、> nRF2401_flag|=0x01; //接收標(biāo)志位nRF2401_flag_bit0=1</p><p><b> }</b></p><p><b> else</b></p><p> {nRF2401_flag&=0xfe;}//接收標(biāo)志位nRF2401_flag_bit0=0</
95、p><p><b> }</b></p><p> void main(void)</p><p><b> {</b></p><p> delayms(1000);//開機(jī)延時(shí)</p><p> nRF2401_Data[0] = 0;</p><
96、;p> init_rs232(); //串口初始化</p><p> TI=1; //串口發(fā)射有效</p><p> nRF2401_config(); //nRF2401初始化配置</p><p> delayms(100);</p><p> speakertest(); //蜂鳴器叫一聲</p
97、><p> nRF2401_Transmit_Mode(); //設(shè)置為發(fā)送模式</p><p> nRF2401_Transmit_Data(nRF2401_Data);//發(fā)送測(cè)試數(shù)據(jù)</p><p> nRF2401_Receive_Mode(); //設(shè)置為接收模式</p><p>
98、SBUF=0x55; //串口輸出0x55 測(cè)試是否有正確的串口數(shù)據(jù)</p><p> delayms(100);</p><p><b> while (1)</b></p><p><b> { </b></p><p> nRF2401_Receive_Data(nRF2401_D
99、ata);//接收數(shù)據(jù),并存放到nRF2401_Data[32]數(shù)組中</p><p> if (nRF2401_flag&0x01==0x01) //判斷是否有數(shù)據(jù)收到</p><p><b> {</b></p><p> P0=~nRF2401_Data[0];</p><p> SBUF=nRF2
100、401_Data[0]; </p><p><b> }</b></p><p><b> else</b></p><p><b> {;} </b></p><p><b> }</b></p><p>
101、<b> }</b></p><p> 4.4.2 PWM 波模塊</p><p> 通常情況下我們可以通過調(diào)節(jié)電壓或者電平寬度來實(shí)現(xiàn)對(duì)電機(jī)速度的調(diào)節(jié)。后者我們稱之為脈寬調(diào)制(Pulse Width Modulator,簡(jiǎn)稱PWM)。利用脈寬調(diào)制的方式就是在給定的時(shí)間內(nèi),電源是僅以一種通或斷的脈沖信號(hào)加到負(fù)載上。因使用脈寬調(diào)制方式可以使負(fù)載在工作時(shí)得到滿電源電壓
102、,這樣有利于克服電機(jī)內(nèi)在的線圈電阻,使電機(jī)產(chǎn)生更大的力矩,因此電源能量能夠得到充分地利用,電路的效率較高。</p><p> 在本系統(tǒng)中PWM波主要是利用晶振的振蕩和單片機(jī)內(nèi)的定時(shí)器產(chǎn)生的。作為MCU的STC89C51單片機(jī)理論上是可以采用時(shí)間片分割的方式通過多個(gè)I/O口實(shí)現(xiàn)對(duì)7個(gè)舵機(jī)的驅(qū)動(dòng), 而在小船控制系統(tǒng)的實(shí)際運(yùn)用過程中,我們只需要控制兩個(gè)電機(jī)的運(yùn)行,實(shí)現(xiàn)相當(dāng)于把每20ms的MCU 時(shí)間作為一個(gè)控制周期,
103、 從而實(shí)現(xiàn)了多舵機(jī)不同轉(zhuǎn)角的同步同一周期控制且獨(dú)立操作、互不干涉, 具備了及時(shí)性、獨(dú)占性以及多路性。</p><p> 其速度調(diào)制的原理是主要是利用晶振的振蕩和單片機(jī)內(nèi)的定時(shí)器來實(shí)現(xiàn)的。我通過調(diào)節(jié)PWM波的占空比實(shí)現(xiàn)對(duì)電機(jī)速度的調(diào)制,程序如下所示:</p><p> for (i=0;i<255;i++)</p><p><b> {</
104、b></p><p> CCAP1L=0xff; //設(shè)置占空比為0</p><p> CCAP1H=0xff;</p><p> CCAP3L=0xff; </p><p> CCAP3H=0xff;</p><p> CCAP0L=CCAP0L+1; </p><p
105、> CCAP0H=CCAP0H+1; </p><p> Delay1ms(100);</p><p><b> }</b></p><p> /*****************************/</p><p> for (i=0;i<255;i++)</p><p
106、><b> {</b></p><p> CCAP0L=0xff; //設(shè)置占空比為0</p><p> CCAP0H=0xff;</p><p> CCAP3L=0xff; </p><p> CCAP3H=0xff;</p><p> CCAP1L=CCAP1L+1;
107、</p><p> CCAP1H=CCAP1H+1;</p><p> Delay1ms(100);</p><p><b> }</b></p><p> /******************************/</p><p> for (i=0;i<255;i++)&
108、lt;/p><p><b> {</b></p><p> CCAP0L=0xff; //設(shè)置占空比為0</p><p> CCAP0H=0xff;</p><p> CCAP1L=0xff; </p><p> CCAP1H=0xff;</p><p> C
109、CAP3L=CCAP3L+1;</p><p> CCAP3H=CCAP3H+1;</p><p> Delay1ms(100);</p><p><b> }</b></p><p> 鑒于PWM波在速度控制上的優(yōu)勢(shì),在智能小船系統(tǒng)的轉(zhuǎn)向功能設(shè)計(jì)中,我們拋棄傳統(tǒng)的舵控系統(tǒng),直接通過PWM波調(diào)節(jié)伺服電機(jī)的轉(zhuǎn)速,通
110、過兩個(gè)電機(jī)轉(zhuǎn)速的速度差實(shí)現(xiàn)轉(zhuǎn)向功能。相對(duì)傳統(tǒng)的舵控制,小船系統(tǒng)將能更加靈活、穩(wěn)定、高效。</p><p><b> 5 制作和調(diào)試</b></p><p> 5.1 電路板的設(shè)計(jì)和制作</p><p> 本系統(tǒng)電路板的設(shè)計(jì)是在Protel 99SE里完成的。Protel 99SE是澳大利亞Protel Technology公司推出的一個(gè)全
111、32位的電路板設(shè)計(jì)軟件,其功能模塊包括設(shè)計(jì)電路原理圖、畫元件圖、設(shè)計(jì)電路板圖、畫元件封裝圖和電路仿真等[11]。設(shè)計(jì)電路板主要分為三個(gè)步驟:第一步是設(shè)計(jì)和編輯電路原理圖,然后由電路原理圖文件(.sch)產(chǎn)生網(wǎng)絡(luò)表;第二步是根據(jù)網(wǎng)絡(luò)表進(jìn)行印制電路板的布線,完成PCB板文件的編輯;最后一步就是電路板制作和器件的電焊。</p><p> 電路原理圖主要是利用Protel 99SE的原理圖設(shè)計(jì)系統(tǒng)(Advanced S
112、chematic)進(jìn)行繪制。電路原理圖主要由電子元器件和線路組成。電路原理圖設(shè)計(jì)工作包括:規(guī)劃電路圖的總體布局;在圖紙上放置元器件,進(jìn)行布局和布線;最后進(jìn)行調(diào)整,最后保存。</p><p> 圖5-1 總體電路原理圖</p><p> 網(wǎng)絡(luò)表作為電路原理圖文件與PCB板文件之間的橋梁,PCB板布線需要根據(jù)網(wǎng)絡(luò)表文件來排列。設(shè)計(jì)完電路原理圖后,需要根據(jù)原理圖生成印制電路板,這樣就可以制
113、作電路板。在印制電路板前,利用Protel 99SE強(qiáng)大的功能實(shí)現(xiàn)電路板的板面設(shè)計(jì)和比較繁瑣的布線工作。印制電路板設(shè)計(jì)的一般步驟:</p><p> ?。?)規(guī)劃電路板。在繪制印制電路板之前,先對(duì)電路板進(jìn)行初步規(guī)劃,例</p><p> 如電路采用多大的物理尺寸,采用幾層電路板(一般單面板或雙面板),各元件采用何種封裝形式及其安裝位置等。</p><p> ?。?
114、)設(shè)置參數(shù)。設(shè)置元件的布置參數(shù)、層參數(shù)等,有些參數(shù)用其默認(rèn)值。</p><p> (3)裝入網(wǎng)絡(luò)表及元件封裝。將網(wǎng)絡(luò)表裝入之后,才能完成對(duì)電路板的自</p><p> 動(dòng)布線。元件封裝是指元件焊接到電路板時(shí)所指的外觀和焊盤位置,對(duì)于每個(gè)裝入的元件必須有相應(yīng)的外形封裝,才能保證電路板布線的順利進(jìn)行。</p><p> ?。?)元件布局,自動(dòng)布線,手工調(diào)整之后,可以
115、生成印制電路板報(bào)表,最</p><p> 后保存文件及輸,利用打印機(jī)或繪圖儀輸出電路板的布線圖[11]。</p><p> 這個(gè)階段也是問題最大的一部分,耗時(shí)一個(gè)多星期才完成,在PCB板設(shè)計(jì)階段線路的調(diào)整是比較繁瑣和艱辛的,第一因?yàn)樽陨碓谶@方面經(jīng)驗(yàn)的欠缺,經(jīng)常出現(xiàn)顧此失彼的錯(cuò)誤,最終還是請(qǐng)高手相助。在完成PCB板的繪制之后的制作階段,兩塊電路板多少都出現(xiàn)了過度腐蝕的現(xiàn)象,這對(duì)隨后的元器
116、件的焊接帶來了極大的麻煩,焊錫無法附著在沒銅的板面上,經(jīng)常出現(xiàn)虛焊的現(xiàn)象。更加麻煩的還有PCB板打孔問題,實(shí)驗(yàn)室只有大口徑的轉(zhuǎn)針,面對(duì)PCB板的小孔,穿透后孔周圍的銅圈會(huì)翹起或磨損丟失,這種類型的孔在后面的焊接就需要非常的小心以及特別加固措施。還有一點(diǎn)體會(huì)是貼片不僅小巧便于使用,還相對(duì)地好焊接很多。</p><p> 圖5-2 總體電路PCB圖</p><p><b> 5
117、.2系統(tǒng)調(diào)試</b></p><p> 本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試、軟件調(diào)試和軟件硬件連接調(diào)試。</p><p> 5.2.1 硬件調(diào)試</p><p> 由于在硬件系統(tǒng)的設(shè)計(jì)過程中,我們采用模塊化電路為基礎(chǔ),所以在硬件測(cè)試階段初期,我們也是逐個(gè)對(duì)各個(gè)模塊進(jìn)行測(cè)試,包括單片機(jī)控制模塊測(cè)試、無線遙控模塊調(diào)試、電源穩(wěn)壓模塊調(diào)試、蜂鳴器電路調(diào)試
118、和繼電器電路調(diào)試,在確定各個(gè)模塊都順利同構(gòu)測(cè)試后,我們將各個(gè)模塊組合測(cè)試,再進(jìn)行軟件調(diào)試。</p><p> 5.2.2 軟件調(diào)試</p><p> 軟件設(shè)計(jì)采用keil軟件平臺(tái)進(jìn)行編程和仿真,主要的測(cè)試過程是將編好的程序進(jìn)行編譯和仿真,檢測(cè)語法錯(cuò)誤直至編譯通過。由于本系統(tǒng)的軟件也是分模塊子程序進(jìn)行設(shè)計(jì)的,所以調(diào)試過程中,遇到不能馬上解決的問題,還是細(xì)分功能模塊進(jìn)行調(diào)試。在測(cè)試無線模塊
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能船控制系統(tǒng)研發(fā)[文獻(xiàn)綜述]
- 智能船控制系統(tǒng)的研發(fā)[開題報(bào)告]
- 智能路燈控制系統(tǒng)畢業(yè)論文
- 智能船控制系統(tǒng)的研發(fā)[任務(wù)書]
- 畢業(yè)論文基于智能控制系統(tǒng)設(shè)計(jì)
- led智能路燈控制系統(tǒng)-畢業(yè)論文
- 智能溫度控制系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 交通燈智能控制系統(tǒng)-畢業(yè)論文
- 教室照明智能控制系統(tǒng)______畢業(yè)論文
- 畢業(yè)論文---校園路燈智能控制系統(tǒng)設(shè)計(jì)
- 教室照明智能控制系統(tǒng)------畢業(yè)論文
- 家庭智能燈光控制系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文校園路燈智能控制系統(tǒng)設(shè)計(jì)
- 畢業(yè)論文室內(nèi)防盜智能控制系統(tǒng)設(shè)計(jì)
- 樓宇智能門禁plc控制系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 單片機(jī)智能溫度控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文---智能交通燈控制系統(tǒng)設(shè)計(jì)
- 智能溫室恒溫plc控制系統(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 教室節(jié)能照明智能控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文教室照明智能控制系統(tǒng)
評(píng)論
0/150
提交評(píng)論