国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的智能農(nóng)場管理系統(tǒng)的設(shè)計

2020-10-09 02:09郭賽球劉樂
科教導(dǎo)刊·電子版 2020年20期
關(guān)鍵詞:遠(yuǎn)程管理傳感器

郭賽球 劉樂

摘 要 針對傳統(tǒng)農(nóng)業(yè)受自然條件影響較大且難于管理與監(jiān)控等缺點(diǎn),設(shè)計一種基于STM32的智能農(nóng)場管理系統(tǒng)。該系統(tǒng)利用光敏電阻檢測當(dāng)前的光照強(qiáng)度,LED燈根據(jù)接收到的光照信息輸出不同強(qiáng)度的燈光進(jìn)行調(diào)節(jié);采用溫度傳感器和濕度傳感器檢測空氣溫度和土壤濕度;利用LCD顯示屏,顯示當(dāng)前檢測的狀態(tài)信息以及系統(tǒng)工作信息;采用自帶FIFO的攝像頭,提高了顯示幀率;該系統(tǒng)能夠?qū)崿F(xiàn)對農(nóng)場的自動化管理與監(jiān)控為農(nóng)作物提供了一個良好的正常生長環(huán)境。

關(guān)鍵詞 STM32 智能農(nóng)場 傳感器 遠(yuǎn)程管理

中圖分類號:TP391文獻(xiàn)標(biāo)識碼:A

我國是一個農(nóng)業(yè)大國,農(nóng)業(yè)是社會發(fā)展的基礎(chǔ)產(chǎn)業(yè)。而傳統(tǒng)農(nóng)業(yè)需要大量勞動力的投入,而且受氣候環(huán)境的影響較大。為提高我國農(nóng)業(yè)生產(chǎn)效率,將當(dāng)代物聯(lián)網(wǎng)技術(shù)與傳統(tǒng)農(nóng)業(yè)相融合,用遠(yuǎn)程管理代替農(nóng)民勞作,用自動調(diào)節(jié)彌補(bǔ)自然環(huán)境的不足,利用低成本,高穩(wěn)定性的傳感器對農(nóng)作物進(jìn)行實(shí)時監(jiān)控,打造一個實(shí)用、簡單、高效的智能農(nóng)場管理系統(tǒng)是解決我國傳統(tǒng)農(nóng)業(yè)發(fā)展緩慢的最有效方案。

1總體設(shè)計方案

本設(shè)計采用STM32F103芯片作為主控芯片??傮w框架由數(shù)據(jù)采集部分、調(diào)節(jié)部分、數(shù)據(jù)傳輸部分、狀態(tài)顯示部分、管理與操作部分組成,其中數(shù)據(jù)采集與調(diào)節(jié)部分由傳感器、繼電器等IO設(shè)備組成,負(fù)責(zé)檢測當(dāng)前農(nóng)場環(huán)境狀態(tài)并實(shí)時進(jìn)行處理。主控芯片將傳感器采集到的數(shù)據(jù)通過LCD屏幕進(jìn)行顯示,然后通過以太網(wǎng)將數(shù)據(jù)傳送到網(wǎng)頁,通過網(wǎng)頁操作和紅外遙控可以對系統(tǒng)的調(diào)節(jié)部分進(jìn)行控制。

2硬件設(shè)計

2.1主控芯片相關(guān)說明

本設(shè)計采用的MCU是STM32F103ZET6,該芯片是具有高性能、低功耗、低成本的特點(diǎn)。芯片采用32位ARM CortexTM_M3內(nèi)核,具有72M的工作頻率,在存儲器的0等待周期訪問時可達(dá)1.25DMips/MHz,具備512K內(nèi)部Flash和高達(dá)64K的SAM。

2.2光照調(diào)節(jié)模塊

本設(shè)計采用的光敏傳感器即光敏二極管,它對光非常敏感。當(dāng)受到光照時,PN結(jié)上形成空穴—電子對,隨著光照強(qiáng)度的增加,空穴—電子對也不斷增加,這時二極管電阻減小,電流增大。當(dāng)光照強(qiáng)度變化時,光敏二極管兩端的電壓也會隨之變化,利STM32F103的ADC檢測二極管兩端的電壓,就能夠判斷外部光線的強(qiáng)弱。

使用定時器TIM3產(chǎn)生PWM輸出到LED。我們使用 TIM3的CH2輸出PWM的占空比來控制LED的亮度,PWM原理當(dāng) CNT 值小于CCRx的時候,IO輸出低電平,當(dāng)CNT 值大于等于CCRx 的時候,IO輸出高電平。

2.3溫度調(diào)節(jié)模塊

