針對目前我國已經(jīng)存在的溫室控制系統(tǒng)成本高、網(wǎng)絡(luò)化不足以及測量環(huán)境因子單一等問題,文中開發(fā)了一套基于STM32的溫室遠(yuǎn)程控制系統(tǒng)。該系統(tǒng)通過利用STM32單片機(jī)作為溫室內(nèi)的控制器以及MFC編寫的控制軟件實(shí)現(xiàn)對溫室內(nèi)空氣溫度、空氣濕度、光照強(qiáng)度和CO2濃度多個(gè)環(huán)境因子的遠(yuǎn)程監(jiān)測和控制。 系統(tǒng)的硬件電路設(shè)計(jì)包括STM32控制器、數(shù)據(jù)采集模塊、設(shè)備控制模塊、網(wǎng)絡(luò)接口模塊、實(shí)時(shí)顯示模塊以及數(shù)據(jù)存儲模塊等。其中數(shù)據(jù)采集模塊采用DHT11、MG811以及BH1750傳感器進(jìn)行環(huán)境因子的測量,設(shè)備控制模塊通過控制繼電器通斷來控制溫室內(nèi)的加熱系統(tǒng)和光照系統(tǒng)等執(zhí)行設(shè)備,STM32通過ENC28J60接入網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程控制,顯示模塊實(shí)現(xiàn)各個(gè)環(huán)境因子的實(shí)時(shí)顯示,數(shù)據(jù)存儲模塊采用外接SD卡的方式進(jìn)行數(shù)據(jù)的存儲。在STM32的程序設(shè)計(jì)中采用了庫函數(shù)的開發(fā)方式設(shè)計(jì)了測量程序、顯示程序以及控制程序。通過在STM32中移植μC/OS-Ⅱ操作系統(tǒng)實(shí)現(xiàn)多任務(wù)的運(yùn)行,移植LwIP協(xié)議使STM32可以接入網(wǎng)絡(luò),實(shí)現(xiàn)控制的網(wǎng)絡(luò)化。在VC6.0平臺下利用MFC設(shè)計(jì)了控制軟件,控制軟件和STM32之間通過TCP/IP協(xié)議進(jìn)行數(shù)據(jù)和命令的傳輸。控制軟件的主要功能是對溫室內(nèi)的多個(gè)環(huán)境因子進(jìn)行遠(yuǎn)程監(jiān)測和對執(zhí)行設(shè)備進(jìn)行遠(yuǎn)程控制。在控制軟件設(shè)計(jì)中,采用面向?qū)ο蟮姆椒▽⑾嚓P(guān)的操作函數(shù)封裝到類中,便于對系統(tǒng)進(jìn)行升級,采用多線程的方法解決了多個(gè)任務(wù)同時(shí)運(yùn)行的狀況。將控制過程中產(chǎn)生的數(shù)據(jù)保存到數(shù)據(jù)庫中,可以對系統(tǒng)運(yùn)行產(chǎn)生的數(shù)據(jù)進(jìn)行分析和利用。 為了對系統(tǒng)進(jìn)行測試,在文中搭建了一個(gè)小型的溫室并將控制器安裝在溫室內(nèi)。經(jīng)過測試,文中設(shè)計(jì)的溫室控制系統(tǒng)可以實(shí)現(xiàn)對溫室內(nèi)空氣溫度、空氣濕度、光照強(qiáng)度和CO2濃度的遠(yuǎn)程實(shí)時(shí)監(jiān)測,數(shù)據(jù)每秒更新一次。當(dāng)上述的環(huán)境因子超過控制軟件上設(shè)置的上下限范圍時(shí),系統(tǒng)會報(bào)警,此時(shí)可以在控制軟件上控制執(zhí)行設(shè)備的通斷來調(diào)節(jié)該因子使其到達(dá)設(shè)置的范圍內(nèi)。
標(biāo)簽:
stm32
溫室遠(yuǎn)程控制系統(tǒng)
上傳時(shí)間:
2022-06-09
上傳用戶:qingfengchizhu