




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本科畢業設計(論文)基于arm的嵌入式智能家居遠程監控系統設計唐傳璋燕 山 大 學2013 年 6 月 本科畢業設計(論文)基于arm的嵌入式智能家居遠程監控系統設計學院(系):電氣工程學院 專 業: 工業自動化 學生 姓名: 唐傳璋 學 號: 090103010055 指導 教師: 李建雄 答辯 日期: 2013-6-22 燕山大學畢業設計(論文)任務書學院:電氣工程學院 系級教學單位:自動化系 學號090103010055學生姓名唐傳璋專 業班 級09級工自1班題目題目名稱基于arm的嵌入式智能家居遠程監控系統設計題目性質1.理工類:工程設計 ( );工程技術實驗研究型( );理論研究型(
2、 );計算機軟件型( );綜合型( )。2.文管類( );3.外語類( );4.藝術類( )。題目類型1.畢業設計( ) 2.論文( )題目來源科研課題( ) 生產實際( )自選題目( ) 主要內容1 查詢arm嵌入式系統的相關技術資料,閱讀消化理解工作原理。2 熟悉智能家居監控系統的監控對象和具體要求。3 設計硬件控制系統和軟件控制程序。4 給出全部設計參數和圖紙。基本要求1、 完成畢業設計說明書一份(格式與畢業設計撰寫要求相符),字數在2.4萬字以上,要求有不超過300字的中、英文摘要;2、 查閱文獻15篇以上,翻譯與課題有關的外文資料不少于5千漢字;3、 繪制a1圖紙一張以上. 圖形及文
3、字符號符合國家現行標準;4、 翻譯與研究內容相關的外文資料一份參考資料1arm嵌入式系統開發與編程2arm嵌入式系統設計原理與開發實例3智能家居系統與技術4. 期刊學術論文周 次14周58周911周1215周1617周應完成的內容查詢arm嵌入式系統和智能家居監控系統的相關技術資料。 了解arm嵌入式系統工作原理,設計硬件控制系統。設計控制程序撰寫論文繪制圖紙、準備答辯指導教師:李建雄職稱:講師 2012年12月7日系級教學單位審批: 年 月 日摘要科技改變生活,科技為人類帶來了更舒適更方便的解決方案,智能家居是現代化科技的體現,智能家居也正是在應人們需求下而產生的。本設計的內容是設計一個基于
4、arm的智能家居遠程監控系統。整個硬件控制系統有以下模塊:控制主機stm32f103vet6、無線短信收發模塊gprs(遠程監控的主要模塊)、用于顯示的lcd1602液晶顯示屏(顯示測量出來的溫濕度值)、測量外部環境溫濕度的溫濕度傳感器dht11,異步電機28byj-48(模擬控制窗簾收放用到的控制器)、蜂鳴器(報警用)、led燈(模擬室內各種燈)、繼電器(模擬室內各種電器的控制開關)。溫濕度傳感器測量出來的溫濕度數值通過lcd1602來顯示,當超過設定的閾值將通過gprs模塊發送警報短信到指定的手機上,同時也可以由手機發送特定短信到gprs上控制led燈的亮滅、控制28bjy-48步進電機的
5、正反轉、讀取當前室內的溫濕度并發送回手機上,實現遠程監控的。關鍵詞智能家居;遠程監控;gprs;armabstracttechnology 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 be generated by people. the con
6、tent 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 display (to display the temper
7、ature 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 (control switch simulation of
8、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 caused by the mobile phone to
9、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; arm 目 錄摘要iabstractii第1章 緒論1 1.1 課題背景1 1.2國外的發展動態1 1.3 國內的發展動態2 1.4 本文各章主要安排2第2
10、章 各個硬件模塊的說明3 2.1 主控模塊3 2.1.1 stm32的系統架構3 2.1.2 stm32f103vet6的內部資源4 2.2短信收發模塊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 步進電機的引腳接線14 2.6 本章小結15第3章 硬件系統的設計16 3
11、.1 直流穩壓電源的設計16 3.2 stm32最小系統的設計17 3.2.1電源的供電方案17 3.2.2 晶振電路17 3.2.3 復位電路18 3.2.4 串口驅動電路18 3.3 步進電機、繼電器驅動電路設計19 3.4 本章小結20第4章 軟件程序的設計21 4.1 主函數及tim2中斷服務函數設計21 4.1.1 主函數及tim2中斷服務函數程序代碼21 4.1.2 主函數及tim2中斷服務函數程序流程圖23 4.2 gprs來信中斷處理函數設計24 4.2.1 gprs來信中斷處理函數程序代碼24 4.2.2 gprs來信中斷處理流程圖26 4.3 gprs的at指令27 4.3
12、.1 本設計中用到的at指令27 4.3.2 pdu編碼27 4.3.3 at指令的使用程序設計29 4.4本章小結31結論32參考文獻33致謝35附錄一 整個硬件系統電路圖36附錄二 開題報告說明37附錄三 文獻綜述38附錄四 中期報告39附錄五 外文文獻及其翻譯40附錄六 完整的程序代碼41第1章 緒論1.1 課題背景隨著科技的提高,經濟的發展,人們的物質生活水平的提高,對家居環境的要求也越來越高,作為家居智能化的核心部分智能家居控制系統也越發顯得重要。智能家居控制器可以為系統提供智能控制方案,使住戶的控制更便捷,更高效,更能為家庭的日常活動節約不必要的能耗1。而且在現在這個注重綠色環保的
13、世界里,智能的為住戶控制好空氣的濕度、溫度等,檢查分析空氣成分,讓住戶安心入住。家居智能化控制的開發和建設是未來國家、經濟發展的必然趨勢。在科學技術日新月異的今天,智能家居產品也在不斷發展尋求突破,用智能的方式緩和、解決社會矛盾,這是本課題的目的及意義所在。1.2國外的發展動態1984年,世界上第一座智能建筑在美國的康涅迪格州建成,這座意義不一般的智能建筑是對一座舊式大樓在一定程度上的改造而完成的。它只是采用計算機系統對大樓的照明、空調、電梯等設備進行監控,并提供情報資料、語音通信、電子郵件等方面的信息服務。2000年,新加坡大約有5000戶家庭采用了這種家庭智能家居化系統,而與此同時,美國采
14、用這種智能家居化系統的用戶已高達4萬戶。目前,在國外的家庭智能化系統技術己經越來越成熟,預計今后,越來越多的新房將會安裝具有一定的“智能家居化”功能的系統。于此同時,由于科學技術的發展日益標準化,這些新型智能家居系統將會比世界首富比爾. 蓋茨耗資六千萬美元的高端智能家居別墅便宜得多。在家居智能化系統研發方面,美國及一些西方國家一直處于領先地位。近年來,以摩托羅拉公司及美國微軟公司等為首的一些國外知名企業,先后加入到智能家居系統的研發中。比如:摩托羅拉公司開發出來的“居所之門”、微軟公司開發出來的“夢幻之家”、ibm公司開發出來的“家庭主任”等都以日趨成穩的技術霸占家居市場。此外,亞洲國家日本、
15、韓國、新加坡等國的領頭大企業也紛紛致力于家居智能化的研發,對家居市場更是躍躍欲試。1.3 國內的發展動態1990年后,我國的智能家居化住宅小區日益興起。我國的智能家居化住宅建筑最早起于廣州、深圳和上海等沿海發達城市,并慢慢地向內陸發展。在1997年香港回歸時,上海的中皇廣場在建設部“97跨世紀住宅小區案競賽活動”中被建設部科技委員會評為全國首家“智能住宅示范工程”,從此揭開了我國智能家居住宅小區發展的序幕。1999年,建設部住宅產業化辦公室、建設部勘察設計司聯合組織實施了全國住宅小區智能化技術示范工程,這也標志著我國的智能家居進入了一個新階段。隨著信息化技術日益普,國家經貿委領頭成立了家庭信息
16、網絡技術委員會,同時信息網絡技術體系研究及產品開發已經被列為了國家技術創新的重點專項計劃。根據建設部的要求,截止今年,大中城市中50%的住宅要實現智能化2。我國的智能家居建設相對于國外起步比較晚, 尚未形成一定的國家標準。國內各大硬、軟件企業機構正在積極的研發更為符合市場的智能家居化產品,以解決我國當前智能化設備使用復雜、產品價格昂貴及實用性差等缺點,而技術創新能力也逐漸向國際先進水平靠攏,這樣智能家居的未來值得我們期待3-4。1.4 本文各章主要安排本文第二章主要介紹了智能家居控制系統中用到的各個硬件模塊,有主控模塊stm32f103vet6、gprs短信收發模塊gtm900-b、溫濕度測量
17、傳感器dht11、液晶顯示屏lcd1602、步進電機28byj-48。第三章主要介紹了硬件系統的設計,重點描述各個功能模塊電路圖的設計及其功能。第四章主要介紹了控制系統軟件程序的設計,主要有主函數及tim2中斷處理函數的程序設計,gprs來信中斷處理函數的設計以及gprs的at指令的pdu編碼過程。其中給出了主要程序代碼及其程序流程圖。第2章 各個硬件模塊的說明2.1 主控模塊本設計整個系統的主控芯片選擇的具有arm內核cortex-m3的stm32f103vet6。該芯片屬于增強型的32位高性能微控制器,具有100引腳和高達512k字節的閃存存儲器。2.1.1 stm32的系統架構stm32
18、vet6的系統架構包含4個驅動單元:cortex-m3內核dcode總線、系統總線、通用dma1和通用dma2;4個被動單元:內部閃存存儲器flash、內部數據存儲器sram、fsmc和ahb到apb的橋。這些單元都是通過一個多級的ahb總線構架相互連接的,如圖2-1所示。icode: 該總線將閃存指令接口與arm的cortex-m3內核的指令總線相連接。指令預取在此總線上完成。dcode: 該總線將閃存存儲器的數據接口和cortex-m3內核的數據總線相連接(常量加載和調試訪問)。系統總線: 此總線連接cortex-m3內核的系統總線到總線矩陣,總線矩陣協調著dma與內核之間的訪問。dma總
19、線: 此總線將dma的ahb主控接口與總線矩陣相聯,總線矩陣協調著cpu的dcode和dma到 內部閃存存儲器flash、內部數據存儲器sram和外設的訪問。總線矩陣: 該矩陣協調dma主控總線與內核系統總線間的訪問與仲裁,仲裁采用輪換算法。總線矩陣包含4個驅動部件和4個被動部件。 ahb外設通過總線矩陣與系統總線相連,允許dma訪問。ahb/apb橋(apb): 兩個ahb/apb橋在ahb和2個apb總線間提供同步連接。apb1操作速度限于36mhz,apb2操作于全速(最高72mhz)。 有關連接到每個橋的不同外設的地址映射。在每一次復位以后,所有除sram和flitf以外的外設都被關閉
20、,在使用一個外設之前,必須設置寄存器rcc_ahbenr來打開該外設的時鐘圖2-1 stm32系統架構2.1.2 stm32f103vet6的內部資源stm32f103vet6的引腳圖如圖2-2所示。(1) 內核:arm的32位cortex-m3微處理器;最高達72mhz頻率,cortex-m3內部的數據路徑是32位的,寄存器是32位的,存儲器接口也是32位的。cortex-m3采用了哈佛結構,擁有獨立的dcode總線和icode總線,可以讓數據訪問和取指并行不悖,這樣數據訪問就不再占用icode總線,從而提升了工作性能。為實現這個特性,cortex-m3內部含有好幾條總線接口,每條都為自己的
21、應用場合而優化過,并且它們可以并行工作。圖2-2 stm32f103vet6引腳圖(2) 存儲器:512kb的閃存程序存儲器;64k字節的靜態數據存儲器sram,它可以以字節、半字(16位)或全字(32位)訪問。(3) 時鐘和電源管理:(a) 三種不同的時鐘源可被用來驅動系統時鐘(sysclk):1) hsi振蕩器時鐘;2) hse振蕩器時鐘;3) pll時鐘。(b) stm32的工作電壓(vdd)為2.03.6v,通過內置的電壓調節器提供所需的1.8v電源;(c) 獨立的a/d轉換器供電和參考電壓;(d) 一個完整的上電復位(por)和掉電復位(pdr)電路;(e) 可有3種不同工作模式的電
22、壓調節器;(f) 可編程電壓監測器(pvd)。(4) 通用和復用功能i/o(gpio和afio):5組多功能雙向5v兼容的通用i/o端口;可使用復用功能重新映射到其他一些引腳上。(5) dma控制器:支持定時器、adc、spi、iic和usart等外設。(6) 嵌套向量中斷控制器:(a) 有68個可屏蔽中斷通道(不包含16個cortex-m3的中斷線);(b) 16個可編程的優先等級(使用了4位中斷優先級);(c) 低延遲的異常和中斷處理;(d) 電源管理控制;(e) 系統控制寄存器的實現。(7) 模擬/數字轉換(adc):12位的adc是一種逐次逼近型模擬數字轉換器,它有多達18個通道,可測
23、量16個外部和2個內部信號源。(8) 定時器:2個高級控制定時器(tim1、tim8);(a) 4個通用定時器(tim2、tim3、tim4、tim5);(b) 2個基本定時器(tim6、tim7);(c) 一個實時時鐘、兩個看門狗定時器和一個系統滴答定時器(systick)。(9) 通用異步收發器(usart):全雙工的,異步通信rz標準格式;發送和接收共用的可編程波特率,最高達4.5mbits/s;智能卡模擬功能。2.2短信收發模塊gprs本設計選用的gprs模塊為華為的gtm900-b。華為gtm900-b無線模塊是一款兩頻段gsm/gprs 無線模塊。它支持標準的at 命令及增強at
24、命令,提供豐富的語音和數據業務等功能,是高速數據傳輸等各種應用的理想解決方案。gtm900-b 模代表支持ppp 協議的模塊,主要兼容西門子c35 模塊還有數據傳送的at 命令,適用于小數據量傳送的場合,用戶無需實現ppp 協議也可實現數據傳輸的功能。gtm900-b采用at 命令集,通過uart 接口與外部的cpu 進行通信,主要實現無線短信的發送和接收、音頻處理、基帶處理等功能。鍵盤、液晶顯示lcd等外部設備由外部cpu 進行控制。本設計主要用于短信的首發來監控主機上的一些外圍設備,gtm900引腳圖如圖2-3所示,主要引腳說明如表2-1所示。圖2-3 gtm900引腳圖表2-1 gtm9
25、00引腳功能說明序號名稱i/o功能15vbati供電610gnd-工作地14adci模擬數字采樣15pwoni開關控制信號17rioo振鈴指示18rxd0ogtm900模塊at命令串口發送信號(對端設備接收)19txd0igtm900 模塊at命令串口接收信號(對端設備發送)20cts0o清除發送21rts0i請求發送22dtr0i數據設備準備就緒23dcd0o載波檢測2429sim_x-sim卡的信號31rsti復位信號32lpgo指示燈狀態控制信號2.3溫濕度測量模塊溫濕度的測量選擇溫濕度傳感器dht11,數字溫濕度傳感器dht11是一種具有已校準數字信號輸出的溫度與濕度復合的傳感器。它采
26、用了專用的溫濕度傳感技術與數字模塊采集技術,確保dht11具有極高的可靠性與優越的長期穩定性。2.3.1 dht11的引腳說明數字溫濕度傳感器dht11中具有一個ntc測溫元件和一個電阻式感濕元件,并與一個高性能的8位單片機相連接。因此dht11具有抗干擾能力強、超快響應、品質卓越、性價比極高等優點。每個溫濕度傳感器dht11產品都在極為精確的溫濕度校驗室中進行了校準。校準系數以程序的形式儲存在dht11中的otp內存中,傳感器內部在檢測信號的處理過程中要使用這些校準系數。其引腳接線圖如圖2-4所示,引腳說明如表2-2所示。圖2-4 dht11引腳接線圖表2-2 dht11引腳功能說明引腳pi
27、n名稱注釋1vdd供電,3-5.5vdc2data串行數據,單總線雙向3nc空腳,懸空4gnd接地,電源負極2.3.2 dht11的工作原理dht11的供電電壓為35.5v。傳感器上電后,要等待1s 以越過不穩定狀態,在此期間無需發送任何指令。data引腳用于微處理器與dht11之間的通訊和同步,采用的是單總線數據格式,一次通信時間為4ms左右,數據分為整數部分和小數部分,當前的小數部分現讀出為零。(1) 數據的格式進行一次溫濕度采集得到完整的數據為40bit,高位數據先出。數據格式:8bit濕度整數+8bit濕度小數+8bi溫度整數+8bit溫度小數+8bit數據校驗和。采集到的溫濕度數據傳
28、輸正確時,其校驗和等于“8bit濕度整數+8bit濕度小數+8bi溫度整數+8bit溫度小數”所得結果的末8位數據。(2) 主機與dht11的通信過程主機與dht11進行通信要有一個握手的過程,如圖2-5所示,當主機開始發送開始信號后,溫濕度傳感器dht11即從低功耗模式轉換到高速模式,等到主機的開始信號結束后,dht11立即發送響應信號,接下來開始送出40bit的溫濕度數據,用戶可選擇需要讀取的溫濕度數據。若沒有接收到主機發送開始信號,dht11就不會響應主機的信號也就不會主動進行溫濕度采集。當dht11采集數據完成后就會轉換到低功耗模式。圖2-5 dht11與主機通信過程如圖2-6所示,當
29、總線空閑是其狀態為高電平,主機要與dht11通信則需要主機將總線拉低至少18毫秒以上,再拉高2040us,保證dht11傳感器能檢測到開始信號。當dht11檢測到主機的握手開始信號后,會等待主機開始信號的結束,然后發送80us低電平的響應信號。主機發送開始信號結束后, 接收dht11的響應信號,當主機發送開始信號后,就可以由輸出模式切換到輸入模式,開始接收dht11測量出來的溫濕度數據。圖2-6 主機與dht11的握手過程dht11發送80us低電平的響應信號后,再把總線拉高80us,準備發送測量出來的溫濕度數據,每1bit的數據都以50us的低電平時隙開始,高電平的長短決定了該數據位是1還是
30、0,格式分別如圖2-7和圖2-8所示。如果主機讀取dht11的響應信號為高電平,則是dht11沒有響應,溫濕度數據測量失敗。當最后1bit溫濕度數據傳送完后,dht11將總線拉低50us,接著總線由上拉電阻拉高進入空閑狀態。圖2-7 數字0信號的表示圖2-8 數字1信號的表示2.4 溫濕度液晶顯示模塊lcd1602液晶顯示屏lcd1602是一種專門用來顯示符號、數字、字母等的點陣型液晶顯示模塊,它由32個5*11或5*7等的點陣字符位組成,分兩行顯示,每行16個字符位。每個點陣字符位都可以顯示一個字符,每兩個字符位間都有一個點距的間隔,兩行間也有一定的間隔,起到了字間距和行間距的作用。1602
31、是指顯示的內容為16*2,即可以顯示兩行,每行顯示16個字符(顯示字符和數字)。2.4.1 lcd1602的管腳說明lcd1602的管教功能說明如表2-3所示表2-3 lcd1602的管教說明引腳名稱引腳說明1vss電 源 地2vdd5 v 電 源 正 極 3v0液晶顯示器對比度 調 整端可以通過一個電位器調整對比度4rs寄存器選擇,高電平1時選 擇 數據寄存器、低電平0時選擇指令寄存器5rw讀寫信號端,高電平1時進行讀操作,低電平0時進行寫操作6e使能(enable)端,高電平時讀取數據,負跳變時執行指令。714d0d7雙向數據傳輸端,用于傳輸數據15bla背光源正極16blk背光源負極2.
32、4.2 lcd1602的特性(1) 3.3v或5v工作電壓,對比度可調;(2) 內含復位電路;(3) 提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能;(4) 有80字節顯示數據存儲器ddram;(5) 內建有192個5*7點陣的字型的字符發生器cgrom;(6) 8個可由用戶自定義的5x7的字符發生器cgram。2.4.3 lcd1602的基本指令lcd1602的顯示控制模式可以自己設定,通過指定的指令碼輸入lcd1602中就能得到想要的顯示模式。指令的寫入需要寄存器選擇功能,即當rs為低電平,rw為低電平時為指令寄存器(ir)的寫入;當rs為高電平,rw為低電平時為數據寄
33、存器(dr)的寫入;當rs為低電平,rw為高電平時為忙標志和地址計數器的讀出;當rs為高電平,rw為高電平時為數據寄存器的讀出。lcd1602的基本指令如表2-4所示。表2-4 lcd1602的基本指令表指令碼功 能指令rsrwd7d6d5d4d3d2d1d0清除顯示0000000001數據指針及所有顯示清零顯示 模式設置0011100000設置16x2顯示,5x7點陣,8位數據口顯示開關及 光標設置0000001dcbd=1:開顯示;d=0:關顯示;c=1:顯示光標;c=0:不顯 示 光標;b=1:光標閃 爍 ; b=0:光標不閃爍進入點設定00000001ns指定在數據的讀取與寫入時,設定
34、游標的移動方向及指定顯示的移位設定ddram地址0010ac5ac4ac3ac2ac1ac0設定ddram 地址(顯示位址)第一行:80h87h第二行:90h97h讀取忙標志和地址01bfac6ac5ac4ac3ac2ac1ac0讀取忙標志(bf)可以確認內部動作是否完成,同時可以讀出地址計數器(ac)的值寫數據到ram10數據將數據d7d0寫入到ram讀ram的值11數據從內部ram讀取數據d7d02.5 收放窗簾模塊步進電機28bjy-482.5.1 步進電機的工作原理步進電機是一種將電脈沖轉化為角位移的執行機構。當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角
35、度(及步進角)。通過控制脈沖個數可以控制角位移量,從而達到準確定位的目的;同時通過控制脈沖頻率可以控制電機轉動的速度和加速度,從而達到調速的目的。步進電機28byj-48是四相八拍型電機,工作電壓為直流5v12v。當對步進電機的四相輸入一系列連續不斷的控制 脈 沖時,步進電機就可連續不斷地轉 動 。每個控制脈沖信號對應步進電機的某一相 或 兩相繞組的通電狀態改變一次,對應轉子轉過一個步距角。當通電狀態的改變 完 成一個循環時,轉子轉過一個齒距。四相步進電機有兩種運行方式:四相四拍、四相八拍。其中拍數、步距角及轉速的計算為:(1) 拍數:完成一個磁場周期性變化所需脈沖數,或指電機轉過一個齒距角所
36、需脈沖數,以四相步進電機為例,四相四拍運行方式為ab-bc-cd-da-ab,四相八 拍 運行方式為a-ab-b-bc-c-cd-d-da-a.;(2) 步距角:對應一個控制脈沖信號,步進電機轉子轉過的角位移用 表示。=360度(轉子齒數j*運行拍數),以常見的四相、轉子齒為50齒的電機為例。四拍運行時 步 距角為=360度/(50*4)=1.8度(俗稱整步),八拍運行時步距角為=360度/(50*8)=0.9度(俗稱半步)。(3)步進電機轉速的計算:以基本步距角1.8的步進電機為例(現在市場上常規的二、四相混合式步進電機基本步距角都是1.8),四相八拍運行方式下,每接收一個脈沖信號,轉過0.
37、9,如果每秒鐘接收400個脈沖,那么轉速為每秒400x0.9=360,相當與每秒鐘轉一圈,每分鐘60轉。2.5.2 步進電機的引腳接線紅線接電源5v,橙色電線接gpioc_pin_0口,黃色電線接gpioc_pin_1口,粉色電線接gpioc_pin_2口,藍色接gpioc_pin_3口。由于stm32主機接口信號不夠大需要通過uln2003放大再連接到相應的電機接口,電機正反轉時各接口輸出情況如表2-5所示。正反轉的順序剛好相反,所以可以定義旋轉相序:unsigned char f_rotation4=0x03,0x06,0x0c,0x09;/正轉表格unsigned char b_rota
38、tion4=0x09,0x0c,0x06,0x03;/反轉表格步進電機的正反轉控制脈沖輸入情況如表2-5所示。表2-5 步進電機正反轉脈沖控制轉向橙黃粉藍十六制(gpioc端口)正轉00110x0301100x0611000x0c01100x09反轉10010x0911000x0c01100x0600110x032.6 本章小結本章主要對智能家居的整個硬件系統所用到的模塊進行了介紹,主控模塊stm32f103vet6、無線收發gprs模塊、溫濕度測量傳感器dht11、液晶顯示屏lcd1602、步進電機28byj-48。gprs模塊用來發送報警短信、溫濕度測量值的短信以及接收特定短信以控制其他模
39、塊的工作;溫濕度測量傳感器dht11用來測量家里的溫濕度情況,對家里是否有火災危險情況進行監視,當溫濕度超出閾值時會通過gprs發送報警短信;液晶顯示屏lcd1602用來顯示dht11測量出來的溫濕度數值;步進電機28byj-48用來模擬家里窗簾收合控制。本章介紹了這些模塊的工作原理、引腳說明以及接線等。第3章 硬件系統的設計3.1 直流穩壓電源的設計 直流穩壓電源用來給主機及各個模塊供電,其工作原理可分為四個部分,電路接線圖如圖3-1所示。圖3-1 直流電源電路(1)電源變壓器:是降壓變壓器,它將電網220v交流電壓變換成符合需要的交流電壓,并送給整流電路。(2)整流濾波電路:整流電路將交流
40、電壓變換成脈動的直流電壓。本文采用橋式整流濾波。(3)濾波電路:將整流電路輸出電壓中的交流成分大部分加以濾除,從而得到比較平滑的直流電壓。(4)穩壓電路:穩壓電路的功能是使輸出的直流電壓穩定,不隨交流電網電壓和負載的變化而變化。本文采用固定式集成三端穩壓器78l05,輸出為5v直流電壓,再經過一個穩壓器件ams1117輸出直流電壓3.3v。3.2 stm32最小系統的設計 stm32的最小系統由主芯片stm32f103vet6及其供電電源、晶振電路、復位電路、串口驅動電路等構成。3.2.1電源的供電方案(1) 電路由穩定的電源vdd供電,本設計使用的是3.3v直流電壓,vdd管腳為i/o管腳和
41、內部調壓器的供電。(2) vssa,vdda =2.03.6v:為adc、復位模塊、rc振蕩器和pll的模擬部分提供供電。使用adc時,vdd不得小于2.4v。vdda和vssa必須分別連接到vdd和vss。(3) vbat =1.83.6v:當關閉vdd時,(通過內部電源切換器)為rtc、外部32khz振蕩器和后備寄存器供電。(4) vref+引腳可以連接到vdda外部電源。如果在vref+上使用單獨的外部參考電壓,必須在這個引腳上連接一個10nf和一個1f的電容。在所有情況下,vref+必須在2.4v和vdda之間。 (5) vref+連接到vdda或vref+。3.2.2 晶振電路stm
42、32上電復位后默認使用內部精度8mhz左右晶振,如果外部接了8mhz的晶振,可以切換使用外部的8mhz晶振,并最終pll倍頻到72mhz。外部晶振電路及rtc晶振電路如圖3-2和圖3-3所示。圖3-2 外部晶振電路圖圖3-3 rtc晶振電路3.2.3 復位電路stm32的外部硬件復位電路如圖3-4所示,按下按鈕s1,將rst腳的電平拉低即能實現stm32的外部硬件復位。圖3-4 復位電路3.2.4 串口驅動電路max232芯片是用來做電平轉換的,標準的rs232電平很高,達正負15v.常用的ttl電平最高5v。相互連接的話,必須進行電平轉換!由于電腦串口輸出電壓高達12v,直接與單片機連接會燒
43、壞芯片。所以用max232來進行電平轉換。max232芯片采用單+5v電源供電,僅需幾個外接電容即可完成從ttl到rs232電平的轉換,共兩路。其中13腳(r1in)、12腳(r1out)、11腳(t1in)、14腳(t1out)為第一數據通道。8腳(r2in)、9腳(r2out)、10腳(t2in)、7腳(t2out)為第二數據通道。ttl/cmos數據從t1in、t2in輸入轉換成rs-232數據從t1out、t2out送到電腦dp9插頭;dp9插頭的rs-232數據從r1in、r2in輸入轉換成ttl/cmos數據后從r1out、r2out輸出。具體電路連接如圖3-5所示。圖3-5 st
44、m32串口驅動電路3.3 步進電機、繼電器驅動電路設計 由于stm32主機的輸出信號較小不足以使步進電機、繼電器正常工作,所以需要接上一個uln2003功率放大stm32輸出的信號。蜂鳴器通過一個三極管驅動,按主機輸出的高低電平控制蜂鳴器的響與不響;步進電機的運轉通過abcd四相輸入一系列連續不斷的脈沖信號來控制;繼電器的控制相當于開關控制,與蜂鳴器一樣通過一個三極管的飽和導通情況來控制繼電器的吸合。具體電路連接如圖3-6所示。圖3-6 步進電機等驅動電路3.4 本章小結本章主要介紹了部分硬件系統模塊的電路設計。主要有直流穩壓電源的設計、stm32最小系統的設計、步進電機驅動電路的設計,其中s
45、tm32最小系統的設計介紹了外部晶振電路、復位電路和串口驅動電路。直流穩壓電源電路輸入交流220v經過變壓整流濾波穩壓輸出5v直流電壓和3.3v直流電壓為整個系統的各個模塊供電;stm32是主控模塊,要正常工作必須保證其自身最小系統的完整,供電方案、外部晶振電路、串口驅動電路等的存在能使stm32與其外圍設備正常工作;步進電機的驅動電路的設計是由于stm32輸出的電壓信號較小不足以驅動步進電機的正常工作,需要加上一個功率放大uln2003來驅動步進電機的正常工作。第4章 軟件程序的設計4.1 主函數及tim2中斷服務函數設計 主函數開始先初始化所用到的gpio端口、配置時鐘、配置中斷等,并先測
46、量一次溫濕度顯示在lcd液晶屏上,接著進入循環等待各個模塊的中斷到來,在循環中判斷測量出來的溫濕度數值是否超出設定的閾值,若超出,則發送報警短信到目標手機上。tim2定時器用來實現每10s進行測量一次溫濕度,并將測量出來的數據分析處理后通過lcd1602顯示出來。具體過程如流程圖所示。4.1.1 主函數及tim2中斷服務函數程序代碼void main() /初始化 lcd_gpio_configuration(); time2_gpio_cfg(); time2_nvic_cfg(); time2_configuration(); rcc_cfg(); gpio_cfg(); nvic_cfg
47、(); exti_cfg(); rx_usart_configuration(); del_mesg(); /刪除sim卡里的短信 lcd_init(); /lcd1602初始化 if(start_dht11()=1)/檢測是否有響應,結果有響應往下執行 while(!dht11_get_data(); /從dht11取數據 display_wsd(); /顯示溫濕度 send_mesg_sign=0; /用于防止重復發送報警短信 tim_cmd(tim2, enable);/開啟tim2時鐘,10s讀取一次溫濕度值 while(1) if(table_data226)|(table_data
48、065)/溫濕度超過設定值則發送報警短信 gpio_setbits(gpiob,gpio_pin_5);if(send_mesg_sign=0) send_mesg();/發送報警短信 /* 函數名稱: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();/從dht
49、11取數據4.1.2 主函數及tim2中斷服務函數程序流程圖圖4-1 主函數與tim2中斷服務函數流程圖4.2 gprs來信中斷處理函數設計當gprs收到短信時從ring端口會發出一個振鈴信號,將ring口與stm32的gpioa_pin_2口連接起來作為外部中斷。即當gprs接收到短信時通過ring端口產生一個外部中斷,在外部中斷服務函數里首先要清除中斷標志位,防止重復進入中斷。由于本設計中用到短信控制命令均為text模式,所以在中斷處理里先發送at指令“at+cmgf=1”設置短信為text模式,再發送at指令“at+cmgr=1”讀取sim里的第一條短信即為剛收到的未讀短信,然后嵌套進入
50、usart串口接收中斷,將讀取出來的短信內容存到接收緩存rx_buf 數組中,再對緩存中的內容進行判斷,判斷接收到的短信內容是否為“light on”、“light off”、“dj left”、“dj right”或“wsd”,再進行響應的開關燈、步進電機的控制或回復溫濕度數據短信的處理。具體過程如流程圖所示。4.2.1 gprs來信中斷處理函數程序代碼/* 函數名稱:exti2_irqhandler(void) 功能: exti2的中斷處理*/void exti2_irqhandler(void) exti_clearitpendingbit(exti_line2);/清空中斷標志位,防止持續進入中斷 usart_clearflag(usart1, usart_flag_tc); usart_send_string(at_cmgf_text); usart_send_string(rn); delay_nms(4000); clear_buf(); usart_itconfig(usart1, usart_it_rxne, enable);/接收使能 rx_coun
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生活教育主題班會實施框架
- 高中政治必修三第9課:全面依法治國
- 國畫葡萄幼兒創意課件
- 專題六:100以內的加法和減法復習課件一年級數學下學期期末核心考點集訓人教版
- 室內設計大師分析
- 高血壓的護理措施
- 小班美術創意課:《星球大變身》課件大綱
- 汽車行業第三方物流概述
- 租房抵債合同協議
- 鉆空施工合同協議
- 2024年職業病防治考試題庫附答案(版)
- GB/T 4706.53-2024家用和類似用途電器的安全第53部分:坐便器的特殊要求
- 《智能網聯汽車用攝像頭硬件性能要求及試驗方法》編制說明
- 2024年3月ITSMS信息技術服務管理體系基礎(真題卷)
- 節能評審和節能評估文件編制費用收費標準
- 2023-2024年《勞務勞動合同樣本范本書電子版模板》
- 中國居民口腔健康狀況第四次中國口腔健康流行病學調查報告
- MOOC 數據挖掘-國防科技大學 中國大學慕課答案
- 中藥注射劑合理使用培訓
- 第13課+清前中期的興盛與危機【中職專用】《中國歷史》(高教版2023基礎模塊)
- 2024年國家糧食和物資儲備局直屬事業單位招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論