DS18B20溫度傳感器采用單總線與主機(jī)通訊。它的測量溫度范圍為-55~+125℃,精度為?.5℃。工作電壓 3~5.5V。在使用時,主機(jī)先輸出一個低電平產(chǎn)生復(fù)位脈沖。然后再進(jìn)入接收應(yīng)答模式,接著在發(fā)送相關(guān)指令。DS18B20的單總線不僅可以讀還可以寫,首先要給它發(fā)送讀存儲器的指令,才能接收到溫度值。加熱裝置采用繼電器控制。

2.4土壤濕度調(diào)節(jié)模塊

土壤濕度傳感器兩個信號輸出端,DO和AO。DO輸出高低電平,AO輸出模擬信號,本設(shè)計采用的是AO端口。該傳感器的比較器采用 LM393芯片,工作穩(wěn)定,工作電壓 3.3V-5V。

傳感器適用于土壤的濕度檢測,傳感器控制板有一個AO端,通過它與STM32F1的ADC相連,通過AD轉(zhuǎn)換,可以獲得土壤濕度精確的數(shù)值。澆水裝置利用繼電器控制電機(jī)實(shí)現(xiàn)。土壤濕度傳感器原理圖,

2.5攝像頭模塊

OV7725是OV(OmniVision)公司生產(chǎn)的圖像傳感器。夠和單片機(jī)完美兼容且具備影像設(shè)備的基本功能。OV7725攝像頭的像素時鐘(PCLK)較高,最高可達(dá)24Mhz,而我們的 STM32F103ZET6處理速度較低,如果IO口直接抓取,是非常困難的,也十分耗費(fèi)CPU。OV7725相機(jī),不自己抓取來自O(shè)V7725的圖像,而是通過FIFO讀取。該OV7725攝像頭模塊自帶了一個FIFO芯片(AL422B),可以暫存圖像數(shù)據(jù),攝像頭捕獲畫面后,就會將畫面存入FIFO中,我們再從FIFO中讀取畫面,讀完之后再允許FIFO的寫入。

TFLCD顯示模塊的接口為16位的并口,16位并口傳輸?shù)乃俣容^快,遠(yuǎn)勝于8位的傳輸方式,該顯示屏要傳輸彩色數(shù)據(jù),其數(shù)據(jù)量是非常大的。本設(shè)計中我們使用STM32F1的FSMC接口來驅(qū)動TFTLCD顯示屏。

2.6紅外遙控模塊

紅外線遙控通過紅外線傳輸信號,而紅外延直線傳播,不能避過障礙物,所以一般不會出現(xiàn)干擾現(xiàn)象。紅外遙控價格低廉,功耗低,而且對環(huán)境沒有影響,目前在家用領(lǐng)域已經(jīng)非常普及。本設(shè)計中我們利用 STM32F1的輸入捕獲,將捕獲的電平對照協(xié)議進(jìn)行解碼,并將解碼后的鍵值 對應(yīng)一個系統(tǒng)功能,實(shí)現(xiàn)遙控操作的目的。

2.7以太網(wǎng)模塊

DM9000是本設(shè)計網(wǎng)絡(luò)模塊的以太網(wǎng)芯片,它具有性價比高、低功耗、引腳少、集成度高等特點(diǎn)。

DM9000是通16位數(shù)據(jù)總線,掛在STM32的FSMC上面,DM9000的片選由FSMC_NE2 控制,CMD則由FSMC_A7控制。這個連接方法,類似于TFTLCD顯示,總共用到了22個IO口。

3軟件設(shè)計

3.1主程序流程及相關(guān)說明

系統(tǒng)上電后首先進(jìn)行各個模塊的初始化配置,包括GPIO口的初始化配置和相關(guān)寄存器的初始化配置。在主循環(huán)中通過傳感器檢測的不斷獲得各項(xiàng)數(shù)據(jù),刷新LCD顯示屏顯示數(shù)據(jù)。如果收到來自紅外遙控或網(wǎng)頁發(fā)來的指令,則執(zhí)行響應(yīng)指令。如果系統(tǒng)處于手動模式,則無操作,進(jìn)入循環(huán),重新檢測數(shù)據(jù)。如果系統(tǒng)處于自動模式,則根據(jù)當(dāng)前環(huán)境值調(diào)節(jié)LED、加熱及灌溉裝置,使光照、溫度、土壤濕度始終處于穩(wěn)定中,進(jìn)入循環(huán),重新檢測數(shù)據(jù)。

3.2光照自動調(diào)節(jié)模塊

