基于ARM的嵌入式智能家居遠程監(jiān)控系統(tǒng)設(shè)計__畢業(yè)設(shè)計_第1頁
基于ARM的嵌入式智能家居遠程監(jiān)控系統(tǒng)設(shè)計__畢業(yè)設(shè)計_第2頁
基于ARM的嵌入式智能家居遠程監(jiān)控系統(tǒng)設(shè)計__畢業(yè)設(shè)計_第3頁
基于ARM的嵌入式智能家居遠程監(jiān)控系統(tǒng)設(shè)計__畢業(yè)設(shè)計_第4頁
基于ARM的嵌入式智能家居遠程監(jiān)控系統(tǒng)設(shè)計__畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、本科畢業(yè)設(shè)計(論文)基于ARM的嵌入式智能家居遠程監(jiān)控系統(tǒng)設(shè)計唐傳璋燕 山 大 學(xué)2013 年 6 月 本科畢業(yè)設(shè)計(論文)基于ARM的嵌入式智能家居遠程監(jiān)控系統(tǒng)設(shè)計學(xué)院(系):電氣工程學(xué)院 專 業(yè): 工業(yè)自動化 學(xué)生 姓名: 唐傳璋 學(xué) 號: 090103010055 指導(dǎo) 教師: 李建雄 答辯 日期: 2013-6-22 燕山大學(xué)畢業(yè)設(shè)計(論文)任務(wù)書學(xué)院:電氣工程學(xué)院 系級教學(xué)單位:自動化系 學(xué)號090103010055學(xué)生姓名唐傳璋專 業(yè)班 級09級工自1班題目題目名稱基于ARM的嵌入式智能家居遠程監(jiān)控系統(tǒng)設(shè)計題目性質(zhì)1.理工類:工程設(shè)計 ( Ö );工程技術(shù)實驗研究型( )

2、;理論研究型( );計算機軟件型( );綜合型( )。2.文管類( );3.外語類( );4.藝術(shù)類( )。題目類型1.畢業(yè)設(shè)計(Ö ) 2.論文( )題目來源科研課題( ) 生產(chǎn)實際( )自選題目(Ö ) 主要內(nèi)容1 查詢ARM嵌入式系統(tǒng)的相關(guān)技術(shù)資料,閱讀消化理解工作原理。2 熟悉智能家居監(jiān)控系統(tǒng)的監(jiān)控對象和具體要求。3 設(shè)計硬件控制系統(tǒng)和軟件控制程序。4 給出全部設(shè)計參數(shù)和圖紙?;疽?、 完成畢業(yè)設(shè)計說明書一份(格式與畢業(yè)設(shè)計撰寫要求相符),字數(shù)在2.4萬字以上,要求有不超過300字的中、英文摘要;2、 查閱文獻15篇以上,翻譯與課題有關(guān)的外文資料不少于5千漢字;

3、3、 繪制A1圖紙一張以上. 圖形及文字符號符合國家現(xiàn)行標準;4、 翻譯與研究內(nèi)容相關(guān)的外文資料一份參考資料1ARM嵌入式系統(tǒng)開發(fā)與編程2ARM嵌入式系統(tǒng)設(shè)計原理與開發(fā)實例3智能家居系統(tǒng)與技術(shù)4. 期刊學(xué)術(shù)論文周 次14周58周911周1215周1617周應(yīng)完成的內(nèi)容查詢ARM嵌入式系統(tǒng)和智能家居監(jiān)控系統(tǒng)的相關(guān)技術(shù)資料。 了解ARM嵌入式系統(tǒng)工作原理,設(shè)計硬件控制系統(tǒng)。設(shè)計控制程序撰寫論文繪制圖紙、準備答辯指導(dǎo)教師:李建雄職稱:講師 2012年12月7日系級教學(xué)單位審批: 年 月 日摘要摘要科技改變生活,科技為人類帶來了更舒適更方便的解決方案,智能家居是現(xiàn)代化科技的體現(xiàn),智能家居也正是在應(yīng)人們

4、需求下而產(chǎn)生的。本設(shè)計的內(nèi)容是設(shè)計一個基于ARM的智能家居遠程監(jiān)控系統(tǒng)。整個硬件控制系統(tǒng)有以下模塊:控制主機STM32F103VET6、無線短信收發(fā)模塊GPRS(遠程監(jiān)控的主要模塊)、用于顯示的LCD1602液晶顯示屏(顯示測量出來的溫濕度值)、測量外部環(huán)境溫濕度的溫濕度傳感器DHT11,異步電機28BYJ-48(模擬控制窗簾收放用到的控制器)、蜂鳴器(報警用)、LED燈(模擬室內(nèi)各種燈)、繼電器(模擬室內(nèi)各種電器的控制開關(guān))。溫濕度傳感器測量出來的溫濕度數(shù)值通過LCD1602來顯示,當(dāng)超過設(shè)定的閾值將通過GPRS模塊發(fā)送警報短信到指定的手機上,同時也可以由手機發(fā)送特定短信到GPRS上控制LE

5、D燈的亮滅、控制28BJY-48步進電機的正反轉(zhuǎn)、讀取當(dāng)前室內(nèi)的溫濕度并發(fā)送回手機上,實現(xiàn)遠程監(jiān)控的。關(guān)鍵詞智能家居;遠程監(jiān)控;GPRS;ARMIAbstractAbstractTechnology has changed life, science and technology has brought to mankind more comfortable and more convenient solution, smart home is a manifestation of modern technology, smart home is also in demand should b

6、e generated by people. The content of this thesis is to design a remote monitoring system of smart home based on ARM. The entire hardware control system has the following modules: the host controller STM32F103VET6, wireless SMS transceiver module GPRS (the main module of the remote monitoring), LCD

