當(dāng)前位置:首頁 > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]引言傳統(tǒng)農(nóng)業(yè)需要消耗大量的勞動(dòng)力,生產(chǎn)效率低,急需要向現(xiàn)代農(nóng)業(yè)的轉(zhuǎn)變。溫室技術(shù)作為現(xiàn)代農(nóng)業(yè)的重要代表將作物的生長從自然環(huán)境獨(dú)立出來,形成一個(gè)可以進(jìn)行人工控制的半

引言

傳統(tǒng)農(nóng)業(yè)需要消耗大量的勞動(dòng)力,生產(chǎn)效率低,急需要向現(xiàn)代農(nóng)業(yè)的轉(zhuǎn)變。溫室技術(shù)作為現(xiàn)代農(nóng)業(yè)的重要代表將作物的生長從自然環(huán)境獨(dú)立出來,形成一個(gè)可以進(jìn)行人工控制的半封閉系統(tǒng)。我國從20世紀(jì)90年代開始向溫室技術(shù)發(fā)達(dá)的荷蘭、美國等國學(xué)習(xí),但是由于我國農(nóng)業(yè)生產(chǎn)條件與國外情況不同,不能直接照搬國外的模式,而需要研發(fā)適合我國各地區(qū)生產(chǎn)條件的溫室控制系統(tǒng)。

針對(duì)上述情況設(shè)計(jì)了一套溫室的遠(yuǎn)程監(jiān)測(cè)和控制系統(tǒng)。由于在各個(gè)環(huán)境因素中,空氣溫濕度對(duì)作物的生長具有較大的影響,所以系統(tǒng)選擇對(duì)溫室內(nèi)空氣溫濕度進(jìn)行監(jiān)測(cè)和控制。傳統(tǒng)的51系列單片機(jī)控制系統(tǒng)運(yùn)算能力以及功能擴(kuò)展能力差,PLC控制系統(tǒng)成本太高,所以選擇了外設(shè)豐富、擴(kuò)展性強(qiáng)以及成本較低的STM32單片機(jī)作為溫室內(nèi)的控制器。

1、系統(tǒng)總體設(shè)計(jì)

文中開發(fā)了一套基于STM32的溫室遠(yuǎn)程監(jiān)測(cè)和控制系統(tǒng)。通過利用STM32單片機(jī)作為溫室內(nèi)的控制器以及MFC編寫的遠(yuǎn)程控制軟件可以實(shí)現(xiàn)對(duì)溫室內(nèi)溫濕度遠(yuǎn)程監(jiān)測(cè)和控制。在STM32控制器設(shè)計(jì)中加入ENC28J60模塊,使控制器可以接入網(wǎng)絡(luò),同時(shí)在STM32的程序設(shè)計(jì)中移植LwIP協(xié)議,使控制器可以通過TCP/IP協(xié)議與遠(yuǎn)程控制軟件進(jìn)行數(shù)據(jù)通信。

STM32控制器直接控制DHT11傳感器和繼電器模塊,DHT11負(fù)責(zé)測(cè)量溫室內(nèi)溫濕度,繼電器模塊負(fù)責(zé)控制溫室內(nèi)的加熱系統(tǒng)和濕簾系統(tǒng),改變溫室內(nèi)的溫濕度。在VC6.0平臺(tái)下利用MFC設(shè)計(jì)了簡單易用的遠(yuǎn)程控制界面,可以遠(yuǎn)程監(jiān)測(cè)溫室內(nèi)的溫濕度,并對(duì)溫室內(nèi)設(shè)備進(jìn)行控制,將控制過程中產(chǎn)生的數(shù)據(jù)保存到數(shù)據(jù)庫中,系統(tǒng)整體框架如圖1所示。

 

 

圖1系統(tǒng)整體框圖

2、系統(tǒng)硬件設(shè)計(jì)

2.1、核心處理器的選擇

STM32具有豐富的外圍設(shè)備,內(nèi)置64K的靜態(tài)RAM和512K字節(jié)的閃存存儲(chǔ)器,多達(dá)112個(gè)GPIO端口,可以按要求配置成輸入或輸出各四種模式,共有7路通用DMA,負(fù)責(zé)存儲(chǔ)器之間以及存儲(chǔ)器和外設(shè)之間的直接數(shù)據(jù)傳輸,內(nèi)嵌3個(gè)12位的模擬/數(shù)字轉(zhuǎn)換器,1條I2C總線連接控制器和外圍設(shè)備,2條SPI總線,負(fù)責(zé)一個(gè)主設(shè)備和多個(gè)從設(shè)備之間進(jìn)行數(shù)據(jù)交換,可以外接以太網(wǎng)接口,3個(gè)USART串口,1個(gè)SDIO接口進(jìn)行存儲(chǔ)器擴(kuò)展以及1個(gè)JTAG接口可以用于連接計(jì)算機(jī)進(jìn)行程序調(diào)試。

