袁銘 李浩光 臧可欣 賀奕銘 張淑娜 楊漫
摘要:針對市場售賣水族箱缺乏智能控制,需人工干預,養(yǎng)殖成活率低等問題,設(shè)計一種基于模糊控制算法與物聯(lián)網(wǎng)技術(shù)的智慧水族箱系統(tǒng),以單片機為控制核心,使用多種傳感器實時檢測水族箱狀態(tài),通過模糊控制算法實現(xiàn)水溫、水質(zhì)、光照量等狀態(tài)量的閉環(huán)調(diào)節(jié),根據(jù)水族箱狀態(tài)自動換水與投食,開發(fā)android應用,并通過物聯(lián)網(wǎng)技術(shù),實現(xiàn)對水族箱實時遠程監(jiān)控,保證魚類優(yōu)質(zhì)生態(tài)環(huán)境,該系統(tǒng)設(shè)計對于提升智能家居的應用水平具有重要意義。
Abstract: Aiming at the problems of lack of intelligent control, manual intervention and low survival rate of aquarium aquarium in market, an intelligent aquarium system based on fuzzy control algorithm and Internet of Things technology is designed. With single-chip computer as the control core, the aquarium state is detected in real time by a variety of sensors. The closed-loop regulation of water temperature, water quality and light quantity is realized by fuzzy control algorithm. According to the status of aquarium, water and food are changed automatically, Android application is developed, and real-time remote monitoring of aquarium is realized through the Internet of Things technology to ensure the high quality ecological environment of fish. The design of the system is of great significance to improve the application level of smart home.
關(guān)鍵詞:單片機;android;模糊控制算法;物聯(lián)網(wǎng)技術(shù);智慧水族箱
Key words: microcontroller;android;fuzzy control algorithm;IoT Technology;intelligent aquarium system
中圖分類號:TP273.4? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2019)17-0247-05
0? 引言
在當今物聯(lián)網(wǎng)時代的大背景之下,物聯(lián)網(wǎng)技術(shù)正以難以想象的迅猛速度發(fā)展,移動網(wǎng)絡(luò)也已深深植入我們?nèi)粘I?。如今,促進我國物聯(lián)網(wǎng)發(fā)展的政策、產(chǎn)業(yè)環(huán)境以及支撐其運行的網(wǎng)絡(luò)基礎(chǔ)設(shè)施在不斷完善發(fā)展,物聯(lián)網(wǎng)發(fā)展已擁有了良好的基礎(chǔ)和良好的發(fā)展氛圍,物聯(lián)網(wǎng)技術(shù)的應用也正不斷走進我們的日常生活。Android作為一種開源操作系統(tǒng),主要應用于移動設(shè)備,如智能手機和平板電腦,因為它表現(xiàn)出的良好性能和開放性優(yōu)勢,不僅使其受到了越來越多的用戶歡迎,而且在生活與工業(yè)自動化系統(tǒng)中也發(fā)揮著重要作用。
隨著人們生活水平的不斷提高,養(yǎng)殖觀賞魚逐漸成為人們愉悅身心、陶冶情操的選擇。由于人們不能時刻了解控制水族箱的生態(tài)環(huán)境,便需要魚缸控制系統(tǒng)來幫助人們更加方便有效的控制水族箱的生態(tài)環(huán)境。通過研究魚缸的控制系統(tǒng),使該系統(tǒng)自動調(diào)節(jié)魚缸的水溫、水質(zhì)、液位、光照以及水里的含氧量等狀態(tài)量,從而營造出魚類所需的優(yōu)質(zhì)環(huán)境。
本系統(tǒng)設(shè)計一種基于模糊控制算法與物聯(lián)網(wǎng)技術(shù)的智慧水族箱,來解決傳統(tǒng)水族箱缺乏智能控制,需人工干預,養(yǎng)殖成活率低等問題。該系統(tǒng)是以單片機為控制核心,使用多種傳感器實時檢測水族箱狀態(tài),通過模糊控制算法實現(xiàn)水溫、水質(zhì)、光照量等狀態(tài)量的閉環(huán)調(diào)節(jié)和水族箱狀態(tài)自動換水與投食;開發(fā)android應用,并通過物聯(lián)網(wǎng)技術(shù),實現(xiàn)水族箱實時遠程監(jiān)控,保證魚類優(yōu)質(zhì)生態(tài)環(huán)境,該系統(tǒng)設(shè)計對于提升智能家居的應用水平具有重要意義。
1? 系統(tǒng)功能
本系統(tǒng)設(shè)計為基于模糊控制與物聯(lián)網(wǎng)技術(shù)的智慧水族箱,以單片機為控制核心,通過模糊控制算法實現(xiàn)對水族箱的各狀態(tài)量的閉環(huán)調(diào)節(jié),并開發(fā)Android應用,通過物聯(lián)網(wǎng)技術(shù)實現(xiàn)智能手機終端APP對水族箱的遠程監(jiān)控。通過系統(tǒng)運行主要實現(xiàn)以下功能:
①設(shè)計完成基于模糊控制與物聯(lián)網(wǎng)的智慧水族箱系統(tǒng),以單片機為控制核心,實時檢測溫度、含氧量、水質(zhì)、光照等水族箱狀態(tài)量;
②通過模糊控制算法實現(xiàn)水族箱水溫、水質(zhì)、光照量、含氧量等狀態(tài)量的閉環(huán)調(diào)節(jié),并根據(jù)水族箱實時狀態(tài),進行自動換水與投食;
③開發(fā)Android系統(tǒng)應用,并通過物聯(lián)網(wǎng)技術(shù),實現(xiàn)手機對水族箱系統(tǒng)遠程監(jiān)視控制,構(gòu)建一個能保證魚類優(yōu)質(zhì)生態(tài)環(huán)境的遠程智能監(jiān)控系統(tǒng)。
2? 智慧水族箱系統(tǒng)硬件結(jié)構(gòu)設(shè)計
由圖1可知,本系統(tǒng)主要由智慧水族箱控制系統(tǒng)現(xiàn)場設(shè)備、物聯(lián)網(wǎng)WIFI模塊和手機APP遠程控制終端三部分組成。水族箱控制部分由系統(tǒng)控制中心Arduino和溫度控制模塊、氧氣控制模塊、水位控制模塊、光照強度控制模塊、水體質(zhì)量控制模塊、自動投食控制模塊以及自動換水控制共七大模塊組成。本系統(tǒng)運用了物聯(lián)網(wǎng)技術(shù),其中Arduino控制電路與WIFI芯片進行串口通信組成通信模塊,通過WIFI芯片使Arduino控制電路與android應用端互聯(lián)通信,實現(xiàn)手機終端對水族箱系統(tǒng)的含氧量、光照強度、液位高度、水質(zhì)、水溫等狀態(tài)參量的遠程監(jiān)控,通過模糊控制算法對各狀態(tài)量進行閉環(huán)調(diào)節(jié),并對水族箱進行定時自動換水和投食,控制電路可以自行完成各狀態(tài)參量的信息采集、處理及存儲功能,也可接收從手機終端APP傳來的控制參數(shù)設(shè)置,啟動增溫降溫、水泵、加氧泵、光照燈等調(diào)控設(shè)備,從而按不同的控制要求調(diào)節(jié)水族箱的狀態(tài)環(huán)境。最終實現(xiàn)手機終端對水族箱狀態(tài)信息的實時遠程監(jiān)視與控制。
3? Arduino單片機控制系統(tǒng)參數(shù)
3.1 單片機控制電路
該系統(tǒng)中控制中心使用的是一個能夠用來感應和控制現(xiàn)實物理世界的Arduino 單片機,作為系統(tǒng)的微型控制器。它自帶一個Arduino IDE開發(fā)編譯平臺。可以通過USB口或者直流電源座給Arduino供電。Arduino 帶有自動切換電源功能,使用USB供電時,直接輸出USB提供的5V電壓;使用外部電源供電時,輸出穩(wěn)壓后的5V電壓。它的最大輸出能力為50 mA,可用于輸出8-bit PWM波。Arduino有6個模擬輸入引腳,可使用analog Read()讀取模擬值,14個數(shù)字輸出輸入引腳。每個模擬輸入都有10位分辨率,自帶AD轉(zhuǎn)換功能而且時鐘速度可達16MHz,處理器為Atmel Atmega168 328處理器,可以完全滿足系統(tǒng)各項功能設(shè)計的基本要求。
3.2 單片機控制系統(tǒng)參數(shù)
如圖2為系統(tǒng)控制器的控制流程,本系統(tǒng)的控制中心為Arduino開源器件,系統(tǒng)運行時Arduino對系統(tǒng)中的水溫、水位、含氧量等狀態(tài)參量進行初始化,單片機通過不斷掃描檢測各傳感器模塊傳回來的數(shù)據(jù),并將數(shù)據(jù)傳輸?shù)浆F(xiàn)場顯示屏上,通過WIFI模塊單片機可將數(shù)據(jù)傳輸?shù)街悄苁謾C終端APP上。同時單片機將檢測值與初始值進行比較,若檢測值不在期望值允許的范圍內(nèi),單片機將通過模糊控制算法控制啟動補償裝置,對系統(tǒng)進行補償優(yōu)化。手機終端APP也可以對單片機遠程給定控制參數(shù)和控制指令。該控制系統(tǒng)能夠?qū)崿F(xiàn)對狀態(tài)參量的采集、處理、顯示和自動控制的閉環(huán)調(diào)節(jié)。為了實現(xiàn)系統(tǒng)的自動控制,在硬件電路的基礎(chǔ)上進行軟件設(shè)計,主要包括單片機主程序、各模塊檢測和控制的子程序、定時自動投食換水子程序、參數(shù)顯示子程序和單片機與WIFI模塊通信協(xié)議程序等。
3.3 液位傳感器
非接觸式液位傳感器是一種利用水的感應電容來檢測的液位傳感器,在沒有液體接近感應器時,感應器上會存在一個初始自帶的靜態(tài)電容量,當液面慢慢升高接近感應器時,由于液體升高產(chǎn)生的電容與靜態(tài)電容進行耦合,使感應器的最終電容值變大,該變化的電容信號通過信號轉(zhuǎn)換后,將變化的電容量轉(zhuǎn)換成電壓或電流等電信號的變化量,再根據(jù)一定的算法來檢測和判斷這個變化量的程度,當這個變化量超過設(shè)定值時,非接觸式液位傳感器就會產(chǎn)生一個輸出,并發(fā)出報警信號。
3.4 溫度傳感器
PT100是一種正溫度系數(shù)的熱敏電阻溫度傳感器,隨著溫度的升高,電阻的阻值變大,并且它的線性度很好。當溫度升高時PT100內(nèi)的電阻阻值變大,電阻兩端的電壓變大,輸出電壓變大。PT100模擬溫度傳感器采集的溫度信息傳給PT100溫度變送器輸出0-5V或者0-10V的電壓值。
3.5 繼電器工作原理
本系統(tǒng)中使用的繼電器是電磁繼電器,繼電器的作用本質(zhì)是用一個小電流回路去控制另外一個大電流回路的通斷,而且這個控制過程中,這兩個回路一般是隔離起來的,它的基本原理,是利用了電磁效應來控制機械觸點達到通斷目的,給帶有鐵芯線圈通電后線圈電流會產(chǎn)生一個磁場,磁場吸附銜鐵動作通斷觸點,控制大電流回路的通斷。繼電器有常開觸點和常閉出點。使用常開觸點時,當單片機給一個小電流信號時,常開觸點吸合,使用常閉觸點時,當單片機給一個小電流信號時,常閉觸點斷開,這樣我們就實現(xiàn)了在系統(tǒng)中用單片機控制大功率器件的目標。我們可根據(jù)控制需求選擇常開或常閉觸點。
3.6 系統(tǒng)受控模塊
系統(tǒng)受控模塊的硬件由單片機Arduino開發(fā)板和電源控制電路構(gòu)成,起到WIFI作用的node MCU使用串口通信與Arduino連接。具體原理是通過預先設(shè)定的目標參數(shù),通過比較預先設(shè)定的目標參數(shù)與實際測量值決定是否啟動加熱棒、加氧泵及水泵等,或直接決定是否開關(guān)控制他們的電源。按照指令,單片機通過控制繼電器的吸合,進而控制這些元器件的電源開斷,此過程的指令既可以手動控制,也可以使用智能手機終端遠程發(fā)送指令控制。
4? 模糊控制
4.1 模糊控制系統(tǒng)的基本組成和工作原理
模糊控制理論,以模糊集合論、模糊語言變量和模糊邏輯推理為基礎(chǔ),它為一種計算機數(shù)字控制技術(shù)。其實質(zhì)是一種非線性控制,他需要系統(tǒng)化的理論與實際的人類專家的應用經(jīng)驗相結(jié)合,圖3為模糊控制系統(tǒng)結(jié)構(gòu)圖,其結(jié)構(gòu)主要由模糊控制器、被控對象、反饋信號三部分組成,它是閉環(huán)控制。
模糊控制系統(tǒng)中最主要的是模糊控制器,模糊控制器是由模糊化接口、規(guī)則庫、模糊推理、去模糊化接口四部分組成。當產(chǎn)生的精確值偏差e傳輸?shù)侥:刂破鲿r,通過模糊化、模糊推理計算、去模糊化后模糊控制器輸出一個精確值控制量u,進而實現(xiàn)對被控對象的控制。
4.2 水溫模糊控制系統(tǒng)原理分析
本系統(tǒng)中的水溫控制是根據(jù)模糊控制算法規(guī)則對模糊對象進行閉環(huán)智能自動控制,其主要功能包括對水溫的采集、顯示,以及實時的檢測傳輸。并通過物聯(lián)網(wǎng)系統(tǒng)實現(xiàn)對水溫升降的閉環(huán)自動控制,使之一直維持在期望值左右。當我們給定系統(tǒng)一個期望值時,溫度采集模塊將采用水溫傳感器PT100對水溫進行實時檢測,輸出溫度模擬量。傳感器與單片機相連,單片機通過A/D轉(zhuǎn)換,將溫度模擬量轉(zhuǎn)化為數(shù)字量。水族箱溫度由溫度傳感器檢測采集,傳送給單片機經(jīng)模糊控制系統(tǒng)的模糊控制算法計算出控制系統(tǒng)的控制輸出量,經(jīng)D/A轉(zhuǎn)換后,轉(zhuǎn)化為模擬量,控制驅(qū)動加熱棒或電熱絲的開斷,從而確定電熱絲或加熱棒的工作時長。以控制水族箱水溫在給定最佳溫度范圍。
4.3 液位模糊推理系統(tǒng)設(shè)計
在MATLAB環(huán)境中構(gòu)建一個液位模糊推理系統(tǒng),在MATLAB命令窗口中輸入操作命令,可以進入模糊推理結(jié)構(gòu)編輯窗口,編輯輸入輸出模糊結(jié)構(gòu)。將輸入變量命名為液位誤差e誤差變化ec,將輸出變量命名為閥門開關(guān)速度u。這樣就建立了一個兩輸入單輸出的模糊推理系統(tǒng)。
4.4 設(shè)計模糊化模塊
設(shè)置液位誤差論域為[-1 1],誤差變化的論域為[-0.1 0.1];兩個輸入量的模糊集都設(shè)定為5個:其中水位誤差定為NB、NS、ZO、PS、PB;并分別設(shè)置他們的參數(shù)域范圍。
誤差變化分別設(shè)置為大、偏大、合適、偏小、小,并設(shè)置他們的參數(shù),隸屬函數(shù)均為高斯函數(shù),如圖7。
設(shè)閥門開關(guān)速度論域為[0 1],分為快開、慢開、不動、慢關(guān)、快關(guān),并分別設(shè)定他們的參數(shù)范圍,它們隸屬函數(shù)都為三角函數(shù),如圖8。
4.5 編輯液位模糊控制規(guī)則
打開Edit Rules窗口,彈出Rule編譯器,把表中的17條規(guī)則輸入到Rule編譯器中,17條規(guī)則的權(quán)重都為1,如圖9。
5? 智慧水族箱系統(tǒng)數(shù)據(jù)傳輸模塊設(shè)計
5.1 nodeMCU
Node MCU是一個開源的物聯(lián)網(wǎng)開發(fā)平臺,它的開發(fā)環(huán)境有兩種,lua和arduino IDE。在結(jié)構(gòu)有一個高度集成多功能的USB串口,通過USB串口的接入省去了使用其他轉(zhuǎn)串口模塊來開發(fā)編程的不便。另外它自帶有一個3.3V的電壓轉(zhuǎn)換調(diào)節(jié)器,因此它可以被3.3V以上的電壓電源驅(qū)動運行,從外觀上看他一共有30個可以用于連接控制元器件的引腳,其中有13個GPIO引腳,除了GPIO16引腳只能完成讀寫功能以外,其他的引腳都可以進行中斷、PWM、I2C等功能,因為其有如此多的引腳及齊全的功能,又因為它自帶WIFI模塊,為系統(tǒng)提供WIFI通信模塊,所以它在系統(tǒng)設(shè)計上應用非常方便。
5.2 系統(tǒng)通信原理
本系統(tǒng)數(shù)據(jù)傳輸模塊基于開源的node MCU 開發(fā)板作為通信系統(tǒng)的核心部件。它是一個開源的物聯(lián)網(wǎng)平臺。Node MCU包含了可以運行在ESP8266 Wi-Fi SoC芯片之上的固件,以及基于ESP-12模組的硬件。利用藍牙和物聯(lián)網(wǎng)等傳輸和管理數(shù)據(jù),以智能手機作為遠程控制終端,對系統(tǒng)各控制量進行實時遠程控制。單片機與Node MCU的連接為串口通信,智能手機終端APP通過連接Node MCU Wi-Fi模塊發(fā)出的熱點,遠程控制單片機,并遠程給定系統(tǒng)參數(shù)和控制指令。
6? 智能手機終端APP開發(fā)
本系統(tǒng)的遠程控制終端在App Inventor上開發(fā)。在App Inventor中可以完成智能手機終端APP虛擬操作界面開發(fā)編程,Android開發(fā)編程用提供的代碼塊通過積木式的堆疊法來完成,而不是使用復雜嵌套的程序代碼,這樣開發(fā)既方便又快捷。在創(chuàng)建新的項目中,通過添加按鈕、文本輸入框、標簽、復選框等布局組件來完成系統(tǒng)界面的設(shè)計;通過添加供客戶調(diào)用的Socket插件和web客戶端;在代碼邏輯中設(shè)各個按鈕的功能,通過調(diào)用Socket或web客戶端插件的代碼塊實現(xiàn)功能,從而實現(xiàn)和Node MCU的網(wǎng)絡(luò)通信,進而控制水族箱的各種參數(shù)。將構(gòu)建的APP安裝在智能手機上,便可實時的查看水族箱的數(shù)據(jù),并遠程控制開關(guān)。
7? 總結(jié)
該設(shè)計的智慧水族箱系統(tǒng),基于模糊控制算法和物聯(lián)網(wǎng)技術(shù),以單片機為控制核心,使用Arduino IDE編寫控制程序,系統(tǒng)采用開放性很強的android應用,使用開源Arduino作為控制中心,借用高集成的NodeMCU 作為WIFI通信模塊,應用物聯(lián)網(wǎng)技術(shù),設(shè)計出了一套低功耗、實時性好、高智能化的遠程無線智能控制系統(tǒng)。解決了傳統(tǒng)水族箱缺乏智能控制,需人工干預,養(yǎng)殖成活率低等問題。實現(xiàn)對水族箱實時遠程監(jiān)視與控制,保證魚類優(yōu)質(zhì)生態(tài)環(huán)境,該系統(tǒng)的設(shè)計研究對于提升智能家居的應用水平具有重要意義。此設(shè)計的創(chuàng)新點在于應用模糊控制算法和物聯(lián)網(wǎng)技術(shù),開發(fā)android應用。實踐表明,此系統(tǒng)具有設(shè)計合理,經(jīng)濟環(huán)保,易于安裝,方便智能等優(yōu)點。隨著社會的進一步發(fā)展,對于智能家居這些功能要求可能還遠遠不夠,還需要改進和添加一些更為經(jīng)濟和更為復雜的要求實現(xiàn),這需要在以后的學習和工作中進一步研究和實踐。
參考文獻:
[1]李大勇,都亮,王長勝,田春光,韓曉娟.基于Takagi-Sugeno型模糊控制的儲能容量優(yōu)化配置[J].電器與能效管理技術(shù),2017(23):71-75.
[2]江靜,張雪松,陳龍.模糊控制算法在溫度控制系統(tǒng)中的研究[J].華北科技學院學報,2010(04).
[3]陳杰.基于ARM的智能魚缸控制系統(tǒng)的設(shè)計與實現(xiàn)[J].軟件工程師,2013.
[4]緱家瑞.深圳市藍泰源電子科技有限公司產(chǎn)品介紹[J].城市公共交通,2011.
[5]陳杰.基于 ARM 的智能魚缸控制系統(tǒng)的設(shè)計與實現(xiàn) [J]. 軟件工程師,2013.
[6]羅文飛.嵌入式技術(shù)信息家電萬能遙控器的設(shè)計與實現(xiàn) [J].信息系統(tǒng)工程,2013.
[7]徐華杰.基于嵌入式系統(tǒng)的智能傳感節(jié)點設(shè)計與實現(xiàn) [J]. 微型機與應用,2014.
[8]徐華杰.基于嵌入式系統(tǒng)的智能傳感節(jié)點設(shè)計與實現(xiàn)[J].微型機與應用,2014.
[9]夏聆智.基于模糊PID控制的生物炭制備控溫技術(shù)研究[D].沈陽農(nóng)業(yè)大學,2017.
[10]劉智勇.智能交通控制理論及其應用[M].北京:科學出版社,2003.
[11]楊彥偉,蘇衛(wèi)紅,張灝璠.基于STC889C51的智能魚缸控制系統(tǒng)[J].電子技術(shù)與軟件工程,2015(22).
作者簡介:袁銘(1998-),男,山東臨沂人,學生,本科在讀,自動化專業(yè)。