郭浩輝,,許志猛
?。ǜV荽髮W(xué) 物理與信息工程學(xué)院,福建 福州 350100)
摘要:提出了一種基于單片機(jī)和PC的燃?xì)庠畎踩僮餮菔鞠到y(tǒng)的實(shí)現(xiàn)方案。用單片機(jī)仿真燃?xì)庠畹狞c(diǎn)火和開(kāi)關(guān)控制,,配合PC可實(shí)現(xiàn)模擬真實(shí)場(chǎng)景的燃?xì)庠畎踩褂貌僮饔?xùn)練,。實(shí)際測(cè)試表明,該方案操作簡(jiǎn)易方便且仿真效果好,,硬件成本極低,,可在公眾消防安全教育中推廣使用。
關(guān)鍵詞:?jiǎn)纹瑱C(jī),;廚房燃?xì)庠钕到y(tǒng)仿真,;用氣安全教育
中圖分類號(hào):TP368.2文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.08.008
引用格式:郭浩輝,許志猛.一種燃?xì)庠畎踩僮魈摂M演示系統(tǒng)的設(shè)計(jì)[J].微型機(jī)與應(yīng)用,,2017,36(8):23-25.
0引言
*基金項(xiàng)目:福州大學(xué)科技發(fā)展基金(2013XQ43)在社會(huì)飛速發(fā)展的同時(shí),,人們的生活水平和質(zhì)量也隨之在不斷地提高,消防安全教育成為一個(gè)不容忽視的問(wèn)題,。要切實(shí)提高全民的消防安全意識(shí),,青少年的消防安全教育就顯得尤為重要[1]。近幾年,,天然氣產(chǎn)業(yè)發(fā)展勢(shì)頭迅猛,,燃?xì)庠钛b置在全國(guó)大、中,、小城市居民家中隨處可見(jiàn)[2],。然而相關(guān)的消防安全知識(shí)宣傳力度遠(yuǎn)遠(yuǎn)不夠,因?yàn)槿細(xì)庠钍褂梅椒ú划?dāng)引起的火災(zāi)甚至爆炸事故時(shí)有發(fā)生[3],,為此有必要加強(qiáng)對(duì)公眾特別是青少年使用燃?xì)庠畹陌踩逃?。?guó)內(nèi)一些安全教育場(chǎng)館陸續(xù)引入了燃?xì)庠钍褂冒踩逃菔鞠到y(tǒng)[4]。
使用真實(shí)的燃?xì)庠钕到y(tǒng)對(duì)公眾進(jìn)行操作安全演示教育具有一定的危險(xiǎn)性,,為此本文提出一種基于單片機(jī)開(kāi)發(fā)的燃?xì)庠罘抡嬖O(shè)備的實(shí)現(xiàn)方案,。該方案通過(guò)對(duì)硬件的仿真處理協(xié)同上位機(jī)交互動(dòng)畫共同引導(dǎo)青少年正確完成對(duì)燃?xì)庠畹牟僮鳎?duì)青少年進(jìn)行相關(guān)的消防安全知識(shí)教育,。在當(dāng)前背景下,,該系統(tǒng)可以作為燃?xì)庠钍褂梅矫娴南腊踩逃O(shè)備。
1整體框架
燃?xì)庠罘抡嫦到y(tǒng)由單片機(jī)部分和上位機(jī)部分組成,。燃?xì)庠罘抡嫦到y(tǒng)框架如圖1所示,。按鍵1進(jìn)入消防安全知識(shí)教育講解界面,按鍵2進(jìn)入燃?xì)庠钅M操作界面,,其中上位機(jī)部分通過(guò)PC端演示消防安全知識(shí)和指示正確使用燃?xì)庠畹牟襟E,;單片機(jī)部分通過(guò)按鍵檢測(cè)以及內(nèi)部的模數(shù)轉(zhuǎn)換器(Analog to Digital Converter,ADC)通道對(duì)打火開(kāi)關(guān)和氣閥開(kāi)關(guān)的操作信息進(jìn)行采集,、分析,,最后結(jié)合上位機(jī)的步驟指示控制由藍(lán)色LED燈模擬的爐火燃燒情況。
2系統(tǒng)設(shè)計(jì)
2.1系統(tǒng)硬件設(shè)計(jì)
本文采用STC15F2K60S2單片機(jī)做控制器,它是一款高速,、高可靠,、低功耗和超強(qiáng)抗干擾的單片機(jī),自帶8路高速10位A/D轉(zhuǎn)換,、兩組高速異步串行通信口,,并集成了3路可編程計(jì)數(shù)器陣列模塊(Programmable Counter Array, PCA),可用于脈寬調(diào)制(Pulse Width Modulation, PWM)輸出[5],。
2.1.1打火及氣閥開(kāi)關(guān)的模擬實(shí)現(xiàn)
STC1系列單片機(jī)的ADC組成包括:多路選擇開(kāi)關(guān),、比較器、逐次比較寄存器,、10位DAC和轉(zhuǎn)換結(jié)果寄存器,。
逐次比較型的ADC通過(guò)與DAC逐次比較邏輯,從最高位依次對(duì)輸入電壓與內(nèi)置DAC輸出進(jìn)行比較,,經(jīng)過(guò)多次比較使得轉(zhuǎn)換后的數(shù)字量逐漸逼近輸入模擬量的對(duì)應(yīng)值,。如圖2所示,將輸入端模擬量和DAC的輸出的模擬量發(fā)送到比較器中進(jìn)行比較,,比較結(jié)果存儲(chǔ)到逐次比較寄存器,,最后通過(guò)逐次比較寄存器輸出結(jié)果。這種逐次比較的ADC具有速度快,、功耗低等優(yōu)點(diǎn)[6],。
通過(guò)單片機(jī)的ADC功能將點(diǎn)火開(kāi)關(guān)旋鈕平均地劃分成10個(gè)擋位,每一個(gè)擋位都代表著爐火不同程度的火力情況,,其中第一個(gè)擋位表示關(guān)火,隨著擋位增大,,虛擬爐火的LED明亮程度增高,,表示燃?xì)庠畹幕鹆υ龃蟆?/p>
2.1.2爐火仿真的實(shí)現(xiàn)
為了對(duì)應(yīng)上述點(diǎn)火開(kāi)關(guān)的10個(gè)擋位,通過(guò)單片機(jī)控制PWM輸出,,進(jìn)而控制LED對(duì)應(yīng)不同擋位的明亮程度,。
先將PCA模塊工作在8位PWM模式下,因?yàn)樗械哪K共用PCA定時(shí)器,,所以輸出頻率是相同的,。通過(guò)捕獲寄存器{EPCnL, CCAPnL[7:0]}改變輸出占空比,且占空比的變化是獨(dú)立的,。脈沖寬度調(diào)節(jié)如圖3所示,,當(dāng)寄存器{0, CL[7:0]}的值小于{EPCnL, CCAPnL[7:0]}時(shí),輸出為低,;當(dāng){0, CL[7:0]}的值等于或者大于{EPCnL, CCAPnL[7:0]}時(shí),,輸出為高。當(dāng)CL的值由FF變?yōu)?0溢出時(shí),{EPCnH, CCAPnH[7:0]}的內(nèi)容裝載到{EPCnL, CCAPnL[7:0]}中,。這樣就可實(shí)現(xiàn)PWM輸出的無(wú)干擾更新,。
2.1.3上位機(jī)通信的實(shí)現(xiàn)
單片機(jī)與上位機(jī)的交互通過(guò)串行口通信完成,STC15F4K60S單片機(jī)具有4個(gè)采用通用異步收發(fā)傳輸器(Universal Asychronous Receiver/Transmitter, UART)工作方式的全雙工異步串行通信接口,。每個(gè)串行口都有4種工作模式,,本設(shè)計(jì)采用工作模式1,即8位UART,,波特率設(shè)置為9 600 b/s,。
串行口收發(fā)時(shí)序如圖4所示,發(fā)送時(shí)數(shù)據(jù)由串行發(fā)送端TxD輸出,,當(dāng)主機(jī)執(zhí)行寫“SBUF”的指令時(shí)就啟動(dòng)串行口通信的發(fā)送,,把“1”轉(zhuǎn)入發(fā)送移位寄存器的第9位中,并使TX控制單元開(kāi)始發(fā)送,,移位寄存器會(huì)將數(shù)據(jù)不斷右移到TxD端口發(fā)送,,在數(shù)據(jù)左邊不斷補(bǔ)“0”,當(dāng)TX控制單元作最后一次移位輸出時(shí)允許發(fā)送信號(hào)“SEND”失效,,完成信息發(fā)送,。在接收信息時(shí)接收器以選定波特率的16分頻速率采樣串行接收端RxD,當(dāng)檢測(cè)到RxD端口有從“1”負(fù)跳變到“0”時(shí)就啟動(dòng)接收器準(zhǔn)備接收數(shù)據(jù),,并將1FFH裝入移位寄存器中,,然后接收的數(shù)據(jù)從接收移位寄存器的右邊移入,已裝入的1FFH向左移動(dòng),,當(dāng)起始位“0”移動(dòng)到了移位寄存器的最左邊時(shí),,RX控制器作最后一次移位,完成信息的接收,。
但是,,只有當(dāng)RI=0和接收到停止位為1這兩個(gè)條件同時(shí)滿足時(shí)接收到的數(shù)據(jù)才是有效的,否則接收到的數(shù)據(jù)作廢并丟失,。
2.2系統(tǒng)軟件設(shè)計(jì)
2.2.1單片機(jī)軟件的實(shí)現(xiàn)
軟件設(shè)計(jì)主要包括主程序,、中斷服務(wù)程序、定時(shí)程序,、AD采樣程序和PWM火力調(diào)節(jié)程序[7],。如圖5所示,主要控制流程為打開(kāi)電源,、檢測(cè)按鍵是否按下,、判斷是進(jìn)行安全知識(shí)學(xué)習(xí)模式還是模擬操作模式。若進(jìn)行模擬操作模式,,則開(kāi)始檢測(cè)氣閥是否開(kāi)啟,,氣閥關(guān)閉由LED模擬的爐火處于熄滅狀態(tài),,當(dāng)氣閥打開(kāi)后立即進(jìn)行AD采樣并檢測(cè)是否達(dá)到開(kāi)關(guān)閾值,未達(dá)到開(kāi)關(guān)閾值爐火仍處于熄滅狀態(tài),,如達(dá)到閾值則對(duì)AD信號(hào)進(jìn)行處理,,通過(guò)PWM控制調(diào)節(jié)LED明亮程度來(lái)表示爐火的大小,;最后檢測(cè)是否收到終止命令,,若未收到終止命令則繼續(xù)對(duì)氣閥開(kāi)關(guān)狀態(tài)和AD采樣信號(hào)的狀態(tài)進(jìn)行檢測(cè),如收到終止命令則退出,,回到初始界面,。
2.2.2上位機(jī)軟件的實(shí)現(xiàn)
上位機(jī)動(dòng)畫使用Unity3D進(jìn)行構(gòu)建,Unity3D可支持所有平臺(tái),,且內(nèi)置光照貼圖,、遮擋剔除和調(diào)試器等強(qiáng)大功能。這里將燃?xì)庠畈僮鞯牟煌A段制作成動(dòng)畫并打包成組件,,通過(guò)PC端的COM1口接收單片機(jī)傳送過(guò)來(lái)的串行口命令來(lái)調(diào)用對(duì)應(yīng)的組件,,播放不同的動(dòng)畫界面,例如,,當(dāng)接收到0x02命令時(shí),,上位機(jī)就進(jìn)入模擬操作的動(dòng)畫界面,與單片機(jī)實(shí)現(xiàn)互動(dòng)功能,。
3測(cè)試結(jié)果
系統(tǒng)上電開(kāi)啟電腦,,系統(tǒng)自動(dòng)進(jìn)入上位機(jī)軟件的畫面,等待用戶操作,。圖5程序流程圖經(jīng)過(guò)反復(fù)調(diào)試,,燃?xì)庠钕到y(tǒng)的仿真邏輯以及功能實(shí)現(xiàn)已達(dá)到預(yù)定的要求,結(jié)果表達(dá)明確,,操作反應(yīng)快,,無(wú)明顯延遲現(xiàn)象。測(cè)試結(jié)果如下:
?。?)按下用氣安全知識(shí)按鍵,進(jìn)入相關(guān)知識(shí)講解界面進(jìn)行觀看,,此時(shí)對(duì)氣閥開(kāi)關(guān)和點(diǎn)火開(kāi)關(guān)操作不會(huì)有任何響應(yīng),;
(2)按下模擬操作按鍵,,進(jìn)入模擬操作界面,,根據(jù)界面上的文字提示能夠正確完成整個(gè)燃?xì)庠畹氖褂眠^(guò)程;
(3)如在模擬操作狀態(tài)下未按照文字提示進(jìn)行正確操作,,會(huì)立刻提示操作錯(cuò)誤并重新嘗試,。4結(jié)論
本文提出了一種基于單片機(jī)的燃?xì)庠钕到y(tǒng)仿真操作設(shè)計(jì)方案,,經(jīng)測(cè)試表明,該方案具有工作穩(wěn)定,、操作簡(jiǎn)單,、功耗低、節(jié)約成本的優(yōu)點(diǎn),,能夠滿足學(xué)校,、社區(qū)乃至政府部門對(duì)燃?xì)庠畎踩褂貌僮鞯南腊踩逃幕疽螅m應(yīng)于科技發(fā)展的潮流,,未來(lái)可以應(yīng)用在更多類似的系統(tǒng)仿真中,。
參考文獻(xiàn)
[1] 陳家強(qiáng).在應(yīng)急救援力量體系建設(shè)中充分發(fā)揮公安消防部隊(duì)的突擊隊(duì)作用[J].消防科學(xué)與技術(shù), 2005,24(5): 614-618.
?。?] 羅東曉.節(jié)能環(huán)保是我國(guó)燃?xì)饩弋a(chǎn)業(yè)的發(fā)展方向[J].煤氣與熱力,2012,32(10):66-70.
?。?] 劉旭.淺談燃?xì)庠罨馂?zāi)危險(xiǎn)性及防范措施[C].安徽省科協(xié)年會(huì)——海灣杯“社會(huì)消防安全管理創(chuàng)新”專題年會(huì)論文集,安徽省科學(xué)技術(shù)協(xié)會(huì),、安徽省消防協(xié)會(huì),2011:222-231.
?。?] 華征豪.科技館安全科普宣傳教育的現(xiàn)狀、問(wèn)題與對(duì)策[J]. 科技風(fēng),2015(4):214.
?。?] 江世明,許建明,朱群峰,等.單片機(jī)原理及應(yīng)用[M].上海:上海交通大學(xué)出版社,2013.
?。?] 韓克,薛迎霄.單片機(jī)應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2013.
[7] 王東峰,王會(huì)良,,董冠強(qiáng),,等.單片機(jī)C語(yǔ)言應(yīng)用100例[M].北京:電子工業(yè)出版社,2009.