何鵬 王堯 胡純純 陳舒琳 丁嘉


【摘 要】作者采用WiFi技術設計了一套以STC 15系列單片機為核心的多機集中控制水族箱系統。通過自定通信協議,系統可以實現分機與主機之間的信息交換,主機可以設定不同時間來控制分機的定時喂食、過濾和換水時間等,分機采用不同傳感器每隔一定時間會將各環境參數發送到主機,主機會根據預設參數范圍發出不同控制命令指揮相應分機執行加熱、換水和過濾等操作。
【關鍵詞】WiFi技術;智能水族箱;自動控制;通信;參數檢測
中圖分類號: TP273.5文獻標識碼: A文章編號: 2095-2457(2019)24-0033-003
DOI:10.19694/j.cnki.issn2095-2457.2019.24.017
0 引言
隨著我國經濟的發展和人們生活水平不斷完善,人們的生活品味越來越高[1],與之相關的居家裝飾行業迎來了新一輪的發展空間。由于城市經濟發展速度比農村快,越來越多的年輕人選擇在繁華的都市里生活和工作,這里充滿了競爭,因此他們需要承受更多的壓力,于是他們內心十分渴望身處在寧靜與和諧的環境中,而一個蒼翠欲滴、生機盎然的魚草水族箱可以給人一種寬松舒適的美感,還能調節居室環境。與此同時,當代都市生活節奏越來越快,人們很少有時間來打理水族箱,本設計為這些問題提供了解決方法。
智能水族箱通過其自帶的控制系統能夠對水族箱多種參數實施檢測,并根據預先算法及時啟動調節裝置,使得水族箱的環境維持在一個較高的水平,降低使用者的負擔。
1 硬件電路設計
1.1 系統設計
本系統主要由一臺主機和兩臺分機組成,以STC15W4K32S4單片機作為控制器,具有溫度、水位和含氧量控制、自動喂食和照明等功能[2],系統結構框圖如圖1所示。
該系統主機含水族箱環境參數設置、顯示及系統時間設定、顯示和發出控制命令等功能,主要由時鐘、按鍵、顯示、無線數據傳輸等模塊組成。時鐘模塊為整個智能水族箱控制系統提供了基準時間,通過按鍵模塊可以調整系統當前時間和設置定時時間、環境參數上限值和下限值。主機的微處理器能對分機所發環境參數與設定上下限值進行比較,并發出不同控制命令指揮相應分機執行加熱、換水、過濾等操作。
分機采用不同傳感器每隔一定時間會將各環境參數發送到主機,接收并執行主機所發的命令,在分機系統中,主要有溫度傳感器、含氧量傳感器、超聲波測距、自動投食、增氧、過濾、照明、換水、無線數據傳輸等模塊。
1.2 單元電路設計
1.2.1 A/D 轉換電路
TLC2543是12位模數轉換器,單片機可以通過該芯片將電壓模擬量轉化為數字量。
1.2.2 DS18B20溫度傳感器電路
DS18B20是數字溫度傳感器,采用不銹鋼外殼封裝,測量范圍廣、精度高[3]。
1.2.3 超聲波測距模塊
US-100超聲波測距模塊可實現2cm~4.5m的非接觸測距功能,并自帶對測距結果進行校正的溫度傳感器。
1.2.4 DS12C887時鐘模塊
DS12C887是一款純數字式芯片,能夠自動產生世紀、年、月、星期、日、時、分、秒等時間信息。
1.2.5 液晶12684顯示模塊
LCD12864可以在液晶屏幕上顯示參數,具有體積小,功耗低,超薄輕巧等優點[4]。
1.2.6 WiFi無線數據通信模塊
WiFi模塊能將串口和TTL電平轉換為無線信號,然后通過天線發射出去,具有傳輸距離遠、傳輸數據穩定、傳輸速度快的特點。
2 軟件系統設計
2.1 自定通信協議
(1)所有分機設備均處于地址接收狀態。
(2)主機先發送一地址幀,該地址幀具有8位(本設計共有兩臺分機設備地址分別設為20,21)。所有分機都接收該幀的地址信息,然后將收到地址與本機地址相比較,若相同,則標志位fag1=0,再將本機地址發回主機,接著接收后續發來信息并繼續執行程序;否則fag1=1,繼續等待地址幀的出現。
(3)分機的溫度值、水位值、含氧量值均有3位數字組成,需要把這些數據拆分成位、十位、百位后再進行傳輸。
(4)主機發送命令值為10、11、12時,分別將獲取分機設備中數據的百位、十位、個位。
(5)主機先發送與其通信從機的地址,等待其中一臺從機發回應答,若應答正確,則發送命令(30表示主機接收從機所發的數據,31表示從機接收主機所發出的數據)。
(6)主機發出地址或命令后,會等待一段時間,若在該段時間內分機有信號發回,則繼續執行程序;否則主機將再次發送該地址信息。
(7)主機發送命令50、51、52,分別代表與分機進行水溫、水位值、含氧量值的傳輸。
(8)啟動或停止分機設備端的照明燈、喂食機、過濾器、加熱器,制冷機、增氧機出水閥門和進水閥門的命令如表1所示。
2.2 主機軟件程序
如圖2,該系統上電后先進行初始化,然后選擇與主機進行通信的分機,分機將各環境參數向主機傳遞,相關數據經過一系列算法,主機設備端相應控制命令會傳輸到分機設備端。隨后當前系統時間會在液晶上顯示出來,最后根據不同的按鍵及按鍵的次數進入相應界面。
2.3 分機軟件程序
如圖3所示,本設計中分機可作為一個獨立系統,分機系統上電時,系統先初始化,然后開始檢測溫度值、水位值、含氧量值等參數。該系統通過串口中斷隨時接受主機所發數據信息,與主機建立通信關系,最終從機驅動相應執行器。
2.4 算法
2.4.1 快速選擇法
在對過濾機和投食機的開啟時間等多個預設時間值進行排序時,采用快速選擇法進行先后排序。在本系統中這些預設值的大小并不確定,而在單片機中需要先確定大小,再找出比當前系統時間略晚的時間,最后將該時間值送入定時系統中,這樣才能保證系統正常運行。
2.4.2 模糊控制法
在溫度調節過程中,系統存在很大的滯后性和強烈的外在干擾,而模糊控制法能有效地解決這些問題,從而提高系統的控制精度和自適應能力。
2.4.3 中位值濾波法
在A/D轉換時需進行數字濾波,這里采用“中位值濾波法”。它能有效克服偶然因素引起的波動干擾,對溫度、液位變化緩慢的被測參數有良好的濾波效果。
3 系統測試
表2的數據是利用本文所述系統測試所得,由此可知實測溫度值與基準值誤差在±0.5℃以內,實測水位值和基準值誤差在2%左右,均符合設計指標。
4 總結
該系統以15系列單片機為核心,利用WiFi技術實現水族箱的自動控制,實現自動投食、放水、照明等功能。物聯網和微控制技術的興起,為改善人民日常生活提供了很大幫助,希望以此系統為例,為今后物聯網技術,WiFi技術的發展奠定一定的基礎。
【參考文獻】
[1]丁慧中.觀賞魚缸智能控制系統的設計[D].蘇州大學,2007.10.
[2]劉大川,李釗合,孫淑杰,袁馳,張志佳.水族箱智能控制系統的設計與實現[J].智能計算機與應用,2015,5(2):98-100.
[3]張軍.智能溫度傳感器DS18B20及其應用[J].儀表技術,2010(4):68-70.
[4]李玉海,高建明,王雷.基于單片機控制的液晶顯示電路[J].科技信息,2010(33):16.