7、display (to display the temperature and humidity measured values), temperature and humidity sensor,DHT11, be used to measure the external environment temperature and humidity, asynchronous motor 28BYJ-48 (analog controller curtain used), a buzzer (alarm), LED light (simulated indoor lamps), a relay

8、(control switch simulation of indoor each kind of electric appliance). The temperature and humidity value measured by the temperature and humidity sensor and displayed by LCD1602, when more than a set threshold an alarm SMS will be sent by GPRS module to the designated mobile phone, but also can be

9、caused by the mobile phone to send a specific message to the GPRS to control LED light, 28BJY-48 stepper motor reversible, read the current indoor temperature and humidity and sent back to the mobile phone.Keywords smart home; remote monitoring; GPRS; ARM3目錄 目 錄摘要IAbstractII第1章 緒論1 1.1 課題背景1 1.2國外的發(fā)

10、展動態(tài)1 1.3 國內(nèi)的發(fā)展動態(tài)2 1.4 本文各章主要安排2第2章 各個硬件模塊的說明3 2.1 主控模塊3 2.1.1 STM32的系統(tǒng)架構(gòu)3 2.1.2 STM32F103VET6的內(nèi)部資源4 2.2短信收發(fā)模塊GPRS7 2.3溫濕度測量模塊8 2.3.1 DHT11的引腳說明8 2.3.2 DHT11的工作原理9 2.4 溫濕度液晶顯示模塊LCD160211 2.4.1 LCD1602的管腳說明12 2.4.2 LCD1602的特性12 2.4.3 LCD1602的基本指令12 2.5 收放窗簾模塊步進電機28BJY-4814 2.5.1 步進電機的工作原理14 2.5.2 步進電機

11、的引腳接線14 2.6 本章小結(jié)15第3章 硬件系統(tǒng)的設(shè)計16 3.1 直流穩(wěn)壓電源的設(shè)計16 3.2 STM32最小系統(tǒng)的設(shè)計17 3.2.1電源的供電方案17 3.2.2 晶振電路17 3.2.3 復(fù)位電路18 3.2.4 串口驅(qū)動電路18 3.3 步進電機、繼電器驅(qū)動電路設(shè)計19 3.4 本章小結(jié)20第4章 軟件程序的設(shè)計21 4.1 主函數(shù)及TIM2中斷服務(wù)函數(shù)設(shè)計21 4.1.1 主函數(shù)及TIM2中斷服務(wù)函數(shù)程序代碼21 4.1.2 主函數(shù)及TIM2中斷服務(wù)函數(shù)程序流程圖23 4.2 GPRS來信中斷處理函數(shù)設(shè)計24 4.2.1 GPRS來信中斷處理函數(shù)程序代碼24 4.2.2 GP

12、RS來信中斷處理流程圖26 4.3 GPRS的AT指令27 4.3.1 本設(shè)計中用到的AT指令27 4.3.2 PDU編碼27 4.3.3 AT指令的使用程序設(shè)計29 4.4本章小結(jié)31結(jié)論32參考文獻33致謝35附錄一 整個硬件系統(tǒng)電路圖36附錄二 開題報告說明37附錄三 文獻綜述38附錄四 中期報告39附錄五 外文文獻及其翻譯40附錄六 完整的程序代碼41III第1章 緒論第1章 緒論1.1 課題背景隨著科技的提高,經(jīng)濟的發(fā)展,人們的物質(zhì)生活水平的提高,對家居環(huán)境的要求也越來越高,作為家居智能化的核心部分智能家居控制系統(tǒng)也越發(fā)顯得重要。智能家居控制器可以為系統(tǒng)提供智能控制方案,使住戶的控制

13、更便捷,更高效,更能為家庭的日?;顒庸?jié)約不必要的能耗1。而且在現(xiàn)在這個注重綠色環(huán)保的世界里,智能的為住戶控制好空氣的濕度、溫度等,檢查分析空氣成分,讓住戶安心入住。家居智能化控制的開發(fā)和建設(shè)是未來國家、經(jīng)濟發(fā)展的必然趨勢。在科學(xué)技術(shù)日新月異的今天,智能家居產(chǎn)品也在不斷發(fā)展尋求突破,用智能的方式緩和、解決社會矛盾,這是本課題的目的及意義所在。1.2國外的發(fā)展動態(tài)1984年,世界上第一座智能建筑在美國的康涅迪格州建成,這座意義不一般的智能建筑是對一座舊式大樓在一定程度上的改造而完成的。它只是采用計算機系統(tǒng)對大樓的照明、空調(diào)、電梯等設(shè)備進行監(jiān)控,并提供情報資料、語音通信、電子郵件等方面的信息服務(wù)。2

14、000年,新加坡大約有5000戶家庭采用了這種家庭智能家居化系統(tǒng),而與此同時,美國采用這種智能家居化系統(tǒng)的用戶已高達4萬戶。目前,在國外的家庭智能化系統(tǒng)技術(shù)己經(jīng)越來越成熟,預(yù)計今后,越來越多的新房將會安裝具有一定的“智能家居化”功能的系統(tǒng)。于此同時,由于科學(xué)技術(shù)的發(fā)展日益標準化,這些新型智能家居系統(tǒng)將會比世界首富比爾. 蓋茨耗資六千萬美元的高端智能家居別墅便宜得多。在家居智能化系統(tǒng)研發(fā)方面,美國及一些西方國家一直處于領(lǐng)先地位。近年來,以摩托羅拉公司及美國微軟公司等為首的一些國外知名企業(yè),先后加入到智能家居系統(tǒng)的研發(fā)中。比如:摩托羅拉公司開發(fā)出來的“居所之門”、微軟公司開發(fā)出來的“夢幻之家”、I

