河北農業(yè)大學 李磊 梁潤東 丁新飛 儲相龍 谷偉樂 李朝亮
1.1.1 單片機型號選擇
微型植物工廠采用STM32F103RCT6 單片機,該單片機為ARM 架構,具備成熟的開發(fā)生態(tài)環(huán)境應用廣泛,時鐘頻率72Mhz,必要情況下可超頻,擁有多個硬件IIC、SPI 和UART 通訊端口以及八個內部定時器,功耗低。
1.1.2 傳感器選擇
空氣溫濕度傳感器SHT20,該傳感器,通過內部MCU 將獲取到的空氣溫濕度數值進行處理濾波然后以IIC 通訊方式將數據以數字量的形式直接上傳到單片機,土壤溫濕度傳感器以串口通訊的方式,115200 的波特率與單片機進行通訊,將土壤溫濕度數據上傳單片機,光照強度OPT101 傳感器,具備集成的硬件運算放大濾波電路,將光照強度轉變?yōu)?- 3.3V 的模擬量,再通過單片機內部12 位ADC 進行A/D 轉換,可得出實時光照強度數據,以上三個傳感器具備低功耗、使用廣泛、工作穩(wěn)定的優(yōu)點。
1.1.3 電機控制器選擇
本系統(tǒng)需要水泵對土壤進行補水,風扇對工廠內部進行通風,所以選擇廉價的L298N 電機驅動器,其控制精度滿足本系統(tǒng)要求,且輸出功率可達36W,反應速度快,控制邏輯簡單,可長時間持續(xù)運轉。
1.1.4 電源的設計
微型植物工廠采用太陽能電池板、可充電鋰電池和12V 直流電源進行供電,三部分電源設計其優(yōu)點在于,天氣狀況良好的情況下,太陽能電池板可保證系統(tǒng)正常運行的同時給鋰電池進行充電,在陰天的時候鋰電池進行工作,若持續(xù)陰雨天氣,可接市電進行工作,由于一天之中太陽光光強的變化,太陽能電池板輸出的電壓波動變化幅度較大,采用升壓再降壓穩(wěn)壓電路,既保證輸出電壓穩(wěn)定在12V 輸出電流滿足系統(tǒng)最大功率運行,在夜間太陽能電池板不能提供電源的時候,此時使用單片機內部ADC 附加外部電路對電壓進行檢測,太陽能電池板發(fā)電電壓低于9V 后切斷太陽能電池板的供電,采用鋰電池或者市電進行供電,保證系統(tǒng)持續(xù)運行。
1.1.5 顯示模塊選擇
使用7 引腳封裝的OLED128*64 屏幕,其采用SPI 的通訊方式,具有極快的刷新速度,低功耗運行時間長工作穩(wěn)定。
1.1.6 電路設計
控制部分和傳感器供電電源部分使用7805 三端穩(wěn)壓芯片將12V 直流降壓為穩(wěn)定的5V 電壓,5V 電壓在負責給土壤溫濕度傳感器進行供電的同時,再通過兩片AMS1117- 3.3V 并聯穩(wěn)壓負責給單片機、SHT20、OPT101 以及OLED 屏幕進行供電,因為AMS1117- 3.3V 額定輸出電流為500mA,不能滿足后期對系統(tǒng)進行升級改進增加功能的要求,所以采用并聯的方式提供足夠供電能力。
1.1.7 電機選擇
水泵電機選擇常用直流12V385 有刷電機,該電機內阻小,減速組損耗低工作運行穩(wěn)定,風扇選擇9cm*9cm 12V 6W 散熱扇,價格便宜,該系列風扇常用作電腦散熱扇因此運行穩(wěn)定使用時間長。
基于太陽能供電的微型植物工廠智能監(jiān)控系統(tǒng)采用了三電源供電方式,保證系統(tǒng)穩(wěn)定持續(xù)運行,以SHT20,土壤溫濕度傳感器、OPT101 對影響植物生長狀況的各項環(huán)境參數進行檢測,并通過STM32 對采集到的數據進行冒泡法濾波處理,將各項參數與之前設定好的閾值進行比較,通過定時器輸出PWM對通風扇轉速進行控制,應用PID 算法對室內空氣加熱棒進行控制,和實時光照補充,以及I/O 口輸出高低電平控制8050NPN 行三極管導通和截止再由三極管控制繼電器,三極管對水泵進行開關,這里的不采用I/O 直接控制繼電器,防止使用過程中電機或者繼電器出現故障反向電壓擊穿單片機。
3.1.1 冒泡法濾波
冒泡法是目前最常用的效率較高的數據初步處理方法,程序設計中采用冒泡法對空氣溫濕度數據、土壤溫室度數據、光照強度數據,十個一組進行冒泡法排序,去掉十個數據中的最大值最小值,然后再求剩余八組數據的平均值,優(yōu)點在于:本身數據通過傳感器內部電路進行處理就比較穩(wěn)定,再上傳到單片機進行冒泡法排序濾波得到的數據更加接近于此時環(huán)境的真實狀態(tài),且冒泡法排序占用單片機資源少,算法簡單效率高,不會影響系統(tǒng)的反應速度,保證系統(tǒng)實時處理能力,且經過濾波后增加了系統(tǒng)的使用壽命,消除了數據出現的波峰和波谷。
3.1.2 PID 算法
微型植物工廠顧名思義最重要的就是像工廠一樣持續(xù)穩(wěn)定的運行,該系統(tǒng)采用基于單片機系統(tǒng)的PID 算法,PID 分別為比例、微分、積分,比例保證了系統(tǒng)的反應速度,I、D 共同決定了系統(tǒng)的運行精度,該算法保證工廠內部各項環(huán)境維持在植物生長最佳范圍內,其中對風扇風速的控制采用PD 算法其優(yōu)勢在于反應速度快,且與SHT20 傳感器組成閉環(huán)控制,保證室內空氣濕度在可控范圍內,加熱棒采用PI 算法進行控制,雖然PI 算法的反應速度較PD 慢,但是其控制精度高,能保證植物始終處于最佳生長溫度范圍內。光強控制方面直接采用比例算法與OPT101 反饋的光強數據形成閉環(huán)控制,保證植物的光合作用處于最高效的狀態(tài)。
軟件部分的設計包括以下幾個部分:OLED 屏幕底層驅動程序搭建、單片機定時器配置程序搭建、軟件IIC、軟件SPI 和硬件串口通訊配置程序搭建、SHT20 和土壤傳感器配置程序搭建、單片機內部12 位ADC 配置程序搭建、單片機看門狗底層配置設計,看門狗用于運行過程中監(jiān)視程序狀態(tài),系統(tǒng)出現異常,停止程序運行,對系統(tǒng)進行重啟,如果重啟后再次出現錯誤,將報警通知技術員解決。
底層代碼采用HAL 庫進行編寫,HAL 庫是ST 公司推出的目前在STM32 系列單片機上廣泛應用的固件庫,對單片機內部寄存器包括定時器、I/O 口、串口、A/D 轉換初始化、看門狗配置初始化可直接采用官方退出的CubeMX 進行圖形化配置,其底層代碼邏輯性強、可讀性高、可移植性強,節(jié)省了大量的底層軟件設計時間,在底層代碼搭建完成后,參照網上Github、CSDN 等諸多電子設計開發(fā)開源資料,對上層邏輯控制部分進行設計、編程、調試。
整個模型分成四部分:第一部分為歐標2020 鋁型材搭建50cm*30cm*40cm 框架,框架之間以亞克力板作為透明擋板,既可以直接觀察植物的生長狀況;第二部分為核心控制部分,采用自行設計PCB 板構建,PCB 上包括單片機、空氣溫濕度傳感器SHT20、土壤溫濕度傳感器、穩(wěn)壓模塊、顯示屏幕等;第三部分為電機及電機驅動部分:包括IRF3205 大功率MOS 管、8050NPN型三極管、L298N 電機驅動,風扇、水泵;第四部分為電源部分:其中包括太陽能電池板、12V 可充電鋰電池、市電轉12V 穩(wěn)壓直流電源。
經過實際實驗運行監(jiān)測,本文中基于太陽能供電的微型植物工廠智能監(jiān)控系統(tǒng)方案可行,且工作運行穩(wěn)定,以ARM 架構的32 位單片機為控制核心的結合各種傳感器構成了該系統(tǒng)。能夠在模型內部空氣溫度升高的時候,及時打開通風扇進行通風降溫,在土壤含水量低于閾值時打開水泵,進行滴灌,在外界溫度降低時,加熱棒和通風扇結合共同維持系統(tǒng)的溫度處于植物生長發(fā)育的最佳范圍,并隨著外界光強的變化,模型內的LED 燈通過單片機對占空比的調整達到控制補光的效果,使植物處于最佳的光合作用狀態(tài)。該系統(tǒng)硬件可靠耐用,軟件全面能自我調整,整體適應性強。