Lsens_Init函數(shù)用于初始化光敏傳感器,設(shè)置PF8為模擬輸入,然后通過Adc3_Init函數(shù)初始化ADC3_CH6。Lsens_Get_Val函數(shù)用于獲取當(dāng)前光照強(qiáng)度,該函數(shù)通過Get_Adc3得到ADC3_CH5轉(zhuǎn)換的電壓值,每次獲取光照強(qiáng)度的時候,為使數(shù)值準(zhǔn)確可靠,每次獲取10次電壓值,并求出平均值,STM32的ADC為12位,ADC3->DR寄存器所返回的值最大為65535,經(jīng)過簡單量化后,處理成0~100的光照值。0對應(yīng)最暗,100對應(yīng)最亮。

3.3溫度自動調(diào)節(jié)模塊

在初始化DS18B20時,先初始化GPIO口,隨即使用DS18B20_Rst函數(shù)復(fù)位一次。在需要獲取溫度時,使用DS18B20_Get_Temp函數(shù)進(jìn)行采集。首先通過單總線發(fā)送指令,開始溫度轉(zhuǎn)換;然后為避免錯誤,進(jìn)行復(fù)位;然后等待DS18B20的回應(yīng);檢測到DS18B20的存在,即收到回應(yīng)后;再向DS18B20發(fā)送讀取溫度的指令,此時DS18B20就會通過單總線發(fā)送出具體溫度值。

3.4濕度自動調(diào)節(jié)模塊

本模塊通過STM32F1的ADC11檢測土壤濕度傳感器的電壓值,從而獲取濕度值。首先進(jìn)行ADC初始化,然后進(jìn)行ADC轉(zhuǎn)化,得到濕度值。

3.5攝像頭模塊

OV7725_Init函數(shù)先初始化OV7725相關(guān)的IO口,包括ov7725_init_reg_tbl函數(shù)完成OV772的寄存器序列初始化。

攝像頭捕獲畫面后產(chǎn)生幀中斷,幀中斷到來后,判斷ov_sta是否為0,如果是0,說明可以往FIFO里面寫入數(shù)據(jù),執(zhí)行復(fù)位FIFO寫指針,并允許FIFO寫入,此時,AL422B 將從地址0開始,存儲新一幀的圖像數(shù)據(jù)。然后ov_sta++,標(biāo)記新的一幀數(shù)據(jù)正在存儲中。如果ov_sta不為0,說明之前存儲在FIFO里面的一幀數(shù)據(jù)還未被讀取過,直接禁止FIFO寫入,STM32 只需要判斷ov_sta是否大于0,來讀取FIFO里面的數(shù)據(jù),讀完一幀后,設(shè)置 ov_sta為0,以免重復(fù)讀取,同時還可以使能FIFO新幀的寫入。

3.6顯示模塊

開機(jī)后通過LCD_Init函數(shù)對TFTLCD進(jìn)行初始化,初始化的第一步是將LCD所連接的GPIO口進(jìn)行初始化,然后再配置STM32知道的FSMC,因?yàn)槲覀兪峭ㄟ^FSMC向TFTLCD寫入數(shù)據(jù),然后進(jìn)行顯示。配置好PSMC后再進(jìn)行TFTLCD模塊的配置。通過向LCD的控制器寫入由廠家提供的初始化序列,即可初始化成功。

3.7紅外遙控模塊

首先用Remote_Init函數(shù)初始化 IO 口,并配置TIM4_CH4為輸入捕獲,當(dāng)紅外接收頭接收到信號后,就會觸發(fā)定時器4產(chǎn)生中斷。在中斷函數(shù)中捕獲到信號后,將其解析后將值傳給RmtRec。

3.8 web server模塊

在移植好LWIP后,使用lwip_comm_init函數(shù)進(jìn)行初始化,包括LWIP和DM9000以太網(wǎng)模塊的初始化,使用httpd_init開啟web server模式。在主循環(huán)中用lwip_periodic_handle和lwip_pkt_handle這兩個函數(shù)輪詢?nèi)蝿?wù)和接收數(shù)據(jù)。

采用CGI技術(shù)和SSI技術(shù)進(jìn)行網(wǎng)頁控制。使用CGI,首先要定義ppcURLs數(shù)組,該數(shù)組定義了我們在html插入的標(biāo)簽。編寫CGI_Handler處理函數(shù),接收到數(shù)據(jù)后進(jìn)行相應(yīng)的處理。使用SSI,也要定義SSI的Tag數(shù)組,該數(shù)組定義了我們在html插入的標(biāo)簽。編寫SSIHandler處理函數(shù),在函數(shù)中處理準(zhǔn)備加到html中的數(shù)據(jù)。最后在使用時我們需要調(diào)用httpd_cgi_init函數(shù)和httpd_ssi_init函數(shù)進(jìn)行CGI句柄初始化和SSI句柄初始化。