15、BM公司開發(fā)出來的“家庭主任”等都以日趨成穩(wěn)的技術(shù)霸占家居市場。此外,亞洲國家日本、韓國、新加坡等國的領(lǐng)頭大企業(yè)也紛紛致力于家居智能化的研發(fā),對家居市場更是躍躍欲試。1.3 國內(nèi)的發(fā)展動態(tài)1990年后,我國的智能家居化住宅小區(qū)日益興起。我國的智能家居化住宅建筑最早起于廣州、深圳和上海等沿海發(fā)達城市,并慢慢地向內(nèi)陸發(fā)展。在1997年香港回歸時,上海的中皇廣場在建設(shè)部“97跨世紀住宅小區(qū)案競賽活動”中被建設(shè)部科技委員會評為全國首家“智能住宅示范工程”,從此揭開了我國智能家居住宅小區(qū)發(fā)展的序幕。1999年,建設(shè)部住宅產(chǎn)業(yè)化辦公室、建設(shè)部勘察設(shè)計司聯(lián)合組織實施了全國住宅小區(qū)智能化技術(shù)示范工程,這也標志

16、著我國的智能家居進入了一個新階段。隨著信息化技術(shù)日益普,國家經(jīng)貿(mào)委領(lǐng)頭成立了家庭信息網(wǎng)絡(luò)技術(shù)委員會,同時信息網(wǎng)絡(luò)技術(shù)體系研究及產(chǎn)品開發(fā)已經(jīng)被列為了國家技術(shù)創(chuàng)新的重點專項計劃。根據(jù)建設(shè)部的要求,截止今年,大中城市中50%的住宅要實現(xiàn)智能化2。我國的智能家居建設(shè)相對于國外起步比較晚, 尚未形成一定的國家標準。國內(nèi)各大硬、軟件企業(yè)機構(gòu)正在積極的研發(fā)更為符合市場的智能家居化產(chǎn)品,以解決我國當(dāng)前智能化設(shè)備使用復(fù)雜、產(chǎn)品價格昂貴及實用性差等缺點,而技術(shù)創(chuàng)新能力也逐漸向國際先進水平靠攏,這樣智能家居的未來值得我們期待3-4。1.4 本文各章主要安排本文第二章主要介紹了智能家居控制系統(tǒng)中用到的各個硬件模塊,有

17、主控模塊STM32F103VET6、GPRS短信收發(fā)模塊GTM900-B、溫濕度測量傳感器DHT11、液晶顯示屏LCD1602、步進電機28BYJ-48。第三章主要介紹了硬件系統(tǒng)的設(shè)計,重點描述各個功能模塊電路圖的設(shè)計及其功能。第四章主要介紹了控制系統(tǒng)軟件程序的設(shè)計,主要有主函數(shù)及TIM2中斷處理函數(shù)的程序設(shè)計,GPRS來信中斷處理函數(shù)的設(shè)計以及GPRS的AT指令的PDU編碼過程。其中給出了主要程序代碼及其程序流程圖。1第2章 各個硬件模塊的說明第2章 各個硬件模塊的說明第2章 各個硬件模塊的說明2.1 主控模塊本設(shè)計整個系統(tǒng)的主控芯片選擇的具有ARM內(nèi)核Cortex-M3的STM32F103

18、VET6。該芯片屬于增強型的32位高性能微控制器,具有100引腳和高達512K字節(jié)的閃存存儲器。2.1.1 STM32的系統(tǒng)架構(gòu)STM32VET6的系統(tǒng)架構(gòu)包含4個驅(qū)動單元:Cortex-M3內(nèi)核Dcode總線、系統(tǒng)總線、通用DMA1和通用DMA2;4個被動單元:內(nèi)部閃存存儲器Flash、內(nèi)部數(shù)據(jù)存儲器SRAM、FSMC和AHB到APB的橋。這些單元都是通過一個多級的AHB總線構(gòu)架相互連接的,如圖2-1所示。ICode: 該總線將閃存指令接口與ARM的Cortex-M3內(nèi)核的指令總線相連接。指令預(yù)取在此總線上完成。DCode: 該總線將閃存存儲器的數(shù)據(jù)接口和Cortex-M3內(nèi)核的數(shù)據(jù)總線相連

19、接(常量加載和調(diào)試訪問)。系統(tǒng)總線: 此總線連接Cortex-M3內(nèi)核的系統(tǒng)總線到總線矩陣,總線矩陣協(xié)調(diào)著DMA與內(nèi)核之間的訪問。DMA總線: 此總線將DMA的AHB主控接口與總線矩陣相聯(lián),總線矩陣協(xié)調(diào)著CPU的DCode和DMA到 內(nèi)部閃存存儲器Flash、內(nèi)部數(shù)據(jù)存儲器SRAM和外設(shè)的訪問。總線矩陣: 該矩陣協(xié)調(diào)DMA主控總線與內(nèi)核系統(tǒng)總線間的訪問與仲裁,仲裁采用輪換算法??偩€矩陣包含4個驅(qū)動部件和4個被動部件。 AHB外設(shè)通過總線矩陣與系統(tǒng)總線相連,允許DMA訪問。AHB/APB橋(APB): 兩個AHB/APB橋在AHB和2個APB總線間提供同步連接。APB1操作速度限于36MHz,A

