李金武 宋新愛



摘要:本文針對普通魚缸的操作繁瑣、設備費用高的問題,以增加智能魚缸的效率為目標,通過對現有魚缸的研究設計了一款智能魚缸自動控制系統,達到魚缸自動控制以減少用戶操作的目的。智能魚缸自動控制系統使用PWM、DS18B20、定時器、看門狗等技術主要實現了以下功能:LED燈色控制、亮燈時間控制、水位監測、定時殺菌、自動供氧、水質監測、水溫監測、水循環。該智能魚缸控制系統可在一定程度上節約成本、提高效率。多功能一體化的智能控制管理大大增加了產品的可靠性和可操作性,為觀賞者提供了極大的便利。
關鍵詞: 智能魚缸; 傳感器; 自動化控制; 定時器
【Abstract】 Aiming at the problems of tedious operation and high equipment cost of common fish tank, ?and in order to increase the efficiency of intelligent fish tank, this paper designs an automatic control system of intelligent fish tank through the research of existing fish tank, so as to achieve the purpose of automatic control of fish tank to reduce the user's operation.
The intelligent fish tank automatic control system uses PWM, DS18B20, timer, watchdog and other technologies to realize the following functions: LED light color control, light on time control, water level monitoring, timed sterilization, automatic oxygen supply, water quality monitoring, water temperature monitoring, water cycle. The intelligent fish tank control system can save cost and improve efficiency to a certain extent. The multi-functional integrated intelligent control management greatly increases the reliability and operability of the product, and provides great convenience for viewers.
【Key words】 ?intelligent fish tank; sensor; automatic control; timer
0 引 言
當下人們的生活節奏日趨加快,欣賞魚缸滿足用戶精神需求的同時,手動控制魚缸的清潔、喂食、水位控制、水溫控制等操作過于繁瑣[1]。針對水族生活環境的凈化和改善的設備有很多,目前市場上常用的魚缸控制系統有:過濾器、加熱器、加氧泵等,這些單獨工作的器件大多是非智能化改善水質的設備,對于清潔魚缸內污垢、喂食等操作大多需要人工處理,費時費力。同時,如果僅僅把多個單獨的設備組裝成一套多功能的魚缸控制系統,需要投入的費用較大[2]。因此,設計開發一款成本較低使用便利的智能魚缸自動控制系統,有很大的必要性。
本作品是利用溫度傳感器、水位檢測等技術設計一款基于Cortex-M3單片機的智能魚缸自動控制系統,本系統一般放置在家庭玻璃魚缸中,根據需求將系統分為燈色、燈光開啟時間、溫度、殺菌燈、看門狗等多個自動控制部分。文中設計本著節省能源、節省空間、提高效率、全面智能控制的目的,多個需求使用一個系統實現,大大增加產品的實用性和可操作性。
1 相關研究
自1984年美國聯合科技公司提出智能家居概念以來,全世界陸續開啟了制造智能化家居系統的研究進程[3]。國外的一個研究團隊在2016年3月推出了一款名為FishBit的智能水族生態監控系統, 該系統由一個監控器、一個插座控制器以及配套的手機端App組成。監控器主要是對魚缸中的水溫等進行實時監測,控制器的作用則類似于一個智能插座,通過手機端App來控制插在插座上對應的加熱、供氧設備的開關[4]。該系統并沒有把控制系統與相應的控制設備集成起來,導致用戶在使用前需要二次配置,包括外部鏈接各種控制設備以及App端的各個對應控制端口的設置,過程繁瑣且容易出現配置錯誤。此外,整套FishBit的售價過高,不易進行推廣。國內目前只有一家水族器材生產研發企業推出量款智能魚缸控制系統相關產品,是利用類似智能插座的控制器,需要用戶額外購置加熱棒、供氧泵等設備插在控制器插座上,并由一臺手機大小的遙控器來進行控制,控制范圍較小。國內市場上僅有的幾款智能魚缸控制系統產品也都有各自的缺陷與不足[5]。
2 系統原理與設計
根據對魚缸功能的需求分析可知,基于Cortex-M3單片機,共8個功能,智能魚缸原理如圖1所示。
本項智能魚缸自動控制系統主要是在日常家庭中使用,一般放置在家庭玻璃魚缸中,根據需求將系統分為燈色、燈光開啟時間、溫度、殺菌燈等多個自動控制部分。外設LED燈,通過調節RGB數值顯現不同燈色制造最佳視覺效果;溫度的控制是通過設定Cortex-M3單片機中的定時器來設置LED的開啟時間,主要根據觀賞者作息時間以及工作時間開啟、關閉LED,實現在固定周期需要觀賞時開燈,其余時間關燈,減少能量消耗,提高觀賞效率;不同品種的魚對溫度的需求也有所不同,利用Cortex-M3單片機提供的DS18B20溫度傳感器來控制魚缸內的水溫,當溫度到達設定上限時停止加熱,出現異常情況開啟報警系統,以此保證魚的長久生存;為了給魚營造健康、舒適的生存環境,系統外加殺菌燈,可依據魚的種類設定殺菌燈的開啟、關閉時間,考慮到殺菌燈對人身體的危害性,設定工作時間在人的休息或者上班階段;此系統還設計了魚缸水位監測的功能,魚缸水位過高或過低都會對魚的飼養產生影響,因此設置了水位報警器,超過警戒水位魚缸都會自動報警,這也減少了觀賞者的工作量;此外,由于供氧的氣泡會對觀賞性大打折扣,因此對供氧時間也會依據觀賞者的作息進行定時控制,在不需要觀賞的時間供氧,其余時間停止供氧。
3 功能設計與實現
3.1 魚缸水位監測與報警
將2個同樣帶有10 K電阻的線路并聯在3.3 V電源線上,再分別將這2個線路接入Cortex-M3開發板。其中,第一根線接高電平接最低點,置于魚缸內水中,設定最低水位,測最低警戒水位;第二根線接低電平接最高點,置于魚缸內水面上方,測最高警戒水位,魚缸水位低于最低點或超過最高點都會報警,提醒觀賞者該進行抽水或蓄水;第三根線接地,在Keil5程序中添加中斷,監測水位同時不影響其他程序的進程 。水位監測不添加時限周期,處于長時間工作狀態,為了避免水位過低影響魚類生存,過高會溢出魚缸,利用水位檢測器對魚缸水位高低進行檢測,以達到對水位進行監測的目的。
3.2 魚缸水質渾濁度監測
飼養者需要及時了解魚缸內水質變化,在本模塊中采用光敏元件將光信號轉化為電信號的傳感器,其敏感波長在可見光波長附近,包括紅外線波長和紫外線波長。研究中在此利用 ADC3 的通道 6(PF8)來讀取光敏二極管電壓的變化,得到環境光線的變化,并將得到的光線強度,顯示在 TFTLCD 上面。
系統水質渾濁度監測電路圖如圖2所示。
光信號的強弱可以反映水中渾濁度的變化,若光信號強表明水中透光性強,即水的渾濁度較小;相反,若水不夠清澈,渾濁度較大影響透光性,光信號會比較弱。以此通過對魚缸內水質采用光敏傳感器進行監測,一旦水質參數超過正常范圍,進行報警,提醒觀賞者要進行換水,以達到監控魚類的生長環境的目的。
3.3 LED燈色與亮度控制
燈色控制是利用脈沖寬度調制(簡稱脈寬調制,PWM)技術對燈色進行控制,是微處理器的數字輸出來對模擬電路進行控制的一種非常有效的技術。概括來說,就是對脈沖寬度的控制[6],PWM原理如圖3所示。
研究假定定時器工作在向上計數 PWM模式,且當CNT
燈光時間的控制是通過設定Cortex-M3單片機中的定時器來設置LED的開啟時間,主要根據觀賞者作息時間以及工作時間開啟、關閉LED,實現在固定周期需要觀賞時開燈,其余時間關燈,以此減少過多能量消耗,提高觀賞效率。
3.4 間歇啟停殺菌燈控制
編寫定時器中斷服務函數,通過該函數來處理定時器產生的相關中斷。這里使用的是更新(溢出)中斷,所以在狀態寄存器 SR 的最低位。在處理了中斷后應該向 TIM3_SR 的最低位寫 0,來清除該中斷標志[7]。
為了給魚營造健康、舒適的生存環境,系統外加殺菌燈,可依據魚的種類設定殺菌燈的開啟、關閉時間,考慮到殺菌燈對人身體的危害性,設定工作時間在人的休息或者上班階段。
使用魚缸殺菌燈,將水打入殺菌燈管中,越慢越好,確保每滴流出的水都經過較長時間殺菌燈的照射,如此才有良好的效果。殺菌燈使用壽命短,通常半年后效率就大不如前,使用定時器,一天使用個幾小時即可。
3.5 間歇供斷氧控制
由于供氧的氣泡會對觀賞性大打折扣,因此對供氧時間也會依據觀賞者的作息進行定時控制,在不需要觀賞的時間供氧,其余時間停止供氧。
供氧模塊主要是由供氧開關、自動供氧開關以及自動供氧間隔時間這4個數據點來進行控制。不同的是,供氧設備通電工作時需要供氧繼電器保持持續的通電。因此,在程序中設置供氧繼電器通電后維持5 min的通電狀態,以保證供氧設備有足夠的工作時間。此外,在程序中設置自動供氧的時間間隔為3 h。
4 系統測試與結果分析
4.1 系統測試
系統的硬件測試主要監測電路板上的電路和各個元器件的連接是否正確,包括DS18B20測溫模塊的測試、LED燈周期開關的測試、殺菌燈、供氧定時開關燈的模塊測試等。對此擬做研究闡釋如下。
(1)DS18B20測溫模塊的測試。將加熱棒的溫度調至非正常溫度,DS18B20溫度傳感器的監測溫度設置為30 ℃,等待魚缸中水溫升高,傳感器監測到水溫過高,蜂鳴器會持續報警,直到向魚缸中添水為魚缸降溫至正常,可驗證測溫模塊工作正常。
(2)LED燈周期開關模塊的測試。設定LED燈的開啟時間為19:00,關閉時間為19:10,等待時間到達時LED燈自動關閉,可驗證LED燈周期開關正常。
(3)殺菌燈自動控制模塊的測試。設定殺菌燈的開啟時間為19:10,關閉時間為19:20,等待時間到達時殺菌燈自動關閉,可驗證殺菌燈的自動控制正常。
(4)燈色和亮度控制模塊的測試。魚缸中選定紅色的魚,為產生“魚紅水不紅”的效果,對PWM進行調節,燈色改變,顯現出極佳的視覺效果,可驗證燈色控制模塊正常工作。
(5)自動供氧模塊的測試。設定LED燈的開啟時間為19:10,關閉時間為19:20,等待時間到達時供氧停止,可驗證供氧的自動控制正常。
(6)水位監測模塊的測試。給魚缸水位進行設定,警戒水位的信號區間為小于10 cm,降低魚缸的水面高度,開發板接收到水面高度出現異常,蜂鳴器進行報警,需要向魚缸中加水增高水位,可驗證水位檢測模塊可正常工作。
(7)看門狗模塊監測。系統內設看門狗,測試開發板死機可以自動重啟,程序周期性重啟,避免系統死機對魚缸的安全有影響。