王媛媛, 段敏杰, 童 軍
(西安科技大學 電氣與控制工程學院 微電子創(chuàng)新實驗室,陜西 西安 710054)
?
FPGA的室內(nèi)空氣質(zhì)量檢測與調(diào)節(jié)系統(tǒng)
王媛媛, 段敏杰, 童 軍
(西安科技大學 電氣與控制工程學院 微電子創(chuàng)新實驗室,陜西 西安 710054)
提出了一種基于現(xiàn)場可編程門陣列(FPGA)的無線室內(nèi)空氣質(zhì)量檢測與調(diào)節(jié)系統(tǒng)設(shè)計方法,并對數(shù)據(jù)采集、藍牙通信、步進電機驅(qū)動控制原理和系統(tǒng)方案進行了全面分析。實驗結(jié)果證明:系統(tǒng)實現(xiàn)了對室內(nèi)溫度等質(zhì)量信息的采集、LCD顯示、通信、上位機遠程調(diào)節(jié)處理等功能,保證了室內(nèi)空氣質(zhì)量檢測數(shù)據(jù)的實時性、可靠性。系統(tǒng)適用于智能、綠色家居,以及蔬菜種植大棚等需要對空氣質(zhì)量進行評價的場所。
現(xiàn)場可編程門陣列; 藍牙; 步進電機; 空氣檢測
隨著社會進步和經(jīng)濟的發(fā)展,人們越來越崇尚優(yōu)越、舒適、安全的室內(nèi)環(huán)境,但各類建材、家用電器、天然氣等進駐室內(nèi),給人們帶來方便,同時它們所造成的室內(nèi)污染、危害也令人擔憂[1]。室內(nèi)空氣污染給社會、家庭和個人帶來巨大的損失[2]。因此,研究設(shè)計室內(nèi)空氣質(zhì)量檢測系統(tǒng)以提高人們生活的質(zhì)量,保障安全有著非常重要的意義。
同時,在數(shù)字電路設(shè)計中,F(xiàn)PGA發(fā)揮著越來越重要的作用,從簡單的接口電路設(shè)計到復雜的狀態(tài)機甚至系統(tǒng)級芯片(system on chip,SoC), 現(xiàn)場可編程門陣列(FPGA)所扮演的角色越來越不容忽視。目前,PFGA已躍居成為電子應用(包括通信、自動控制、計算機等)領(lǐng)域廣受歡迎的實用化技術(shù),成為數(shù)字系統(tǒng)的科研實驗、樣機試制、小批量產(chǎn)品實現(xiàn)的最佳途徑[4]。
針對室內(nèi)空氣質(zhì)量問題,本文基于現(xiàn)場可編程門陣列(field programmable gate array,FPGA)開發(fā)平臺,采用數(shù)字傳感技術(shù),設(shè)計了智能室內(nèi)空氣質(zhì)量檢測與調(diào)節(jié)系統(tǒng),系統(tǒng)具有操作簡單,實時性、可靠性高,方便維護、升級,智能化、網(wǎng)絡化[5]等特點。
系統(tǒng)硬件為Cyclone系列FPGA開發(fā)平臺,軟件開發(fā)環(huán)境為Quartus II 13.0,采用硬件描述語言(VHDL)完成數(shù)據(jù)流描述。
基于FPGA的無線智能室內(nèi)空氣檢測與調(diào)節(jié)系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig 1 Structure block diagram of system
傳感器數(shù)據(jù)采集模塊包含溫度傳感器、煙霧傳感器等,
其將采集到的溫度以及CO,CO2,PM2.5等數(shù)據(jù)信息傳送給FPGA主控單元,F(xiàn)PGA將獲得的數(shù)據(jù)進行處理,送LCD液晶模塊進行顯示,同時通過藍牙無線傳輸將信息發(fā)送給手機,用戶可根據(jù)手機顯示信息,通過手機界面控件對調(diào)節(jié)機構(gòu)發(fā)出調(diào)節(jié)命令,執(zhí)行機構(gòu)將完成比如電風扇的開關(guān)、風速控制、室內(nèi)室外空氣交換等操作。
2.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊的主要功能就是利用傳感器獲得各類室內(nèi)空氣質(zhì)量信息數(shù)據(jù),比如溫度以及CO,CO2,PM2.5等,然后將數(shù)據(jù)傳送給FPGA主控器進行處理。本系統(tǒng)中使用到的傳感器有:溫度傳感器、煙霧傳感器、PM2.5檢測傳感器。其中溫度傳感器采用的是1線器件DS18B20—數(shù)字溫度傳感器,它可以提供9~12位的數(shù)據(jù)來表示不同的溫度,位數(shù)越高,測量溫度的精度越高,且具有體積小,適用電壓寬、經(jīng)濟等特點[6]。
2.2 通信模塊
通信采用HC—06從機藍牙模塊,主要用于短距離的數(shù)據(jù)無線傳輸領(lǐng)域,可以方便的和PC機或帶藍牙功能的設(shè)備相連,也可以兩個模塊之間進行數(shù)據(jù)互通。避免繁瑣的線纜連接,能直接替代串口線,配對后只需當成固定波特率的串口一樣使用即可。系統(tǒng)采用該藍牙模塊實現(xiàn)了手機終端和FPGA之間的通訊。
2.3 上位機界面設(shè)計
基于智能手機的廣泛使用,及攜帶方便、實時性好等特點,系統(tǒng)上位機采用手機APP界面,作為用戶監(jiān)測室內(nèi)空氣質(zhì)量、進行相應調(diào)節(jié)的操作平臺。主要完成與下位機通信并將通信得到的如系統(tǒng)工作模式、風扇當前的檔位、當前室內(nèi)溫度等信息進行顯示,以及用戶可根據(jù)顯示信息,通過手機界面按鍵完成相應的調(diào)節(jié),如根據(jù)溫度信息進行風扇轉(zhuǎn)速的調(diào)節(jié),根據(jù)室內(nèi)空氣質(zhì)量信息,控制濾網(wǎng)開合,實現(xiàn)向室內(nèi)送風或往外排風等。上位機操作界面如圖2(a)所示,具體按鍵功能如下:‘1’,‘3’,‘0’為保留按鍵,‘2’風扇轉(zhuǎn)速加,‘4’,‘5’風扇轉(zhuǎn)向設(shè)定,‘5’風扇工作模式切換,‘7’,‘9’增/減定時時間,‘8’風扇轉(zhuǎn)速減。下位機狀態(tài)返回界面如圖2(b)所示,返回的數(shù)據(jù)是ASCLL量,表示當前室內(nèi)溫度、風扇工作模式、檔位等,上位機顯示字符量,以保證通信內(nèi)容的可靠性。
圖2 上位機操作界面和下位機狀態(tài)返回界面Fig 2 Operation interface of upper PC and state-return interface of lower PC
2.4 FPGA數(shù)據(jù)處理模塊設(shè)計
FPGA數(shù)據(jù)處理模塊是控制系統(tǒng)的主控器—核心單元,屬于系統(tǒng)軟件部分,采用模塊化設(shè)計思想及VHDL硬件描述語言,實現(xiàn)了算法及數(shù)據(jù)處理。主要包括室內(nèi)空氣質(zhì)量信息采集處理模塊、藍牙數(shù)據(jù)處理模塊、計時顯示模塊、步進電機驅(qū)動模塊、按鍵消抖模塊等。實現(xiàn)了對從各類傳感器獲得的數(shù)據(jù)進行轉(zhuǎn)換處理,室內(nèi)空氣質(zhì)量信息的字符轉(zhuǎn)換與顯示,步進電機驅(qū)動程序設(shè)計等功能。
2.4.1 藍牙數(shù)據(jù)處理模塊
該模塊是FPGA與上位機通信的橋梁,采用狀態(tài)機進行設(shè)計,其接收模塊狀態(tài)轉(zhuǎn)換過程如圖3所示。
圖3 藍牙接收狀態(tài)機Fig 3 State machine of Bluetooth receiving
藍牙模塊和FPGA通信采用串口方式,當沒有數(shù)據(jù)采集和發(fā)送時,狀態(tài)機處于空閑(idle)狀態(tài),當RXD接收信號引腳接收到低電平時,狀態(tài)機轉(zhuǎn)換至adjust狀態(tài)并判斷此信號是屬于干擾信號還是起始位,如果是起始位,則狀態(tài)進入接收(receive)狀態(tài),否則轉(zhuǎn)回idle狀態(tài)等待;當進入receive狀態(tài)時,處理完一幀數(shù)據(jù)后將其并行輸出,同時轉(zhuǎn)至發(fā)送(trans)狀態(tài),將數(shù)據(jù)發(fā)送給上位機,并轉(zhuǎn)入idle狀態(tài),等待下一次傳送。
2.4.2 步進電機驅(qū)動模塊
步進電動機是一種將電脈沖信號轉(zhuǎn)換成相應角位移或線位移的電動機,它的運行需要專門的驅(qū)動電源,驅(qū)動電源的輸出受外部的脈沖信號控制。每一個脈沖信號可使步進電機旋轉(zhuǎn)一個固定的角度,這個角度稱為步距角,本設(shè)計中將步距角設(shè)置為45°。脈沖的數(shù)量決定了旋轉(zhuǎn)的總角度,脈沖的頻率決定了電動機旋轉(zhuǎn)的速度,改變繞組的通電順序可以改變電機旋轉(zhuǎn)的方向[7,8]。
系統(tǒng)通過對步進電機轉(zhuǎn)向的控制來驅(qū)動風扇、濾網(wǎng)等調(diào)節(jié)機構(gòu)完成室內(nèi)外空氣交換處理,實現(xiàn)改善室內(nèi)空氣質(zhì)量的目的,步進電機的驅(qū)動電路采用VHDL進行設(shè)計,該電路模塊端口設(shè)計為:一個系統(tǒng)時鐘(clk)輸入信號;兩個按鍵輸入分別為key1和key2,實現(xiàn)脈沖個數(shù)的增減以控制電機的轉(zhuǎn)向;4路輸出驅(qū)動信號(a,b,c和d),分別驅(qū)動步進電機的4個線圈A,B,C,D。
2.5 電機控制模塊設(shè)計
2.5.1 電機控制模塊原理
電機控制原理如圖4所示,光電開關(guān)將軸流風機的實時轉(zhuǎn)速反饋給FPGA控制器,F(xiàn)PGA內(nèi)部將實現(xiàn)以下功能:1)將實時轉(zhuǎn)速送LCD進行顯示;2)輸入的設(shè)定值與反饋信號進行比較;3)對速度偏差進行比例積分微分(proportion integration differentiation,PID)調(diào)節(jié),校正步進電機驅(qū)動脈沖,使電機以給定轉(zhuǎn)速穩(wěn)定運轉(zhuǎn)。
圖4 電機控制系統(tǒng)結(jié)構(gòu)圖Fig 4 Structure diagram of motor control system
2.5.2 PID控制算法設(shè)計
PID調(diào)節(jié)器是一種線性調(diào)節(jié)器,它將給定值與實際值偏差的比例、積分、微分三者通過線性組合構(gòu)成控制量,對被控對象進行控制,是控制系統(tǒng)中應用最為廣泛的一種控制規(guī)律,控制原理如圖5所示。
圖5 PID控制原理Fig 5 Principle of PID control
PID算法是將描述連續(xù)過程的微分方程轉(zhuǎn)換為差分方程,然后根據(jù)差分方程編寫程序進行控制計算。PID算法表達式為:
第k時刻的輸出量
(1)
第k-1時刻的輸出量
e(k-2)]
(2)
第k時刻輸出增量為
Δu(k)=kpΔe(k)+kIe(k)+kd[Δe(k)-Δe(k-1)]
(3)
式中 kp為比例系數(shù);kI為積分系數(shù);kd為微分系數(shù)。
輸出控制量的增量Δu(k)與系統(tǒng)采樣周期以及kp,kI,kd有關(guān)[9],設(shè)計采用硬件描述語言VHDL實現(xiàn)了式(3)增量式PID算法,然后根據(jù)電機實際運行情況,進行參數(shù)整定,得到最佳取值。
2.6 液晶顯示模塊
顯示模塊用于顯示傳感器采集到的溫度等信息,選用了1 602液晶顯示屏,它能夠同時顯示16×02即32個字符,是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。由若干個5×7或者5×11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。主程序采用狀態(tài)機形式編寫,采用計數(shù)進行延時,并且省略了忙狀態(tài)的讀取,直接用延時來代替忙檢測,將送進來的數(shù)據(jù)進行動態(tài)顯示。
系統(tǒng)在實驗室條件下,基于FPGA開發(fā)平臺(主芯片:EP4CE6F17C8N),選用了軸流風機及步進電機,搭建了相應的外圍電路,完成了軟硬件聯(lián)合調(diào)試驗證,驗證結(jié)果表明,系統(tǒng)能夠?qū)崿F(xiàn)以下功能:1)實現(xiàn)了對室內(nèi)空氣溫度、PM2.5等數(shù)據(jù)的采集與顯示;2)實現(xiàn)了手動及自動對風扇的開啟、轉(zhuǎn)速的實時顯示與調(diào)節(jié);3)實現(xiàn)了對步進電機轉(zhuǎn)向的控制;4)實現(xiàn)了通過手機對室內(nèi)空氣質(zhì)量進行實時監(jiān)測與遠程操控。
本文基于FPGA開發(fā)平臺,結(jié)合數(shù)字傳感技術(shù)及藍牙通信技術(shù),設(shè)計了無線智能空氣質(zhì)量檢測與調(diào)節(jié)系統(tǒng),實現(xiàn)了對室內(nèi)溫度等質(zhì)量信息的采集、顯示、通信、上位機遠程調(diào)節(jié)處理等。系統(tǒng)具有可靠性高、移植性好、智能化、網(wǎng)絡化等特點,保證了室內(nèi)空氣質(zhì)量監(jiān)測的實時性,對保護人們的健康和安全有著現(xiàn)實意義。本系統(tǒng)除可以應用于智能家居外,還可以用于辦公場所、蔬菜種植大棚、化工生產(chǎn)車間等需要對空氣質(zhì)量進行評價的場所。
[1] 李 萍.基于ARM的室內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng)的設(shè)計[D].成都:西南交通大學,2010.
[2] 郭威彤,宋海聲,楊鴻武,等.一種便攜式室內(nèi)空氣質(zhì)量快速檢測儀設(shè)計[J].傳感器與微系統(tǒng),2015,34(4):92-94.
[3] 陸重陽,盧東華.FPGA技術(shù)及其發(fā)展趨勢[J].微電子技術(shù),2003,31(1):5-7.
[4] 陳欣波.AlteraFPGA工程師成長手冊[M].北京:清華大學出版社,2012:28-105.
[5] 范奧博,鐵治欣,吳銘程,等.室內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng)的設(shè)計[J].浙江理工大學學報:自然科學版,2015,33(3):382-387.
[6] 湯鍇杰,栗 燦,王 迪,等.基于DS18B20的數(shù)字式溫度采集報警系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2014,33(3):99-102.
[7] 陳俊碩,劉景林,張金萍.基于FPGA的直流電機PWM控制器設(shè)計[J].微電機,2009,42(10):23-24.
[8] 顧瑞娟,王 宇,張善從.基于FPGA步進電機驅(qū)動控制系統(tǒng)設(shè)計[J].計算機工程與設(shè)計,2012,33(1):111-114.
[9] 劉雪薇,李志俊,凡胡榮,等.基于FPGA的直流電機轉(zhuǎn)速控制系統(tǒng)設(shè)計[J].武漢理工大學學報:信息與管理工程版,2013,35(5):650-653.
Detecting and adjusting system for indoor air quality based on FPGA
WANG Yuan-yuan, DUAN Min-jie, TONG Jun
(Micro Electronics Innovation Laboratory,College of Electrical and Control Engineering,Xi’an University of Science and Technology,Xi’an 710054,China)
A way to detect and adjust indoor air quality by wireless is proposed based on field programmable gate array(FPGA),and data collection, Bluetooth communication,drive and control principle for stepping motor are analyzed.Experimental results show that the system realizes functions of information collection of temperature indoor,display on LCD,communication and remote adjustment and processing by upper PC.It assures detect real time and reliability of indoor air quality detecting data.The system can be used in place which air quality is hoped to be evaluated,such as green smart home,vegetable planting greenhouse and so on.
field programmable gata array(FPGA); Bluetooth; stepping motor; air detection
10.13873/J.1000—9787(2016)12—0140—03
2016—03—05
TN 99
A
1000—9787(2016)12—0140—03
王媛媛(1980-),女,陜西榆林人,碩士,工程師,從事集成電路設(shè)計與FPGA應用設(shè)計實踐教學工作。