20、PB2操作于全速(最高72MHz)。 有關(guān)連接到每個橋的不同外設(shè)的地址映射。在每一次復(fù)位以后,所有除SRAM和FLITF以外的外設(shè)都被關(guān)閉,在使用一個外設(shè)之前,必須設(shè)置寄存器RCC_AHBENR來打開該外設(shè)的時鐘圖2-1 STM32系統(tǒng)架構(gòu)2.1.2 STM32F103VET6的內(nèi)部資源STM32F103VET6的引腳圖如圖2-2所示。(1) 內(nèi)核:ARM的32位Cortex-M3微處理器;最高達72MHZ頻率,Cortex-M3內(nèi)部的數(shù)據(jù)路徑是32位的,寄存器是32位的,存儲器接口也是32位的。Cortex-M3采用了哈佛結(jié)構(gòu),擁有獨立的Dcode總線和Icode總線,可以讓數(shù)據(jù)訪問和取指并

21、行不悖,這樣數(shù)據(jù)訪問就不再占用Icode總線,從而提升了工作性能。為實現(xiàn)這個特性,Cortex-M3內(nèi)部含有好幾條總線接口,每條都為自己的應(yīng)用場合而優(yōu)化過,并且它們可以并行工作。圖2-2 STM32F103VET6引腳圖(2) 存儲器:512KB的閃存程序存儲器;64K字節(jié)的靜態(tài)數(shù)據(jù)存儲器SRAM,它可以以字節(jié)、半字(16位)或全字(32位)訪問。(3) 時鐘和電源管理:(a) 三種不同的時鐘源可被用來驅(qū)動系統(tǒng)時鐘(SYSCLK):1) HSI振蕩器時鐘;2) HSE振蕩器時鐘;3) PLL時鐘。(b) STM32的工作電壓(VDD)為2.03.6V,通過內(nèi)置的電壓調(diào)節(jié)器提供所需的1.8V電源

22、;(c) 獨立的A/D轉(zhuǎn)換器供電和參考電壓;(d) 一個完整的上電復(fù)位(POR)和掉電復(fù)位(PDR)電路;(e) 可有3種不同工作模式的電壓調(diào)節(jié)器;(f) 可編程電壓監(jiān)測器(PVD)。(4) 通用和復(fù)用功能I/O(GPIO和AFIO):5組多功能雙向5V兼容的通用I/O端口;可使用復(fù)用功能重新映射到其他一些引腳上。(5) DMA控制器:支持定時器、ADC、SPI、IIC和USART等外設(shè)。(6) 嵌套向量中斷控制器:(a) 有68個可屏蔽中斷通道(不包含16個Cortex-M3的中斷線);(b) 16個可編程的優(yōu)先等級(使用了4位中斷優(yōu)先級);(c) 低延遲的異常和中斷處理;(d) 電源管理控

23、制;(e) 系統(tǒng)控制寄存器的實現(xiàn)。(7) 模擬/數(shù)字轉(zhuǎn)換(ADC):12位的ADC是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器,它有多達18個通道,可測量16個外部和2個內(nèi)部信號源。(8) 定時器:2個高級控制定時器(TIM1、TIM8);(a) 4個通用定時器(TIM2、TIM3、TIM4、TIM5);(b) 2個基本定時器(TIM6、TIM7);(c) 一個實時時鐘、兩個看門狗定時器和一個系統(tǒng)滴答定時器(Systick)。(9) 通用異步收發(fā)器(USART):全雙工的,異步通信RZ標準格式;發(fā)送和接收共用的可編程波特率,最高達4.5Mbits/s;智能卡模擬功能。2.2短信收發(fā)模塊GPRS本設(shè)計選用的G

24、PRS模塊為華為的GTM900-B。華為GTM900-B無線模塊是一款兩頻段GSM/GPRS 無線模塊。它支持標準的AT 命令及增強AT 命令,提供豐富的語音和數(shù)據(jù)業(yè)務(wù)等功能,是高速數(shù)據(jù)傳輸?shù)雀鞣N應(yīng)用的理想解決方案。GTM900-B 模代表支持PPP 協(xié)議的模塊,主要兼容西門子C35 模塊還有數(shù)據(jù)傳送的AT 命令,適用于小數(shù)據(jù)量傳送的場合,用戶無需實現(xiàn)PPP 協(xié)議也可實現(xiàn)數(shù)據(jù)傳輸?shù)墓δ?。GTM900-B采用AT 命令集,通過UART 接口與外部的CPU 進行通信,主要實現(xiàn)無線短信的發(fā)送和接收、音頻處理、基帶處理等功能。鍵盤、液晶顯示LCD等外部設(shè)備由外部CPU 進行控制。本設(shè)計主要用于短信的首

25、發(fā)來監(jiān)控主機上的一些外圍設(shè)備,GTM900引腳圖如圖2-3所示,主要引腳說明如表2-1所示。圖2-3 GTM900引腳圖表2-1 GTM900引腳功能說明序號名稱I/O功能15VBATI供電610GND-工作地14ADCI模擬數(shù)字采樣15PWONI開關(guān)控制信號17RIOO振鈴指示18RXD0OGTM900模塊AT命令串口發(fā)送信號(對端設(shè)備接收)19TXD0IGTM900 模塊AT命令串口接收信號(對端設(shè)備發(fā)送)20CTS0O清除發(fā)送21RTS0I請求發(fā)送22DTR0I數(shù)據(jù)設(shè)備準備就緒23DCD0O載波檢測2429SIM_x-SIM卡的信號31RSTI復(fù)位信號32LPGO指示燈狀態(tài)控制信號2.3

26、溫濕度測量模塊溫濕度的測量選擇溫濕度傳感器DHT11,數(shù)字溫濕度傳感器DHT11是一種具有已校準數(shù)字信號輸出的溫度與濕度復(fù)合的傳感器。它采用了專用的溫濕度傳感技術(shù)與數(shù)字模塊采集技術(shù),確保DHT11具有極高的可靠性與優(yōu)越的長期穩(wěn)定性。2.3.1 DHT11的引腳說明數(shù)字溫濕度傳感器DHT11中具有一個NTC測溫元件和一個電阻式感濕元件,并與一個高性能的8位單片機相連接。因此DHT11具有抗干擾能力強、超快響應(yīng)、品質(zhì)卓越、性價比極高等優(yōu)點。每個溫濕度傳感器DHT11產(chǎn)品都在極為精確的溫濕度校驗室中進行了校準。校準系數(shù)以程序的形式儲存在DHT11中的OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要使

