朱炯健 張喜洋 楊樹輝 齊延興


摘?要:本文設計了一種以STM32單片機為核心的智能魚缸控制系統。該系統對魚缸的溫度、液位等各項參數進行檢測與控制,實現了自動給氧和自動喂食。同時,實現了手機與STM32的無線通信,可近程或遠程監控魚缸環境,具有廣泛的應用前景。
關鍵詞:STM32;智能魚缸;無線通信
1 研究意義
隨著人們物質生活水平的改善和欣賞能力的提高,觀賞魚缸等之類的工藝品逐漸進入了家庭。但是,目前市場上家用觀賞魚缸的功能不夠完善、價格相差太大,一些工作需人工操作完成,這就給人們帶來了很大的麻煩與不便。[1,2]本文設計了一具有通信功能的智能魚缸,該系統集液位控制、溫度控制、自動換水、自動喂食、自動清潔于一身,并可實時監控。
2 硬件設計
該系統的被控對象是魚缸,被控參量有溫度、液位,以及定時的自動換水、自動供氧和自動喂食,因此,是一個以微處理器為核心,應用傳感器技術、電機驅動控制技術和無線通信技術的實時控制系統。[3]為實現上述功能,本系統主要的控制模塊設計如下:
2.1 微處理器的選用
為了便于實現通信功能和以后升級的需要,本設計選用了32位嵌入式單片機STM32,具體型號為STM32F103VET6。該單片機是意法半導體公司推出的一款超低功耗32位微處理器,片內具有20KB的SRAM和60KB的FLASH,以及眾多的I/O口。外設可通過兩條APB總線相連,可匹配標準的通信接口。
2.2 溫度檢測與控制
溫度檢測采用數字式溫度傳感器DS18B20。當檢測到的溫度不在設定范圍,控制加熱器進行溫度調節。加熱器采用交流220V供電,故需要加固態繼電器。即利用單片機控制繼電器,由繼電器接通加熱器。
2.3 液位檢測與控制
為方便實現,通過液位開關來檢測液位的上下限。當液位達到下限時接通供水泵,自動加水;液位達到上限時斷開供水泵電路停止加水。供水泵采用交流220V供電,也需用固態繼電器控制。
2.4 自動喂食
自動喂養通過減速電機帶動喂養盒內葉輪轉動,攪動食料完成自動喂食。減速電機采用N20型直流電機,5V供電。STM32定時輸出高電平,通過光耦隔離后控制電機轉動,實現定時自動喂養。
2.5 GSM模塊
該模塊選用西門子的TC35,可工作在900kHz和1800kHz兩個頻段。有半速、全速和增強型全速三種速率供選擇,可工作于通話模式、空閑模式和省電模式。同時,模塊支持232/TTL電平的串口連接,可通過USB轉232模塊或USB轉TTL模塊連接電腦,應用方便。通過手機短信息實現遠程控制,控制指令使用“密碼+指令”的格式發送。STM32通過GSM模塊接收短信數據,然后進行數據的識別、處理。若密碼正確,則按照接收到的信息完成相應的控制功能。[4]
2.6 藍牙模塊
該模塊選用正點原子ATK-HC05藍牙串口模塊。該模塊可以同各種帶藍牙功能的智能終端配對。在手機上安裝藍牙串口助手APP軟件,與STM32控制的藍牙模塊配對成功后,可進行近距離無線通信,實現相應的控制功能。
經上述各模塊的設計,智能魚缸系統框圖如圖1所示。
3 軟件設計
智能魚缸控制系統軟件采用C語言編寫,包括主程序、溫度檢測控制子程序、液位檢測控制子程序、顯示子程序、藍牙通信程序、GSM通信程序。系統的工作流程為:啟動系統后進行初始化,獲取當前的日期、時間以及各項檢測參數,根據當前各檢測參數完成相應的控制功能。系統主程序流程圖如圖2所示。
4 總結
本文設計了一基于STM32的遠程無線智能魚缸控制系統。系統以STM32F103VET6為核心,對魚缸的各項參數進行控制,并通過GSM和藍牙通信實現遠程監控。該系統經調試和長期運行后,運行穩定可靠,且操作簡便、成本低、易升級,具有廣泛的應用前景。
參考文獻:
[1]王珍娟,宋玉剛.魚缸智能控制器的設計[J].甘肅科技,2012,28(9):72-74.
[2]支元,王登科.基于嵌入式系統智能魚缸的設計與實現[J].電腦知識與技術,2015,11(29):155-156.
[3]張少飛.基于單片機的魚缸自動環境控制系統設計[D].貴陽:桂林電子科技大學,2014.
[4]沈炎松.一種基于STM32的遠程無線智能家居控制系統[J].赤峰學院學報(自然科學版),2017,33(5):15-17.