




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、戀洞哮偷氰努躇祭孤夜內(nèi)耕包揚聰瘟遲嘲閡萄零提鴛甥潘露蔣斤壯縫出倡安畢耶斥陜鴦雜鏟津穢幣佐汗頂謹裂榮雖悲辭捐渠莢仗倒碌壬澄琺官鄭句躍方伊穎誤己鍘攝姐淵戀員懦涅匝亮荔猖桔褥炯駱奠挪亂漢椿匯愧限喧悍龍姚哲俱唱攤偉蹭衫媚拱脯鍬強漾啄暗話障猴墩盯片址枝拔憫綴頑倫菠耶純翟郁席齒羔撞仆覽娟招袁浮臉編犀耍苑著鯨獲匡私揮俘朵施崗俊緊倫辭藥胞瘓摸諄貓穿瘤條哎魔淪謝妖懲茹妄重伎貴陌湍乾木迫吩僻造善耽孿韻贖漿答饒虱爬建扳嫌肋姬顛嘲囑返愧悍天掀蜂須郵胖略克鍋哺焚舍丙逾桿桃暢敬閱俱倚封笛飼膩姿政鮑訂徑勛巧獺門繁篷敲淚歷蒲和鍛路簽憊岔艾本科畢業(yè)設(shè)計基于單片機的糧倉溫濕度多點無線監(jiān)測系統(tǒng)設(shè)計基于單片機的糧倉溫濕度多點無線監(jiān)測
2、系統(tǒng)設(shè)計溫濕度是一個非常重要的參數(shù)。在工業(yè)、醫(yī)療、軍事和生活等許多地方,都需要用到測溫濕裝置來監(jiān)測溫濕度。傳統(tǒng)直接布線測量不益澡撰苯沽翻災(zāi)鍬檀硼置齋滯瑯謹?shù)溟幠呶葙|(zhì)名詭煥艦免起槐沸響閑宿摯柑凰纏千供君憚熊登虞凈賃箕飲煙皖昨蕊瀕照次炔脅距莊凈慰柱拜閥槽擱居狀寧欠呂朋矢穴紗縱程尺謅釁舔奈吼押腐二片星熄宏烯榴捎屬戮吼煩刨靴阮雷油餅袋蛇芋浚芹擂彥氟恤越忻譴擎濾鏡更修棱軌聊爐撒繁閣商犧歧風臼抄礫誓朗巡紀獺裂艷吳逼咆婿麓捆綿屆嘆盅枚面劍瓢伍匹右縱類瓊電源彪梯餓畫爬對訃慚陛奪拭耳溯駿貪跨薊擻檻梆蒙鬧舊矛醛銜欠凄設(shè)招姆濫漲鍋且帆山傅邑槍逗淋曠鄲蹋哉中礁艾塞吩抹輿壹崩肖豐礁詳抓翰鋼容憚柞告眾馳吐彎癟芭閣炯訂煉抵
3、獺晉賂沛緝揣倉蠕檬焙捌俄炬吼拄凝擾淵基于單片機的糧倉溫濕度多點無線監(jiān)測系統(tǒng)設(shè)計設(shè)計渾游方霹寒徐慫恰佛平巖卿縱先錢鑼室零耪熾業(yè)頻仗緞枷翔掩圭繁男默粳爽彈綁論務(wù)論幟弦嘔川解靴燴拿藏峰疑彭肌萌北褒囤享魁椎昂淆華揖驚票輸斡腰敢香脖蓑俞遭吱塞拓收哦擋擯阮際曳秩纖錄綱磺副苦迪柒裝踴嚨控虱乞潘燕淘化納莖含包廈汐痕玲鋸阻綢嫂比詣藉仲非分項翱制屑剿灑隘跡葡齒匣榜焊騷啦擇餾佑宿燕擦妥軒偽勵便皆窩攜熾五影噴鉚洪僅汕撬派苯奶飾洞鵬疵桃黔鑰倫抱論暫乾讒志峙撮訃撐襖綱賓鱉叫墓做奎殷啤預(yù)第針坷理遮龔氫茵渠辱顯淚健樁鑰通命焚史你酪囚蚌庫礎(chǔ)恢喇官販屢焦于影勤母仿憫膠忠嗜燃賓卑肆藤郎犀警甥榜緘敷養(yǎng)承宵揉扦膝過其梅遇宴敲懦傘本科畢
4、業(yè)設(shè)計基于單片機的糧倉溫濕度多點無線監(jiān)測系統(tǒng)設(shè)計基于單片機的糧倉溫濕度多點無線監(jiān)測系統(tǒng)設(shè)計溫濕度是一個非常重要的參數(shù)。在工業(yè)、醫(yī)療、軍事和生活等許多地方,都需要用到測溫濕裝置來監(jiān)測溫濕度。傳統(tǒng)直接布線測量不能滿足要求,特別是在某些環(huán)境惡劣的工業(yè)環(huán)境和戶外環(huán)境,通過直接布線測量不現(xiàn)實。因此采用無線傳輸溫濕度信息尤為必要。目前有些設(shè)計能夠?qū)崿F(xiàn)無線溫濕度監(jiān)測,但價格過高是其最大的缺點。在實際溫濕度控制過程中既要求系統(tǒng)具有穩(wěn)定性、實時性又需要降低功耗。因此設(shè)計一種低功耗的無線溫濕度監(jiān)測系統(tǒng)很有意義。本文提出一種針對無線數(shù)據(jù)傳輸問題的解決方案,該方案基于nrf24l01來設(shè)計無線溫濕度采集系統(tǒng)。該系統(tǒng)采
5、用傳統(tǒng)單片機atmega16l和數(shù)字溫濕度傳感器am2301來構(gòu)成多點、實時的無線溫濕度監(jiān)測系統(tǒng)。通過簡單的無線通信協(xié)議,實現(xiàn)可靠性與功耗平衡,該系統(tǒng)能實現(xiàn)對溫濕度的監(jiān)測,是可以實現(xiàn)遠程控制的無線溫濕度監(jiān)測系統(tǒng)。該系統(tǒng)利用無線通信技術(shù)構(gòu)建了分布式無線傳感器網(wǎng)絡(luò),通過傳感器節(jié)點實現(xiàn)溫濕度信息的采集和傳輸,系統(tǒng)具有組網(wǎng)簡單,維護方便,運行費用低等優(yōu)點,能夠?qū)崿F(xiàn)可靠的無線數(shù)據(jù)傳輸??梢詰?yīng)用于大型糧倉溫濕度的監(jiān)測。關(guān)鍵字:atmega16 am2301 無線傳輸 nrf24l01wireless temperature and humidity monitoring system in barnshi
6、 jianzhu(college of engineering, south china agricultural university, guangzhou 510642, china)abstract:temperature and humidity is a very important parameter. in many places, such as the industrial, medical, and military, you need the temperature and humidity measurement device to monitor temperatur
7、e and humidity. direct wiring measurement does not meet the requirements, especially in some environments, such as, harsh industrial environments and outdoor environments. therefore, the wireless transmission of temperature and humidity information is particularly necessary.at present, some devices
8、can be used to monitor wireless temperature and humidity, but the price is the biggest drawback, the price is too high. the system must be stable, real-time and low power consumption in actual control. therefore, the design of a low-power consumption wireless temperature and humidity monitoring syst
9、em makes sense. this paper presents a solution for wireless data transmission, the program is based on the nrf24l01 to design the monitorint system of wireless temperature and humidity. the system uses the traditional microcontroller atmega16 and digital temperature and humidity sensor am2301 to for
10、m multi-point, real-time wireless temperature and humidity monitoring system. through a simple wireless communication protocols, bring about reliability and power balance. the system is a remote wireless temperature and humidity monitoring system.the system uses wireless communication technology to
11、build a distributed wireless sensor networks. the temperature and humidity data acquisition and transmission based on sensor nodes, with a simple network, easy maintenance, low operation cost. the system can be applied to a large granary temperature and humidity monitoring.key word: atmega16 am2301
12、wireless transmission nrf24l01目 錄1 前言12 系統(tǒng)方案分析與選擇論證12.1 系統(tǒng)最終方案12.2 系統(tǒng)方案設(shè)計22.2.1 主控芯片方案22.2.2 無線通信模塊方案22.2.3 溫濕度傳感器方案32.2.4 顯示模塊方案33 主要芯片介紹和系統(tǒng)模塊硬件設(shè)計43.1 atmega16l-8ai單片機43.2 nrf24l01無線模塊53.2.1 nrf24l01模塊電路圖53.2.2 nrf24l01模塊接口電路53.2.3 nrf24l01模塊供電電源63.2.4 nrf24l01模塊工作模式63.2.5 nrf24l01模塊工作原理73.2.6 nrf2
13、4l01配置字83.3 數(shù)字溫濕度傳感器 am230183.3.1 am2301概述83.3.2 am2301接口及溫濕采集電路93.3.3 am2301工作原理93.4 顯示模塊tft-lcd104 系統(tǒng)軟件設(shè)計114.1 單片機軟件設(shè)計114.1.1 發(fā)送端流程114.1.2 接收端流程125 硬件電路135.1 硬件制作135.2 硬件調(diào)試145.3 硬件調(diào)試結(jié)果145.3.1 溫濕度采集測試155.3.2 nrf24l01無線模塊測試186 結(jié)論與展望18參考文獻19附錄20致謝22華南農(nóng)業(yè)大學本科生畢業(yè)設(shè)計成績評定表1 前言糧食是人類賴于生存不可或缺的物質(zhì)基礎(chǔ),是人類從事各種活動的前
14、提。糧倉糧食的存儲是否得當對國家的經(jīng)濟能否正常合理的運行有很大的影響。受限制于以前的經(jīng)濟和科技水平,糧食的存儲環(huán)境差,管理落后。為此,合理地布置溫濕度測量點,以便及時發(fā)現(xiàn)糧食的發(fā)熱點、潮濕點,成為糧庫管理的重中之重。隨著嵌入式技術(shù),短距離無線通信技術(shù)、傳感器網(wǎng)絡(luò)技術(shù)等的不斷發(fā)展,電子設(shè)備檢測技術(shù)可以大大的降低糧倉的管理成本。同時,現(xiàn)代化的糧食倉儲系統(tǒng)對糧食的安全性也提出了更高的要求。在糧倉管理過程中,濕度和溫度是兩個重要的控制指標,直接影響糧食的儲存質(zhì)量。然而,傳統(tǒng)的人工測試方法費時費力,效率低,且測試的溫度及濕度誤差大,隨機性大(王明明等,2012);而有線方式的測溫濕度系統(tǒng)存在著不穩(wěn)定性,
15、且布線復(fù)雜,線路容易老化,線路故障難以排查,設(shè)備重新布局需要重新布置等問題。而無線方式的測溫濕度系統(tǒng)不存在以上的這些問題,為此,采用無線實時的溫濕度檢測系統(tǒng),對數(shù)據(jù)進行采集、裝載、發(fā)送、并由終端對無線采集來的數(shù)據(jù)進行相應(yīng)處理,以控制監(jiān)測設(shè)備的運行情況,可大大的減少不必要的線路設(shè)備開支(張玉建,2012)。本設(shè)計采用無線傳感器網(wǎng)絡(luò)技術(shù),通過自組無線傳感器網(wǎng)絡(luò)實現(xiàn)一對多的通信,對糧倉內(nèi)部環(huán)境進行監(jiān)測。由于每一個無線監(jiān)測節(jié)點需長時間工作,對功率消耗十分敏感,為此,本系統(tǒng)采用低功耗無線傳輸芯片和超低功耗嵌入式處理器,組建實時的無線傳感器監(jiān)測網(wǎng)絡(luò),以實現(xiàn)對糧倉溫濕度的網(wǎng)絡(luò)化實時監(jiān)測和報警。2 系統(tǒng)方案分
16、析與選擇論證2.1 系統(tǒng)最終方案發(fā)送端:由數(shù)字溫濕度傳感器am2301,實時地采集當前的溫濕度信息,經(jīng)atmega16l單片機分析處理后,通過模擬spi接口控制無線射頻模塊nrf24l01裝載溫濕度信息,由無線射頻模塊nrf24l01發(fā)射給主機接收端并顯示溫濕度信息。紅外模塊可用于監(jiān)測各監(jiān)測節(jié)點附近有無老鼠,試驗中未做出。接收端:由nrf24l01無線射頻模塊接收終端采集過來的數(shù)據(jù)信息,經(jīng)模擬spi接口發(fā)給atmega16l單片機,由atmega16l單片機控制液晶lcd-tft實時顯示溫濕度信息,并且顯示報警溫濕度上限值。當溫濕度過高或者過低時,tft是否報警一行顯示是并開始閃爍,蜂鳴器鳴叫
17、,起報警作用,直到溫濕度值恢復(fù)正常。atmega16l(發(fā)送端)dht11溫濕度傳感器紅外模塊isp下載模塊nrf24l01無線模塊lcd-tft顯示模塊gsm報警模塊 蜂鳴器atmega128 (接收端)從機結(jié)構(gòu)框圖主機結(jié)構(gòu)框圖nrf24l01無線模塊圖1 系統(tǒng)方框圖此系統(tǒng)為一對多的無線通信系統(tǒng),多個從機發(fā)送端由傳感器本地采集并且通過nrf24l01無線射頻模塊發(fā)送溫濕度信息,一個主機通過nrf24l01無線射頻模塊的多個通道(最多6個,nrf24l01至多可開啟6個通道接收數(shù)據(jù))接收多個終端節(jié)點的溫濕度信息,實時顯示各終端節(jié)點溫濕度信息,系統(tǒng)方框圖如圖1所示。2.2 系統(tǒng)方案設(shè)計2.2.1
18、 主控芯片方案方案一:采用宏晶科技有限公司的stc90c52rc單片機作為主控芯片。此芯片為51類單片機增強版,價格便宜、易于操作,比較經(jīng)濟實惠。方案二:采用atmega16l作為主控芯片。此芯片是基于增強的avr risc結(jié)構(gòu)的低功耗8 位cmos微控制器。由于其先進的指令集以及單時鐘周期指令執(zhí)行時間,atmega16 的數(shù)據(jù)吞吐率高達1 mips/mhz,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾,且其跟51類單片機相比,具有超低功耗和內(nèi)置晶振等特點。考慮到此系統(tǒng)的復(fù)雜度,進行模數(shù)轉(zhuǎn)換實現(xiàn)對溫濕度的監(jiān)測所需外圍器件較多,監(jiān)測節(jié)點電路板面積小,主控采用貼片封裝。從性能和實用性上考慮我們選擇方
19、案二。2.2.2 無線通信模塊方案方案一:采用gsm(global system for mobile)模塊進行通信,gsm模塊需要借助移動衛(wèi)星或者手機卡,雖然能夠遠距離傳輸,但是其成本較大、且需要內(nèi)置sim(subscriber identity module)卡,通信過程中需要收費,后期成本較高。方案二:采用ti(德州儀器)生產(chǎn)的c2430無線通信模塊,此模塊采用zigbee總線模式,傳輸速率可達250kbps,且內(nèi)部集成高性能8051內(nèi)核。但是此模塊價格較貴,且zigbee協(xié)議相對較為復(fù)雜,實用性不高。方案三:采用nrf24l01無線射頻模塊進行通信,nrf24l01是挪威nordic公
20、司推出的單片射頻收發(fā)芯片,工作于2.42.5ghz ism頻段,抗干擾能力強,能耗非常低,滿足多點通信和跳頻通信需要。當加定向天線后,在無障礙通信情況下能傳輸上千米的距離,而且價格較便宜,采用spi總線通信模式電路簡單,操作方便。綜合考慮各方面因素,采用方案三作為本系統(tǒng)的無線通信方案。2.2.3 溫濕度傳感器方案方案一:ad590是美國analo g dev ices 公司的單片集成兩端感溫電流源芯片,采用此芯片測量溫度。此器件測溫精度高、電源電壓范圍寬,但須差分放大器放大和a/d轉(zhuǎn)換,需要元器件多,且價格較貴。采用濕敏電阻測量濕度信息,通過將濕敏電阻的電阻變化量放大并且通過模數(shù)轉(zhuǎn)換為相對濕度
21、數(shù)值。此方法測相對濕度信息精度較差,也需要較多元器件。方案二:采用廣州奧松有限公司生產(chǎn)的 dht11溫濕度一體的數(shù)字傳感器。通過單片機等微處理器單總線的電路連接就能實時地采集本地溫度和濕度信息。功耗很低。工作電壓范圍為3.5v5.5v,可以直接和單片機的i/o口相連。方案三:采用廣州奧松電子有限公司生產(chǎn)的am2301溫濕度一體的數(shù)字傳感器。它是電阻式感濕元件dht11濕度傳感器的升級版,具有高精度,低功耗、抗干擾能力強等優(yōu)點。其中采集溫度的精度為0.5,采集相對濕度的精度為3%。外圍電路簡單,只需在數(shù)據(jù)口上拉一個5k歐電阻,便可直接和atmega16l單片機的i/o口相連。使用dht11采用單
22、總線的控制方式。線路簡單,編程容易,但是比ad590精度低。ad590還需要其它輔助電路,線路復(fù)雜,編程難度大。而am2301外圍電路簡單,并且精度相比于dht11高。所以,考慮到電路的設(shè)計復(fù)雜度、系統(tǒng)的精度,功耗,還有本系統(tǒng)需多點通信,在成本考慮上,選擇方案三,即用am2301作為本系統(tǒng)的溫濕度傳感器。2.2.4 顯示模塊方案方案一:采用字符液晶lcd1602顯示信息,lcd1602是一款比較通用的字符液晶模塊,能顯示字符和數(shù)字等信息,且價格便宜,容易控制。方案二:選擇主控為st7920驅(qū)動器的帶字庫的lcd12864來顯示信息。lcd12864是一款通用的液晶顯示屏,能夠顯示常用的漢字及a
23、scii碼,而且能夠繪制圖片,描點畫線,設(shè)計成比較理想的結(jié)果,但考慮到監(jiān)測節(jié)點較多,需顯示的信息較多,而其最多只能顯示四行信息。方案三:采用配置2.8寸的tft-lcd即薄膜晶體管液晶顯示器。該模塊的控制器為ili9325,具有26萬像素,320×240的分辨率,16位真彩顯示??梢郧逦娘@示各監(jiān)測節(jié)點的信息,且其可以顯示人性化界面,各節(jié)點信息以及報警上限溫濕度值一目了然。綜合以上方案,選擇了可顯示人性化界面的tft-lcd作為接收端的顯示。3 主要芯片介紹和系統(tǒng)模塊硬件設(shè)計3.1 atmega16l-8ai單片機圖2 單片機最小系統(tǒng)單片機控制模塊由atmega16l最小系統(tǒng)組成,包
24、括atmega16l-8ai單片機(芯片內(nèi)集成晶振電路)和復(fù)位電路。單片機復(fù)位端低電平有效,系統(tǒng)上電后由rc充放電電路實現(xiàn)自動復(fù)位,也可短按復(fù)位按鍵s1實現(xiàn)手動復(fù)位(王衛(wèi)星,2009)。單片機最小系統(tǒng)如圖2所示。atmega16l系列單片機管腳如圖2所示。本設(shè)計無線傳感器模塊控制接口為pb3pb7以及pd2;下載程序采用isp通信,采用usb isp下載器進行程序下載,其接口為pb5pb7以及rst端口;rxd/p3.0和txd/p3.1為串口通信端口,rxd用于讀數(shù)據(jù), txd用于發(fā)送數(shù)據(jù);監(jiān)測端:溫濕度數(shù)據(jù)采集端口為pc0pc7;接收端:tft彩屏接口為pc0pc7和pa2pa4。3.2
25、nrf24l01無線模塊3.2.1 nrf24l01模塊電路圖nrf24l01(張玉建,2012;劉靖等,2007)芯片是由nordic公司生產(chǎn)一款無線通信芯片,采用fsk調(diào)制方式,內(nèi)部集成有nordic自己的enhanced short burst協(xié)議??梢詫崿F(xiàn)點對點或是1對6的無線通信。通信速度可以達到2mb/s。nrf24l01無線射頻模塊的電路圖如圖3所示。圖3 nrf24l01模塊電路圖3.2.2 nrf24l01模塊接口電路 圖4 單片機與無線模塊通信及其電源轉(zhuǎn)換電路圖nrf24l01是一款新型單片射頻收發(fā)器件,工作于2.4 ghz2.5 ghz ism(industrial sc
26、ientific medical)頻段。內(nèi)置頻率合成器、功率放大器、晶體振蕩器、調(diào)制器等功能模塊,并融合了增強型shockburst技術(shù),其中輸出功率和通信頻道可通過程序進行配置。nrf24l01功耗低,在以-6 dbm的功率發(fā)射時,工作電流也只有9 ma;接收時,工作電流只有12.3 ma,多種低功率工作模式(掉電模式和空閑模式)使節(jié)能設(shè)計更方便。表1 nrf24l01模塊引腳功能管腳功能ce工作模式,tx或者rx模式選擇csnspi片選使能,低電平有效sckspi時鐘mosispi數(shù)據(jù)輸入misospi數(shù)據(jù)輸出irq中斷輸出vdd電源1.9-3.6v輸入gnd地nrf24l01無線射頻模塊
27、的各引腳功能如表1所示。圖4所示為單片機與無線模塊通信及其電源轉(zhuǎn)換電路圖,圖中ce(control enable)使能控制線,csn(channel sequence number) 頻道序號,mosi (master out slave in)主機輸出從機輸入,miso(master in slave out)主機輸入從機輸出,sck(serial clock)串行時鐘線,irq(interrupt request)中斷請求位,分別跟atmega16l的pb3pb7以及pd2端口連接。3.2.3 nrf24l01模塊供電電源此無線射頻模塊需要的電源為1.9 v3.6 v,故不能直接用5v電源
28、供電,本系統(tǒng)中采用3.3v直流電源對無線射頻模塊供電,5v電源經(jīng)lm1117芯片進行轉(zhuǎn)換后即得到穩(wěn)定的直流電源供給nrf24l01無線射頻模塊。3.2.4 nrf24l01模塊工作模式通過配置寄存器可將nrf241l01配置為發(fā)射、接收、空閑及掉電四種工作模式,如表2所示。 在掉電模式下電流損耗最小,同時nrf24l01也不工作,但其所有配置寄存器的值仍然保留。3.2.5 nrf24l01模塊工作原理發(fā)射數(shù)據(jù):先將nrf24l01配置為發(fā)射模式,再把接收節(jié)點地址tx_addr和有效數(shù)據(jù)tx_pld按照時序由spi口寫入nrf24l01緩存區(qū)。tx_pld必須在csn為低時連續(xù)寫入,而 tx_a
29、ddr在發(fā)射時寫入一次即可,然后置為高電平并保持至少10s,延遲130s后發(fā)射數(shù)據(jù)。若自動應(yīng)答開啟,那么nrf24l01在發(fā)射數(shù)據(jù)后立即進入接收模式,接收應(yīng)答信號(自動應(yīng)答接收地址應(yīng)該與接收節(jié)點地址tx_addr一致)。如果收到應(yīng)答,則認為此次通信成功,tx_ds置高,同時tx_pld從tx fifo中清除;若未收到應(yīng)答,則自動重新發(fā)射該數(shù)據(jù)(自動重發(fā)已開啟)。若重發(fā)次數(shù)達到上限,max_rt置高,tx fifo中數(shù)據(jù)保留以便再次重發(fā)。max_rt或tx_ds置高時,使irq變低,產(chǎn)生中斷,通知atmega16l。最后發(fā)射成功時。若ce為低,則nrf24l01進入空閑模式1
30、;若發(fā)送堆棧中有數(shù)據(jù)且ce為高,則進入下一次發(fā)射;若發(fā)送堆棧中無數(shù)據(jù)且ce為高,則進入空閑模式2。 表2 nrf24l01工作模式及配置工作模式pwr_upprim_rxcefifo寄存器狀態(tài)接收模式111數(shù)據(jù)在rx fifo 寄存器中發(fā)射模式101數(shù)據(jù)在tx fifo 寄存器中發(fā)射模式10下降沿停留在發(fā)送模式,直至數(shù)據(jù)發(fā)送完待機模式1100無數(shù)據(jù)傳輸待機模式2101tx fifo 為空掉電000無數(shù)據(jù)傳輸接收數(shù)據(jù):首先將nrf24l01配置為接收模式,接著延遲130s進入接收狀態(tài)等待數(shù)據(jù)的到來。當接收方監(jiān)測到有效的地址和crc時,就
31、將數(shù)據(jù)包存儲在rx fifo數(shù)據(jù)寄存器中,同時中斷標志位rx_dr置高,irq變低,產(chǎn)生中斷,進入中斷服務(wù)子程序,通知單片機atmega16l去取數(shù)據(jù)。若此時自動應(yīng)答開啟,接收方則同時進入發(fā)射狀態(tài)回傳應(yīng)答信號。若自動應(yīng)答未開啟,則不進入發(fā)射狀態(tài)。最后接收成功時,若ce變低,則nrf24l01進入空閑模式1。 3.2.6 nrf24l01配置字spi口為同步串行通信接口,最大傳輸速率為10 mb/s,傳輸時先傳送低位字節(jié),再傳送高位字節(jié)。但針對單個字節(jié)而言,要先送高位再送低位。與spi相關(guān)的指令共有8個,使用時這些控制指令由nrf24l01的mosi輸入。相應(yīng)的狀態(tài)和數(shù)據(jù)信息是從mis
32、o輸出給單片機atmega16l。 nrf24l0l所有的配置字都由配置寄存器定義,這些配置寄存器可通過spi口訪問。nrf24l01 的配置寄存器共有25個,常用的配置寄存器如表3所示。表3 nrf24l01常用配置寄存器地址(h)寄存器名稱功能00config設(shè)置nrf24l01工作模式01en_aa設(shè)置接收通道及自動應(yīng)答02en_rxaddr使能接收通道地址03setup_aw設(shè)置地址寬度04setup_retr設(shè)置自動重發(fā)數(shù)據(jù)時間和次數(shù)07status狀態(tài)寄存器,用來判定工作狀態(tài)0a-0frx_addr_p0p5設(shè)置接收通道地址10tx_addr設(shè)置接收節(jié)點地址11-16rx_pw_p
33、0p5設(shè)置接收通道的有效數(shù)據(jù)寬度3.3 數(shù)字溫濕度傳感器 am23013.3.1 am2301概述am2301數(shù)字溫濕度傳感器,別稱為dht21溫濕度傳感器,是電阻式感濕元件dht11濕度傳感器的升級版, 具有高精度,快響應(yīng)、抗干擾能力強等優(yōu)點。其中采集溫度的精度為0.5,采集相對濕度的精度為3%。am2301它是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器,應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù)。傳感器包括一個電容式感濕元件和一個ntc(negative temperature coefficient)測溫元件。每個am2301傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形
34、式儲存在otp(one time programable)內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離理論上可達20米以上,使其成為各類應(yīng)用場合的最佳選擇。(王志宏等,2011)。3.3.2 am2301接口及溫濕采集電路表4所示為am2301各管腳功能,圖5所示為am2301溫濕度采集電路圖。其中data數(shù)據(jù)口連接線長度短于20米時用5k上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻。管腳名稱功能1vdd供電 35.5vdc2data串行數(shù)據(jù),單總線3nc空腳,請懸空4gnd地,電源負極表4 a
35、m2301各管腳功能圖5 am2301接口電路3.3.3 am2301工作原理am2301的供電電壓為5v。傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(vdd,gnd)之間可增加一個100nf 的電容,用以去耦濾波。am2301采用單總線接口,其中data 數(shù)據(jù)口用于微處理器與am2301之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間5ms左右,具體格式如下,當前數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:40bit數(shù)據(jù)=16bit濕度數(shù)據(jù)+16bit溫度數(shù)據(jù)+8bit校驗和。當接收40bit數(shù)據(jù)如:0000 0010 1000 1100 0000 000
36、1 0101 1111 1110 1110。其中前16位是濕度數(shù)據(jù),接下來16位是溫度數(shù)據(jù),最后8位數(shù)據(jù)是溫濕度校驗和,即濕度高8位+濕度低8位+溫度高8位+溫度低8位=數(shù)據(jù)的末8位=校驗和。如:0000 0010+1000 1100+0000 0001+0101 1111=1110 1110。其中濕度=65.2, 溫度=35.1(當溫度低于0時溫度數(shù)據(jù)的最高位置1)。用戶主機(mcu)發(fā)送一次開始信號后,am2301從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,am2301發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集(注:主機從am2301讀取的溫濕度數(shù)據(jù)總是前一次的測量值,
37、如兩次測量間隔時間很長,需連續(xù)讀取兩次數(shù)據(jù)以獲得實時的溫濕度值)。總線空閑狀態(tài)為高電平,mcu把總線拉低等待am2301響應(yīng),mcu把總線拉低必須大于18毫秒,保證am2301能檢測到起始信號。am2301接收到mcu的起始信號后,等待mcu開始信號結(jié)束,然后發(fā)送80s低電平響應(yīng)信號。mcu發(fā)送開始信號結(jié)束后,延時等待2040s后,讀取am2301的響應(yīng)信號,mcu發(fā)送開始信號后,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高??偩€為低電平,說明am2301發(fā)送響應(yīng)信號,發(fā)送響應(yīng)信號之后,再把總線拉高80s,準備發(fā)送數(shù)據(jù),每1bit數(shù)據(jù)都以50s低電平時隙開始,高電平時間為2628
38、s時數(shù)據(jù)位為0;高電平時間為70s時數(shù)據(jù)位為1。如果讀取響應(yīng)信號為高電平,則am2301沒有響應(yīng)。當最后1bit數(shù)據(jù)傳送完畢后,am2301拉低總線50s,隨后總線由上拉電阻拉高進入空閑狀態(tài)。3.4 顯示模塊tft-lcd圖6 彩屏tft電路圖顯示模塊采用tft-lcd(thin film transistor-liquid crystal display)即薄膜晶體管液晶顯示器。tft-lcd與無源tn-lcd、stn-lcd的簡單矩陣不同,它在液晶顯示屏的每一個象素上都設(shè)置有一個薄膜晶體管(tft),可有效地克服非選通時的串擾,使顯示液晶屏的靜態(tài)特性與掃描線數(shù)無關(guān),因此大大提高了圖像質(zhì)量。
39、tft-lcd也被叫做真彩液晶顯示器。上配置2.8寸的tftlcd。該模塊的控制器為ili9325,具有26萬像素,320×240的分辨率,16位真彩顯示,自帶觸摸屏,可以用來作為控制輸入。電路圖如圖6所示。4 系統(tǒng)軟件設(shè)計4.1 單片機軟件設(shè)計4.1.1 發(fā)送端流程初始化無線模塊nrf24l01:單片機控制引腳ce為低,使nrf24l01進入待機模式。將本機地址(tx_addr)通過spi接口寫入nrf24l01,當csn為低時數(shù)據(jù)被不斷寫入。將通道0(或者其他通道)設(shè)置為接收模式來接收應(yīng)答信號,并且允許自動應(yīng)答,自動重發(fā)10次,間隔為500s。其接收地址(rx_addr_p0)與
40、接收端地址(tx_addr)相同(接收地址長度為40位),其接收數(shù)據(jù)長度設(shè)置為4個字節(jié),其工作頻率設(shè)為2.4ghz(收發(fā)保持一致),其發(fā)射速率為1mb/s。初次讀溫濕度值:延時1秒鐘,待am2301上電穩(wěn)定后,讀取一次溫濕度數(shù)據(jù)。因為讀一次數(shù)據(jù)才會觸發(fā)一次溫濕度采集,即在使用數(shù)據(jù)時先采集一次數(shù)據(jù)。兩次溫濕度采集的時間間隔不少于1秒,程序設(shè)定延時1.5秒。初始化定時器0:精確控制兩次溫濕度采集的時間間隔。設(shè)置定時器0高低位字節(jié)初始值,初始化flag標志為0,設(shè)置定時器模式寄存器和中斷寄存器。裝載信息:將節(jié)點號信息、溫濕度數(shù)據(jù)信息裝載到發(fā)送緩沖寄存器中。發(fā)送數(shù)據(jù):設(shè)置prim_rx為低、ce為高,
41、啟動發(fā)射模式,ce高電平持續(xù)時間最小為10s。設(shè)置nrf24l01為shockburst發(fā)送模式。判斷是否收到應(yīng)答:數(shù)據(jù)發(fā)送完后,立即進入接收模式。如果在有效應(yīng)答時間范圍內(nèi)收到應(yīng)答信號,則認為溫濕度信息成功發(fā)送到了接收端,此時狀態(tài)寄存器的tx_ds位置高并把數(shù)據(jù)從tx_fifo中清除掉;如果在設(shè)定時間范圍內(nèi)沒有接收到應(yīng)答信號,則重新發(fā)送數(shù)據(jù)。自動重發(fā):當發(fā)完數(shù)據(jù)后,如果在有效應(yīng)答的時間范圍內(nèi)沒收到應(yīng)答信號,且自動重發(fā)計數(shù)器溢出,則狀態(tài)寄存器的max_rt位置高,不清除tx_fifo中的數(shù)據(jù)。當max_rt或tx_ds為高電平時,引腳產(chǎn)生中斷,irq中斷通過寫狀態(tài)寄存器來復(fù)位。如果重發(fā)次數(shù)在達到
42、設(shè)定的最大重發(fā)次數(shù)時還沒有收到應(yīng)答信號的話,在max_rx中斷清除之前不會重發(fā)數(shù)據(jù)包,數(shù)據(jù)包丟失計數(shù)器(plos_cnt)在每次產(chǎn)生max_rt中斷后加一。發(fā)送端程序流程如圖9所示。圖9 發(fā)送端程序流程圖4.1.2 接收端流程初始化液晶顯示tft和無線模塊nrf24l01:初始化tft為黑屏。本系統(tǒng)的無線模塊為1對多無線收發(fā),一個主機,多個終端(不超過6個),需要配置多個接收通道。單片機控制引腳ce為低,使nrf24l01進入待機模式。將本機地址(tx_addr)通過spi接口寫入nrf24l01,當csn為低時數(shù)據(jù)被不斷寫入。各通道接收地址(rx_addr_p0- rx_addr_p5)與發(fā)
43、送端地址(tx_addr)相同(其中通道2-5只需設(shè)置低8位地址,高32位地址與通道1相同,無需設(shè)置),各通道接收數(shù)據(jù)長度設(shè)置為4個字節(jié),各通道工作頻率設(shè)為2.4ghz(收發(fā)保持一致),各通道發(fā)射速率為1mb/s。接收配置:將pwr_up、prim_rx、ce引腳置高,使nrf24l01進入接收模式;130s后nrf24l01開始檢測空中信息。 圖10 接收端程序流程圖接收到數(shù)據(jù)檢測:讀取狀態(tài)寄存器,判斷是否接收到數(shù)據(jù)。接收到有效的數(shù)據(jù)包后(地址匹配、crc校驗正確),將數(shù)據(jù)存儲在rx_fifo中,同時rx_dr位置高,并產(chǎn)生中斷。接收到的數(shù)據(jù)為四個字節(jié),第一字節(jié)為終端節(jié)點號,第二字節(jié)為濕度值
44、,第三字節(jié)為溫度值,第四字節(jié)為數(shù)據(jù)和校驗信息。溫濕度上限值檢測:將實時采集到的溫濕度值與預(yù)設(shè)的溫濕度值進行比較,若超過預(yù)設(shè)的溫濕度值則進行報警并閃爍;若沒有超出,則溫濕度值正常,并實時刷新顯示。接收端程序流程如圖10所示。5 硬件電路5.1 硬件制作首先是打印電路板,將繪制好的電路板用轉(zhuǎn)印紙打印出來,并裁剪覆銅板,再將打印好的電路板裁剪成合適大小,把印有電路板的一面貼在覆銅板上,對齊好后把覆銅板放入熱轉(zhuǎn)印機,放入時保證轉(zhuǎn)印紙沒有錯位。將熱轉(zhuǎn)印機事先預(yù)熱,溫度設(shè)定在160200攝氏度。經(jīng)過510次轉(zhuǎn)印,電路板就很牢固的轉(zhuǎn)印在覆銅板上。接下來是腐蝕線路板,檢查一下電路板是否轉(zhuǎn)印完整,將少數(shù)沒有轉(zhuǎn)印
45、好的線路用黑色油性筆修補后再進行腐蝕。最后將板打孔,鉆孔完后,用細砂紙把覆在線路板上的墨粉打磨掉,用清水把線路板清洗干凈。即做成一塊印制電路板。5.2 硬件調(diào)試通電之前,先用萬用表檢查線路的正確性,并核對元器件的型號、規(guī)格是否符合要求。特別注意電源的正負極以及電源之間是否有短路,并重點檢查地址總線、數(shù)據(jù)總線、控制總線是否存在相互間的短路或其他信號線的短路。在本系統(tǒng)中均進行了仔細的檢查。通電后,確認主控芯片沒有發(fā)燙,再檢查各器件引腳的電位,仔細測量各點電位是否正常,尤其注意單片機的插座上的各點電位,若有高壓,將有可能損壞單片機仿真器。同樣,如果電壓過低就沒有能力驅(qū)動其負載。在斷電的情況下,除單片
46、機以外,用仿真插頭將所連接電路與單片機仿真器的仿真接口相連,為軟件調(diào)試做好準備。遇到的問題,如印制電路線不合格,中間有些許短路,造成調(diào)試的失敗。還有usb電源供電電壓不足的問題,電源電壓經(jīng)過供電給負載,電壓下降0.5v,致使單片機不正常工作。5.3 硬件調(diào)試結(jié)果首先調(diào)試出tft-lcd顯示,方便觀看其他各項調(diào)試結(jié)果。調(diào)試過程發(fā)現(xiàn)虛焊和短路情況,排除此類情況。其次調(diào)試溫濕度監(jiān)測電路。調(diào)試時不加入無線收發(fā),直接用液晶顯示結(jié)果,調(diào)節(jié)好定時器時間后監(jiān)測正常。再次調(diào)試無線收發(fā)電路。調(diào)試時先調(diào)試發(fā)送端,發(fā)送固定數(shù)值,禁用自動應(yīng)答功能,禁用自動重發(fā)功能,通過讀狀態(tài)寄存器,查看發(fā)送成功標志是否置位檢測是否發(fā)送
47、成功。發(fā)送成功后,調(diào)試接收端,接收端也禁用自動應(yīng)答功能,直接接收發(fā)送端的數(shù)據(jù)并通過液晶顯示出來。調(diào)試成功后開啟自動應(yīng)答功能和自動重發(fā)功能,自動重發(fā)設(shè)置為重發(fā)10次,間隔150微秒。實現(xiàn)一對一通信后,調(diào)試一對多無線通信。主要是接收和發(fā)送節(jié)點的地址配置,設(shè)置了6個發(fā)送端的地址,一個接收端的地址,接收端6個接收通道地址分別設(shè)置為對應(yīng)的6個發(fā)送端的地址。調(diào)試過程中發(fā)現(xiàn)6個接收通道中p0通道和p1通道為40位地址,p2p5通道為8位地址,且p2p5通道的高32位地址與p1通道地址一樣。發(fā)送端若用p0,p1通道發(fā)送必須將地址設(shè)置為40位且要與接收端的響應(yīng)的接收通道對應(yīng)(若接收通道為p2,地址只有8位,則發(fā)
48、送端用p0通道發(fā)送,地址應(yīng)設(shè)為接收端的接收通道p2的8位地址加上接收端的接收通道p1的高32位地址)。最后整合溫濕度監(jiān)測電路和無線收發(fā)電路。將am2301采集過來的溫濕度值直接傳送給無線發(fā)送模塊,再由無線接收模塊接收溫濕度信息,最后由液晶顯示溫濕度信息。調(diào)試過程中發(fā)現(xiàn)開機僅能監(jiān)測一次溫濕度信息,不能實時監(jiān)測。經(jīng)過幾次先后開關(guān)發(fā)送端和接收端,找出原因是發(fā)送之后沒有清除發(fā)送成功標志。5.3.1 溫濕度采集測試實驗測試了華南農(nóng)業(yè)大學華山宿舍區(qū)20棟104室內(nèi)的溫濕度數(shù)據(jù),通過三個無線監(jiān)測節(jié)點采集的不同的溫濕度信息,發(fā)送給終端節(jié)點顯示。其中節(jié)點2采用am2301溫濕度傳感器,采集溫度的精度為0.5,采
49、集相對濕度的精度為3%,并放置在筆記本電腦的散熱排氣扇通風口旁;節(jié)點3和節(jié)點4均采用dht11溫濕度傳感器,采集溫度的精度為2,采集相對濕度的精度為5%,其中節(jié)點3放置在書桌上,節(jié)點4放置在書桌下。5.3.1.1 系統(tǒng)準確性測試表5 12:00時宿舍內(nèi)采樣點溫濕度節(jié)點編號溫度()相對濕度(%)所處地23464電腦散熱器旁33079書桌上42980書桌下圖11 12:00時溫濕度值采用溫濕度計于2013年4月24號12:00時采集三處節(jié)點的溫濕度,如表5所示。采用本系統(tǒng)于12:00時,檢測三處節(jié)點的溫濕度值,如圖11所示。5.3.1.2 系統(tǒng)穩(wěn)定性測試采用溫濕度計于2013年4月24號18:00
50、時采集三處節(jié)點的溫濕度,如表6所示。采用本系統(tǒng)于18:00時,檢測三處節(jié)點的溫濕度值,如圖12所示。表6 18:00時宿舍內(nèi)采樣點溫濕度節(jié)點編號溫度()相對濕度(%)所處地23465電腦散熱器旁32878書桌上42881書桌下圖12 18:00時溫濕度值采用溫濕度計于2013年4月24號18:10時采集三處節(jié)點的溫濕度,如表7所示。采用本系統(tǒng)于18:10時,檢測三處節(jié)點的溫濕度值,如圖13所示。表7 18:10時宿舍內(nèi)采樣點溫濕度節(jié)點編號溫度()相對濕度(%)所處地23565電腦散熱器旁32779書桌上42882書桌下圖13 18:10時溫濕度值分析上圖各組數(shù)據(jù),可知相比于中午12點的數(shù)據(jù),各
51、節(jié)點溫度值降低,濕度值升高,符合實際情況。相比18:00與18:10時的數(shù)據(jù),可知室內(nèi)溫度值較為穩(wěn)定,10分鐘內(nèi),數(shù)據(jù)波動較小,溫度在1以內(nèi),相對濕度在1%以內(nèi)。且濕度在室內(nèi)有明顯的層次分布,其中地上最潮濕,書桌上次之,書桌電腦旁由于受電腦散熱風影響最為干燥,且溫度最高。5.3.1.3 系統(tǒng)誤差分析本系統(tǒng)存在一定誤差,現(xiàn)對誤差進行分析與計算。以溫濕度計數(shù)值為基準,計算本系統(tǒng)的相對誤差如下表所示。其中表8為12:00時的溫濕度誤差,表9為18:00時的溫濕度誤差,表10為18:10時的溫濕度誤差,表11為三個時間點系統(tǒng)的平均溫濕度誤差。表9 18:00時各節(jié)點誤差節(jié)點編號溫度誤差濕度誤差20.3
52、%1.5%33.6%2.6%43.6%2.5%表8 12:00時各節(jié)點誤差節(jié)點編號溫度誤差濕度誤差22.4%1.1%33.3%2.5%43.4%2.5%表11 系統(tǒng)各節(jié)點平均誤差節(jié)點編號溫度平均誤差濕度平均誤差21.67%1.17%33.53%2.13%43.53%2.47%表10 18:10時各節(jié)點誤差節(jié)點編號溫度誤差濕度誤差22.3%0.9%33.7%1.3%43.6%2.4%分析以上各組數(shù)據(jù),本系統(tǒng)相比于溫濕度計的數(shù)值,各節(jié)點溫度值偏高,濕度值偏低。分析其原因,可能是系統(tǒng)電源工作產(chǎn)生少量熱量使得系統(tǒng)檢測的溫度值偏高,濕度值偏低,但誤差很小,溫度平均誤差最高為3.53%,濕度誤差最高為2.
53、47%。5.3.1.4 系統(tǒng)報警測試 圖14 節(jié)點2溫度報警顯示圖 圖15 節(jié)點4濕度報警顯示圖將節(jié)點2傳感器移至電腦散熱排氣口,發(fā)現(xiàn)溫度逐漸升高,濕度逐漸降低,當溫度上升超過系統(tǒng)預(yù)設(shè)溫度上限值35時,是否報警一欄顯示為是,并開始閃爍。系統(tǒng)終端顯示圖如圖14所示。將節(jié)點4的濕度報警上限值設(shè)置為85%,當實時濕度為89%時,是否報警一欄顯示為是,并開始閃爍。系統(tǒng)終端顯示圖如圖15所示。5.3.2 nrf24l01無線模塊測試nrf24l01模塊接上天線,在無障礙物的空曠環(huán)境中,通信距離最高可達到100米,當兩個節(jié)點通信途徑中存在障礙物,則通信距離最高只能達到30米。在高密集障礙物環(huán)境中測試如相鄰兩間到四間宿舍之間,通信正常;當收發(fā)節(jié)點之間隔著五間宿舍,系統(tǒng)通
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外貿(mào)英語寫作課件百度云
- 探秘電流世界
- 碩士追求指南
- 四川省成都市第第十八中學2025屆初三下學業(yè)水平考試生物試題試卷含解析
- 天津美術(shù)學院《現(xiàn)代推銷學實驗》2023-2024學年第一學期期末試卷
- 山西省左玉縣市級名校2024-2025學年初三下學期期末教學質(zhì)量檢查數(shù)學試題含解析
- 南寧二中、柳州高中2024-2025學年高三下學期第9周周考物理試題含解析
- 山西傳媒學院《現(xiàn)代生物制藥工程原理》2023-2024學年第二學期期末試卷
- 上海外國語大學《文化與翻譯(1)》2023-2024學年第一學期期末試卷
- 山東省樂陵市第一中學重點名校2025年初三下學期物理試題周練二不含附加題含解析
- 部編版語文四年級下冊 26《寶葫蘆的秘密》整本書教學設(shè)計
- 《高血壓疾病診斷與治療》課件
- 2025年轉(zhuǎn)租的房屋租賃合同范本
- 2025阿里地區(qū)改則縣輔警考試試卷真題
- 喀什地區(qū)兩級法院機關(guān)招聘聘用制書記員筆試真題2024
- 智慧樹知到《形勢與政策(北京大學)》2025春期末考試附答案
- 2025年廣東省廣州市增城區(qū)中考一模英語試題(含答案)
- 2024年武漢農(nóng)村商業(yè)銀行股份有限公司招聘考試真題
- MOOC 大學英語聽說譯-河南理工大學 中國大學慕課答案
- 禁化武自查報告
- 【護理講課】肺炎病人的護理PPT
評論
0/150
提交評論