27、用這些校準系數(shù)。其引腳接線圖如圖2-4所示,引腳說明如表2-2所示。圖2-4 DHT11引腳接線圖表2-2 DHT11引腳功能說明引腳Pin名稱注釋1VDD供電,3-5.5VDC2DATA串行數(shù)據(jù),單總線雙向3NC空腳,懸空4GND接地,電源負極2.3.2 DHT11的工作原理DHT11的供電電壓為35.5V。傳感器上電后,要等待1s 以越過不穩(wěn)定狀態(tài),在此期間無需發(fā)送任何指令。DATA引腳用于微處理器與DHT11之間的通訊和同步,采用的是單總線數(shù)據(jù)格式,一次通信時間為4ms左右,數(shù)據(jù)分為整數(shù)部分和小數(shù)部分,當(dāng)前的小數(shù)部分現(xiàn)讀出為零。(1) 數(shù)據(jù)的格式進行一次溫濕度采集得到完整的數(shù)據(jù)為40bi

28、t,高位數(shù)據(jù)先出。數(shù)據(jù)格式:8bit濕度整數(shù)+8bit濕度小數(shù)+8bi溫度整數(shù)+8bit溫度小數(shù)+8bit數(shù)據(jù)校驗和。采集到的溫濕度數(shù)據(jù)傳輸正確時,其校驗和等于“8bit濕度整數(shù)+8bit濕度小數(shù)+8bi溫度整數(shù)+8bit溫度小數(shù)”所得結(jié)果的末8位數(shù)據(jù)。(2) 主機與DHT11的通信過程主機與DHT11進行通信要有一個握手的過程,如圖2-5所示,當(dāng)主機開始發(fā)送開始信號后,溫濕度傳感器DHT11即從低功耗模式轉(zhuǎn)換到高速模式,等到主機的開始信號結(jié)束后,DHT11立即發(fā)送響應(yīng)信號,接下來開始送出40bit的溫濕度數(shù)據(jù),用戶可選擇需要讀取的溫濕度數(shù)據(jù)。若沒有接收到主機發(fā)送開始信號,DHT11就不會響應(yīng)

29、主機的信號也就不會主動進行溫濕度采集。當(dāng)DHT11采集數(shù)據(jù)完成后就會轉(zhuǎn)換到低功耗模式。圖2-5 DHT11與主機通信過程如圖2-6所示,當(dāng)總線空閑是其狀態(tài)為高電平,主機要與DHT11通信則需要主機將總線拉低至少18毫秒以上,再拉高2040us,保證DHT11傳感器能檢測到開始信號。當(dāng)DHT11檢測到主機的握手開始信號后,會等待主機開始信號的結(jié)束,然后發(fā)送80us低電平的響應(yīng)信號。主機發(fā)送開始信號結(jié)束后, 接收DHT11的響應(yīng)信號,當(dāng)主機發(fā)送開始信號后,就可以由輸出模式切換到輸入模式,開始接收DHT11測量出來的溫濕度數(shù)據(jù)。圖2-6 主機與DHT11的握手過程DHT11發(fā)送80us低電平的響應(yīng)信

30、號后,再把總線拉高80us,準備發(fā)送測量出來的溫濕度數(shù)據(jù),每1bit的數(shù)據(jù)都以50us的低電平時隙開始,高電平的長短決定了該數(shù)據(jù)位是1還是0,格式分別如圖2-7和圖2-8所示。如果主機讀取DHT11的響應(yīng)信號為高電平,則是DHT11沒有響應(yīng),溫濕度數(shù)據(jù)測量失敗。當(dāng)最后1bit溫濕度數(shù)據(jù)傳送完后,DHT11將總線拉低50us,接著總線由上拉電阻拉高進入空閑狀態(tài)。圖2-7 數(shù)字0信號的表示圖2-8 數(shù)字1信號的表示2.4 溫濕度液晶顯示模塊LCD1602液晶顯示屏LCD1602是一種專門用來顯示符號、數(shù)字、字母等的點陣型液晶顯示模塊,它由32個5*11或5*7等的點陣字符位組成,分兩行顯示,每行1

31、6個字符位。每個點陣字符位都可以顯示一個字符,每兩個字符位間都有一個點距的間隔,兩行間也有一定的間隔,起到了字間距和行間距的作用。1602是指顯示的內(nèi)容為16*2,即可以顯示兩行,每行顯示16個字符(顯示字符和數(shù)字)。2.4.1 LCD1602的管腳說明LCD1602的管教功能說明如表2-3所示表2-3 LCD1602的管教說明引腳名稱引腳說明1VSS電 源 地2VDD5 V 電 源 正 極 3V0液晶顯示器對比度 調(diào) 整端可以通過一個電位器調(diào)整對比度4RS寄存器選擇,高電平1時選 擇 數(shù)據(jù)寄存器、低電平0時選擇指令寄存器5RW讀寫信號端,高電平1時進行讀操作,低電平0時進行寫操作6E使能(E

32、nable)端,高電平時讀取數(shù)據(jù),負跳變時執(zhí)行指令。714D0D7雙向數(shù)據(jù)傳輸端,用于傳輸數(shù)據(jù)15BLA背光源正極16BLK背光源負極2.4.2 LCD1602的特性(1) 3.3V或5V工作電壓,對比度可調(diào);(2) 內(nèi)含復(fù)位電路;(3) 提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能;(4) 有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM;(5) 內(nèi)建有192個5*7點陣的字型的字符發(fā)生器CGROM;(6) 8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。2.4.3 LCD1602的基本指令LCD1602的顯示控制模式可以自己設(shè)定,通過指定的指令碼輸入LCD1602中就能得到想要的