4測試結(jié)果與分析

基于STM32的智能農(nóng)場管理系統(tǒng)的實(shí)驗(yàn)樣機(jī)用戶可通過網(wǎng)頁端以及紅外遙控進(jìn)行操控。在實(shí)驗(yàn)過程中通過模擬農(nóng)場自然環(huán)境對系統(tǒng)的功能及性能進(jìn)行測試,測試結(jié)果如下:

(1)自動模式下,功能測試時系統(tǒng)反應(yīng)靈敏,系統(tǒng)可根據(jù)設(shè)定值與自然環(huán)境變化進(jìn)行自動調(diào)節(jié);

(2)通過瀏覽器登錄網(wǎng)頁系統(tǒng)可看到各傳感器檢測的數(shù)值,數(shù)據(jù)刷新率為3s刷新一次,可同時多用戶訪問web服務(wù)器,網(wǎng)頁控制正常;

(3)紅外遙控控制有效距離為5m,系統(tǒng)接收數(shù)據(jù)后蜂鳴器發(fā)出響聲作為回應(yīng);

(4)攝像頭畫面刷新率為15幀左右,幀率稍慢,可通過調(diào)整分辨率以及提高硬件性能進(jìn)行優(yōu)化。

經(jīng)過以上測試及分析得出,該系統(tǒng)各功能模塊運(yùn)行正常,傳感器數(shù)據(jù)較準(zhǔn)確,系統(tǒng)反應(yīng)靈敏,控制無誤,基本符合系統(tǒng)設(shè)計需求。

5結(jié)束語

本次設(shè)計的智能農(nóng)場系統(tǒng)考慮到實(shí)際應(yīng)用的基本條件和環(huán)境,因此具有很強(qiáng)的使用新以及很高的應(yīng)用價值。本設(shè)計采用的STM32芯片應(yīng)用場景廣泛,具有高效低耗的特點(diǎn),在實(shí)際應(yīng)用中表現(xiàn)出色。本系統(tǒng)不僅擁有自動模式,能夠?qū)崿F(xiàn)空氣溫度自動調(diào)節(jié)、土壤濕度自動調(diào)節(jié)、光照強(qiáng)度自動調(diào)節(jié);而且還有手動模式,能夠在特殊條件下進(jìn)行手動控制;而且還可以遠(yuǎn)程管與控制。

參考文獻(xiàn)

[1] 趙巍,馮娜.單片機(jī)基礎(chǔ)及應(yīng)用[M].北京:清華大學(xué)出版社,2009:94-103.

[2] 高慧芳.單片機(jī)原理及系統(tǒng)設(shè)計[M].杭州:杭州電子科技大學(xué),2008:124-174.

[3] 祖一康,徐妙婧.基于STM32的溫濕度采集系統(tǒng)設(shè)計[J].黃岡師范學(xué)院學(xué)報,2015,35(06):60-63.

[4] 周江.STM32單片機(jī)原理及硬件電路設(shè)計研究[J].數(shù)字技術(shù)與應(yīng)用,2015(11):1.

[5] 郭俊杰,朱洪應(yīng),蔡超敏,黃培鑫,陳如麒.基于STM32單片機(jī)的視頻遙控小車[J].大學(xué)物理實(shí)驗(yàn),2015,28(04):47-50.

[6] 黃志偉,徐蘇楠,韋一,唐瑩.STM32的多傳感器融合姿態(tài)檢測[J].華僑大學(xué)學(xué)報(自然科學(xué)版),2015,36(04):422-426.

[7] 趙星.STM32基于FSMC的SRAM擴(kuò)展技術(shù)[J].工業(yè)控制計算機(jī),2015,28(06):102-103.

[8] 尤衛(wèi)衛(wèi),冒建亮,葉樺.基于STM32和CPLD的TFT-LCD顯示控制器設(shè)計[J]. 液晶與顯示,2015,30(03):444-450.

猜你喜歡
遠(yuǎn)程管理傳感器
康奈爾大學(xué)制造出可拉伸傳感器
GSM-R網(wǎng)絡(luò)SIM卡遠(yuǎn)程管理技術(shù)方案研究
簡述傳感器在物聯(lián)網(wǎng)中的應(yīng)用
“傳感器新聞”會帶來什么
跟蹤導(dǎo)練(三)2
被忽視的遠(yuǎn)程管理模塊
Radmin在服務(wù)器遠(yuǎn)程管理中的應(yīng)用