【基于窄帶物聯(lián)網(wǎng)水環(huán)境監(jiān)控系統(tǒng)的硬件和軟件設(shè)計案例4100字】_第1頁
【基于窄帶物聯(lián)網(wǎng)水環(huán)境監(jiān)控系統(tǒng)的硬件和軟件設(shè)計案例4100字】_第2頁
【基于窄帶物聯(lián)網(wǎng)水環(huán)境監(jiān)控系統(tǒng)的硬件和軟件設(shè)計案例4100字】_第3頁
【基于窄帶物聯(lián)網(wǎng)水環(huán)境監(jiān)控系統(tǒng)的硬件和軟件設(shè)計案例4100字】_第4頁
【基于窄帶物聯(lián)網(wǎng)水環(huán)境監(jiān)控系統(tǒng)的硬件和軟件設(shè)計案例4100字】_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于窄帶物聯(lián)網(wǎng)水環(huán)境監(jiān)控系統(tǒng)的硬件和軟件設(shè)計案例目錄TOC\o"1-3"\h\u48521.1主控板設(shè)計 148671.1.1電源模塊的設(shè)計 278291.2GPS模塊接口 346251.3ADXL345模塊 322331.4其他接口分析 3139161.5SIM卡座 3107061.6RS232接口 417271.7總線接口 412101.8核心板的設(shè)計 4236641.9傳感器選型 5288111.9.1水溫度傳感器 5291711.9.2PH電極的選擇 6179852基于窄帶物聯(lián)網(wǎng)的水環(huán)境監(jiān)控系統(tǒng)軟件設(shè)計 8191262.1數(shù)據(jù)采集程序設(shè)計 8226372.2溫度采集 8165012.3BC28連接服務(wù)器軟件設(shè)計 9280362.4傳感器模塊軟件設(shè)計 101基于窄帶物聯(lián)網(wǎng)水環(huán)境監(jiān)控系統(tǒng)的硬件設(shè)計主控板設(shè)計STM32產(chǎn)品具備很多全新的設(shè)計特點,能夠有效促進(jìn)不同硬件配置下的系統(tǒng)功耗波動損失最大減至最小,同時還足夠能完全保留大部分的系統(tǒng)現(xiàn)有外設(shè)并與其標(biāo)準(zhǔn)引線管腳完全交互相容。器件中,內(nèi)部的兩個低壓升和降壓升調(diào)壓器電路給大部分邏輯電路都提供了一個固定的輸出電壓:不管插入輸出的額定電源和壓降調(diào)壓器的額定電壓多少,也都要求能夠始終穩(wěn)定保持最低的輸出功耗。整個單片機(jī)主控板的中心就是一臺單片機(jī),通信模塊所有的通信和連接都要由它來實現(xiàn)對數(shù)據(jù)的采集、分析和處理。主控制芯片的內(nèi)核基本上都是建立在超低功耗CPU,可以最大程度的降低功耗REF_Ref26405\r\h[2]。它還可以包括通用內(nèi)置數(shù)據(jù)定時器、直接使用存儲器的數(shù)據(jù)訪問(DMA)、通用快速異步數(shù)字接收/數(shù)據(jù)發(fā)送機(jī)(UART)、快速通用數(shù)據(jù)直接存儲技術(shù)(RST)、通用異步輸入/數(shù)據(jù)輸出(GPIO)、模數(shù)轉(zhuǎn)換器(ADC)等模塊,滿足NB-IoT硬件設(shè)計功能需要靠這些模塊。將處理后的數(shù)據(jù)將會存儲在芯片內(nèi)部存儲模塊中。系統(tǒng)工作參數(shù)的設(shè)置可通過AT指令完成。單片機(jī)串口1的芯片CH340電路圖

