【正文】
要能一直測量,當(dāng)接收到上位監(jiān)測主機(jī)的命令時(shí),就暫時(shí)停止測量,將測量信息值傳送給上位機(jī),當(dāng)發(fā)送結(jié)束后,就繼續(xù)測量溫濕度。無線傳輸部分方案一中選擇利用CC1101無線傳輸模塊,該模塊可用于多頻段,低功耗,收發(fā)一體,方案二中的nRF905也是低功耗,多頻道多頻段,可以很方便地實(shí)現(xiàn)點(diǎn)對點(diǎn)及點(diǎn)對多點(diǎn)無線通信,兩者性能相似,都能滿足本次設(shè)計(jì)系統(tǒng)的要求,但CC1101的價(jià)格較高,考慮到經(jīng)費(fèi)的問題,故選擇nRF905無線傳輸模塊。圖21 總體原理框圖根據(jù)原理框圖,設(shè)計(jì)了兩種方案,如下所示。具體設(shè)計(jì)內(nèi)容如下:選擇合適的濕度傳感器和溫度傳感器,并研究它們的使用方法;研究溫濕度傳感器與單片機(jī)的連接,以及如何完成數(shù)據(jù)的采集;設(shè)計(jì)多個(gè)溫濕度采集從機(jī)子系統(tǒng),編號為1N,能滿足對溫濕度的精確測量;主機(jī)可利用無線模塊、單片機(jī)和鍵盤,選擇所要監(jiān)測的溫濕度節(jié)點(diǎn),將該監(jiān)測節(jié)點(diǎn)的數(shù)據(jù)經(jīng)由無線傳送至主機(jī),并用顯示器顯示出該監(jiān)測節(jié)點(diǎn)結(jié)果;把測得的數(shù)據(jù)與限定值比較,如果超出范圍,報(bào)警系統(tǒng)就會(huì)發(fā)出警報(bào);制作硬件電路,編寫相應(yīng)的軟件程序,進(jìn)行系統(tǒng)調(diào)試和測試數(shù)據(jù)綜合分析。第1章 緒論 課題的意義和目的當(dāng)代科學(xué)技術(shù)日益向高速化、智能化、信息化、網(wǎng)絡(luò)化發(fā)展,不管是生活還是生產(chǎn),都離不開自動(dòng)化。關(guān)鍵詞:無線傳輸模塊;溫濕度傳感器;單片機(jī)Design ang Implemenatation of the Multihumiture Wireless Monitoring System for the GranaryAbstract: To collect more information of the humiture required for the granary, the multihumiture wireless monitoring system is designed , which include some lower detecting equipments and a host monitor. Each lower detecting equipment consists of some temperature sensor modules, some humidity sensor modules, a wireless transmission module, a microcontroller module and other ponents. The host monitor consists of a microcontroller module, a key module, a wireless transmission module, an alarm module and other ponents. By measuring the next bit monitoring extension barn temperature and humidity in the wireless transmission module, after the temperature and humidity of the information value monitoring nod, and transmit first a host on the display shows that the monitoring node node number and the monitoring and measuring value, the temperature and humidity with temperature and humidity value alarm functions, lower place machine and can display the current local information value .Keywords: Wireless transmission module。 humiture sensors。信息社會(huì)對工業(yè)和農(nóng)業(yè)生產(chǎn)提出了更高、更新的要求,不僅要節(jié)約成本,而且要高效化。 課題的任務(wù)要求根據(jù)課題的意義和目的,經(jīng)分析本次課題需要研究的內(nèi)容,提出了該課題相應(yīng)的設(shè)計(jì)任務(wù)的要求,具體如下:系統(tǒng)供電電壓 AC 220V177。方案一:采用模擬溫濕度傳感器和A/D轉(zhuǎn)換器組成溫濕度檢測電路,上位機(jī)和下位機(jī)采用FPGA開發(fā)板,無線收發(fā)模塊用CC1101,數(shù)字顯示電路部分運(yùn)用移位寄存器74LS164移位輸入字形碼,采用數(shù)碼管顯示。顯示部分方案一中的顯示采用移位寄存器移位顯示,數(shù)據(jù)需要串行輸入,在時(shí)鐘端脈沖上升沿作用下輸入數(shù)據(jù),本設(shè)計(jì)是四位顯示,就需要接四個(gè)74LS164,雖然軟件設(shè)計(jì)比動(dòng)態(tài)顯示簡單,占用內(nèi)存少,但其硬件焊接量大。 單片機(jī)控制模塊單片機(jī)控制模塊,它的晶振控制著單片機(jī)的工作節(jié)奏,I/O口控制著外圍電路的工作情況,主要是控制溫濕度的測量、nRF905接收和發(fā)送數(shù)據(jù)、報(bào)警模塊的工作等等。第3章 系統(tǒng)各模塊的硬件設(shè)計(jì)確定了多點(diǎn)糧倉溫濕度的無線監(jiān)測系統(tǒng)方案設(shè)計(jì),根據(jù)系統(tǒng)實(shí)現(xiàn)方案中各模塊的功能設(shè)計(jì)要求,對多點(diǎn)糧倉溫濕度的無線監(jiān)測系統(tǒng)各模塊硬件電路進(jìn)行設(shè)計(jì)。 溫濕度測量模塊設(shè)計(jì) 溫度測量模塊設(shè)計(jì)溫度測量采用DS18B20,該芯片的性能和具體使用方法如下所述。圖32 DS18B20工作原理圖溫度傳感器DS18B20的設(shè)計(jì)圖DS18B20是單總線溫度傳感器,數(shù)據(jù)線是漏極開路,內(nèi)部沒有拉高電路,給DS18B20接有電源,則需要一個(gè)上拉電阻來穩(wěn)定工作,其工作電流要達(dá)到1mA。濕度傳感器DHT11技術(shù)性能描述(1)、相對濕度和溫度測量,范圍是20-90%RH 、0-50℃,精度177。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS51指令集和輸出管腳相兼容。時(shí)鐘電路設(shè)計(jì),如圖35所示。圖37 nRF905管腳圖nRF905各個(gè)管腳的具體說明如表31所示。圖39 按鍵設(shè)計(jì)圖圖中只畫了一個(gè)按鍵,其余按鍵與單片機(jī)的連接具體如下:,;。若要各位數(shù)碼管能夠顯示出與本位相應(yīng)的字符,就必須采用掃描顯示方式。當(dāng)需要某一位數(shù)碼管顯示時(shí),只要給相應(yīng)的位選端一個(gè)低電平,其余位選端給高電平,P0口給相應(yīng)的字型碼。當(dāng)接通電源后(~15V直流工作電壓),多諧振蕩器起振,~,阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。根據(jù)以上情況,選擇三個(gè)I/O口作為控制口,用三極管驅(qū)動(dòng)蜂鳴器。圖41 上位機(jī)的軟件設(shè)計(jì)流程圖上位機(jī)的具體執(zhí)行步驟如下:第一步:初始化上位機(jī)的無線模塊nRF905配置寄存器;第二步:利用while(1)語句進(jìn)入死循環(huán);第三步:判斷KEY1鍵是否按下,如果按下,等待按鍵松開,然后進(jìn)入第四步,如果KEY1鍵沒有按下,就判斷KEY2鍵是否按下,如果KEY2鍵被按下,等待KEY2鍵松開,就進(jìn)入第五步,若果KEY2鍵也沒按下,就重復(fù)第三步;第四步:發(fā)送命令給1號下位機(jī),發(fā)送完成后,等待1號下位機(jī)將溫濕度信息值發(fā)送給上位機(jī),通過DR引腳來判斷,如果接收到,則DR=1,否則就一直等待接收。然后點(diǎn)亮紅色發(fā)光二極管LED4,表明是2號下位機(jī)傳送來的信息。與射頻協(xié)議相關(guān)的所有高速信號處理都在片內(nèi)進(jìn)行,這種做法有三大好處:盡量節(jié)能;低的系統(tǒng)費(fèi)用(低速微處理器也能進(jìn)行高速射頻發(fā)射);數(shù)據(jù)在空中停留時(shí)間短,抗干擾性高。只有在前一個(gè)數(shù)據(jù)包被發(fā)送完畢,RF905才能接受下一個(gè)發(fā)送數(shù)據(jù)包。狀態(tài)寄存器包含數(shù)據(jù)準(zhǔn)備好引腳狀態(tài)信息和地址匹配引腳狀態(tài)信息;射頻配置寄存器包含收發(fā)器配置信息,如頻率和輸出功能等;發(fā)送地址寄存器包含接收機(jī)的地址和數(shù)據(jù)的字節(jié)數(shù);發(fā)送數(shù)據(jù)寄存器包含待發(fā)送的數(shù)據(jù)包的信息,如字節(jié)數(shù)等;接收數(shù)據(jù)寄存器包含要接收的數(shù)據(jù)的字節(jié)數(shù)等信息。表44 十個(gè)字節(jié)的配置信息分析表字節(jié)號內(nèi)容位[7 0] MSB=BIT[7]初始化值0Bit[7 0]0110_11001Bit[7:6]沒用AUTO_RETRAN RX_RED_PWR PA_PWR[1:0] HFREQ_PLL CH_NO[8]0000_00002Bit[7] 沒用TX_AFW[2:0] Bit[3] 沒用 RX_AFW[2:0]0100_01003Bit[7:6]沒用RX_PWR[5:0]0010_00004Bit[7:6]沒用TX_PWR[5:00010_00005RX 地址0 字節(jié)E76RX 地址1 字節(jié)E77RX 地址2 字節(jié)E78RX 地址3 字節(jié)E79CRC_ 模式 CRC 校驗(yàn)允許X OF[2:0] UP_CLK_EN1110_0111具體每個(gè)字節(jié)的含義作如下的解釋:字節(jié) 0: [7:0] CH_NO[7:0], 連同字節(jié) 1 的 CH_NO[8]和 HFREQ_PLL 控制 905 的載波頻段。 下位機(jī)的設(shè)計(jì) 下位機(jī)的設(shè)計(jì)思路下位機(jī)一開始處于接收模式,如果沒接收到上位機(jī)的命令,就測量溫度和濕度,并且判斷是否有鍵按下,如果KEY1鍵按下,就測量溫度并顯示,如果KEY2鍵按下,就測量濕度并顯示,如果沒有鍵按下,則先測溫度再測濕度,但不顯示。其時(shí)序如圖45所示。表45 ROM指令指 令約定代碼功 能讀ROM33H讀DS1820溫度傳感器ROM中的編碼(即64位地址) 符合 ROM55H發(fā)出此命令之后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上與該編碼相對應(yīng)的 DS1820 使之作出響應(yīng),為下一步對該 DS1820 的讀寫作準(zhǔn)備。 讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容 寫暫存器4EH發(fā)出向內(nèi)部RAM的4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和??偩€為低電平,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送響應(yīng)信號后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù)。第一步的制作和調(diào)試第一步制作電源模塊,根據(jù)之前設(shè)計(jì)的電路圖,焊接兩個(gè)這樣的模塊,因?yàn)樵撓到y(tǒng)需要兩種電壓。第五步的制作和調(diào)試第五步要分成兩個(gè)小步驟進(jìn)行。第三,在上位機(jī)中接入報(bào)警電路,當(dāng)上位機(jī)收到下位機(jī)傳送過來的信息值時(shí),將此與限定值比較,根據(jù)情況發(fā)出警報(bào)。所以,必須在按鍵沒有按下的情況下下位機(jī)才能接受上位機(jī)的命令。%,2號下位機(jī)的測溫誤差為177。第6章 總結(jié)為期兩個(gè)多月的畢業(yè)設(shè)計(jì)終于結(jié)束了,在這兩個(gè)多月中我完成了畢業(yè)設(shè)計(jì)課題。此次設(shè)計(jì)的多點(diǎn)糧倉溫濕度的無線監(jiān)測系統(tǒng),其中涉及無線的知識,對于我來說是一個(gè)完全的陌生的領(lǐng)域,在學(xué)習(xí)的過程中,我體驗(yàn)到了一個(gè)知識從無到有,從陌生到熟悉的感覺,為我以后學(xué)習(xí)其他的知識打下了基礎(chǔ),重要的是給了我一次特殊的情感體驗(yàn)。通過對無線知識的理解,我對程序的編寫和PDF重點(diǎn)的把握有了更深的了解,正是完成了無線傳輸,才能讓我的畢業(yè)設(shè)計(jì)更早的完成,并且圓滿的完成。sbit MOSI = P1^2。sbit LED3 = P2^2。//控制按鈕sbit KEY1 = P3^3。sbit CSN = P3^1。上位機(jī)電路原理圖:附錄2 程序上位機(jī)程序:include include typedef unsigned char uchar。我相信這次的設(shè)計(jì)不但是我學(xué)習(xí)生涯中的一次寶貴經(jīng)驗(yàn),更為我以后的學(xué)習(xí)和工作打下了堅(jiān)實(shí)的基礎(chǔ)。設(shè)計(jì)中不僅要求我具有扎實(shí)的理論基礎(chǔ),還需要很強(qiáng)的動(dòng)手能力,善于發(fā)現(xiàn)問題,分析問題,解決問題的思維能力。%,2號下位機(jī)的測濕誤差為177。如果是8位顯示,程序就會(huì)這樣設(shè)計(jì)。 軟硬件功能分析軟硬件的功能實(shí)現(xiàn)本系統(tǒng)下位機(jī)能夠完成實(shí)時(shí)溫濕度測量,能夠接收上位機(jī)的命令和發(fā)送溫濕度信息值給上位機(jī);上位機(jī)也能及時(shí)接收下位機(jī)傳送的信息值,并驅(qū)動(dòng)報(bào)警模塊和顯示電路。若按下KEY1鍵就將信息發(fā)送給1號下位機(jī),1號下位機(jī)接收到信息后再將信息返回給上位機(jī);若按下KEY2鍵就將信息發(fā)送給2號下位機(jī),2號下位機(jī)接收到信息后再將信息返回給上位機(jī)。第二步的制作和調(diào)試第二步是要焊接單片機(jī)最小系統(tǒng)和顯示電路,做完了以后,首先不上電,用萬用表檢查是否有短接、斷接和搭錯(cuò)線路等問題,然后上電檢測。圖48 DHT11通訊的詳細(xì)過程每一bit數(shù)據(jù)都以50us低電平時(shí)隙開始,高電平的長短定了數(shù)據(jù)位是0還是1,具體格式如圖49所示。DHT11的工作時(shí)序用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分?jǐn)?shù)據(jù)。 重調(diào) EEPROM0B8H將EEPROM中內(nèi)容恢復(fù)到RAM中的第3 、4字節(jié)。為操作各器件作好準(zhǔn)備。(1)、初始化;1). 先將數(shù)據(jù)線置高電平1;2). 延時(shí)2ms;3). 數(shù)據(jù)線拉到低電平0;4). 延時(shí)750us(從480us到960us);5). 數(shù)據(jù)線拉到高電平1;6). 延時(shí)等待,如果初始化成功在15到60us時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20返回的低電平0,據(jù)該狀態(tài)可以來確定它的存在,但是不能無限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)判斷;7). 若CPU讀到了數(shù)據(jù)線上的低電平0后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第五步的時(shí)間算起)最少要480us;8). 將數(shù)據(jù)線再次拉高到高電平1后結(jié)束。下位機(jī)的軟件設(shè)計(jì)主要包括三個(gè)部分:軟件總設(shè)計(jì)流程、溫