33、顯示模式。指令的寫入需要寄存器選擇功能,即當(dāng)RS為低電平,RW為低電平時為指令寄存器(IR)的寫入;當(dāng)RS為高電平,RW為低電平時為數(shù)據(jù)寄存器(DR)的寫入;當(dāng)RS為低電平,RW為高電平時為忙標志和地址計數(shù)器的讀出;當(dāng)RS為高電平,RW為高電平時為數(shù)據(jù)寄存器的讀出。LCD1602的基本指令如表2-4所示。表2-4 LCD1602的基本指令表指令碼功 能指令RSRWD7D6D5D4D3D2D1D0清除顯示0000000001數(shù)據(jù)指針及所有顯示清零顯示 模式設(shè)置0011100000設(shè)置16x2顯示,5x7點陣,8位數(shù)據(jù)口顯示開關(guān)及 光標設(shè)置0000001DCBD=1:開顯示;D=0:關(guān)顯示;C=1

34、:顯示光標;C=0:不顯 示 光標;B=1:光標閃 爍 ; B=0:光標不閃爍進入點設(shè)定00000001NS指定在數(shù)據(jù)的讀取與寫入時,設(shè)定游標的移動方向及指定顯示的移位設(shè)定DDRAM地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM 地址(顯示位址)第一行:80H87H第二行:90H97H讀取忙標志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標志(BF)可以確認內(nèi)部動作是否完成,同時可以讀出地址計數(shù)器(AC)的值寫數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到RAM讀RAM的值11數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D02.5 收放窗簾模塊步進電機28BJY-482.5.1 步

35、進電機的工作原理步進電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(及步進角)。通過控制脈沖個數(shù)可以控制角位移量,從而達到準確定位的目的;同時通過控制脈沖頻率可以控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。步進電機28BYJ-48是四相八拍型電機,工作電壓為直流5V12V。當(dāng)對步進電機的四相輸入一系列連續(xù)不斷的控制 脈 沖時,步進電機就可連續(xù)不斷地轉(zhuǎn) 動 。每個控制脈沖信號對應(yīng)步進電機的某一相 或 兩相繞組的通電狀態(tài)改變一次,對應(yīng)轉(zhuǎn)子轉(zhuǎn)過一個步距角。當(dāng)通電狀態(tài)的改變 完 成一個循環(huán)時,轉(zhuǎn)子轉(zhuǎn)過一個齒距。四相步進電機有

36、兩種運行方式:四相四拍、四相八拍。其中拍數(shù)、步距角及轉(zhuǎn)速的計算為:(1) 拍數(shù):完成一個磁場周期性變化所需脈沖數(shù),或指電機轉(zhuǎn)過一個齒距角所需脈沖數(shù),以四相步進電機為例,四相四拍運行方式為AB-BC-CD-DA-AB,四相八 拍 運行方式為A-AB-B-BC-C-CD-D-DA-A.;(2) 步距角:對應(yīng)一個控制脈沖信號,步進電機轉(zhuǎn)子轉(zhuǎn)過的角位移用 表示。=360度(轉(zhuǎn)子齒數(shù)J*運行拍數(shù)),以常見的四相、轉(zhuǎn)子齒為50齒的電機為例。四拍運行時 步 距角為=360度/(50*4)=1.8度(俗稱整步),八拍運行時步距角為=360度/(50*8)=0.9度(俗稱半步)。(3)步進電機轉(zhuǎn)速的計算:以基本

37、步距角1.8°的步進電機為例(現(xiàn)在市場上常規(guī)的二、四相混合式步進電機基本步距角都是1.8°),四相八拍運行方式下,每接收一個脈沖信號,轉(zhuǎn)過0.9°,如果每秒鐘接收400個脈沖,那么轉(zhuǎn)速為每秒400X0.9°=360°,相當(dāng)與每秒鐘轉(zhuǎn)一圈,每分鐘60轉(zhuǎn)。2.5.2 步進電機的引腳接線紅線接電源5V,橙色電線接GPIOC_Pin_0口,黃色電線接GPIOC_Pin_1口,粉色電線接GPIOC_Pin_2口,藍色接GPIOC_Pin_3口。由于stm32主機接口信號不夠大需要通過ULN2003放大再連接到相應(yīng)的電機接口,電機正反轉(zhuǎn)時各接口輸出情況如表

38、2-5所示。正反轉(zhuǎn)的順序剛好相反,所以可以定義旋轉(zhuǎn)相序:unsigned char F_Rotation4=0x03,0x06,0x0C,0x09;/正轉(zhuǎn)表格unsigned char B_Rotation4=0x09,0x0C,0x06,0x03;/反轉(zhuǎn)表格步進電機的正反轉(zhuǎn)控制脈沖輸入情況如表2-5所示。表2-5 步進電機正反轉(zhuǎn)脈沖控制轉(zhuǎn)向橙黃粉藍十六制(GPIOC端口)正轉(zhuǎn)00110x0301100x0611000x0C01100x09反轉(zhuǎn)10010x0911000x0C01100x0600110x032.6 本章小結(jié)本章主要對智能家居的整個硬件系統(tǒng)所用到的模塊進行了介紹,主控模塊STM3