可以完成串口1的信息打印電源模塊的設(shè)計電源模塊負(fù)責(zé)整個主控板的供電。單片機(jī)電源電壓3.3V,NB模塊電源電壓3.8V。因此,5V的輸入電壓需要穩(wěn)定到3.3V和3.8V。從5V穩(wěn)定到3.3V。采用AMS1117-3.3降壓穩(wěn)定器。AMS1117為線性穩(wěn)定器,最大輸出電流為0.8A。5V電源通過220uF和0.1uF去耦電容進(jìn)入AMS1117的輸入端,其輸出端通過0.1uF和10uF去耦電容,輸出電壓為3.3V。輸入端202uF的電容可存儲大量電能,0.1uF的ESL值較低,適用于高頻電路。因此,兩者的組合可以有效地減少功率紋波,降低功率噪聲,提高瞬態(tài)電流的響應(yīng)時間。輸出端的0.1uF電容和10uF電容器的功能也是去耦,降低了輸出電壓的噪聲和紋波。電源壓降芯片鋰電池電池管理芯片VUSB進(jìn)路,給電池進(jìn)行充電,通過1腳輸出+5V,也可以直接USB供電,兩個指示燈分別代表充電中和充電完成。GPS模塊接口此接口提供用戶接入GPS定位模塊,方便做GPS定位。模塊需要外接,在STM32開發(fā)板上本身默認(rèn)是不帶的,但考慮到后續(xù)實驗可能會用到,因此預(yù)留出接口。ADXL345模塊為了讓我們能更好的來對開發(fā)板進(jìn)行深入的開發(fā),主板接入了一個加速度傳感器ADXL345,通過加速度傳感器可以很容易獲取到主板的傾斜角度狀態(tài)等。方便更好的掌握設(shè)備,加速度傳感器采用IIC接口的方式接到板子上。其他接口分析本次設(shè)計中在單片機(jī)上分別預(yù)留了IO口,EINT中斷口,SPI通訊口以及UART通訊口。方便于后續(xù)在進(jìn)行自定義的編程時,可以將其作為外部的各種鏈路和網(wǎng)絡(luò)的連接通信控制口。同時,STM主板有多余的IO口以及外部電源接口,方便進(jìn)行豐富設(shè)計擴(kuò)展.SIM卡座SIM卡也是本次設(shè)計的核心之一。由于NB-IoT是通過物聯(lián)網(wǎng)進(jìn)行連結(jié),因此需要一個已有的媒介對數(shù)據(jù)進(jìn)行傳輸。現(xiàn)階段的網(wǎng)絡(luò)協(xié)議使得SIM卡支持?jǐn)?shù)據(jù)進(jìn)傳輸。本次實驗特別為用戶準(zhǔn)備了一個SIM卡座,由于靜電等因素,在進(jìn)行安裝或者是取下一個SIM卡時,要先切斷開發(fā)板的電源,并且用戶的手不得觸摸到這個SIM卡座的任何金屬組成部分,不然很有可能就會損壞開發(fā)板的零部件。RS232接口本次實驗的STM32主板中給出了一個RS232模塊接口。對于初次使用STM32開發(fā)板板載BC28通信模塊來說,這是非常有必要的。因為通過RS232接口可以非常方便來進(jìn)行設(shè)備調(diào)試,串口打印,程序下載等功能。并且在NB-IoT通信模塊出現(xiàn)問題的時候,可以起到補(bǔ)救實驗的作用REF_Ref26816\r\h[7]。總線接口此次設(shè)計中STM32板子也引出了RS485模塊電路并預(yù)留出串口2,從多角度考慮使用工業(yè)總線控制。通過RS485模塊,可以做一些開發(fā),同時也可以用串口2接GPS模塊做GPS定位,當(dāng)然缺點在于串口2和RS485功能不可同時使用,因為只有一路串口。核心板的設(shè)計核心板是由模塊、電源、卡座、天線部分組成,可以單獨(dú)使用。通過水溫傳感器和PH傳感器,將水環(huán)境的溫度、PH值,經(jīng)過STM32開發(fā)板進(jìn)行信號整合,單片機(jī)芯片將檢測到的模擬信號轉(zhuǎn)化成數(shù)字信號,通過通信模塊BC28傳輸?shù)椒?wù)器端顯示。NB模塊接收并轉(zhuǎn)發(fā)所測水環(huán)境的水質(zhì)參數(shù),BC28是一種基于NB-IoT技術(shù)的無線通信模塊,是繼BC95和BC35之后,非常熱門的一個模塊,它的體積很小。所有的AI口引出方便做CPU的開發(fā)。模塊可以完成數(shù)據(jù)的透傳,模塊接受到數(shù)據(jù)后,會將數(shù)據(jù)發(fā)送到服務(wù)器,模塊內(nèi)部完成協(xié)議轉(zhuǎn)換和數(shù)據(jù)指示命令。NB模塊原理圖引腳分配圖傳感器選型水溫度傳感器市面上溫度傳感器產(chǎn)品有很多,常見的電阻式溫度傳感器RBRsoloT,量程為-5到35攝氏度,精度很高,為0.002,價格昂貴。AD590模擬式溫度傳感器,測量范圍為-55℃至150℃,測量范圍寬,精度為0.3,價格較貴。DS18B20是一個多見的數(shù)字溫度傳感器,它的溫度范圍比較廣,在-55C到125攝氏度之間,精度為0.3。經(jīng)過對比分析發(fā)現(xiàn),ds18b20即可滿足對水環(huán)境溫度監(jiān)控的精確性要求,且其結(jié)構(gòu)體積小,價格低,此外,抗干擾能力也很好,所以選擇了ds18b20水溫傳感器來應(yīng)用本系統(tǒng)。DS18B20接線方便,封裝制作成后可以廣泛應(yīng)用于多種場合,同時,為保證靈敏度和精度的同時,兼顧防水防潮防濕防止生銹等特點為其配置不銹鋼外殼封裝的防水封裝形式的防水型DS18B20溫度探頭。(1)測溫原理一個高頻門溫度頻率系數(shù)下的振蕩器系統(tǒng)可以直接用來快速確定一個高頻門溫度周期,內(nèi)部的溫度計數(shù)器系統(tǒng)可以在此個高頻門溫度周期內(nèi)針對低頻的溫度頻率系數(shù)來對振蕩器的每個脈沖輸出信號溫度進(jìn)行連續(xù)計數(shù)以用于取出給定溫度的一個平均值。計數(shù)器的溫度預(yù)設(shè)值設(shè)定為與-55相應(yīng)。如果一個溫度測量計數(shù)器的平均值在大熱門周期末或冬季結(jié)束前已經(jīng)再次達(dá)到0,則所要測量到的溫度計數(shù)寄存器的溫度平均值(也就是可以通過預(yù)設(shè)為零至-55的溫度增加,說明所要進(jìn)行測量的平均溫度遠(yuǎn)遠(yuǎn)已經(jīng)超過了-55。同時,計數(shù)器被自動重置并作為一個累加值,該計數(shù)值由斜線頻率為的累加計數(shù)器中的電路板來確定,用于設(shè)計通過實時補(bǔ)償它的電流量來回償?shù)粼诟袦仄骱驼袷幤髦械膾佄锞€。然后再次重新啟動這個計數(shù)器,直到0。如果一個自動門鎖的循環(huán)不能順利完成,它將有機(jī)會再次進(jìn)行重復(fù)REF_Ref24922\r\h[16]。為了能夠獲得更高的溫度檢測分辨率,采用斜率累加器峰對感溫振蕩器的非線性信號進(jìn)行了補(bǔ)償。它已經(jīng)終止了,它是靠通過更改溫度而使計數(shù)器上的值,如每升高一度。因此,有必要取得所需的分辨率,就必須要知道每一個計數(shù)器的值和各度在給定的溫度下都有一個值。ds1820的計算結(jié)果能夠提供0.5分辨率。將溫度按16位具有符號位的擴(kuò)展量讀出。表1顯示了溫度值與輸入數(shù)據(jù)之間的相互關(guān)系。該數(shù)據(jù)采用單線接口或者串行模擬連接方式進(jìn)行傳輸。ds1820氣溫區(qū)間的范圍調(diào)整為-55~+125,上升0.5℃。如果是在使用華氏溫度的時候,它就需要一個變化的轉(zhuǎn)換因子查找量表。DS18B20溫度測量電路PH電極的選擇本系統(tǒng)選擇E201-BNC型PH電極,它為塑膠封裝,戶外應(yīng)用也同樣適宜。圓形玻璃名按摩,充分地感應(yīng)了液體的ph值,其纖維材質(zhì)的液接界,提供穩(wěn)定的參比電位,適用于對水環(huán)境ph值的測量,其ph可以測量的范圍從0到14ph,可以耐受的溫度范圍為0到60攝氏度,在本系統(tǒng)中PH電極探頭采集后,濾波放大后進(jìn)行單片機(jī)轉(zhuǎn)換,完成數(shù)據(jù)采集傳輸。PH電極E201-BNC實物圖數(shù)據(jù)采集電路設(shè)計溫度、pH傳感器輸出的信號不同,需要根據(jù)MCU輸入信號的要求分別進(jìn)行處理。STM32F103管腳可以直接采集數(shù)字信號和0~3.3V的模擬信號,所以水質(zhì)傳感器輸出的電流模擬信號必須變?yōu)镸CU可以識別的電壓信號,再輸入到STM32F103單片機(jī)的AD采集管腳。溫度傳感數(shù)據(jù)采集處理控制電路的系統(tǒng)設(shè)計框圖ds18b20溫度傳感器系統(tǒng)可以直接通過采用3v~5.5v的直流電源電壓進(jìn)行直流供電,單個10以數(shù)字方式輸出數(shù)據(jù)和控制信號。本次設(shè)計的采集電路為3.3v電壓供電,U1的2引腳,即DQ引腳通過4.7K電阻上拉,通過數(shù)字信號WD與STM32單片機(jī)PG11管腳建立連接。為了保證ds18b20溫度傳感器穩(wěn)定運(yùn)行供電,使用0.luF的瓷介電容C1進(jìn)行電源濾波,就近濾除毛刺信號REF_Ref22907\r\h[17]。基于窄帶物聯(lián)網(wǎng)的水環(huán)境監(jiān)控系統(tǒng)軟件設(shè)計軟件設(shè)計部分主要包括水溫度傳感器的代碼設(shè)計、PH傳感器代碼設(shè)計、NB-IoT模塊傳輸代碼設(shè)計、物聯(lián)網(wǎng)協(xié)議和平臺接入的一些操作。此系統(tǒng)的終端系統(tǒng)軟件設(shè)計主要包括生產(chǎn)商的制造驅(qū)動與iot云平臺的產(chǎn)品研發(fā)與設(shè)計。mcu控制驅(qū)動器程序由keil軟件自己編寫并經(jīng)過調(diào)試,在華為oceanconnect云平臺上自主進(jìn)行了開發(fā)和設(shè)計。數(shù)據(jù)采集程序設(shè)計水質(zhì)監(jiān)測節(jié)點的數(shù)據(jù)采集程序由溫度采集、pH采集程序組成,在水質(zhì)監(jiān)測節(jié)點運(yùn)行時通過定時循環(huán)執(zhí)行數(shù)據(jù)采集程序,實現(xiàn)水質(zhì)信息的收集。溫度采集DSI8B20溫度傳感器數(shù)據(jù)采集過程由復(fù)位脈沖、應(yīng)答脈沖、寫時序和讀時序組成。DS18B20通過單總線實現(xiàn)讀、寫操作,所以嚴(yán)格要求時序。寫時序函數(shù)為DSI8B20Write_Byte():通過拉低或釋放總線的時間間隔來達(dá)到寫0和寫I時序的效果。寫0時序時,STM32F103單片機(jī)先通過輸出低電平拉低總線電壓,等待60~120us;再釋放總線使之成為高電平,等待2us;寫1時序時,STM32F103ZET6單片機(jī)先輸出低電平拉低總線電壓,等待2us,再釋放總線,等待60us。DS18B20讀取溫度流程如圖所示,首先使用DSI8B20Rst()函數(shù)復(fù)位DS18B20,寫Oxcc跳過ROM區(qū),寫開始轉(zhuǎn)換命令0x44,然后延時、復(fù)位DS18B20,再次寫0xcc跳過ROM區(qū),寫讀存儲器命令0xbe,通過DS18B20ReadByte()函數(shù)讀取LSB和MSB,經(jīng)過位運(yùn)算進(jìn)行溫度轉(zhuǎn)換就可以得到溫度temper。DS18B20讀取溫度流程BC28連接服務(wù)器軟件設(shè)計在各數(shù)據(jù)都能準(zhǔn)確記錄的情況下,便開始了將數(shù)據(jù)上傳到服務(wù)器進(jìn)行整理的設(shè)計編輯。其實大致的原理與各開發(fā)板原理相同。在一個主函數(shù)中,先利用在定時器的不斷置位,并在每次判斷數(shù)據(jù)已傳送后進(jìn)行通道上的清零。首先會對設(shè)備進(jìn)行初始化,然后會查詢卡的狀態(tài)、獲取手機(jī)卡、注冊網(wǎng)絡(luò)、獲取注網(wǎng)情況等一系列登入過程。在系統(tǒng)登入完畢之后,就會對所有的發(fā)送網(wǎng)絡(luò)中的數(shù)據(jù)信息進(jìn)行不斷的掃描,并且構(gòu)建一個數(shù)據(jù)庫來發(fā)送信息。接著,調(diào)用一個函數(shù)把十六進(jìn)制變形轉(zhuǎn)換成了一個字符型,并將數(shù)據(jù)發(fā)送。此過程中我們實現(xiàn)了MQTT登錄服務(wù)器,再通過MQTT登錄ONENET,將數(shù)據(jù)存至云服務(wù)器,但保留了TCP及下發(fā)接口。任務(wù)的分配主要分為以下幾個流程:(1)BC28連接到ON

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論