2.2、溫濕度傳感器的選擇

對(duì)于溫室內(nèi)的空氣溫濕度測(cè)量,本系統(tǒng)采用的是DHT11傳感器。DHT11中集成了數(shù)字采集模塊,包括1個(gè)測(cè)溫元件和1個(gè)電阻式感濕元件,它的抗干擾能力強(qiáng)、價(jià)格便宜、體積小、功耗低,使用方便,工作電壓為3.5V。其主要參數(shù)如表1所示。

 

 

DHT11采用的是單總線數(shù)據(jù)格式,可以通過一個(gè)引腳進(jìn)行數(shù)據(jù)的發(fā)送和命令的接收,本次設(shè)計(jì)采用STM32的GPIO_Pin_7引腳來連接DHT11。在STM32中央控制器向DHT11發(fā)送開始信號(hào)以后,DHT11從低功耗模式喚醒,進(jìn)入高速模式狀態(tài),并對(duì)STM32的開始信號(hào)進(jìn)行響應(yīng),雙方確認(rèn)以后,DHT11把測(cè)得的數(shù)據(jù)封裝在數(shù)據(jù)包中發(fā)送到STM32控制器,發(fā)送完以后會(huì)觸發(fā)采集信號(hào)繼續(xù)進(jìn)行數(shù)據(jù)的采集。在STM32中央控制器向DHT11發(fā)送結(jié)束信號(hào)后,DHT11停止測(cè)量數(shù)據(jù),重新進(jìn)入低功耗模式,DHT11和STM32之間通信一次的時(shí)間最大為3ms左右。

2.3、繼電器模塊的設(shè)計(jì)

設(shè)計(jì)中執(zhí)行設(shè)備的狀態(tài)是“二位”形式,即只有“打開”和“關(guān)閉”2種狀態(tài),可以通過繼電器進(jìn)行控制。本次設(shè)計(jì)采用的是電磁繼電器,型號(hào)為歐姆龍G2R-1A-E。電磁繼電器的組成部分有鐵芯、線圈、銜鐵和簧片,利用電磁效應(yīng)通過在線圈兩端加電壓產(chǎn)生電流繼而產(chǎn)生電磁力,對(duì)銜鐵產(chǎn)生吸引力,控制開關(guān)。本次設(shè)計(jì)為每個(gè)執(zhí)行設(shè)備連接一個(gè)電磁繼電器。

2.4、網(wǎng)絡(luò)接口設(shè)計(jì)

設(shè)計(jì)中采用STM32外接以太網(wǎng)控制器ENC28J60與遠(yuǎn)程控制軟件進(jìn)行通信。ENC28J60是美國微芯科技公司開發(fā)的,共有28個(gè)引腳,體積小、使用方便,價(jià)格便宜[9]。該芯片帶有SPI接口,可以通過SPI接口與STM32控制器進(jìn)行連接。ENC28J60的工作頻率是25MHz,工作電壓為3.3V。ENC28J60中的存儲(chǔ)器以靜態(tài)RAM方式實(shí)現(xiàn)。STM32通過使用SPI接口對(duì)ENC28J60芯片的寄存器寫入控制參數(shù)和接收數(shù)據(jù),實(shí)現(xiàn)以太網(wǎng)功能。

3、系統(tǒng)軟件設(shè)計(jì)

3.1、LwIP協(xié)議的移植

LwIP協(xié)議是一種主要應(yīng)用于嵌入式系統(tǒng)中的輕量級(jí)的TCP/IP協(xié)議。LwIP協(xié)議源碼開放,在保持了TCP/IP協(xié)議的基本功能的前提下代碼盡量精簡、占用內(nèi)存小、方便裁剪和調(diào)試[10,11]。LwIP在STM32上的移植工作主要包含2方面內(nèi)容:一是修改文件etherneTIf.c和文件sys_arch.c;二是編寫網(wǎng)絡(luò)驅(qū)動(dòng)程序。

設(shè)計(jì)中采用ENC28J60在LwIP中用neTIf結(jié)構(gòu)體來描述網(wǎng)絡(luò)接口,通過對(duì)neTIf結(jié)構(gòu)體中的各個(gè)成員進(jìn)行賦值來實(shí)現(xiàn)網(wǎng)。neTIf結(jié)構(gòu)體中定義了指向下個(gè)網(wǎng)絡(luò)接口的指針、IP地址、網(wǎng)絡(luò)掩碼、網(wǎng)關(guān)以及用于實(shí)現(xiàn)以太網(wǎng)接收、發(fā)送數(shù)據(jù)包的函數(shù)等內(nèi)容。在驅(qū)動(dòng)中所要完成的任務(wù)就是實(shí)現(xiàn)網(wǎng)絡(luò)的初始化、數(shù)據(jù)的接收發(fā)送以及終端等任務(wù),最終通過硬件接口函數(shù)可以實(shí)現(xiàn)對(duì)硬件的驅(qū)動(dòng)。

