第1章 緒 論
1.1 目的和意義
隨著科技的發展,越來越多的火災隱患由于工業生產和人們的日常生活而產生。為了早期發現和通報火災,防止和減少火災危害,保護人身和財產安全,保衛社會主義現代化建設,防止火災引起燃燒、爆炸等事故,造成嚴重的經濟損失,甚至危及生命安全。
為了減少這類事故的發生,就必須對煙霧、溫度以及火光進行現場實時檢測,采用先進可靠的安全檢測儀表嚴密監測,及早發現事故隱患,采取有效措施,避免事故發生,才能確保工業安全和家庭生活安全。因此,研制火災報警器就成為傳感器技術發展領域的一個重要課題。
1.2 研究概況及發展現狀
探測器朝新探測技術的發展進一步拓展了火災檢測的應用領域,為一些傳統檢測技術無法勝任的環境提供了有效的手段。相關技術的發展,如傅立葉近紅外光譜技術弱信號處理技術、低功耗MCU技術進一步促進了傳統探測技術的改進,使得傳統探測器在技術和性能上有了顯著的提高。火災著極早期探測、多傳感器復合探測和探測器小型化、智能化的方向發展邁出了更快的步伐。
近幾年來,單片機已逐步深入應用到工農業生產各部門及人們生活的各個方面。各種類型的單片機也根據社會的需求而開發出來。單片機是器件級計算機系統,實際上它是一個微控制器或微處理器。由于它功能齊全,體積小,成本低,因此它可以應用到任何電子系統中去,同樣,它也可以廣泛應用于報警技術領域,使各類報警裝置的功能更加完善,可靠性大大提高,以滿足社會發展的需要。
我國火災報警系統起步較發達國家晚幾十年,從上世紀 70 年代我國才開始研制生產火災報警系統產品。進入80年代后,國內主要廠家也多是模仿國外產品,或是引進國外技術進行生產,沒有真正意義上的核心技術,并且市場也剛剛開始發育;馂膱缶a品真正發展是在 90 年代以后,隨著政府逐漸開放國門,國外企業開始大量進入中國消防市場,帶來先進技術的同時也促進了市場的成熟。這時期,我國生產火災報警產品的企業也得到了快速發展,部分企業進行了合資生產、技術合作,取得了不菲的成績,也造就了現今市場上許多有實力的商家,部分技術已接近或趕上了國際水平。
1.3 本系統主要研究內容
本系統設計制作一個基于單片機的火災報警器。包括有以下幾種功能:
(1)由檢測模塊檢測溫度值、煙霧信號和火光信號并通過24L01無線傳輸模塊收發。
(2)單片機讀取接收到的煙霧傳感器電位變化獲取煙霧信息并在LCD1602上進行顯示。
(3)單片機讀取接收到的火焰傳感器電位變化獲取火光信息并在LCD1602上實時顯示。
(4)通過溫度傳感器實時監測環境溫度并在液晶顯示屏上實時顯示。
(5)單片機將接收數據與預設值比較判定,若超出預設范圍則驅動報警電路進行聲光報警。
第2章 總體方案論證與設計
根據所要實現的功能劃分,系統一共需要以下幾個模塊:主控模塊、顯示模塊、檢測模塊和無線傳輸模塊和聲光報警模塊,以下就針對這幾個模塊的選型和論證進行討論。
2.1主控模塊的選型和論證
方案一:
采用MSP430系列單片機,該單片機是TI公司1996年開始推向市場的一種16位超低功耗的混合信號處理器。其內部集成了很多模擬電路、數字電路和微處理器,提供強大的功能。不過該芯片昂貴不適合一般的設計開發。
方案二
采用51系列的單片機,該單片機是一個高可靠性,超低價,無法解密,高性能的8位單片機,32個IO口,且STC系列的單片機可以在線編程、調試,方便地實現程序的下載與整機的調試。
因此選用方案二中的51系列單片機作為主控芯片。
2.2顯示模塊的選型和論證
方案一:
采用LED數碼管動態掃描,LED數碼管價格雖適中,對于顯示數字也最合適,而且采用動態掃描法與單片機連接時,占用單片機口線少。但是由于數碼管動態掃描需要借助74LS164移位寄存器進行移位,該芯片在電路調試時往往有很多障礙,所以不采用LED數碼管作為顯示。
方案二:
采用LCD液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見,對于本設計而言一個LCD1602的液晶顯示屏即可,價格也還能接受,需要的接口線較多,但會給調試帶來諸多方便。
所以本設計中方案二中的LCD1602液顯示屏作為顯示模塊。
2.3溫度檢測模塊的選型和論證
方案一:
AD590是美國ANALOG DEVICES公司的單片集成兩端感溫電流源,其輸出電流與絕對溫度成比例。在4 V至30 V電源電壓范圍內,該器件可充當一個高阻抗、恒流調節器,調節系數為1 μA/K。片內薄膜電阻經過激光調整,可用于校準器件,使該器件在298.2K (25°C)時輸出298.2 μA電流。由于該芯片輸出為模擬量還同時需要AD轉換器對其進行采集。因此不適用于本設計。
方案二:
DS18B20數字溫度傳感器接線方便,封裝成后可應用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據應用場合的不同而改變其外觀。封裝后的DS18B20可用于各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設備數字測溫和控制領域。
因此本設計采用方案二中的DS18B20芯片進行溫度采集。
2.4 無線傳輸模塊的選型和論
方案一:
NRF905是美國Nordic VLSI公司設計而成,體積小,傳輸距離遠,同時抗干擾能力強,通信穩定,且為微功率模塊。
方案二:
NRF24L01具有NRF905基本特點,并且成本更低,編程更加容易。
因此本設計選擇方案二中的NRF24L01模塊進行無線傳輸。
2.5系統整體設計概述
本系統以單片機為控制核心,對系統進行初始化,主要完成對火光、煙霧信號的采集、液晶顯示、測溫且由無線收發模塊傳輸采集數據等功能的控制,起到總控和協調各模塊之間工作的作用。
根據以上設計需要,系統擬采用以下技術方案,系統的結構框圖如下圖所示。
1.002.jpg (14.41 KB, 下載次數: 211)
下載附件
2017-4-27 23:49 上傳
圖2-1 發送側系統結構框圖
1.003.jpg (7.81 KB, 下載次數: 176)
下載附件
2017-4-27 23:49 上傳
圖2-2 接收側系統結構框圖
系統由STC89C52,LCD1602,火焰傳感器,煙霧傳感器, DS18B20等組成,系統由兩部分組成分別是火災檢測部分和火災報警部分,通過調整煙霧傳感器的靈敏度來控制煙霧濃度的上限值,通過程序設定溫度值的上限,當超過濃度后,或者溫度超過后,單片機會進行聲光報警。
第3章 系統硬件電路設計
3.1主控模塊
主控模塊模塊在整個系統中起著統籌的作用,需要檢測鍵盤,時間檢測、煙霧濃度檢測、語音報警等功能,同時驅動液晶顯示相關參數,在這里我們選用了51系列單片機中的STC89C52單片機作為系統的主控芯片。
51系列單片機最初是由Intel 公司開發設計的,但后來Intel 公司把51 核的設計方案賣給了幾家大的電子設計生產商,譬如SST、Philip、Atmel 等大公司。因此市面上出現了各式各樣的均以51 為內核的單片機。這些各大電子生產商推出的單片機都兼容51 指令、并在51 的基礎上擴展一些功能而內部結構是與51一致的。
STC89C52有40個引腳,4個8位并行I/O口,1個全雙工異步串行口,同時內含5個中斷源,2個優先級,2個16位定時/計數器。STC89C52的存儲器系統由4K的程序存儲器(掩膜ROM),和128B的數據存儲器(RAM)組成。
STC89C52單片機的基本組成框圖見圖3-1。
1.004.jpg (18.52 KB, 下載次數: 182)
下載附件
2017-4-27 23:49 上傳
圖3-1 STC89C52單片機結構圖
3.1.1 STC89C52單片機主要特性
1. 一個8 位的微處理器(CPU)。
2. 片內數據存儲器RAM(128B),用以存放可以讀/寫的數據,如運算的中間結果、最終結果以及欲顯示的數據等,SST89 系列單片機最多提供1K 的RAM。
3. 片內程序存儲器ROM(4KB),用以存放程序、一些原始數據和表格。但也有一些單片機內部不帶ROM/EPROM,如8031,8032,80C31 等。目前單片機的發展趨勢是將RAM 和ROM 都集成在單片機里面,這樣既方便了用戶進行設計又提高了系統的抗干擾性。SST 公司推出的89 系列單片機分別集成了16K、32K、64K Flash 存儲器,可供用戶根據需要選用。
4. 四個8 位并行I/O 接口P0~P3,每個口既可以用作輸入,也可以用作輸出。
5. 兩個定時器/計數器,每個定時器/計數器都可以設置成計數方式,用以對外部事件進行計數,也可以設置成定時方式,并可以根據計數或定時的結果實現計算機控制。為方便設計串行通信,目前的52 系列單片機都會提供3 個16 位定時器/計數器。
6. 五個中斷源的中斷控制系統,F在新推出的單片機都不只5 個中斷源,例如SST89E58RD 就有9 個中斷源。
7. 一個全雙工UART(通用異步接收發送器)的串行I/O 口,用于實現單片機之間或單機與微機之間的串行通信。
8. 片內振蕩器和時鐘產生電路,但石英晶體和微調電容需要外接。最高允許振蕩頻率為12MHz。SST89V58RD 最高允許振蕩頻率達40MHz,因而大大的提高了指令的執行速度。
1.005.jpg (24.36 KB, 下載次數: 177)
下載附件
2017-4-27 23:49 上傳
圖3-2 STC89C52單片機管腳圖
部分引腳說明:
1.時鐘電路引腳XTAL1 和XTAL2:
XTAL2(18 腳):接外部晶體和微調電容的一端;片內它是振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時鐘電路時,該引腳輸入外部時鐘脈沖。
要檢查振蕩電路是否正常工作,可用示波器查看XTAL2 端是否有脈沖信號輸出。
XTAL1(19 腳):接外部晶體和微調電容的另一端;在片內它是振蕩電路反相放大器的輸入端。在采用外部時鐘時,該引腳必須接地。
2.控制信號引腳RST,ALE,PSEN 和EA:
RST/VPD(9 腳):RST 是復位信號輸入端,高電平有效。當此輸入端保持備用電源的輸入端。當主電源Vcc 發生故障,降低到低電平規定值時,將+5V 電源自動兩個機器周期(24個時鐘振蕩周期)的高電平時,就可以完成復位操作。RST 引腳的第二功能是VPD,即接入RST 端,為RAM 提供備用電源,以保證存儲在RAM 中的信息不丟失,從而合復位后能繼續正常運行。
ALE/PROG(30 腳):地址鎖存允許信號端。當8051 上電正常工作后,ALE 引腳不斷向外輸出正脈沖信號,此頻率為振蕩器頻率fOSC 的1/6。CPU 訪問片外存儲器時,ALE 輸出信號作為鎖存低8 位地址的控制信號。
平時不訪問片外存儲器時,ALE 端也以振蕩頻率的1/6 固定輸出正脈沖,因而ALE 信號可以用作對外輸出時鐘或定時信號。如果想確定8051/8031 芯片的好壞,可用示波器查看ALE端是否有脈沖信號輸出。如有脈沖信號輸出,則8051/8031 基本上是好的。
ALE 端的負載驅動能力為8 個LS 型TTL(低功耗甚高速TTL)負載。
此引腳的第二功能PROG 在對片內帶有4KB EPROM 的8751 編程寫入(固化程序)時,作為編程脈沖輸入端。
PSEN(29 腳):程序存儲允許輸出信號端。在訪問片外程序存儲器時,此端定時輸出負脈沖作為讀片外存儲器的選通信號。此引肢接EPROM的OE 端(見后面幾章任何一個小系統硬件圖)。PSEN 端有效,即允許讀出EPROM/ROM 中的指令碼。PSEN 端同樣可驅動8 個LS 型TTL 負載。要檢查一個8051/8031 小系統上電后CPU 能否正常到EPROM/ROM 中讀取指令碼,也可用示波器看PSEN 端有無脈沖輸出。如有則說明基本上工作正常。
EA/Vpp(31 腳):外部程序存儲器地址允許輸入端/固化編程電壓輸入端。當EA 引腳接高電平時,CPU只訪問片內EPROM/ROM并執行內部程序存儲器中的指令,但當PC(程序計數器)的值超過0FFFH(對8751/8051 為4K)時,將自動轉去執行片外程序存儲器內的程序。當輸入信號EA 引腳接低電平(接地)時,CPU 只訪問外部EPROM/ROM 并執行外部程序存儲器中的指令,而不管是否有片內程序存儲器。對于無片內ROM 的8031或8032,需外擴EPROM,此時必須將EA 引腳接地。此引腳的第二功能是Vpp 是對8751 片內EPROM固化編程時,作為施加較高編程電壓(一般12V~21V)的輸入端。
3.輸入/輸出端口P0/P1/P2/P3:
P0口(P0.0~P0.7,39~32 腳):P0口是一個漏極開路的8 位準雙向I/O口。作為漏極開路的輸出端口,每位能驅動8 個LS 型TTL 負載。當P0 口作為輸入口使用時,應先向口鎖存器(地址80H)寫入全1,此時P0 口的全部引腳浮空,可作為高阻抗輸入。作輸入口使用時要先寫1,這就是準雙向口的含義。在CPU 訪問片外存儲器時,P0口分時提供低8 位地址和8 位數據的復用總線。在此期間,P0口內部上拉電阻有效。
P1口(P1.0~P1.7,1~8 腳):P1口是一個帶內部上拉電阻的8 位準雙向I/O口。P1口每位能驅動4 個LS 型TTL 負載。在P1口作為輸入口使用時,應先向P1口鎖存地址(90H)寫入全1,此時P1口引腳由內部上拉電阻拉成高電平。
P2口(P2.0~P2.7,21~28 腳):P2口是一個帶內部上拉電阻的8 位準雙向I/O口。P口每位能驅動4個LS 型TTL 負載。在訪問片外EPROM/RAM 時,它輸出高8 位地址。
P3口(P3.0~P3.7,10~17 腳):P3口是一個帶內部上拉電阻的8 位準雙向I/O口。P3口每位能驅動4個LS型TTL負載。P3口與其它I/O 端口有很大的區別,它的每個引腳都有第二功能,如下:
P3.0:(RXD)串行數據接收。
P3.1:(RXD)串行數據發送。
P3.2:(INT0#)外部中斷0輸入。
P3.3:(INT1#)外部中斷1輸入。
P3.4:(T0)定時/計數器0的外部計數輸入。
P3.5:(T1)定時/計數器1的外部計數輸入。
P3.6:(WR#)外部數據存儲器寫選通。
P3.7:(RD#)外部數據存儲器讀選通。
3.1.2 STC89C52單片機的中斷系統
STC89C52系列單片機的中斷系統有5個中斷源,2個優先級,可以實現二級中斷服務嵌套。由片內特殊功能寄存器中的中斷允許寄存器IE控制CPU是否響應中斷請求;由中斷優先級寄存器IP安排各中斷源的優先級;同一優先級內各中斷同時提出中斷請求時,由內部的查詢邏輯確定其響應次序。
在單片機應用系統中,常常會有定時控制需求,如定時輸出、定時檢測、定時掃描等;也經常要對外部事件進行計數。STC89C52單片機內集成有兩個可編程的定時/計數器:T0和T1,它們既可以工作于定時模式,也可以工作于外部事件計數模式,此外,T1還可以作為串行口的波特率發生器。
3.1.3 單片機最小系統設計
1.006.jpg (21.61 KB, 下載次數: 185)
下載附件
2017-4-27 23:49 上傳
圖3-3 單片機最小系統電路圖
圖3-3為單片機最小系統電路圖,單片機最小系統有單片機、時鐘電路、復位電路組成,時鐘電路選用了12MHZ的晶振提供時鐘,作用為給單片機提供一個時間基準,其中執行一條基本指令需要的時間為一個機器周期,單片機的復位電路,按下復位按鍵之后可以使單片機進入剛上電的起始狀態。圖中10K排阻為P0口的上拉電阻,由于P0口跟其他IO結構不一樣為漏極開路的結構,因此要加上拉電阻才能正常使用。
3.2 LCD液晶顯示器簡介
由于本設計中要求顯示界面顯示一些參數,因此這里選用了LCD1602作為界面顯示,可以把一些相關的參數進行顯示。
3.2.1 液晶原理介紹
液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。
顯示接口用來顯示系統的狀態,命令或采集的電壓數據。本系統顯示部分用的是LCD液晶模塊,采用一個16×2的字符型液晶顯示模塊。
點陣圖形式液晶由 M 行×N 列個顯示單元組成,假設 LCD 顯示屏有64行,每行有 128列,每 8列對應 1 個字節的 8 個位,即每行由 16 字節,共 16×8=128個點組成,屏上 64×16 個顯示單元和顯示 RAM 區 1024 個字節相對應,每一字節的內容和屏上相應位置的亮暗對應。一個字符由 6×8 或 8×8點陣組成,即要找到和屏上某幾個位置對應的顯示 RAM區的 8 個字節,并且要使每個字節的不同的位為‘1’,其它的為‘0’,為‘1’的點亮,為‘0’的點暗,這樣一來就組成某個字符。但對于內帶字符發生器的控制器來說,顯示字符就比較簡單了,可讓控制器工作在文本方式,根據在LCD 上開始顯示的行列號及每行的列數找出顯示 RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。
3.2.2液晶模塊簡介
LCD1602液晶模塊采用HD44780控制器,hd44780具有簡單而功能較強的指令集,可以實現字符移動,閃爍等功能,LM016L與單片機MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制器由兩個8位寄存器,指令寄存器(IR)和數據寄存器(DR)忙標志(BF),顯示數RAM(DDRAM),字符發生器ROMA(CGOROM)字符發生器RAM(CGRAM),地址計數器RAM(AC)。IR用于寄存指令碼,只能寫入不能讀出,DR用于寄存數據,數據由內部操作自動寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數據,BF為1時,液晶模塊處于內部模式,不響應外部操作指令和接受數據,DDTAM用來存儲顯示的字符,能存儲80個字符碼,CGROM由8位字符碼生成5*7點陣字符160中和5*10點陣字符32種.8位字符編碼和字符的對應關系, CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節,可以自定義8個5*7點陣字符或者4個5*10點陣字符,AC可以存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR自動把地址碼裝入AC,同時選擇DDRAM或CGRAM,LCD1602液晶模塊的引腳圖如圖3-4所示。
1.007.jpg (8.32 KB, 下載次數: 164)
下載附件
2017-4-27 23:49 上傳
圖3-4 LCD1602引腳圖
LCD1602引腳接口說明:
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:VEE為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。
第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。
第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數據。
第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行令。
第7~14腳:D0~D7為8位雙向數據線。
第15腳:背光源正極。
第16腳:背光源負極。
3.2.3液晶顯示部分與STC89C52的接口
如圖3-5所示。用STC89C52的P0口作為數據線,用P2.2、P2.3、P2.7分別作為LCD的RS 、RW、EN。其中EN是下降沿觸發的片選信號,RW是讀寫信號,RS是寄存器選擇信號本模塊設計要點如下:顯示模塊初始化:首先清屏,再設置接口數據位為8位,顯示行數為1行,字型為5×7點陣,然后設置為整體顯示,取消光標和字體閃爍,最后設置為正向增量方式且不移位。向LCD的顯示緩沖區中送字符,程序中采用2個字符數組,一個顯示字符,另一個顯示電壓數據,要顯示的字符或數據被送到相應的數組中,完成后再統一顯示.首先取一個要顯示的字符或數據送到LCD的顯示緩沖區,程序延時2.5ms,判斷是否夠顯示的個數,不夠則地址加一取下一個要顯示的字符或數據。
1.008.jpg (24.1 KB, 下載次數: 161)
下載附件
2017-4-27 23:49 上傳
圖3-5 LCD1602與STC89C52的接口
3.3無線傳輸模塊簡介
本設計的核心是通過無線收發模塊NRF24L01發送檢測到的數據,并在接收端進行實時顯示,在火災發生時進行聲光報警。NRF24L01 是一款工作在2.4~2.5GHz 世界通用ISM 頻段的單片無線收發器芯片。無線收發器包括:頻率發生器、增強型SchockBurstTM 模式控制器、功率放大器、晶體振蕩器、調制器、解調器。輸出功率、頻道選擇和協議的設置可以通過SPI 接口進行設置。它具有極低的電流消耗:當工作在發射模式下發射功率為-6dBm 時電流消耗為9mA,接收模式時為12.3mA。掉電模式和待機模式下電流消耗更低。
3.3.1模塊性能及特點
(1)2.4GHz全球開放ISM頻段免許可證使用;
(2最高工作速率2Mbps,高效GFSK調制,抗干擾能力強,特別適合工業控制場合;
(3)125頻道,滿足多點通信和跳頻通信需要;
(4)內置硬件CRC 檢錯和點對多點通信地址控制 ;
(5)低功耗1.9-3.6V工作,待機模式下狀態為22uA;掉電模式下為900nA ;
(6)模塊可軟件設地址,只有收到本機地址時才會輸出數據(提供中斷指示),可直接接各種單片機使用,軟件編程非常方便;
(7)標準 5*2 DIP間距接口,便于嵌入式應用 ;
(8)工作于 Enhanced Shock Burst,具有可選的內置包應答機制,極大的降低丟包率;
(9)NRF24L01配PCB內置天線,無阻擋傳輸距離20-50米。
(10)與51系列單片機P0口連接時候,需要加10K的上拉電阻,與其余口連接不需要。
(11)其他系列的單片機,如果是5V的,請參考該系列單片機IO口輸出電流大小,如果超過10mA,需要串聯電阻分壓,否則容易燒毀模塊。如果是3.3V的,可以直接和RF24L01模塊的IO口線連接。比如AVR系列單片機如果是5V的,一般串接2K的電阻。
1.009.jpg (21.58 KB, 下載次數: 171)
下載附件
2017-4-27 23:49 上傳
圖3-6 無線傳輸模塊原理圖
3.3.2 NRF24L01應用領域
無線鼠標,鍵盤,游戲機操縱桿,無線數據通訊,無線門禁,安防系統,遙控裝置,遙感勘測,智能運動設備,工業傳感器,玩具。
3.3.3 NRF24L01技術參數
表3-1 NRF24L01快速參考數據
3.3.4 NRF24L01工作方式及工作原理
NRF2401有工作模式有四種:發送模式,接受模式,空閑模式,掉電模式。工作模式由PWR_UP register 、PRIM_RX register 和CE 決定,詳見表3-2。
表3-2 NRF24L01工作模式
工作原理:發射數據時,首先將NRF24L01配置為發射模式:接著把接收節點地址TX_ADDR和有效數據TX_PLD按照時序由SPI口寫入NRF24L01緩存區,TX_PLD必須在CSN為低時連續寫入,而TX_ADDR在發射時寫入一次即可,然后CE置為高電平并保持至少10μs,延遲130μs后發射數據;若自動應答開啟,那么NRF24L01在發射數據后立即進入接收模式,接收應答信號(自動應答接收地址應該與接收節點地址TX_ADDR一致)。如果收到應答,則認為此次通信成功,TX_DS置高,同時TX_PLD從TX FIFO中清除;若未收到應答,則自動重新發射該數據(自動重發已開啟),若重發次數(ARC)達到上限,MAX_RT置高,TX FIFO中數據保留以便再次重發;MAX_RT或TX_DS置高時,使IRQ變低,產生中斷,通知MCU。最后發射成功時,若CE為低則NRF24L01進入空閑模式1;若發送堆棧中有數據且CE為高,則進入下一次發射;若發送堆棧中無數據且CE為高,則進入空閑模式2。
接收數據時,首先將NRF24L01配置為接收模式,接著延遲130μs進入接收狀態等待數據的到來。當接收方檢測到有效的地址和CRC時,就將數據包存儲在RX FIFO中,同時中斷標志位RX_DR置高,IRQ變低,產生中斷,通知MCU去取數據。若此時自動應答開啟,接收方則同時進入發射狀態回傳應答信號。最后接收成功時,若CE變低,則NRF24L01進入空閑模式1。
3.4聲光報警模塊設計
安全情況下,三色燈熄滅,喇叭無聲;一旦監測到發生火災,即觸發報警器進入報警狀態,三色燈循環閃爍,喇叭發出警報聲。
3.4.1蜂鳴器報警
聲音報警電路如下圖所示。由于蜂鳴器的工作電流一般比較大,以致于單片機的I/O口是無法直接驅動的,所以要利用放大電路來驅動,一般使用三極管來放大電流就可以了。聲報警電路由單片機的P20引腳進行控制,當P2.0輸出的電平為低電平時,三極管導通,蜂鳴器的電流形成回路,發出聲音報警;否則,三極管截止,蜂鳴器不發出聲音。
1.010.jpg (6.21 KB, 下載次數: 160)
下載附件
2017-4-27 23:49 上傳
圖3-7 蜂鳴器報警電路
3.4.2燈光報警
光報警電路路如圖3.5,由單片機的P2.1、P3.4、P3.5口進行控制,分別控制3個發光二極管,予以光報警,如圖所示。當監測到火災發生時,單片機控制的三個端口循環依次輸出低電平時,對應的信號燈便會循環閃爍發出光報警。
1.011.jpg (8.76 KB, 下載次數: 167)
下載附件
2017-4-27 23:49 上傳
圖3-8 燈光報警電路
3.5溫度檢測模塊設計
本設計還帶有一個溫度檢測的功能,系統可以通過讀取DS18B20的溫度數據并在LCD1602上顯示,當系統監測到火災發生時,會驅動聲光報警系統報警。
3.5.1溫度傳感器工作原理
DALLAS 最新單線數字溫度傳感器DS18B20是一種新型的“一線器件”,其體積更小、更適用于多種場合、且適用電壓更寬、更經濟。DALLAS半導體公司的數字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測量范圍為-55~+125攝氏度,可編程為9位~12 位轉換精度,測溫分辨率可達0.0625攝氏度,分辨率設定參數以及用戶設定的報警溫度存儲在EEPROM 中,掉電后依然保存。被測溫度用符號擴展的16位數字量方式串行輸出;其工作電源既可以在遠端引入,也可以采用寄生電源方式產生;多個DS18B20可以并聯到3 根或2 根線上,CPU只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節省大量的引線和邏輯電路。因此用它來組成一個測溫系統,具有線路簡單,在一根通信線,可以掛很多這樣的數字溫度計,十分方便。
DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數因分辨率不同而不同,且溫度轉換時的延時時間由2s 減為750ms。 DS18B20測溫原理:低溫度系數晶振的振蕩頻率受溫度影響很小,用于產生固定頻率的脈沖信號送給計數器1。高溫度系數晶振隨溫度變化其振蕩率明顯改變,所產生的信號作為計數器2的脈沖輸入。計數器1和溫度寄存器被預置在-55℃所對應的一個基數值。計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當計數器1的預置值減到0時,溫度寄存器的值將加1,計數器1的預置將重新被裝入,計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。
DS18B20有4個主要的數據部件:
a. 光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現一根總線上掛接多個DS18B20的目的。
b. DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉化為例:用16位符號擴展的二進制補碼讀數形式提供,以 0.0625℃/LSB形式表達,其中S為符號位。
c. DS18B20溫度傳感器的存儲器 DS18B20溫度傳感器的內部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發器 TH、TL和結構寄存器。
d. 配置寄存器。
DS18B20內部結構及功能:
DS18B20的內部結構如圖3-15所示。主要包括:寄生電源,溫度傳感器,64位ROM和單總線接口,存放中間數據的高速暫存器RAM,用于存儲用戶設定溫度上下限值的TH和TL觸發器,存儲與控制邏輯,8位循環冗余校驗碼(CRC)發生器等7部分。
1.012.jpg (17.9 KB, 下載次數: 186)
下載附件
2017-4-27 23:49 上傳
圖3-10 DS18B20內部結構
3.5.2 DS18B20使用中的注意事項
DS18B20 雖然具有測溫系統簡單、測溫精度高、連接方便、占用口線少等優點,但在實際應用中也應注意以下幾方面的問題:
1)DS18B20 從測溫結束到將溫度值轉換成數字量需要一定的轉換時間,這是必須保證的,不然會出現轉換錯誤的現象,使溫度輸出總是顯示85。
2)在實際使用中發現,應使電源電壓保持在5V 左右,若電源電壓過低,會使所測得的溫度精度降低。
3)較小的硬件開銷需要相對復雜的軟件進行補償,由于DS1820與微處理器間采用串行數據傳送,因此,在對DS1820進行讀寫編程時,必須嚴格的保證讀寫時序,否則將無法讀取測溫結果。在使用PL/M、C等高級語言進行系統程序設計時,對DS1820操作部分最好采用匯編語言實現。
4)在DS18B20的有關資料中均未提及單總線上所掛DS18B20 數量問題,容易使人誤認為可以掛任意多個DS18B20,在實際應用中并非如此,當單總線上所掛DS18B20 超過8 個時,就需要解決微處理器的總線驅動問題,這一點在進行多點測溫系統設計時要加以注意。
5)在DS18B20測溫程序設計中,向DS18B20 發出溫度轉換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20 接觸不好或斷線,當程序讀該DS18B20 時,將沒有返回信號,程序進入死循環,這一點在進行DS18B20硬件連接和軟件設計時也要給予一定的重視。
3.5.3 DS18B20硬件電路設計
1.013.jpg (7.42 KB, 下載次數: 168)
下載附件
2017-4-27 23:49 上傳
圖3-11 DS18B20溫度檢測電路設計
圖3-16為DS18B20的硬件設計電路圖,其中DQ口為該芯片的數據口,單片機通過讀取改口的信息可以得出實時的溫度值,由于DS18B20是單線通信,即發送和接收都是通過通信腳來進行。其接收時高阻輸入,其發送時是開漏輸出,即輸出0時通過三極管下拉為低電平,而輸出1時,則為高阻,需要外接上拉電阻將其拉為高電平,因此是需要外接上拉電阻,否則無法輸出1。
3.6煙霧傳感器模塊介紹
3.6.1煙霧檢測報警器設計思路
此次設計是針對于單片機原理及其應用展開的。其中包含了大學四年中所學到的相關知識,運用所學的傳感器技術,單片機技術去設計基于單片機的煙霧報警系統。煙霧報警器的最基本組成部分包括:煙霧傳感電路、模數轉換電路、單片機控制電路。單片機緊緊聯系著傳感器和報警電路設備,給煙霧報警器設定一個值,當外界環境達到預先設定的數值時,煙霧傳感器把被測的物理量作為輸入參數,轉換為電量輸出。為了簡化整個系統的設計在本設計中不采用前置放大器而是選擇數值符合A/D轉換器的輸入等級。模數轉換電路將從煙霧傳感電路送出的模擬信號轉換成單片機可識別的數字信號后送入單片機。這里選擇單片機的P1.0為輸入方式,接收到信號的單片機經過程序的設定會由P2.0作為單片機的輸出電路,單片機對該數字信號進行濾波處理,并對處理后的數據進行分析,是否大于或等于某個預設值,如果大于則啟動報警電路發出報警聲音,反之則為正常狀態。煙霧傳感器及單片機是可燃煙霧檢測報警器的兩大核心,根據報警器功能的需要,選擇合適、精確、經濟的煙霧傳感器及單片機芯片是至關重要的。
3.6.2 MQ-2型煙霧傳感器的工作原理
半導體煙霧傳感器包括用氧化物半導體陶瓷材料作為敏感體制作的煙霧傳感器以及用單晶半導體器件制作的煙霧傳感器。按敏感機理分類,可分為電阻型和非電阻型。半導體氣敏元件也有N型和P型之分。N型在檢測時阻值隨煙霧濃度的增大而減;P型阻值隨煙霧濃度的增大而增大。
本設計中采用的MQ-2型煙霧傳感器屬于二氧化錫半導體氣敏材料,屬于表面離子式N型半導體[7]。當處于200~300°C溫度時,二氧化錫吸附空氣中的氧,形成氧的負離子吸附,使半導體中的電子密度減少,從而使其電阻值增加。當與煙霧接觸時,如果晶粒間界處的勢壘受到該煙霧的調制而變化,就會引起表而電導率的變化。利用這一點就可以獲得這種煙霧存在的信息。
1.014.jpg (15.49 KB, 下載次數: 159)
下載附件
2017-4-27 23:49 上傳
圖3-12 煙霧傳感器原理圖
傳感器在感煙時,當監測電離室遇到可燃煙霧時,原來吸附的氧脫附,而由可燃煙霧以正離子狀態吸附在二氧化錫半導體表面;氧脫附放出電子,煙霧以正離子狀態吸附也要放出電子,從而使二氧化錫半導體導帶電子密度增加,電阻值下降[8]。而當空氣中沒有煙霧時,二氧化錫半導體又會自動恢復氧的負離子吸附,使電阻值升高到初始狀態。
3.7 火焰傳感器模塊介紹
火焰傳感器是專門用來檢測火源的傳感器,當然火焰傳感器也可以用來檢測光線的亮度,只是本傳感器對火焰特別靈敏。火焰傳感器利用紅外線對對火焰非常敏感的特點,使用特制的紅外線接受管來檢測火焰,然后把火焰的亮度轉化為高低變化的電平信號,輸入到中央處理器中,中央處理器根據信號的變化做出相應的程序處理。
3.7.1火焰傳感器用途
各種火焰、火源探測。
3.7.2火焰傳感器模塊特
1.可以檢測火焰或者波長在760納米~1100納米范圍內的光源,打火機測試火焰2.距離為80cm,對火焰越大,測試距離越遠;
3.探測角度60度左右,對火焰光譜特別靈敏;
4.靈敏度可調;
5.比較器輸出,信號干凈,波形好,驅動能力強,超過15mA;
6.配電位器調節靈敏度;
7.工作電壓3.3V-5V;
8.輸出形式 :數字開關量輸出(0和1);
9.使用寬電壓LM393比較器;
3.7.3火焰傳感器模塊使用
1.火焰傳感器對火焰最敏感,對普通光也是有反應的,一般用做火焰報警等用途;
2.小板輸出接口可以與單片機IO口直接相連;
3.傳感器與火焰要保持一定距離,以免高溫損壞傳感器。
1.015.jpg (16.95 KB, 下載次數: 181)
下載附件
2017-4-27 23:49 上傳
圖3-13火焰傳感器原理圖
火焰傳感器利用紅外線對火焰非常敏感的特點,使用特制的紅外線發射管來檢測火焰,然后把火焰的亮度轉化為高低變化的電平信號,輸入到單片機,單片機根據信號的變化做出相應的程序處理。
3.6.3 MQ-2型傳感器的特性
a、MQ-2型傳感器的主要特點
MQ-2型傳感器主要有三個特點:
(1)對天然氣、液化石油氣等煙霧有很高的靈敏度,尤其對烷類煙霧更為敏感。
(2)具有良好的重復性和長期的穩定性。初始穩定,響應時間短,長時間工作性能好。
(3)具有良好的抗干擾性,可準確排除有刺激性非可燃性煙霧的干擾信息,例如酒精和煙霧等。
b、MQ-2型傳感器的基本特性
MQ-2型傳感器的基本特性包括靈敏度特性、初期穩定特性、加熱特性。
(1)靈敏度特性:煙霧傳感器在最佳工作條件下,接觸同一種煙霧,其電阻值RS隨氣體濃度變化的特性稱之為靈敏度特性,用K表示。K=RS / R0 (2-1)式中,R0為煙霧傳感器潔凈空氣條件下的電阻值[9],RS為煙霧傳感器在一定濃度的檢測煙霧中的電阻值 。
(2)初期穩定特性:半導體煙霧傳感器在不通電狀態存放一段時間后,再通電時,器件并不能立即投入正常工作。這是因為煙霧傳感器中的二氧化錫在不通電的狀態下會吸附空氣中的水蒸氣,當再次通電時需要預熱幾分鐘使水蒸氣蒸發后,氣敏電阻才能正常工作。再通電工作時氣敏電阻值達到穩定時所需要的時間,定義為初期穩定時間。一般情況下,不通電時間越長,初期穩定時間也越長,當不通電存放時間達到15天左右時,初期穩定時間一般需要5分鐘左右。
(3)加熱特性:半導體煙霧傳感器一般要在較高的溫度(200~450°C)下工作,所以需要對其加熱。由于傳感器一般工作在易燃易爆環境下,若加熱絲直接與電源相接,當加熱絲局部短路造成器件過熱或放電時,可能引發事故。所以必須使用傳感器生產廠家推薦的加熱電壓,使其工作在較安全的范圍內。MQ-2型煙霧傳感器加熱電壓為5±0.2V。當加熱絲斷路時,由于熱惰性緣故,煙霧傳感器的氣敏特性并不立即消失,此時檢測必出現較大的誤差。為避免出現這種情況,并及時發現氣敏元件的故障,需要設計加熱絲故障診斷報警電路。
c、MQ-2型傳感器的特性參數
(1)回路電壓:(Vc) 5~24V
(2)取樣電阻:(RL) 0.1~20K
(3)加熱電壓:(VH)5±0.2V
(4)加熱功率:(P)約750mW
(5)靈敏度:以甲烷為例R0(air)/RS (0.1%CH4)>5
(6)響應時間:Tres<10秒
(7)恢復時間:Trec<30秒
3.8電源穩壓模塊設計
3.8.1 5V電源穩壓
為了得到輸出穩定的直流電壓,經電源適配器輸出的直流電壓必須采取一定的穩壓措施才能適合電子設備的需要。
本設計選用固定式三端穩壓器。選用LM7805三端正電源穩壓電路,輸出穩定+5v電壓。它有一系列固定的電壓輸出,應用非常的廣泛。每種類型由于內部電流的限制,以及過熱保護和安全工作區的保護,使它基本上不會損壞。如果能夠提供足夠的散熱片,它們就能夠提供大于1.5A的輸出電流。雖然是按照固定電壓值來設定的,但是當接入適當的外部器件后,就能獲得各種不同的電壓和電流。
1.016.jpg (6.13 KB, 下載次數: 173)
下載附件
2017-4-27 23:49 上傳
圖3-14 5V穩壓電路圖
LM7805具有如下特點:
(1)短路電流230mA,峰值電流2.2A,但是當輸出電流超過1.5A時,就需要提供足夠的散熱片;
(2)輸入電壓極限值35v,輸出電壓典型值為5V,最大值5.25V;
(3)熱過載保護;
(4)短路保護;
(5)輸出晶體管安全工作區保護;
78xx系列在降壓電路中應注意以下事項:
(1)輸入輸出壓差不能太大,太大則轉換效率急速降低,而且容易擊穿損壞;
(2)輸出電流不能太大,1.5A是其極限值。大電流的輸出,散熱片的尺寸要足夠大,否則會導致高溫保護或熱擊穿;
(3)輸入輸出壓差也不能太小,大小效率很差。
其中,對于LM7805:1端為輸入端,2端為公共端,3端為輸出端。其中,正常時,輸入與輸出之間的電壓不得低于1.5v。
電容104用于實現頻率補償,防止穩壓器產生高頻自激和抑制電路引入的高頻干擾。
3.8.2 3.3V電源穩壓
NRF24L01要求輸入電壓為1.9~3.6V,推薦電壓為3.3V,因而本系統選用1117-3.3三端穩壓器。電路圖如下:
1.017.jpg (6.46 KB, 下載次數: 158)
下載附件
2017-4-27 23:49 上傳
圖3-15 3.3V穩壓電路圖
第4章 系統軟件設計
4.1系統軟件設計
4.1.1主程序設計
為了便于系統維護和功能擴充,采用了模塊化程序設計方法,系統各個模塊的具體功能都是通過子程序調用實現的。本系統主要包括主程序、溫度數據采集子程序、煙霧數據采集子程序、火焰信號采集子程序、火災判斷與報警子程序等。主程序首先對液晶初始化,對無線傳輸模塊進行配置,再驗證無線傳輸是否正常,若正常則可對采集數據無線傳輸,相應延時之后,對采集數據進行更新,液晶進行顯示。主程序的流程圖如圖4-1所示。
1.018.jpg (24.61 KB, 下載次數: 165)
下載附件
2017-4-27 23:49 上傳
圖4-1主程序流程圖
4.1.2傳感器程序設計
傳感器程序設計流程圖如圖4-2所示。在主控程序完成初始化以后,傳感器首先對環境狀態進行采集,并將采集到的數據進行處理。程序對處理后的數據與當前設定的預警范圍進行比較,當采集值超出這一預警范圍后便會發出報警信號,主控程序對這一報警信號處理后發出聲光報警信息。
1.019.jpg (30.12 KB, 下載次數: 198)
下載附件
2017-4-27 23:49 上傳
圖4-2 三種傳感器程序流程圖
4.1.3無線傳輸程序設計
無線模塊之間進行通訊需要先對單片機進行相應的初始化,然后根據程序的處理要求進行實行。
1.020.jpg (12.3 KB, 下載次數: 179)
下載附件
2017-4-27 23:49 上傳
圖 4-3無線傳輸程序流程圖