39、2F103VET6、無線收發(fā)GPRS模塊、溫濕度測量傳感器DHT11、液晶顯示屏LCD1602、步進電機28BYJ-48。GPRS模塊用來發(fā)送報警短信、溫濕度測量值的短信以及接收特定短信以控制其他模塊的工作;溫濕度測量傳感器DHT11用來測量家里的溫濕度情況,對家里是否有火災(zāi)危險情況進行監(jiān)視,當(dāng)溫濕度超出閾值時會通過GPRS發(fā)送報警短信;液晶顯示屏LCD1602用來顯示DHT11測量出來的溫濕度數(shù)值;步進電機28BYJ-48用來模擬家里窗簾收合控制。本章介紹了這些模塊的工作原理、引腳說明以及接線等。15第3章 整個硬件系統(tǒng)的設(shè)計第3章 硬件系統(tǒng)的設(shè)計3.1 直流穩(wěn)壓電源的設(shè)計 直流穩(wěn)壓電源用來

40、給主機及各個模塊供電,其工作原理可分為四個部分,電路接線圖如圖3-1所示。圖3-1 直流電源電路(1)電源變壓器:是降壓變壓器,它將電網(wǎng)220V交流電壓變換成符合需要的交流電壓,并送給整流電路。(2)整流濾波電路:整流電路將交流電壓變換成脈動的直流電壓。本文采用橋式整流濾波。(3)濾波電路:將整流電路輸出電壓中的交流成分大部分加以濾除,從而得到比較平滑的直流電壓。(4)穩(wěn)壓電路:穩(wěn)壓電路的功能是使輸出的直流電壓穩(wěn)定,不隨交流電網(wǎng)電壓和負載的變化而變化。本文采用固定式集成三端穩(wěn)壓器78L05,輸出為5V直流電壓,再經(jīng)過一個穩(wěn)壓器件AMS1117輸出直流電壓3.3V。3.2 STM32最小系統(tǒng)的設(shè)

41、計 STM32的最小系統(tǒng)由主芯片STM32F103VET6及其供電電源、晶振電路、復(fù)位電路、串口驅(qū)動電路等構(gòu)成。3.2.1電源的供電方案(1) 電路由穩(wěn)定的電源VDD供電,本設(shè)計使用的是3.3V直流電壓,VDD管腳為I/O管腳和內(nèi)部調(diào)壓器的供電。(2) VSSA,VDDA =2.03.6V:為ADC、復(fù)位模塊、RC振蕩器和PLL的模擬部分提供供電。使用ADC時,VDD不得小于2.4V。VDDA和VSSA必須分別連接到VDD和VSS。(3) VBAT =1.83.6V:當(dāng)關(guān)閉VDD時,(通過內(nèi)部電源切換器)為RTC、外部32kHz振蕩器和后備寄存器供電。(4) VREF+引腳可以連接到VDDA外

42、部電源。如果在VREF+上使用單獨的外部參考電壓,必須在這個引腳上連接一個10nF和一個1F的電容。在所有情況下,VREF+必須在2.4V和VDDA之間。 (5) VREF+連接到VDDA或VREF+。3.2.2 晶振電路STM32上電復(fù)位后默認使用內(nèi)部精度8MHz左右晶振,如果外部接了8MHz的晶振,可以切換使用外部的8MHz晶振,并最終PLL倍頻到72MHz。外部晶振電路及RTC晶振電路如圖3-2和圖3-3所示。圖3-2 外部晶振電路圖圖3-3 RTC晶振電路3.2.3 復(fù)位電路STM32的外部硬件復(fù)位電路如圖3-4所示,按下按鈕S1,將RST腳的電平拉低即能實現(xiàn)stm32的外部硬件復(fù)位。

43、圖3-4 復(fù)位電路3.2.4 串口驅(qū)動電路MAX232芯片是用來做電平轉(zhuǎn)換的,標準的RS232電平很高,達正負15V.常用的TTL電平最高5V。相互連接的話,必須進行電平轉(zhuǎn)換!由于電腦串口輸出電壓高達12V,直接與單片機連接會燒壞芯片。所以用MAX232來進行電平轉(zhuǎn)換。MAX232芯片采用單+5V電源供電,僅需幾個外接電容即可完成從TTL到RS232電平的轉(zhuǎn)換,共兩路。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1IN、T

44、2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9插頭;DP9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。具體電路連接如圖3-5所示。圖3-5 STM32串口驅(qū)動電路3.3 步進電機、繼電器驅(qū)動電路設(shè)計 由于STM32主機的輸出信號較小不足以使步進電機、繼電器正常工作,所以需要接上一個ULN2003功率放大stm32輸出的信號。蜂鳴器通過一個三極管驅(qū)動,按主機輸出的高低電平控制蜂鳴器的響與不響;步進電機的運轉(zhuǎn)通過ABCD四相輸入一系列連續(xù)不斷的脈沖信號來控制;繼電器的控制相當(dāng)于開關(guān)控制,與蜂鳴器一樣通過一個三極管的

45、飽和導(dǎo)通情況來控制繼電器的吸合。具體電路連接如圖3-6所示。圖3-6 步進電機等驅(qū)動電路3.4 本章小結(jié)本章主要介紹了部分硬件系統(tǒng)模塊的電路設(shè)計。主要有直流穩(wěn)壓電源的設(shè)計、STM32最小系統(tǒng)的設(shè)計、步進電機驅(qū)動電路的設(shè)計,其中STM32最小系統(tǒng)的設(shè)計介紹了外部晶振電路、復(fù)位電路和串口驅(qū)動電路。直流穩(wěn)壓電源電路輸入交流220V經(jīng)過變壓整流濾波穩(wěn)壓輸出5V直流電壓和3.3V直流電壓為整個系統(tǒng)的各個模塊供電;STM32是主控模塊,要正常工作必須保證其自身最小系統(tǒng)的完整,供電方案、外部晶振電路、串口驅(qū)動電路等的存在能使STM32與其外圍設(shè)備正常工作;步進電機的驅(qū)動電路的設(shè)計是由于STM32輸出的電壓信

