基于STM32的農(nóng)業(yè)災(zāi)害監(jiān)測(cè)系統(tǒng)研究通信工程專業(yè)
《基于STM32的農(nóng)業(yè)災(zāi)害監(jiān)測(cè)系統(tǒng)研究通信工程專業(yè)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于STM32的農(nóng)業(yè)災(zāi)害監(jiān)測(cè)系統(tǒng)研究通信工程專業(yè)(37頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 第一章 緒論 1.1課題來(lái)源及研究目的和意義 農(nóng)業(yè)的智慧,是農(nóng)業(yè)生產(chǎn)的發(fā)展的潮流.中國(guó)是一個(gè)農(nóng)業(yè)大國(guó),在傳統(tǒng)意義上,每年耕地蓋率正在下降,年輕一代渴望在農(nóng)村耕種。對(duì)于自動(dòng)化和機(jī)械化智慧,農(nóng)業(yè)可以被認(rèn)為是非常緊迫的。更有效地利用有限的耕地和更少的資源不僅是可持續(xù)發(fā)展的必要條件,也是我們社會(huì)現(xiàn)代化的具體體現(xiàn)。 智慧農(nóng)業(yè)是源于物聯(lián)網(wǎng)技術(shù)興起浪潮或世界物聯(lián)網(wǎng)具體表現(xiàn)的眾多“智慧”產(chǎn)品之一。農(nóng)業(yè)生產(chǎn)。它主要利用物聯(lián)網(wǎng)技術(shù),即農(nóng)業(yè)溫室中的環(huán)境信息由相應(yīng)的傳感器模塊測(cè)量,然后將信息收集在控制中心。通過(guò)有線網(wǎng)絡(luò)在現(xiàn)場(chǎng)建立數(shù)據(jù)網(wǎng)絡(luò)或手動(dòng)測(cè)量數(shù)據(jù)是傳統(tǒng)智能農(nóng)業(yè)檢測(cè)系統(tǒng)在大多數(shù)情況下獲得環(huán)境參數(shù)的一種方式
2、。 智能農(nóng)業(yè)利用物聯(lián)網(wǎng)技術(shù)建立一個(gè)網(wǎng)絡(luò),利用各種傳感器和無(wú)線傳輸設(shè)備,可以及時(shí)呈現(xiàn)各種環(huán)境參數(shù)。真實(shí)和自動(dòng)的方式,以及無(wú)縫連接用戶和產(chǎn)品。如果繼續(xù)采用標(biāo)簽技術(shù),它還將能夠建立現(xiàn)代農(nóng)業(yè)農(nóng)產(chǎn)品的可追溯平臺(tái),實(shí)現(xiàn)對(duì)食品安全和產(chǎn)品可追溯系統(tǒng)的有效控制農(nóng)場(chǎng)。 1.1.1.提高農(nóng)業(yè)生產(chǎn)效率 物聯(lián)網(wǎng)技術(shù)在農(nóng)業(yè)中的使用顯著提高了農(nóng)業(yè)部門的管理水平,提高了農(nóng)業(yè)生產(chǎn)效率。在農(nóng)業(yè)生產(chǎn)過(guò)程中,利用各種遠(yuǎn)程數(shù)據(jù)傳輸,構(gòu)成了監(jiān)管的科學(xué)依據(jù)。自動(dòng)化農(nóng)業(yè)生產(chǎn)環(huán)境。持續(xù)優(yōu)化作物生長(zhǎng)環(huán)境為作物提供了最佳的生長(zhǎng)環(huán)境,提高了質(zhì)量和產(chǎn)量,從而提高了農(nóng)業(yè)生產(chǎn)的效率。 1.1.2.保障食品安全性 在現(xiàn)代農(nóng)產(chǎn)品安全體系中,有一個(gè)農(nóng)
3、產(chǎn)品和食品的可追溯系統(tǒng),集成了電子標(biāo)簽,條形碼,物聯(lián)網(wǎng),GPRS和計(jì)算機(jī)的應(yīng)用。 ,允許監(jiān)測(cè)農(nóng)產(chǎn)品的質(zhì)量,可追溯性和可視化,并允許農(nóng)產(chǎn)品從農(nóng)田轉(zhuǎn)移到餐桌。為了確保整個(gè)加工過(guò)程的有效監(jiān)控,可以可靠地管理農(nóng)產(chǎn)品并顯著提高食品安全的可靠性。 1.2 國(guó)內(nèi)外在該方向的研究現(xiàn)狀及分析 1.2.1 國(guó)外農(nóng)業(yè)發(fā)展形勢(shì) 隨著全球氣候惡化,各種環(huán)境問(wèn)題得不到解決,可持續(xù)經(jīng)濟(jì)已成為現(xiàn)代農(nóng)業(yè)發(fā)展的主要趨勢(shì)。近年來(lái),世界發(fā)達(dá)農(nóng)業(yè)國(guó)家在可持續(xù)農(nóng)業(yè)經(jīng)濟(jì)方面做了大量嘗試:生態(tài)農(nóng)業(yè),能源農(nóng)業(yè)和智能農(nóng)業(yè)已成為經(jīng)濟(jì)發(fā)展的新趨勢(shì)。可持續(xù)農(nóng)業(yè)。目前,農(nóng)業(yè)的基本國(guó)情分為三類:第一土地少的人缺乏資源,第二是缺乏勞動(dòng)力和人力資源缺
4、乏,第三是土地和勞動(dòng)力。現(xiàn)代農(nóng)業(yè)表現(xiàn)在以下幾個(gè)方面: 1.2.1.1農(nóng)業(yè)生產(chǎn)智能化 GPS技術(shù)使得開(kāi)發(fā)高智能拖拉機(jī)成為可能,不僅可以精確定位和區(qū)分行進(jìn)方向,還可以將GPS數(shù)據(jù)傳輸?shù)睫r(nóng)場(chǎng)信息采集中心,誤差小于2.5厘米。因此,坐標(biāo)的溫度和濕度,土壤的化學(xué)成分和排水溝的位置形成了最佳的農(nóng)業(yè)計(jì)劃,包括種子,肥料和農(nóng)藥的使用量。這種智能拖拉機(jī)可以通過(guò)在屏幕前執(zhí)行簡(jiǎn)單操作輕松執(zhí)行一系列任務(wù),這不僅加快了工作速度,還減少了種子,農(nóng)藥和化肥的浪費(fèi)。生產(chǎn)不僅可以增加20%,而且可以節(jié)省50%的投資。在美國(guó),Valmont和ARS聯(lián)合開(kāi)發(fā)了一種用于智能作物灌溉的紅外水分儀。如果該裝置安裝在灌溉機(jī)上,則每6秒
5、鐘測(cè)量一次植物的溫度值。該值小于設(shè)定值。此時(shí),信息中心提供啟動(dòng)灌溉系統(tǒng)的說(shuō)明。收獲作物時(shí),準(zhǔn)確的生產(chǎn)統(tǒng)計(jì)數(shù)據(jù)是一項(xiàng)龐大而復(fù)雜的任務(wù)。美國(guó)研究所已開(kāi)發(fā)出一種可在收割機(jī)收割過(guò)程中準(zhǔn)確收集的生產(chǎn)計(jì)數(shù)器。根據(jù)生產(chǎn)數(shù)據(jù)和這些數(shù)據(jù),建立每個(gè)地區(qū)的生產(chǎn)統(tǒng)計(jì)數(shù)據(jù),工作人員可以使用這些生產(chǎn)表制定下一年的生產(chǎn)計(jì)劃。 1.2.1.2農(nóng)業(yè)生產(chǎn)機(jī)械化 根據(jù)作物的生長(zhǎng)規(guī)律, 機(jī)械化耕作的農(nóng)業(yè)生長(zhǎng)是在人工調(diào)節(jié)的生態(tài)環(huán)境中進(jìn)行的, 如光強(qiáng)、溫度和土壤濕度、空氣濕度和土壤的溫度和養(yǎng)分組成, 是高新技術(shù)的完全應(yīng)用, 完全或部分不具備現(xiàn)代農(nóng)業(yè)的地形、季節(jié)和其他自然條件。具有機(jī)械化、智能化、高進(jìn)、規(guī)模化、高產(chǎn)、高質(zhì)量、高產(chǎn)等特點(diǎn)
6、?,F(xiàn)代智能農(nóng)業(yè)在荷蘭、德國(guó)、日本、法國(guó)、美國(guó)等其他發(fā)達(dá)農(nóng)業(yè)國(guó)家得到了大規(guī)模發(fā)展。隨著各種技術(shù)的不斷進(jìn)步, 現(xiàn)代智能農(nóng)業(yè)的特殊優(yōu)勢(shì)與成為廣大市民農(nóng)業(yè)生產(chǎn)的未來(lái)有關(guān)。。 1.2.1.3農(nóng)業(yè)經(jīng)營(yíng)產(chǎn)業(yè)化 傳統(tǒng)農(nóng)業(yè)將從原有僅僅是產(chǎn)銷、農(nóng)貿(mào)變成產(chǎn)供銷、農(nóng)工貿(mào)、農(nóng)科教有機(jī)結(jié)合和相輔相成的經(jīng)營(yíng)機(jī)制?,F(xiàn)代的農(nóng)產(chǎn)品市場(chǎng)對(duì)食品安全越來(lái)越嚴(yán)格,要求農(nóng)產(chǎn)品在耕種、生產(chǎn)、加工、包裝、儲(chǔ)運(yùn)、銷售等環(huán)節(jié)技術(shù)水平提高、經(jīng)營(yíng)透明化、運(yùn)作效率高,所以農(nóng)業(yè)產(chǎn)業(yè)化是新時(shí)代農(nóng)業(yè)的必經(jīng)之路。 1.2.1.4.農(nóng)業(yè)生產(chǎn)方式和經(jīng)營(yíng)目標(biāo)更為廣泛 現(xiàn)代農(nóng)業(yè)生產(chǎn)將結(jié)合更多的元素。拓展農(nóng)業(yè)的生產(chǎn)方式以及經(jīng)營(yíng)目標(biāo),例如:以環(huán)保與可循環(huán)經(jīng)濟(jì)為目標(biāo)
7、的生態(tài)農(nóng)業(yè)、以觀光旅游為副業(yè)或主業(yè)的觀光農(nóng)業(yè)、以供市區(qū)市民娛樂(lè)性勞作或者一家人進(jìn)行農(nóng)家樂(lè)的悠閑郊區(qū)農(nóng)業(yè)等新的農(nóng)業(yè)新模式將不斷開(kāi)發(fā)、推廣。 1.2.2 國(guó)內(nèi)農(nóng)業(yè)發(fā)展形勢(shì) 中國(guó)正出于轉(zhuǎn)型期,轉(zhuǎn)向現(xiàn)代農(nóng)業(yè)進(jìn)軍的重要時(shí)期。在這一時(shí)段里,隨著人均GDP突破1萬(wàn)美元的小康階段,人們對(duì)與物質(zhì)生活的追求也隨之提高了。發(fā)展智慧農(nóng)業(yè)的目標(biāo)是實(shí)現(xiàn)增收增產(chǎn)、節(jié)省資源、統(tǒng)一耕種、保證食品安全。智慧農(nóng)業(yè)還可以調(diào)整農(nóng)村的收入結(jié)構(gòu),實(shí)現(xiàn)科技改變農(nóng)業(yè),并在改善水土平衡、保持氣候良好、調(diào)節(jié)地理環(huán)境、改進(jìn)生態(tài)平衡等方面做出重要貢獻(xiàn),具有重大的生態(tài)效益和社會(huì)效益。 第二章 系統(tǒng)整體設(shè)計(jì)方案 2.1系
8、統(tǒng)功能 該系統(tǒng)有兩個(gè)主要任務(wù), 測(cè)試任務(wù)和傳輸任務(wù), 分別由不同的設(shè)備負(fù)責(zé)相應(yīng)的功能。本文的智能農(nóng)業(yè)設(shè)計(jì)以嵌入式系統(tǒng)為基礎(chǔ), 實(shí)現(xiàn)了棚內(nèi)的遮陽(yáng)板和灑水控制, 以及對(duì)溫度和濕度的實(shí)時(shí)監(jiān)測(cè),土壤水分、照明強(qiáng)度和降水。同時(shí), 通過(guò)無(wú)線收發(fā)器模塊, 收集遙控器末端的數(shù)據(jù)傳輸和相應(yīng)的控制操作。在本設(shè)計(jì)中, 棚內(nèi)的溫度和濕度、發(fā)光強(qiáng)度、土壤濕度、發(fā)光強(qiáng)度等環(huán)境數(shù)據(jù)都設(shè)置了閾值, 再次設(shè)定了閾值, 將自動(dòng)做出相應(yīng)的報(bào)警或澆水操作。 2.2工作原理 上述大棚中所有的相關(guān)數(shù)據(jù)信息主要是通過(guò)多個(gè)傳感器來(lái)對(duì)相應(yīng)的。光照傳感器、溫濕度傳感器、土壤濕度傳感器、雨滴傳感器等進(jìn)行數(shù)據(jù)采集得到的,并將采集到的數(shù)據(jù)通過(guò)E
9、SP8266無(wú)線傳感網(wǎng)絡(luò)傳輸?shù)絊TM32F407VET6上,以此實(shí)現(xiàn)對(duì)各數(shù)據(jù)信息的遠(yuǎn)距離傳輸. 而后ESP8266模塊將各數(shù)據(jù)信息從STM32F407VET6控制系統(tǒng)通過(guò)網(wǎng)絡(luò)上傳到上位機(jī),實(shí)現(xiàn)實(shí)時(shí)檢測(cè)功能,調(diào)控指令通過(guò) ESP8266 模塊傳輸至STM32F407VET6,再通過(guò)STM32F407VET6傳輸至對(duì)應(yīng)模塊來(lái)實(shí)現(xiàn)相關(guān)設(shè)備的調(diào)控功能。 本設(shè)計(jì)農(nóng)植物生長(zhǎng)環(huán)境全參數(shù)的采集,并設(shè)定了預(yù)定值,當(dāng)某個(gè)環(huán)境參數(shù)超過(guò)它對(duì)應(yīng)的設(shè)定值,系統(tǒng)將響起警報(bào)信號(hào)并發(fā)送對(duì)應(yīng)的警報(bào)信號(hào)給人機(jī)交互界面。整個(gè)系統(tǒng)設(shè)計(jì)為三層:感知層、傳輸層、人機(jī)交互層。第一層:感知層,也就是各種傳感器,負(fù)責(zé)收集農(nóng)植物大棚各種環(huán)境參數(shù)
10、;第二層:傳輸層,把傳感器收集到的數(shù)據(jù)匯集到單片機(jī)內(nèi)部進(jìn)行處理,然后通過(guò)傳輸層顯示在人機(jī)界面;第三層:人機(jī)交互層,良好的人機(jī)交互層能把上傳數(shù)據(jù)呈現(xiàn)在用戶面前,并根據(jù)用戶的操作發(fā)送指令給單片機(jī),讓單片機(jī)做出反應(yīng)。 圖2-1 系統(tǒng)框架圖 如圖2-1所示,本次論文設(shè)計(jì)的系統(tǒng)采用的處理內(nèi)核是ARM32位的Cortex-M4 CPU的STM32最小系統(tǒng)板STM32F407VET6。根據(jù)DHT11的主要參數(shù),包括:(1)濕度的測(cè)量范圍為20%-95%,測(cè)量誤差為+-5%;(2)溫度測(cè)量范圍為0攝氏度到50攝氏度,測(cè)量誤差為+-2度(3)濕度測(cè)量精度為1%,溫度測(cè)量精度為1攝氏度。用于測(cè)量光照強(qiáng)度的B
11、H1750FVI模塊,光照強(qiáng)度測(cè)量范圍為1lx-65535lx,精度為1lx,最小誤差變動(dòng)在+-20%;用于測(cè)量雨水的模塊,有TTL數(shù)字輸出和AO輸出兩種模式,第一種是檢測(cè)是否有雨滴,第二種模式是檢測(cè)雨滴的大?。煌寥罎穸饶K同是有AO輸出與DO輸出,當(dāng)濕度值低于設(shè)定值時(shí),DO輸出高電平,高于設(shè)定值時(shí),DO輸出低電平。這四個(gè)傳感器收集到的數(shù)據(jù)匯集到STM32單片機(jī)進(jìn)行分析處理,然后把分析后的結(jié)果通過(guò)ESP8266模塊發(fā)送給指定的連接上位機(jī)。由上位機(jī)操控水泵灑水等操作。 第三章 系統(tǒng)硬件設(shè)計(jì) 本設(shè)計(jì)將系統(tǒng)分為硬件和主控兩部分,其中的硬件部分包括空氣溫濕度傳感器、土壤濕度傳感器、光
12、照傳感器、無(wú)線傳輸模塊。主控部分采用的是ST公司的STM32F407VET6。 3.1 STM32 簡(jiǎn)介 就是指ST公司開(kāi)發(fā)的32位微控制器。在如今的32位控制器當(dāng)中,STM32是為是領(lǐng)跑者,擁有出眾的性能、靈活且豐富的內(nèi)設(shè)。優(yōu)點(diǎn)是高性價(jià)比和低能耗,大受工程師和市場(chǎng)的青睞。STM32的多系列,可以滿足市場(chǎng)的各種需求,從內(nèi)核上分有 Cortex-M0、M3、M4 和 M7,內(nèi)核又可以分為主流、高性能和低功耗。F4 代表了高性能,基于 Cortex-M4 內(nèi)核,主頻 180M。特點(diǎn)為高性能、低成本、低功耗。本文使用STM32F407VET6,主要參數(shù)如下: 圖3-1 STM32F407
13、VET6主要參數(shù) 3.1.1 STM32F407VET6 命名解釋 家族STM32表示32bit的MCU產(chǎn)品類型 F表示基礎(chǔ)型 407表示具體特性:高性能 V表示引腳數(shù)目:V表示100pin,其他的 C表示48,R表示64,Z表示144。Z表示144,B表示208,N表示216 E表示FLASH大小:E表示512KB, C表示 256,E表示 512,I表示2048。 T表示封裝:T表示QFP封裝,這個(gè)是最常用的封裝。 6表示溫度:6表示溫度等級(jí)為A :-40~85°,7代表-40——105℃。 3.1.2 開(kāi)發(fā)板介紹 圖3-2 STM32F407VET6 開(kāi)發(fā)板原理圖
14、 此開(kāi)發(fā)板選擇了STM32F407VET6作為MCU,這個(gè)芯片配置非常強(qiáng)大,他擁有資源:集成了ARM32位Cortex-M4 CPU與FPU,自適應(yīng)實(shí)時(shí)加速器,允許零等待狀態(tài)從閃存到執(zhí)行區(qū)域,頻率高達(dá)168M HZ,擁有儲(chǔ)存器保護(hù)單元,集成FPU和DPS指令。擁有的資源如下:具有192+4KB SRAM、512KB FLASH、3個(gè)SPI、3個(gè)串口、1個(gè)標(biāo)準(zhǔn)2.0 USB(帶DMA)、1個(gè)用于外接HS ULPI USB、1個(gè)10/100M以太網(wǎng)MAC控制器、一個(gè)8至12位并行攝像機(jī)接口、3個(gè)AD(12bit、1us、分時(shí)24道)、2個(gè)12bit的DA、2個(gè)全雙工I2S、3個(gè)IIC、1個(gè)SD
15、IO接口、2個(gè)CAN、140個(gè)IO口。詳細(xì)見(jiàn)下圖3-3。 圖3-3 STM32F407VET6資源 ST(意法半導(dǎo)體)推出了以基于ARM® Cortex?-M4為內(nèi)核的STM32F4系列高性能微控制器。他采用了90 納米的NVM 工藝與ART(自適應(yīng)實(shí)時(shí)存儲(chǔ)器加速器,Adaptive Real-Time MemoryAccelerator?)。 ART技術(shù)使得程序零等待執(zhí)行。提升程序執(zhí)行的效率。將Cortext-M4的性能發(fā)揮到了極致,使得STM32 F4系列可達(dá)到210DMIPS@168MHz。 在 CPU 運(yùn)行時(shí), 作用自適應(yīng)實(shí)時(shí)加速器可以
16、完全釋放 cortex-m4 內(nèi)核的性能允許的頻率 (≤168Mhz)。。在閃存中運(yùn)行的程序,能達(dá)到相當(dāng)于零等待周期的性能。 STM32F4系列微控制器集成了單周期DSP指令和FPU(floating point unit,浮點(diǎn)單元),提升了計(jì)算能力,可以進(jìn)行一些復(fù)雜的計(jì)算和控制。 圖 3-4 STM32F407VET6 正面引腳圖 使用的STM32 芯片是封裝好的成品,由內(nèi)核和片上外設(shè)組成。與將他電腦 類比,內(nèi)核與外設(shè)就如同電腦上的 CPU 與主板、顯卡、內(nèi)存、硬盤的關(guān)系,內(nèi)核即為CPU。由 ARM 公司設(shè)計(jì)。芯片不由ARM 公司生產(chǎn),ARM 公司出售其芯片技術(shù)授權(quán)。;片生產(chǎn)廠商
17、們?nèi)?ST、TI、Freescale,主要負(fù)責(zé) 在內(nèi)核之外設(shè)計(jì)部件并生產(chǎn)整個(gè)芯片.內(nèi)核之外的部件被稱為片上外設(shè)。 如 GPIO、USART(串口)、I2C、SPI 等都叫做片上外設(shè)。具體見(jiàn)圖 6-3。 圖 3-5 STM32 芯片架構(gòu)簡(jiǎn)圖 ※集成了新的DSP和FPU指令,擁有168MHz的高速性能可以使數(shù)字信號(hào)控制器應(yīng)用和產(chǎn)品開(kāi)發(fā)達(dá)到了新的水平。從而提升控制算法的代碼效率、執(zhí)行速度。 ※先進(jìn)技術(shù)和工藝 -?存儲(chǔ)器加速器:自適應(yīng)實(shí)時(shí)加速器(ART Accelerator? ) - 多重AHB總線矩陣和多通道DMA:可實(shí)現(xiàn)程序執(zhí)行和數(shù)據(jù)傳輸?shù)牟⑿刑幚怼?shù)據(jù)傳輸速率很快 - 90nm
18、工藝 ※高性能 - 210DMIPS@168MHz - 因?yàn)椴捎昧薙T的ART加速器,程序從FLASH運(yùn)行基本等于0等待更多的存儲(chǔ)器 - 多達(dá)1MB FLASH (將來(lái)ST計(jì)劃推出2MB FLASH的STM32F4) - 192KB SRAM:128KB 在總線矩陣上,64KB在專為CPU使用的數(shù)據(jù)總線上高級(jí)外設(shè)能與STM32F2兼容 - USB OTG高速 480Mbit/s - IEEE1588,?以太網(wǎng)?MAC 10/100 - PWM高速定時(shí)器:168MHz最大頻率 - 加密/哈希硬件處理器:32位隨機(jī)數(shù)發(fā)生器(RNG) - 帶有日歷功能的32位RTC:<1 μA的
19、實(shí)時(shí)時(shí)鐘,1秒精度 ※更多的提升 - 低電壓:1.8V到3.6V VDD,在某些封裝上,可降低至1.7V - 全雙工I2S - 12位 ADC:0.41us轉(zhuǎn)換/2.4Msps(7.2Msps在交替模式) - 高速USART,可達(dá)10.5Mbits/s - 高速SPI,可達(dá)37.5Mbits/s - Camera接口,可達(dá)54M字節(jié)/s 3.1.3本設(shè)計(jì)涉及到的接口與硬件資源 GPIO口:General Purpose Input Output (通用輸入/輸出)簡(jiǎn)寫(xiě)為GPIO,或者是總線擴(kuò)展器,人們利用I2C、SMBus或SPI接口簡(jiǎn)化了I/O口的擴(kuò)展。當(dāng)微控制器或芯片組沒(méi)
20、有足夠的I/O端口時(shí),系統(tǒng)有需要采用遠(yuǎn)端串行通信或控制時(shí),GPIO產(chǎn)品可以提供另外的控制和監(jiān)視功能。 UART:Universal Asynchronous Receiver/Transmitter,通用異步接收/發(fā)送裝置串行接口簡(jiǎn)稱串口 串行通信接口采用串行通信方式。串行接口 (Serial Interface)的特點(diǎn)是通信線路比較簡(jiǎn)單,缺點(diǎn)是傳送速度較慢。用一對(duì)傳輸線就能夠?qū)崿F(xiàn)雙向通信,成本低。尤其適用于遠(yuǎn)距離通信。 I2C(Inter-Integrated Circuit)總線是兩線式串行總線,用途是連接微控制器和他的外圍設(shè)備。是一種總線標(biāo)準(zhǔn)多領(lǐng)域被使用。它是同步通信的一種特殊形式
21、,優(yōu)點(diǎn)是接口線少,器件封裝小,控制方式簡(jiǎn)單,通信效率較高。 SPI:高速同步串行口。是一種四線同步雙向串行總線。Serial Peripheral interface(SPI),是串行外圍設(shè)備接口。是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口是在 EEPROM,F(xiàn)LASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器,還有數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間實(shí)現(xiàn)應(yīng)用。SPI,在芯片的管腳上只占用四根線。是一種高速的,全雙工,同步的通信總線,節(jié)約了芯片的管腳,同時(shí)PCB的布局上節(jié)省空間,因比較簡(jiǎn)潔好用,所以許多的芯片集成了這種通信協(xié)議。 3.2傳感器及wifi模塊介
22、紹 3.2.1空氣溫濕度采集模塊 為了適應(yīng)蔬菜溫棚的特殊環(huán)境,本設(shè)計(jì)選用了DHT11溫濕度傳感器,該傳感器可以進(jìn)行較精確溫度 和濕度的測(cè)量并進(jìn)行數(shù)字輸出。DHT11溫濕度傳感器擁有先進(jìn)采集模塊和測(cè)量技術(shù),穩(wěn)定性以及可信度高,其供電電壓為3~5.5 V,濕度為20%~90%,精度為±5%,溫度為 0~50 °C,精度為±2 °C。本設(shè)計(jì)中選用PG10端口來(lái)進(jìn)行DHT11的單總線數(shù)據(jù)的傳輸。 4-1 DHT11的管腳圖和接線說(shuō)明 如圖4-1所示,DHT11第一個(gè)接VDD第四個(gè)引腳接VEE,而第二個(gè)引腳DATA接MCU的IO腳,連接線的長(zhǎng)度低于20M時(shí),接上拉電阻 DHT11的數(shù)據(jù)結(jié)構(gòu)
23、 DHT11使用的是單線串行通信模式,數(shù)據(jù)通過(guò)一條線來(lái)傳輸,因此需要制定一定的通信協(xié)議。詳細(xì)的通信過(guò)程如下: 4-2 DHT11通信過(guò)程 總線的空閑狀態(tài)為高電平,開(kāi)始信號(hào)為發(fā)送一個(gè)大于18ms的低電平,然后拉高延時(shí)20-40us后,IO口切換輸入模式,等待DHT11發(fā)送80us的低電平,這是DHT11收到開(kāi)始信號(hào)的響應(yīng)信號(hào),低電平結(jié)束后DHT11將會(huì)發(fā)送一個(gè)80us的高電平,然后開(kāi)始了傳輸數(shù)據(jù)。DHT11數(shù)據(jù)的傳輸以一個(gè)50us的低電平為開(kāi)始,然后發(fā)送第一位數(shù)據(jù),低電平結(jié)束后DHT11拉高總線,若高電平持續(xù)了26us-28us,則這一bit數(shù)據(jù)為0;若高電平持續(xù)了70us則這一bit的數(shù)
24、據(jù)為1,高位先出。 每次DHT11輸出的數(shù)據(jù)為40bit,即5個(gè)字節(jié),第一個(gè)byte為濕度的整數(shù)部分、第二個(gè)byte為濕度的小數(shù)部分、第三個(gè)byte為溫度的整數(shù)部分、第四個(gè)byte為溫度的小數(shù)部分、而第五個(gè)byte為檢驗(yàn)和。正確的檢驗(yàn)和為是前四個(gè)字節(jié)相加的低8位。 3.2.2 土壤濕度采集模塊 棚內(nèi)作物吸收土壤中所包含的水分來(lái)進(jìn)行生命活動(dòng),土壤中水分過(guò)少作物會(huì)枯萎,過(guò)多植物根部將會(huì)漚爛.因而對(duì)土壤濕度的把控也尤為重要,一般控制在55%~85% 最佳。本設(shè)計(jì)為了能時(shí)刻監(jiān)測(cè)濕度的變化,選用了risym土壤濕度傳感器。利用電位器可以控制閾值,檢測(cè)值低于或高于閾值時(shí),傳感器的DO引腳輸出高電平
25、,risym土壤濕度傳感器采用了LM393比較器芯片。其工作電壓為3~35 V。為了提高測(cè)量的精度,本設(shè)計(jì)采用AD轉(zhuǎn) 換來(lái)采集risym土壤濕度傳感器測(cè)量到的土壤濕度數(shù)據(jù)。主控芯片STM32F407VET6自帶的AD轉(zhuǎn)換通 道使得模數(shù)轉(zhuǎn)換更加方便。 3.2.3土壤濕度傳感器的性能指標(biāo) (1)可以通過(guò)調(diào)節(jié)模塊中的藍(lán)色電位器來(lái)設(shè)定閥值;(2)工作電壓3.3v-5v; (3)比較器采用LM393芯片,工作穩(wěn)定; 圖4-3 土壤濕度傳感器 圖4-5 土壤濕度傳感器 接線說(shuō)明 3.2.4 YL-83 雨滴模塊 雨量的多少直接影響到土壤濕度,選擇了Y
26、L-83 雨滴模塊來(lái)監(jiān)測(cè)雨量的多少。 3.2.4.1 YL-83性能指標(biāo)和特性 (1)供電電壓:3V-5V;(2)平均工作電流超過(guò)15mA;(3)采用AO/DO輸出(4)可以通過(guò)電位器調(diào)節(jié)靈敏度(5)大面積雨滴檢測(cè)板5.4cm*4.0cm,控制板板子3*1.6cm;(6)雨滴板和控制板分開(kāi)。 3.2.4.2 YL-83的管腳圖和接線說(shuō)明 圖4-6雨滴傳感器 雨滴板. 圖4-7 雨滴傳感器控制板。 使用方法:VCC接5V電源,電源燈亮起。感應(yīng)板上面無(wú)水時(shí),DO輸出為高電平,開(kāi)關(guān)指示燈滅。滴水,DO輸出低電平,開(kāi)關(guān)指示燈亮起,而當(dāng)擦掉上面
27、的水滴,又輸出高電平。 3.2.4.3 YL-83數(shù)據(jù)結(jié)構(gòu) 輸出形式:數(shù)字開(kāi)關(guān)量輸出(0和1)與模擬量AO電壓輸出: TTL電平輸出,TLL輸出的有效信號(hào)為低電平驅(qū)動(dòng)能力100mA左右。 AO模擬輸出,可以連接單片機(jī)的具有AD功能的IO腳,能夠輸出雨滴量的大小。 3.2.5光敏電阻傳感器 作物的生長(zhǎng)需要光照,該模塊實(shí)時(shí)檢測(cè)適宜棚內(nèi)作物生長(zhǎng)的光照強(qiáng)度閾值范圍。 3.2.5.1 光敏電阻的性能指標(biāo) (1)可通過(guò)調(diào)節(jié)模塊上的電位器來(lái)改變閥值;(2)低功耗3.3V(3V-5V供電兼容); (3)電平轉(zhuǎn)換(3v-5v系統(tǒng)通信兼容);(4) 芯片BH1750FVI;
28、 圖4-8. 光敏電阻傳感器實(shí)物圖 圖4-9. 光敏電阻傳感器接線圖 3.2.5.2 光敏電阻的運(yùn)用簡(jiǎn)介 (1)光敏電阻對(duì)環(huán)境中光線強(qiáng)度的變化比較敏感,經(jīng)常使用它來(lái)測(cè)量環(huán)境的光線強(qiáng)度。 (2)光敏電阻傳感器將外界光線強(qiáng)度的變化轉(zhuǎn)化為電信號(hào)。當(dāng)光線強(qiáng)度低于給定值時(shí),DO端輸出低電平;當(dāng)光線強(qiáng)度高于給定值時(shí),DO端輸出高電平。 (3)傳感器的數(shù)字輸出端可以與單片機(jī)的I/O口相連,或者與繼電器的控制端相連構(gòu)成光控開(kāi)關(guān)。 3.2.5.3 光敏電阻在本設(shè)計(jì)中的運(yùn)用 本次設(shè)計(jì)將光敏電阻傳感器模塊的數(shù)字輸出端接繼電器控制端構(gòu)成光控開(kāi)關(guān),繼電器常開(kāi)觸點(diǎn)端接LED
29、燈。如圖2-7所示,當(dāng)系統(tǒng)內(nèi)的光線強(qiáng)度低于給定值時(shí),數(shù)字端輸出低電平,觸發(fā)繼電器閉合,LED燈亮。當(dāng)農(nóng)業(yè)大棚內(nèi)的光線強(qiáng)度大于給定值時(shí),數(shù)字端輸出高電平,蜂鳴器發(fā)出警告,發(fā)送警告信號(hào)上位機(jī)。 3.2.6 ESP8266WIFI模塊 3.2.6.1 模塊基本參數(shù) 所述ESP8266是超低功率UART-無(wú)線對(duì)講模塊。他的大小和超低功率技術(shù),用于移動(dòng)設(shè)備和應(yīng)用程序的IoT的有競(jìng)爭(zhēng)力的封裝,連接所述多個(gè)物理裝置的用戶于Wi- Fi。在無(wú)線網(wǎng)絡(luò)上,為網(wǎng)絡(luò)功能建立Internet或LAN通信。 ESP8266有多種封裝方式:天線可支持集成PCB天線,IPEX接口和打孔接口,ESP8266可應(yīng)用于智能電
30、網(wǎng),交通,家具,手持設(shè)備,工業(yè)控制等。 所述ESP8266支持無(wú)線802.11b / g / n的,支持STA / AP / STA + AP,集成TCP / IP協(xié)議棧的三種模式,并支持多個(gè)TCP客戶端連接。支持豐富的Socket AT控制,UART / GPIO數(shù)據(jù)通信接口支持,Smart Link智能電網(wǎng)支持,遠(yuǎn)程固件升級(jí)支持,內(nèi)置32位MCU,可用作應(yīng)用處理器,功耗極低,適用于電池供電的應(yīng)用單電源。詳細(xì)參數(shù)請(qǐng)參考下表: 表格 4-10 模塊技術(shù)規(guī)格 硬件參數(shù) 硬件接口 UART,IIC,PWM,GPIO,ADC 工作電壓 3.3V GPIO驅(qū)動(dòng)能力 Max:15
31、ma 工作電流 持續(xù)發(fā)送下=> 平均值:~70mA,峰值: 200mA 正常模式下=> 平均: ~12mA,峰值: 200mA 待機(jī):<200uA, 工作溫度 -40℃~125℃ 存儲(chǔ)環(huán)境 溫度:<40℃,相對(duì)濕度:<90%R.H. 尺寸 板載PCB天線:14.3mm*24.8mm*1mm; 串口透?jìng)? 傳輸速率 110-921600bps TCP Client 5個(gè) 軟件參數(shù) 無(wú)線網(wǎng)絡(luò)類型 STA/AP/STA+AP 安全機(jī)制 WEP/WPA-PSK/WPA2-PSK 加密類型 WEP64/WEP128/TKIP/AES
32、 網(wǎng)絡(luò)協(xié)議 IPv4, TCP/UDP/FTP/HTTP 3.2.6.2 ESP8266 硬件介紹 圖4-11 ESP8266PCB原理圖 VCC接3.3V電源,GND接地,CH_PD拉高,即可正常工作。UTXD接單片機(jī)的RX腳,URXD接單片機(jī)的TX腳,其他的引腳可以不用理會(huì)。詳情參考表格2。 表格4-12 Pin腳定義 PIN Function Description 1 URXD 1) UART_RXD,接收; 2) General Purpose Input/Output:GPIO3; 2 UTXD 1) UART_TXD
33、,發(fā)送; 2)General Purpose Input/Output:GPIO1; 3)開(kāi)機(jī)時(shí)禁止下拉; 5 RESET(GPIO 16) 外部Reset信號(hào),低電平復(fù)位,高電平工作(默認(rèn)高); 6 GND GND 8 VCC 3.3V,模塊供電; 14 CH_PD 1) 高電平工作; 2) 低電平模塊供電關(guān)掉; 3.2.6.3 EPS8266的應(yīng)用簡(jiǎn)介 ESP8266模塊支持STA/AP/STA+AP 三種工作模式。 (1)STA模式:ESP8266模塊經(jīng)由路由器連接到Internet,移動(dòng)電話或計(jì)算機(jī)通過(guò)Internet對(duì)設(shè)備進(jìn)行遠(yuǎn)程控制。 (2)
34、AP模式:ESP8266模塊作為接入點(diǎn),允許移動(dòng)電話或計(jì)算機(jī)直接與模塊通信,實(shí)現(xiàn)無(wú)線局域網(wǎng)控制。 (3)STA + AP模式:兩種模式共存的模式,即可以通過(guò)互聯(lián)網(wǎng)控制實(shí)現(xiàn)連續(xù)控制,操作實(shí)用。 圖 4-13 串口調(diào)試界面 圖4-14 TCP調(diào)試界面客戶端和服務(wù)器必須安裝在同一網(wǎng)絡(luò)上(在路由器上或同時(shí)在模塊上)。該設(shè)計(jì)是使計(jì)算機(jī)作為安裝在模塊上(該P(yáng)C連接到WiFi模塊,例如Esp8266)的客戶端,并且該模塊作為服務(wù)器,AT命令設(shè)定服務(wù)器模式和輔助模塊之間debugging tcp連接模塊。 3.3 硬件設(shè)計(jì) 3.2.7.1JTAG設(shè)計(jì) JTAG(
35、Joint Test Action Group;聯(lián)合測(cè)試行動(dòng)小組)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容),主要用于芯片內(nèi)部測(cè)試。標(biāo)準(zhǔn)的JTAG接口是4線:TMS、TCK、TDI、TDO,分別為模式選擇、時(shí)鐘、數(shù)據(jù)輸入和數(shù)據(jù)輸出線。 圖3.2 JTAG原理圖 3.2.7.2溫濕度傳感器模塊 為了測(cè)量的準(zhǔn)確性和多通道數(shù)據(jù)采集,這里選擇3片dht11連接到stm32芯片上,由芯片上的IO引腳作為3片dht11的器件數(shù)據(jù)及時(shí)鐘選擇端口。 電路圖設(shè)計(jì)如圖4-5所示: 第四章 系統(tǒng)軟件設(shè)計(jì) 4.1 程序流程圖及開(kāi)發(fā)環(huán)境搭建
36、 5-1 程序運(yùn)行流程圖 4.2開(kāi)發(fā)環(huán)境 4.2.1 KEIL5 的介紹 本系統(tǒng)編程用的是C語(yǔ)言,編程軟件用的是KEIL5,在單片機(jī)編程中,較為主流的編程軟件,它擁有流暢的用戶界面和強(qiáng)大的仿真功能。因?yàn)槭褂玫膫鞲衅饕约捌渌K眾多,因此把各個(gè)模塊的功能與初始化都封裝成了函數(shù)并分別存在了不同文檔之中,這樣不僅使得代碼雅觀整潔,而且調(diào)用的時(shí)候也十分方便。子程序中包括DHT11溫濕度模塊、雨滴傳感器、土壤濕度模塊、光照強(qiáng)度模塊和ESP8266WIFI模塊等。 與之前的版本不同,KEIL 5分成MDK CORE和Soft和Software Packs兩
37、個(gè)部分。MDK Core主要包括KEIL5 IDE集成開(kāi)發(fā)環(huán)境和ARM Compiler5。Software Packs則可以在不更換MDK Core的情況下,單獨(dú)管理設(shè)備支持包和中間件更新包(即Device、CMSIS和Middleware)。 4.2.2 J-LINK 的連接與設(shè)置 J-Link-OB是SEGGER開(kāi)發(fā)的自主調(diào)試調(diào)試器下載器。它通常是在大公司的評(píng)估板(“集成”)上設(shè)計(jì)的。這就是為什么后綴是“OB”。名為“J-Link-OB”的模擬下載調(diào)試器具有USB通信功能,能與PC通信。另一端通過(guò)SWD / JTAG模式與兼容設(shè)備通信,以執(zhí)行調(diào)試任務(wù)。 ,下載和調(diào)試。所有內(nèi)置微控
38、制器系列如ARM7 \ 9 \ 11,Cortex-M0 \ M1 \ M2 \ M3 \ M4 \ A5 \ A8 \ A9與SWD接口均支持J-LINK。 關(guān)于J-LINK的使用,需要用杜邦線把J_Link 和開(kāi)發(fā)板的 JTAG/SWD 連接起來(lái)。如下圖所示: 圖5-3 STM32F407VET6開(kāi)發(fā)板相關(guān)引腳原理圖 圖5-4 J-LINK相關(guān)引腳原理圖 PA13 、PA14的復(fù)用功能是和 J_Link里面的SWDIO和SWCLK 引腳是一樣的。然后PA13 PA14 接到 JTAG/SWD 的7 9 引腳。也就是說(shuō)。J_Link里面的SWDIO和SWCLK 用串口線和開(kāi)發(fā)板的
39、JTAG/SWD 的7 9 引腳直接相連。高電平和接地可看JTAG原理圖。 4.2.3 CH340G USB轉(zhuǎn)串口 自行開(kāi)發(fā)系統(tǒng)USB-TTL / STC-ISP采用USB接口,解決了缺乏串口的問(wèn)題,允許筆記本給單片機(jī)STC系列節(jié)目的用戶的問(wèn)題。關(guān)于CH340G的使用,首先需要安裝它的相關(guān)驅(qū)動(dòng):CH341SER.exe, 圖5-5 CH340G驅(qū)動(dòng)安裝 驅(qū)動(dòng)安裝完成后,按照下面的接線圖接好線即好: 圖5-6 接線圖 4.3 主要模塊程序設(shè)計(jì) 軟件設(shè)計(jì)部分,包括兩大部分:初始化和功能性設(shè)計(jì)。 4.3.1 系統(tǒng)初始化 (1) 時(shí)鐘的初始化 時(shí)鐘是MCU的命令源和STM32
40、具有三個(gè)不同的時(shí)鐘源來(lái)驅(qū)動(dòng)系統(tǒng)時(shí)鐘:時(shí)鐘振蕩器HSI,時(shí)鐘HSE振蕩器和PLL時(shí)鐘。外部晶體HSE /諧振器:所述HSI時(shí)鐘信號(hào)由一個(gè)8 MHz的內(nèi)部振蕩器可以由2被用作分割后的PLL輸入由兩個(gè)時(shí)鐘源產(chǎn)生的高速的外部時(shí)鐘信號(hào)生成HSE陶瓷,外部用戶時(shí)鐘HSE。我選擇了PLL時(shí)鐘。主PLL乘以HSI時(shí)鐘除以2或HSE乘以可配置分頻器的PLL2時(shí)鐘。 PLL2和PLL3通過(guò)可配置的分頻器由HSE同步。所述PLL(時(shí)鐘源,分頻器,乘法器等的選擇)的配置必須在每個(gè)PLL的激活之前完成,并且一旦其輸入時(shí)鐘是穩(wěn)定的。啟用PLL后,這些設(shè)置將不會(huì)更改。更改輸入PLL時(shí)鐘源時(shí),必須在選擇新時(shí)鐘源后禁用原始時(shí)鐘
41、源(通過(guò)時(shí)鐘配置寄存器的PLLSRC位) (RCC_CFGR))。當(dāng)PLL準(zhǔn)備就緒時(shí),中斷時(shí)鐘寄存器(RCC_CIR)可以產(chǎn)生中斷。 (2)初始化I / O. 每個(gè)GPI端口/ O具有兩個(gè)32位的配置寄存器(GPIOx_CRL,GPIOx_CRH),2個(gè)32位數(shù)據(jù)寄存器(GPIOx_IDR和GPIOx_ODR),寄存器32個(gè)比特/復(fù)位(GPIOx_BSRR)和一個(gè)16位的復(fù)位寄存器(GPIOx_BRR)。還有一個(gè)32位鎖定寄存器(GPIOx_LCKR)。 浮動(dòng)輸入,輸入/輸出,輸入/輸出,模擬輸入,漏極開(kāi)路輸出,推挽輸出,推挽復(fù)用,開(kāi)漏多路復(fù)用功能:每個(gè)GPIO端口位可單獨(dú)在幾種模式由軟
42、件進(jìn)行設(shè)置。每個(gè)端口位I / O可以自由編程,但端口的寄存器作為32位字(半字訪問(wèn)或字節(jié)不允許I / O應(yīng)該可用)。該GPIOx_BSRR和GPIOx_BRR寄存器允許讀/編輯所有GPIO寄存器獨(dú)立訪問(wèn),有沒(méi)有危險(xiǎn)產(chǎn)生的讀訪問(wèn)和修改之間的IRQ。下圖顯示了I / O端口位的基本結(jié)構(gòu)。 (3) 串口初始化 在這種設(shè)計(jì)中,收發(fā)器通過(guò)串口傳輸?shù)絊TM32,其最基本的參數(shù)是波特率。 STM32串口必須打開(kāi)串口時(shí)鐘,設(shè)置相應(yīng)的IO端口模式,并配置波特率,數(shù)據(jù)位長(zhǎng),奇偶校驗(yàn)等信息。具體步驟如下。 串行時(shí)鐘被激活。串行端口用作STM32的器件,其時(shí)鐘由器件時(shí)鐘使
43、能寄存器控制,串行端口1為APB2ENR寄存器的第14位。除了激活A(yù)PB2ENR中的串行端口1時(shí)鐘外,其他串行端口的時(shí)鐘使能位位于APB1ENR寄存器中。 串口復(fù)位。當(dāng)器件發(fā)生異常時(shí),可以使用復(fù)位寄存器中的相應(yīng)位設(shè)置復(fù)位器件,然后重新配置器件進(jìn)行返工。通常,當(dāng)初始配置設(shè)備時(shí),首先執(zhí)行設(shè)備重置操作。通過(guò)配置APB2RSTR寄存器的第14位來(lái)實(shí)現(xiàn)復(fù)位串行端口1。 設(shè)置串口波特率。每個(gè)串行端口都有自己獨(dú)立的波特率寄存器USART_BRR,它提供不同的波特率。 串口控制。每個(gè)系列STM32端口的具有?3.許多串行端口配置由這三個(gè)寄存器中定義的三個(gè)USART_CR1控制寄存器。 圖4.3 USA
44、RT_CR寄存器各位描述 不使用該寄存器的高18位,低14位用于配置串行端口功能。 UE是串行端口使能位,通過(guò)它來(lái)啟用串行端口。 M是用于選擇字長(zhǎng)的位。如果該位為0,則串行端口設(shè)置為8個(gè)字加n個(gè)停止位。停止位數(shù)(n)根據(jù)參數(shù)確定。 USART_CR2的位[13:12]。默認(rèn)值為0. PCE是檢查的啟用位。如果值為0,則禁用驗(yàn)證,否則啟用驗(yàn)證。 PS是校驗(yàn)位的選擇。如果設(shè)置為0,則為偶校驗(yàn),否則為奇校驗(yàn)。 TXIE是發(fā)送緩沖區(qū)的空白中斷使能位。將此位設(shè)置為1.當(dāng)USART_SR的TXE位為1時(shí),將產(chǎn)生串行端口中斷。 TCIE是傳輸完成終止的激活位。將此位設(shè)置為1.當(dāng)USART_SR的TC位為1
45、時(shí),將產(chǎn)生串行端口中斷。 RXNEIE是接收緩沖區(qū)中非空中斷的激活。將此位設(shè)置為1.當(dāng)USART_SR中的ORE或RXNE位為1時(shí),將生成串行端口中斷。 TE是發(fā)送使能位,如果沒(méi)有1,則使能串口發(fā)送功能。 RE是接收使能位,用法與TE相同。 數(shù)據(jù)的傳輸和接收。 STM32通過(guò)USART_DR數(shù)據(jù)寄存器發(fā)送和接收,USART_DR數(shù)據(jù)寄存器是一個(gè)包含TDR和RDR的雙寄存器。將數(shù)據(jù)寫(xiě)入該寄存器時(shí),串行端口會(huì)自動(dòng)發(fā)送,收到收據(jù)時(shí),也會(huì)出現(xiàn)在該寄存器中。該寄存器的每個(gè)位的描述如下所示: 圖4.4 USART_DR寄存器各位描述 串口狀態(tài)。串口的狀態(tài)可以通過(guò)狀態(tài)寄存器USART_SR讀取。US
46、ART_SR的各位描述如下圖所示: 圖4.5 USART_SR寄存器各位描述 4.3.2功能性設(shè)計(jì) 4.3.2.1 土壤濕度傳感器,雨量傳感器程序設(shè)計(jì) 土壤濕度和雨量傳感器都是用的模擬量采集,我們使用STM32F407VET6的ADC采集口采集土壤濕度和雨量數(shù)據(jù) AD采集的程序設(shè)計(jì): STM32F4XX系列的ADC都是12位的逐次趨近型模數(shù)轉(zhuǎn)換器。ADC(模數(shù)轉(zhuǎn)換器)的位數(shù)決定了它的精度,ADC的位數(shù)分為8位、12位、16位,也就說(shuō)它們精度范圍是分別是0~256、0~4096、0~65536。而它的轉(zhuǎn)換范圍是0~3.6V,當(dāng)你需要把你采集的數(shù)據(jù)用電壓來(lái)表示的話,假設(shè)你采集
47、的數(shù)據(jù)為X(0~4096),那么此時(shí)你輸出的電壓為(X/4096)*3.6。同時(shí)每個(gè)ADC有19個(gè)復(fù)用通道,可以測(cè)量16個(gè)外部源、兩個(gè)內(nèi)部源和一個(gè)VBAT通道的信號(hào),可以在4個(gè)不同的模式下進(jìn)行轉(zhuǎn)換。ADC的轉(zhuǎn)換結(jié)果放在一個(gè)左對(duì)齊或者右對(duì)齊的16位的數(shù)據(jù)寄存器(注入數(shù)據(jù)寄存器和規(guī)則數(shù)據(jù)寄存器)中。值得一提的是,ADC具有看門狗的功能,可以通過(guò)檢測(cè)輸入電壓來(lái)判斷是否超過(guò)設(shè)定的上下限值。 因?yàn)樵诖蠖鄶?shù)情況下,都是直接調(diào)用STM32F4XX芯片的庫(kù)函數(shù),因此這里重點(diǎn)介紹ADC采集的4個(gè)模式:單次轉(zhuǎn)換模式、連續(xù)轉(zhuǎn)換模式、掃描模式和不連續(xù)采樣模式。 單次轉(zhuǎn)換模式: 在此模式下,ADC僅初始化轉(zhuǎn)換。要
48、啟動(dòng)它,將ADC_CR2寄存器的ADON位置1(僅適用于普通通道)或?qū)ONT設(shè)置為0以使用外部觸發(fā)啟動(dòng)。完成此選定頻道的轉(zhuǎn)換后,有兩種情況:該通道首先是一個(gè)普通通道,然后轉(zhuǎn)換后的數(shù)據(jù)存儲(chǔ)在16位ADC_DR寄存器中,轉(zhuǎn)換完成后,ADC_SR狀態(tài)寄存器的EOC位被激活。在此過(guò)程中,如果啟用EOCIE,將生成中斷。 第二,如果信道是一個(gè)噴射通道,轉(zhuǎn)換后的數(shù)據(jù)被存儲(chǔ)在ADC_DRJ1 16位寄存器,并且一旦轉(zhuǎn)換完成的寄存器位JEOC ADC_SR條件將被激活。如果設(shè)置了JEOCIE位,它將完成。將產(chǎn)生中斷。 (1)連續(xù)轉(zhuǎn)換模式 在此模式下,ADC將在完成轉(zhuǎn)換后立即啟動(dòng)下一個(gè)新轉(zhuǎn)換。當(dāng)ADC_
49、CR2控制寄存器的CONT位被激活時(shí),外部觸發(fā)可以啟動(dòng)該模式;當(dāng)ADC_CR2控制寄存器的SWSTRT位被激活時(shí),該模式可以直接啟動(dòng),但它適用于普通通道。每個(gè)轉(zhuǎn)換后,如果正常信道組被轉(zhuǎn)換時(shí),最后的轉(zhuǎn)換后的數(shù)據(jù)被存儲(chǔ)在寄存器16個(gè)ADC_DR比特和EOC是每次轉(zhuǎn)換后設(shè)置為1,并且當(dāng)EOCIE位被置位,產(chǎn)生一個(gè)中斷。 (2)掃描模式 該模式用于掃描一組模擬通道,并通過(guò)激活A(yù)DC_CR1寄存器中的SCAN位將其激活。當(dāng)使能掃描模式時(shí),ADC會(huì)將所有選定的通道轉(zhuǎn)換為ADC_SQRx(正常通道)或ADC_JSQR(注入通道)寄存器,并在每次轉(zhuǎn)換后自動(dòng)轉(zhuǎn)換下一個(gè)通道。如果設(shè)置了CONT,則當(dāng)正常通道轉(zhuǎn)
50、換為最后一個(gè)通道時(shí),轉(zhuǎn)換將從第一個(gè)轉(zhuǎn)換恢復(fù)。一旦ADC_CR2狀態(tài)寄存器的DMA位置1,ADC在每次轉(zhuǎn)換后通過(guò)DMA DMA將數(shù)據(jù)從正常通道組傳輸?shù)絊RAM,并將它們存儲(chǔ)在ADC_DR寄存器。當(dāng)EOCS ADC_SR參數(shù)被設(shè)置為零時(shí),注入通道的數(shù)據(jù)在當(dāng)EOCS設(shè)定轉(zhuǎn)換的每個(gè)正常序列的末端總是存儲(chǔ)在寄存器ADC_JDRx,注入通道的數(shù)據(jù)總是每個(gè)正常頻道轉(zhuǎn)換結(jié)束。存儲(chǔ)在ADC_JDRx注冊(cè)表中。 (3)批量采樣模式 該模式通過(guò)將ADC_CR1寄存器中的DISCEN位置1來(lái)激活該模式,這需要單獨(dú)討論規(guī)則數(shù)據(jù)和注入的輸入。 規(guī)則組:該模式將包含作為所選轉(zhuǎn)換序列一部分的n個(gè)轉(zhuǎn)換的短序列轉(zhuǎn)換為ADC
51、_SQRx寄存器。通過(guò)覆蓋ADC_CR1寄存器中的DISCNUM位可以覆蓋n的值。發(fā)生外部觸發(fā)時(shí),ADC_SQRx寄存器中選擇的n個(gè)跳變將被觸發(fā),直到轉(zhuǎn)換結(jié)束。 注入組:當(dāng)發(fā)生外部觸發(fā)事件時(shí),ADC_JSQR寄存器中選擇的序列將逐個(gè)轉(zhuǎn)換,直到最后一個(gè)轉(zhuǎn)換為止。 以下是AD采集程序的描述: 4.3.2.2溫濕度傳感器采集程序設(shè)計(jì) DHT11使用的是單總線接口進(jìn)行數(shù)據(jù)傳輸 顧名思義,單個(gè)總線接口只有一條數(shù)據(jù)線,它補(bǔ)充了系統(tǒng)中數(shù)據(jù)的交換和控制。器件(主器件或從器件)通過(guò)漏極開(kāi)路或三態(tài)端口連接到數(shù)據(jù)線,以允許器件在沒(méi)有數(shù)據(jù)發(fā)送時(shí)釋放總線,其他器件使用總線(見(jiàn)下圖)。 。單總線通常需要一個(gè)大約
52、4.7kΩ的外部電阻電阻,因此當(dāng)總線空閑時(shí)其狀態(tài)為高電平。主設(shè)備和從設(shè)備之間的通信可以分三步完成:1線設(shè)備的初始化,1線設(shè)備的識(shí)別和數(shù)據(jù)交換。由于這些是主從結(jié)構(gòu),因此從機(jī)只能在主機(jī)調(diào)用從機(jī)時(shí)響應(yīng)。因此,主機(jī)對(duì)1線設(shè)備的訪問(wèn)必須嚴(yán)格遵守單總線命令的順序,即初始化,ROM,命令,控制功能。如果序列混亂,1線設(shè)備將不響應(yīng)主機(jī)(搜索ROM命令,警報(bào)搜索命令除外)。 4.3.2.3 TCP的程序設(shè)計(jì) 1.TCP的簡(jiǎn)單分析 本設(shè)計(jì)使用的是ESP8266WIFI模塊來(lái)構(gòu)建局域網(wǎng),在這里就涉及到TCP與UDP。典型的TCP/IP模型分為4層:應(yīng)用層、傳輸層、網(wǎng)絡(luò)互聯(lián)層和主機(jī)到網(wǎng)絡(luò)層: (1)主機(jī)
53、 - 網(wǎng)絡(luò)層:包括設(shè)備和主機(jī) - 網(wǎng)絡(luò)層。該層的目的是為上層提供訪問(wèn)接口,該接口可以通過(guò)該接口傳輸IP數(shù)據(jù)包,以不同的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn)。方法不同。 (2)網(wǎng)絡(luò)互連層:該層構(gòu)成整個(gè)TCP / IP協(xié)議模型的核心。它負(fù)責(zé)調(diào)整要在數(shù)據(jù)包中發(fā)送的數(shù)據(jù)并將其發(fā)送到目標(biāo)地址。要獲得高速傳輸,必須對(duì)數(shù)據(jù)包進(jìn)行分組。可能需要通過(guò)不同的路徑轉(zhuǎn)發(fā)來(lái)自每個(gè)組的數(shù)據(jù)包,這意味著不同組之間發(fā)送目標(biāo)地址的順序不是發(fā)送順序,因此有必要對(duì)不同的順序進(jìn)行排序現(xiàn)在的群體。網(wǎng)絡(luò)互連層(也稱為IP層)定義數(shù)據(jù)包的格式和IP協(xié)議。 (3)傳輸層:傳輸層主要用作源地址的對(duì)等層和TCP / IP模型中的目的地址之間的會(huì)話橋。該層有兩種協(xié)議
54、,一種是傳輸控制協(xié)議,另一種是用戶數(shù)據(jù)報(bào)協(xié)議(TCP和UDP)。兩者都是常用的數(shù)據(jù)傳輸協(xié)議,區(qū)別在于TCP是雙向,可靠,面向連接的協(xié)議,而UDP是單向,不穩(wěn)定,無(wú)連接的協(xié)議。它主要用于數(shù)據(jù)不丟失的場(chǎng)景以及不需要對(duì)其進(jìn)行排序和控制的場(chǎng)景,例如視頻流。 (4)應(yīng)用層:在理想的TCP / IP模型中,理想OSI模型的會(huì)話層表示層的功能被合并到該層中?;赥CP和UDP,應(yīng)用層有許多協(xié)議,如基于TCP的文件傳輸協(xié)議,Telnet協(xié)議,超文本傳輸??協(xié)議等?;赨DP的協(xié)議包括FTP,SNMP,DNS,NFS,SAMBA等的簡(jiǎn)化版本和TCP??梢允褂肬DP實(shí)現(xiàn)的協(xié)議,例如P2P協(xié)議。。 圖5-6
55、TCP/IP參考模型的層次結(jié)構(gòu) 在了解TCP / UDP之后,我們介紹了ESP8266的三種模式:STA / AP / STA + AP,基于TCP網(wǎng)絡(luò)傳輸。因此,我們將詳細(xì)介紹TCP。 TCP提供八位位組流服務(wù),面向連接的服務(wù),可靠的傳輸服務(wù),緩沖區(qū)傳輸,全雙工傳輸和流量控制。 TCP數(shù)據(jù)傳輸基于IP結(jié)束數(shù)據(jù)格式分為兩部分:頭部和數(shù)據(jù)。 圖5-7 TCP數(shù)據(jù)在IP協(xié)議中的格式 主機(jī)A和主機(jī)B要用TCP進(jìn)行數(shù)據(jù)傳輸?shù)脑挘紫纫M(jìn)行“握手”,也就是常說(shuō)的三次握手。 圖5-8 三次握手過(guò)程 主機(jī)A先傳輸SYN到主機(jī)B,而這里SYN包含了A想要連接的主機(jī)端口以及ISN(初始的序列,
56、下面的ISN同義)。 主機(jī)B響應(yīng),這里SYN數(shù)據(jù)段為主機(jī)B的ISN,ACK(應(yīng)答)段為主機(jī)A發(fā)送的ISN+1. 主機(jī)A把主機(jī)B發(fā)送的SYN數(shù)據(jù)段+1后作為ACK返回給了主機(jī)B。 在三次握手之后,主機(jī)A和主機(jī)B建立TCP連接,并且可以在兩者之間發(fā)送和接收數(shù)據(jù)。 主機(jī)A和主機(jī)B必須建立建立TCP連接的鏈路,并且必須斷開(kāi)連接(見(jiàn)下文)。 圖5-9 解除TCP連接的四次連接 主機(jī)A通過(guò)TCP協(xié)議棧發(fā)送FIN字段。請(qǐng)求釋放連接。 主機(jī)B在確認(rèn)了主機(jī)A的FIN后,在主機(jī)A發(fā)送的FIN+1,然后發(fā)送回去作為ACK信號(hào)。 主機(jī)B發(fā)送FIN字段。 主機(jī)A確認(rèn)請(qǐng)求。 2.IP地址說(shuō)明
57、 要連接到Internet,設(shè)備或者主機(jī)必須配置好IP地址。Internet的IP地址在全世界是唯一的,因此這個(gè)IP地址就相當(dāng)于設(shè)備的標(biāo)識(shí)符,在同一個(gè)局域網(wǎng)里面,每個(gè)設(shè)備的標(biāo)識(shí)符都要是獨(dú)一無(wú)二的,所以無(wú)論是ESP8266還是上位機(jī),都需要設(shè)置好IP地址。 一般IP地址格式為;類別+網(wǎng)絡(luò)標(biāo)識(shí)+主機(jī)標(biāo)識(shí)。 類別:用來(lái)區(qū)分IP地址的類型;網(wǎng)絡(luò)標(biāo)識(shí):表示主機(jī)所在的網(wǎng)絡(luò);主機(jī)標(biāo)識(shí):表示主機(jī)在網(wǎng)絡(luò)中的標(biāo)識(shí)。 ESP8266WIFI模塊是使用串口與STM32F407VET6進(jìn)行通訊,通過(guò)串口想ESP8266WIFI模塊發(fā)送AT指令,來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳輸。 4.3.2.4水泵驅(qū)動(dòng)模塊程序設(shè)計(jì) L298
58、N是屬于H橋IC的專用驅(qū)動(dòng)器IC。與L293D的不同之處在于其輸出電流增加且功率增加。它的輸出電流為2A,最大電流為4A,最大工作電壓為50V。它可以驅(qū)動(dòng)感性負(fù)載,如大功率直流電機(jī),電機(jī)不到不是,電磁閥等由單片機(jī)控制。驅(qū)動(dòng)直流電機(jī)時(shí),可以直接控制步進(jìn)電機(jī),電機(jī)可以前后旋轉(zhuǎn),只需要改變端子的邏輯電平即可。條目。 該L298N芯片可以控制兩個(gè)二相電機(jī)或三相電動(dòng)機(jī),輸出電壓可以達(dá)到50V,輸出電壓可直接經(jīng)由飲食調(diào)整,該信號(hào)可以直接由所述單芯片微型計(jì)算機(jī)的IO端口設(shè)置和電路簡(jiǎn)單易用。 L298N接受標(biāo)準(zhǔn)TTL邏輯VSS信號(hào),可連接4.5至7V。 4針VS連接到電源電壓,HIV HIV電壓范圍介于+
59、2.5和46V之間。輸出電流高達(dá)2A,可能會(huì)產(chǎn)生感性負(fù)載。 1英尺和15英尺管的發(fā)射器分開(kāi)以接近電流采樣電阻器以形成電流檢測(cè)信號(hào)。 L298可以驅(qū)動(dòng)2個(gè)電機(jī),OUT1,OUT2和OUT3,OUT4可以單獨(dú)連接到電機(jī)。我們選擇在這個(gè)實(shí)驗(yàn)單元中驅(qū)動(dòng)電機(jī)。 5,7,10,12引腳連接到輸入控制電平,以控制電機(jī)的正向和反向旋轉(zhuǎn)。 EnA,EnB連接到控制設(shè)備以控制電機(jī)的失速。 5-10 L298N邏輯功能表 In3,In4的邏輯圖與表1相同。由表1可知EnA為低電平時(shí),輸入電平對(duì)電機(jī)控制起作用,當(dāng)EnA為高電平,輸入電平為一高一低,電機(jī)正或反轉(zhuǎn)。同為低電平電機(jī)停止,同為高電平電機(jī)剎停 4.3
60、.2.4有源蜂鳴器 有源環(huán)的聲音是固定的,工作電壓是恒定的,并且關(guān)閉時(shí)間被改變以獲得不同持續(xù)時(shí)間的聲音,例如連續(xù)聲音,短聲和短聲,慢慢聲(類似于摩爾斯電報(bào))報(bào)警信息。 簡(jiǎn)單來(lái)說(shuō),有源蜂鳴器只發(fā)出一種聲音,因?yàn)樗念l率是固定的。它只能通過(guò)聲音間隔的長(zhǎng)度來(lái)區(qū)分。 例如,鬧鐘如下:滴滴~滴滴~滴滴~ 第5章 系統(tǒng)測(cè)試 5.1 系統(tǒng)的調(diào)試 5.1.1 接線說(shuō)明 圖4- 系統(tǒng)接線圖 整體接線圖如4- 所示,在接線時(shí)需要注意各模塊的電源電壓值以及引腳編號(hào),接下來(lái)對(duì)各個(gè)模塊的引腳接線進(jìn)行說(shuō)明。 以STM32F407ZET6板為中心,其中PA8腳連接DHT11
61、模塊的DATA數(shù)據(jù)腳;PA4、PA5分別接雨滴傳感器的DO、AO腳;PA9、PA10分別接ESP8266的RX、TX腳;PA6、PA7分別接光敏傳感器BH1750的SCL、SDA腳;PC0、PC1分別接AO、DO腳;PA12接蜂鳴器的I/0腳。需要說(shuō)明的是DHT11需要接5V的電源,不然內(nèi)部電壓不足將無(wú)法讀取數(shù)據(jù)。 5.1.2 調(diào)試的步驟 硬件接線完畢通電后,把程序下載到STM32板子上,進(jìn)入調(diào)試模式,調(diào)試之前先確定引腳是否接對(duì),打開(kāi)手機(jī)的TCP助手,連接上ESP8266的服務(wù)器,發(fā)送相關(guān)的指令,檢查是否會(huì)得到回應(yīng)。發(fā)送MODE1,調(diào)成模式1,再輸入想要查詢的相關(guān)數(shù)據(jù),如:“TEMP”,查詢溫度。發(fā)送MODE2,調(diào)成模式2,手機(jī)TCP助手將每5秒收到相關(guān)的傳感器參數(shù),通過(guò)串口3返回的數(shù)據(jù)檢查是否一致。 37
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國(guó)人民警察節(jié)(筑牢忠誠(chéng)警魂感受別樣警彩)
- 2025正字當(dāng)頭廉字入心爭(zhēng)當(dāng)公安隊(duì)伍鐵軍
- XX國(guó)企干部警示教育片觀后感筑牢信仰之基堅(jiān)守廉潔底線
- 2025做擔(dān)當(dāng)時(shí)代大任的中國(guó)青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會(huì)圍繞六個(gè)干字提要求
- XX地區(qū)中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 支部書(shū)記上黨課筑牢清廉信念為高質(zhì)量發(fā)展?fàn)I造風(fēng)清氣正的環(huán)境
- 冬季消防安全知識(shí)培訓(xùn)冬季用電防火安全
- 2025加強(qiáng)政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓(xùn)直播技巧與方法
- 2025六廉六進(jìn)持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個(gè)人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 幼兒園期末家長(zhǎng)會(huì)長(zhǎng)長(zhǎng)的路慢慢地走