3.2、測(cè)量程序的設(shè)計(jì)

DHT11發(fā)送的數(shù)據(jù)包大小為40bit,包括測(cè)得的空氣溫度的整數(shù)部分8bit,空氣溫度小數(shù)部分為8bit,空氣濕度整數(shù)部分8bit,空氣濕度小數(shù)部分8bit,還有8bit是進(jìn)行數(shù)據(jù)校驗(yàn),大小為前面4個(gè)字節(jié)的和。

當(dāng)DHT11進(jìn)行接收主機(jī)命令和向主機(jī)發(fā)送數(shù)據(jù)時(shí),GPIO_Pin_7引腳分別被配置成和上拉輸入模式和推挽輸入模式。其中STM32從DHT11讀取數(shù)據(jù)的程序如下所示。

8DHT11_Read_Data(u8*temp,u8*humi)

{

u8buf[5];

8i;

DHT11_Rst();

if(DHT11_Check()==0)

{

for(i=0;i<5;i++)

buf[i]=DHT11_Read_Byte();

if((buf[0]+buf[1]+buf[2]+buf[3])=

=buf[4])

{

*humi=buf[0];

*temp=buf[2];

}

}

elsereturn1;

return0;

}

3.3、控制程序的設(shè)計(jì)

加熱系統(tǒng)和濕簾系統(tǒng)通過繼電器控制通斷,兩個(gè)繼電器分別通過GPIOB的7和8兩個(gè)引腳進(jìn)行控制。引腳的輸出模式配置為通用推挽輸出模式,速率配置為2MHz。GPIO_SetBits函數(shù)使引腳輸出高電平,繼電器導(dǎo)通,控制相應(yīng)的執(zhí)行設(shè)備運(yùn)行,GPIO_ResetBits函數(shù)使引腳輸出低電平,將繼電器斷開,控制相應(yīng)的執(zhí)行設(shè)備關(guān)閉。STM32中的程序執(zhí)行過程如圖2所示。

 

 

圖2 STM32程序執(zhí)行過程

3.4、遠(yuǎn)程控制軟件的設(shè)計(jì)

文中設(shè)計(jì)的遠(yuǎn)程控制軟件是在美國微軟公司發(fā)行的VC6.0平臺(tái)上利用MFC進(jìn)行開發(fā)的,設(shè)計(jì)的主控制界面如圖3所示。

 

 

圖3主控制界面

從圖3中可以看出主控界面主要包括實(shí)時(shí)監(jiān)測(cè)模塊和設(shè)備控制模塊兩大部分,實(shí)時(shí)監(jiān)測(cè)模塊主要包括對(duì)溫室內(nèi)溫濕度進(jìn)行上限和下限的設(shè)置,以及STM32控制器傳送的實(shí)時(shí)數(shù)據(jù)的顯示,可以選擇將測(cè)得的數(shù)據(jù)保存到數(shù)據(jù)庫中,并進(jìn)行歷史數(shù)據(jù)的查詢。設(shè)備控制模塊的主要功能是對(duì)溫室內(nèi)進(jìn)行環(huán)境調(diào)節(jié)的執(zhí)行設(shè)備進(jìn)行控制,可以選擇手動(dòng)控制和自動(dòng)控制2種模式。遠(yuǎn)程控制軟件與STM32F103VET6中央控制器之間采用TCP/IP協(xié)議進(jìn)行通信,規(guī)定了設(shè)備之間進(jìn)行數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)格式。2個(gè)設(shè)備在進(jìn)行數(shù)據(jù)傳輸時(shí)會(huì)建立起一條虛擬的網(wǎng)絡(luò)通道,數(shù)據(jù)和控制命令封裝成數(shù)據(jù)包的形式在這條通道上進(jìn)行傳輸。遠(yuǎn)程控制軟件與STM32通信的過程如圖4所示。

 

 

圖4 遠(yuǎn)程控制軟件與STM32通信過程

設(shè)計(jì)中采用SQLSever2008數(shù)據(jù)庫保存系統(tǒng)運(yùn)行過程中產(chǎn)生的溫室環(huán)境數(shù)據(jù)和執(zhí)行設(shè)備控制信息等數(shù)據(jù)。用戶可以對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行保存、查詢、刪除和維護(hù)操作,準(zhǔn)確快速地獲取所需要的數(shù)據(jù)。

4、結(jié)束語

文中利用STM32單片機(jī)作為溫室內(nèi)的控制器,實(shí)現(xiàn)了通過網(wǎng)絡(luò)對(duì)溫室內(nèi)溫濕度的遠(yuǎn)程測(cè)量和控制。由于溫室內(nèi)的CO2濃度和光照強(qiáng)度對(duì)植物的生長也有影響,所以可以對(duì)系統(tǒng)進(jìn)行功能擴(kuò)展,控制更多的環(huán)境變量,使系統(tǒng)可以更好地營造植物生長的環(huán)境。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