46、號較小不足以驅(qū)動步進電機的正常工作,需要加上一個功率放大ULN2003來驅(qū)動步進電機的正常工作。21第4章 軟件程序的設(shè)計第4章 軟件程序的設(shè)計4.1 主函數(shù)及TIM2中斷服務(wù)函數(shù)設(shè)計 主函數(shù)開始先初始化所用到的GPIO端口、配置時鐘、配置中斷等,并先測量一次溫濕度顯示在LCD液晶屏上,接著進入循環(huán)等待各個模塊的中斷到來,在循環(huán)中判斷測量出來的溫濕度數(shù)值是否超出設(shè)定的閾值,若超出,則發(fā)送報警短信到目標手機上。TIM2定時器用來實現(xiàn)每10s進行測量一次溫濕度,并將測量出來的數(shù)據(jù)分析處理后通過LCD1602顯示出來。具體過程如流程圖所示。4.1.1 主函數(shù)及TIM2中斷服務(wù)函數(shù)程序代碼void m

47、ain() /初始化 LCD_GPIO_Configuration(); Time2_GPIO_cfg(); Time2_NVIC_cfg(); Time2_Configuration(); RCC_cfg(); GPIO_cfg(); NVIC_cfg(); EXTI_cfg(); Rx_USART_Configuration(); Del_Mesg(); /刪除SIM卡里的短信 LCD_Init(); /LCD1602初始化 if(Start_DHT11()=1)/檢測是否有響應(yīng),結(jié)果有響應(yīng)往下執(zhí)行 while(!DHT11_Get_Data(); /從DHT11取數(shù)據(jù) Display_W

48、SD(); /顯示溫濕度 Send_Mesg_Sign=0; /用于防止重復(fù)發(fā)送報警短信 TIM_Cmd(TIM2, ENABLE);/開啟TIM2時鐘,10s讀取一次溫濕度值 while(1) if(Table_Data2<26) Send_Mesg_Sign=0; GPIO_ResetBits(GPIOB,GPIO_Pin_5); if(Table_Data2>26)|(Table_Data0>65)/溫濕度超過設(shè)定值則發(fā)送報警短信 GPIO_SetBits(GPIOB,GPIO_Pin_5);if(Send_Mesg_Sign=0) Send_Mesg();/發(fā)送報警短

49、信 /* 函數(shù)名稱:TIM2_IRQHandler(void) 功能: TIM2的中斷處理*/void TIM2_IRQHandler(void) TIM_ClearITPendingBit(TIM2, TIM_FLAG_Update); /清中斷 GPIO_SetBits(GPIOB,GPIO_Pin_7); Start_DHT11(); DHT11_Get_Data(); Display_WSD();/從DHT11取數(shù)據(jù)4.1.2 主函數(shù)及TIM2中斷服務(wù)函數(shù)程序流程圖圖4-1 主函數(shù)與TIM2中斷服務(wù)函數(shù)流程圖4.2 GPRS來信中斷處理函數(shù)設(shè)計當(dāng)GPRS收到短信時從Ring端口會發(fā)出一

50、個振鈴信號,將Ring口與STM32的GPIOA_Pin_2口連接起來作為外部中斷。即當(dāng)GPRS接收到短信時通過Ring端口產(chǎn)生一個外部中斷,在外部中斷服務(wù)函數(shù)里首先要清除中斷標志位,防止重復(fù)進入中斷。由于本設(shè)計中用到短信控制命令均為Text模式,所以在中斷處理里先發(fā)送AT指令“AT+CMGF=1”設(shè)置短信為Text模式,再發(fā)送AT指令“AT+CMGR=1”讀取SIM里的第一條短信即為剛收到的未讀短信,然后嵌套進入USART串口接收中斷,將讀取出來的短信內(nèi)容存到接收緩存Rx_Buf 數(shù)組中,再對緩存中的內(nèi)容進行判斷,判斷接收到的短信內(nèi)容是否為“Light On”、“Light Off”、“DJ

51、 Left”、“DJ Right”或“WSD”,再進行響應(yīng)的開關(guān)燈、步進電機的控制或回復(fù)溫濕度數(shù)據(jù)短信的處理。具體過程如流程圖所示。4.2.1 GPRS來信中斷處理函數(shù)程序代碼/* 函數(shù)名稱:EXTI2_IRQHandler(void) 功能: EXTI2的中斷處理*/void EXTI2_IRQHandler(void) EXTI_ClearITPendingBit(EXTI_Line2);/清空中斷標志位,防止持續(xù)進入中斷 USART_ClearFlag(USART1, USART_FLAG_TC); USART_Send_String(AT_CMGF_Text); USART_Send_

52、String("rn"); Delay_Nms(4000); Clear_Buf(); USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);/接收使能 Rx_Count=0; USART_Send_String(AT_CMGR_1); USART_Send_String("rn"); Delay_Nms(4000); USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);/接收失能if(Rx_Buf15='O')|(Rx_Buf16='O')|

53、(Rx_Buf14='O')|(Rx_Buf12='O')|(Rx_Buf13='O') GPIO_SetBits(GPIOB,GPIO_Pin_9); t=5; else t=0;if(Rx_Buf105+t='r')&&(Rx_Buf107+t='0')&&(Rx_Buf109+t='4')&&(Rx_Buf110+t='C')&&(Rx_Buf118+t='7')&&(Rx_Buf138+t='E') GPIO_SetBits(GPIOB,GPIO_Pin_1);/Light Onif(R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論