![多功能智能窗設計報告_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/368b5051-1265-48ff-acd9-0fa2da4772db/368b5051-1265-48ff-acd9-0fa2da4772db1.gif)
![多功能智能窗設計報告_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/368b5051-1265-48ff-acd9-0fa2da4772db/368b5051-1265-48ff-acd9-0fa2da4772db2.gif)
![多功能智能窗設計報告_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/368b5051-1265-48ff-acd9-0fa2da4772db/368b5051-1265-48ff-acd9-0fa2da4772db3.gif)
![多功能智能窗設計報告_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/368b5051-1265-48ff-acd9-0fa2da4772db/368b5051-1265-48ff-acd9-0fa2da4772db4.gif)
![多功能智能窗設計報告_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/13/368b5051-1265-48ff-acd9-0fa2da4772db/368b5051-1265-48ff-acd9-0fa2da4772db5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上參賽隊號: 項目中文名稱: 多功能智能窗 項目英文名稱: Smart Window 學校: 中國海洋大學 院系: 工程學院自動化及測控系 指導老師: 黎明 參賽隊員:李明揚、樊銘遠、劉賽、黃嘉俊目錄摘要本項目給出了以STM32單片機為控制器的多功能智能窗實現(xiàn)方案。本系統(tǒng)以STM32單片機為控制器,實現(xiàn)智能窗根據(jù)環(huán)境自動開閉、手機遠程遙控開閉、防盜報警功能。智能窗的開閉由電機帶動,關閉后有自鎖功能;通過手機與系統(tǒng)的GSM模塊通信,可實現(xiàn)對智能窗的遠程控制;實時監(jiān)測室內(nèi)外的溫濕度,通過信息融合算法實現(xiàn)窗戶開度的自動控制;窗戶上的主動紅外報警器檢測到入侵信號后會拉響警鈴,并
2、向用戶發(fā)送報警短信。關鍵詞:智能窗信息融合遠程通訊AbstractThis project gives a practical scheme of a smart window which is controlled by a embedded controller , STM32 . The function of this system contains the autocontrol of the angle of the window in terms of the environment , the remote control of the window by mobile pho
3、ne , and burglar alarm . The angle of the window is controlled by a motor , and the window can be locked automatic when it closed ; the remote control is realized by the communication of the user and the GSM module of the system ; the temperature and humidity sensors can get real-time data then the
4、system can get a appropriate angle by information fusion ; the infrared alarm can detect the invader and the beeper will ring at the same time , in the same time , the user will receive the alarm message send from the system.Keywords:Smart Window Data Fusion Remote Communication一、系統(tǒng)功能分析本系統(tǒng)的目標是設計一款多功
5、能智能窗,應用于未來的智能家居。主要功能如下:、多傳感器測量:利用多組溫濕度傳感器,將各傳感器的測量結果進行融合,能夠給出較準確的溫濕度信息;實時監(jiān)控室內(nèi)外溫度,并反饋給用戶;配置雨滴檢測模塊,能夠監(jiān)測室外下雨情況,并及時提醒用戶。、智能運動控制:使用直流電機驅動的電動推桿實現(xiàn)智能窗的開閉,并設置自動調(diào)節(jié)功能,當內(nèi)外溫濕度變化時自動調(diào)節(jié)窗戶的開度。、人機交互功能:配置了LCD顯示器和4*4鍵盤,能夠實時顯示室內(nèi)外溫濕度信息,可用鍵盤對各功能進行設置,并修改開機密碼、手機號等用戶信息;并可用GPRS模塊與用戶進行遠程通訊完成上述功能。、遠程通訊功能:配置了GPRS模塊與用戶通訊,使用戶可以用手機
6、命令的形式控制智能窗任意角度的開閉;并可對系統(tǒng)功能和用戶信息進行設置。、防盜報警功能:配置對射式紅外傳感器作為防盜報警器,在報警開啟情況下,檢測到外界入侵會及時發(fā)送短信提醒用戶。6、數(shù)據(jù)存儲功能:使用MCU內(nèi)置的FLASH,實現(xiàn)用戶數(shù)據(jù)和系統(tǒng)配置信息的在線更新和掉電存儲,防止用戶信息丟失。二、硬件設計方案硬件整體框圖:圖2-1 硬件整體框圖1、控制器設計方案1.1控制器簡介本設計的控制器采用STM32單片機系列的單片機STM32F103RBT6。以下是它的部分特性:(1) 采用ARM Cortex-M3 內(nèi)核,擁有最高72MHz的工作頻率,對于設計所需的較多功能能夠及時的處理。內(nèi)核中的Syst
7、ick定時器可作為精確延時的工具,便于傳感器控制時序的處理。(2) 配置128KB的閃存程序存儲器,足夠容納復雜的程序設計代碼,并可以利用剩余的flash空間存放用戶數(shù)據(jù)和系統(tǒng)配置信息。(3) 內(nèi)置兩個12位AD,轉換時間1微秒,并有多達16個輸入通道,可用于實現(xiàn)窗戶角度信息的采集。(4) 配置三個通用定時器TIM2、TIM3、TIM4,一個高級控制定時器TIM1,每個定時器又有四個可分別控制的通道,方便靈活,功能強大。可實現(xiàn)定時中斷,PWM脈寬調(diào)制,正交編碼輸入等功能。(5) 配置三個USART外設,可方便的與計算機進行通訊,便于系統(tǒng)的測試;同時方便與GPRS芯片MC37i進行通訊,實現(xiàn)短信
8、收發(fā)的控制。(6) 配置多個具有復用功能的I/O端口,速度可達50MHz,所有端口都可以映像到16個外部中斷,幾乎所有端口都可以容忍5V信號。1.2控制器外圍電路設計(1) 復位電路設計圖2-2 復位電路原理圖(2) 外部晶振電路專心-專注-專業(yè)圖2-2 外部晶振電路圖(3) 電源濾波電路圖2-3 電源濾波電路圖除了在VDDA和VSSA之間設置濾波電路之外,還在單片機所有的四個VSS和VDD之間都放置一個0.1uF的濾波電容。(4) Boot0和Boot1電路Boot0和Boot1管腳在芯片復位時的電平狀態(tài)決定了芯片復位后的啟動方式。BOOT1=XBOOT0=0從用戶閃存啟動,這是正常的工作模
9、式BOOT1=0BOOT0=1從系統(tǒng)存儲器啟動,這種模式啟動的程序功能由廠家設置。BOOT1=1BOOT0=1從內(nèi)置SRAM啟動,這種模式可以用于調(diào)試。本設計為了可以采用JTAG和ISP兩種方式下載程序, 在BOOT0處設置了一個選擇開關,進行ISP下載時要將BOOT0管腳拉高,下載完后再拉低即可正常運行。圖2-4 芯片啟動方式電路圖2、程序下載與串口通訊電路設計方案本設計采用可以采用兩種方式進行程序下載:ISP方式和JTAG方式。2.1 ISP下載與串口通訊電路設計本設計采用Prolific公司生產(chǎn)的PL2303芯片進行USB和串口信號的轉換,它具有高度集成的特點,提供了一個在USB接口跟R
10、S232串口之間通信的的解決方案。在使用時,作為RS232/ USB雙向轉換器,一方面從RS232 外設中接收數(shù)據(jù)并將其轉換為USB 數(shù)據(jù)格式傳發(fā)送給外設;另一方面從主機接收USB 數(shù)據(jù)并將其轉換為RS232 信息流送回主機。開發(fā)者無需考慮固件設計,因而對嵌入式設計者是透明的,便于實現(xiàn)了單片機串口和計算機USB口的通訊和ISP下載。以下是PL2303外圍電路設計:為了防止系統(tǒng)在使用外部電源供電時內(nèi)部5V電壓與USB接口的5V電壓輸入沖突,在USB電壓輸入端接500mA保險絲,并串接肖特基二極管1N5819,起到保護作用。圖2-5 PL2303外圍電路圖2.2 JTAG下載電路設計本設計使用20
11、針的JTAG接口作為與外界的連接端口。JTAG擁有一個雙向串行端口,可以通過JTAG將需要運行或者調(diào)試的程序下載到單片機的FLASH內(nèi),控制STM32F103的運行,讀取片內(nèi)寄存器值,以及刷新存儲器的內(nèi)容,方便了程序的編寫和維護。標準JTAG接口是4線;TD0、TD1、TMS和TCLK,分別為數(shù)據(jù)輸出、數(shù)據(jù)輸入、模式選擇和時鐘。電路中在JTAG的電壓輸入端串接肖特基二極管1N5819,在電路板采用JTAG供電時達到保護電路的目的。圖2-6 JTAG下載電路圖3、溫度傳感器電路設計方案本設計采用DS18B20作為溫度傳感器。DS18B20溫度傳感器是一線式數(shù)字溫度傳感器,溫度測量范圍是55125
12、,測溫分辨率可達0.0625,精度較高;電源供電范圍為3V5.5V。18B20的最大特點是支持單總線掛接多個傳感器,極大地節(jié)約了硬件電路,便于多傳感器網(wǎng)絡的搭建。因為每個18B20有唯一的系列號,寫在傳感器的ROM內(nèi),可以通過讀取ROM命令和搜索ROM命令識別總線上的器件,分別讀取他們的信息。以下是 18B20的電路接口圖,在電源與地直接連入0.1uF電容起濾波作用。圖2-7 DS18B20電路圖4、濕度傳感器電路設計方案本設計中濕度傳感器選擇了DHT11。DHT11溫濕度傳感器是一款濕溫度一體化的數(shù)字傳感器,其濕度測量范圍:2090RH,濕度分辨率 :1RH,精度較高,能較精確的測量室內(nèi)的濕
13、度。同時HDT11硬件設計簡單,只需單片機的一個端口就可讀取其數(shù)據(jù),非常方便。以下是DHT11的硬件電路圖:圖2-8 DHT11原理圖5、紅外報警傳感器設計方案紅外報警電路采用對射式紅外線檢測裝置,通過檢測紅外線是否被遮擋判斷是否有異常。紅外發(fā)射頭選用OSE-1L7,其外形和發(fā)光二極管LED相似,發(fā)射波長940納米左右的紅外線,管壓降約1.4V ,工作電流一般小于20mA,控制方便。紅外線接收管采用IRM8601S,它是一個一體式紅外線接收傳感器,接收頭內(nèi)部集成自動增益控制電路、帶通濾波電路、解碼電路及輸出驅動電路。它共有三個管腳,電源、地和信號輸出,其中心接收頻率為38KHz,當接收到38
14、KHz的紅外光信號時,會輸出一個10毫秒的低電平脈沖信號,當沒有接收到38KHz的紅外光信號時,輸出端為高電平。以下是紅外報警電路的圖:圖2-9 紅外發(fā)射原理圖圖2-30 紅外接收原理圖圖中LED4為紅外發(fā)射管,R21為限流電阻,R17為可調(diào)的限流電阻,用來調(diào)整紅外發(fā)射管的發(fā)射強度,發(fā)射管的負極直接接到單片機的PWM輸出管腳,即可發(fā)射一定頻率的紅外光線。6、角度測量電路設計方案STM32F103RBT6芯片內(nèi)置了12位AD轉換器,因此為了節(jié)約成本,同時考慮到精度問題,本設計的對窗戶開度的角度測量采用旋轉電位器作為傳感器,將電位器兩端電壓經(jīng)過運算得到窗戶的角度。設計電路圖如下:圖2-41 電位器
15、電路圖10K電阻為分壓電阻,電位器阻值為47K,其中PC0管腳為復用管腳,此時用作單片機AD1的10號采樣通道。7、雨滴模塊設計方案雨滴模塊的原理是利用水的導電性,使用兩個柵狀的電極作為傳感器,當有雨滴下時兩電極之間的電阻會變小。將10K可調(diào)限流電阻與電極串接到3.3V電源上,同時使用電壓比較器TDC393獲取電極兩端電壓,并輸出電壓比較信號。TDC393是由兩個獨立的、高精度電壓比較器組成的集成電路,失調(diào)電壓低,最大為2.0mV。它專為獲得寬電壓、單電源供電而設計,電源電壓2.0V到36V;而且無論電源電壓大小,電源消耗都很低;同時TDC393被設計成能直接連接TTL和CMOS,所以與單片機
16、接口方便。電路圖如下:圖2-52 雨滴模塊原理圖其中,R1為可調(diào)電阻,通過調(diào)整R1可調(diào)整雨滴模塊靈敏度;K1為雨滴模塊探頭的接口,以下是電極圖片。圖2-63 雨滴模塊實物圖8、GPRS通信模塊設計方案8.1 MC37i功能簡介本設計采用GPRS模塊MC37i進行短信收發(fā)。MC37i模塊是一款支持中文短信息的工業(yè)級的新版GPRS模塊,工作在GSM 900/1800Hmz雙頻段,電源范圍為直流3.34.8V ,休眠狀態(tài)電流消耗為3.5mA,空閑狀態(tài)為25mA,發(fā)射狀態(tài)為300mA(平均),峰值為2.5A;可傳輸語音和數(shù)據(jù)信號 ,通過接口連接器和天線連接器分別連接SIM卡讀卡器和天線。SIM電壓為3
17、V,MC37i通過AT命令可雙向傳輸指令和數(shù)據(jù),可選波特率為300b/s230kb/s 。它支持Text和PDU格式的SMS(Short Message Service,短消息),可通過AT命令或關斷信號實現(xiàn)重啟和故障恢復,在很多應用領域中都有著廣泛的應用。GPRS模塊通過串口使用AT指令與外界進行通訊,模塊可以與電腦通過串口相連,也可以用單片機來進行控制。8.2 MC37i硬件設計:(1)MC37i電路設計方案MC37i模塊有50個引腳,通過一個ZIF(Zero Insertion Force,零阻力插座)連接器引出。這40個引腳可以劃分為5類,即電源、數(shù)據(jù)輸入/輸出、SIM卡、音頻接口和控
18、制。TC35i的第2125引腳是正電源輸入腳通常推薦值4.2V,第2630引腳是電源地。10腳是啟動腳IGT,系統(tǒng)加電后為使MC37i進入工作狀態(tài),必須給IGT加一個大于100ms的低脈沖,電平下降持續(xù)時間不可超過1ms。1219和3437為數(shù)據(jù)輸入/輸出,分別為DCD0、CTS1、CTS0、RTS1、RTS0、DTR0、RTS0、DSR0、RING0和TXD0、RXD0、TXD1、RXD1。MC37i模塊的數(shù)據(jù)輸入/輸出接口是一個串行異步收發(fā)器。它有固定的參數(shù):8位數(shù)據(jù)位和1位停止位,無校驗位,波特率在300bps230kbps之間可選,默認57600,支持標準的AT命令集。其中34腳TXD
19、0、35腳RXD0為TTL的串口通訊腳,可以方便和單片機進行通訊。設計電路圖如下:圖2-74 MC37i電路圖(2)SIM卡電路設計方案MC37i使用外接式SIM卡,4550為SIM卡引腳,SIM卡上的CCRST、CCIO、CCCLK、CCVCC和CCGND通過SIM卡閱讀器與MC37i的同名端直接相連,如下圖:圖2-85 SIM卡電路圖9、LCD液晶顯示器硬件設計方案為了更好的實現(xiàn)人機交互,使用戶方便的對智能窗進行操作,并且保證操作簡潔直觀,成本低廉,本設計采用LCD液晶顯示器實現(xiàn)所有的顯示功能。該模塊的主要功能是顯示操作界面,對整個智能窗進行控制。顯示實時的室內(nèi)、室外的溫度、濕度和窗戶的開
20、關狀態(tài),本模塊結合按鍵模塊還可以進行多項設置,通信用的手機號設置、密碼設置、報警設置、控制窗戶的開關。本設計中的LCD模塊采用12864A-1漢字圖形點陣液晶顯示模塊。該模塊可顯示漢字及圖形,內(nèi)置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。主要技術參數(shù)和顯示特性:u 顯示內(nèi)容:128列× 64行u 顯示角度:6:00鐘直視u 顯示顏色:黃綠u LCD類型:STNu 與MCU接口:8位或4位并行/3位串行u 配置LED背光u 電源:VDD 3.3V+5V(內(nèi)置升壓電路,無需負壓);該模塊與單片機芯片MCU接口簡單,可以是
21、8位或4位并行或者3位串行。該模塊的程序編寫也十分方便。本設計中為節(jié)約單片機GPIO端口,采用3位串行連接方式,LCD液晶顯示模塊的電路原理圖如下:圖2-96 LCD電路圖10、鍵盤硬件設計方案本設計為滿足多項設置、輸入的需要,采用4*4矩陣鍵盤電路。除了滿足必要的數(shù)字輸入按鍵,還結合LCD顯示器,根據(jù)不同的顯示界面,有“設定”、“確定”、“退出”等按鍵。將4*4鍵盤通過10K的排阻之后,與單片機的GPIO接口相連。由單片機的GPIO接口進行鍵值讀取。按鍵模塊的電路原理圖如下:圖2-107 按鍵原理圖11、電機硬件設計方案本設計選用的TG-300B型電動推桿來帶動窗戶的開閉。它采用永磁直流電機
22、驅動,行程100mm,額定電壓12V,內(nèi)置限位開關,到大極限位置后自動停止;低噪音設計,噪音等級低于42dB,可以在室內(nèi)使用。由于電動推桿的運動速度較慢,對控制的實時性要求不高,所以采用繼電器控制它的正反轉。換向電路的原理如下圖:圖2-118 電機模塊電路圖電機正轉時Motor_ON閉合接入12V電壓,Motor_ON另一端接Motor_A,Motor_A接Motor_C(即電機正極),Motor_D(電機負極)接GND;構成一條完整通路。電機反轉時Motor_ON閉合接入12V電壓,Motor_ON另一端接Motor_B,Motor_B接Motor_D(即電機負極),Motor_C(電機正極
23、)接GND;構成一條完整通路。12、系統(tǒng)供電設計方案本設計采用12V、3A的電源適配器作為供電電源,進入系統(tǒng)后分為兩路,一路直接給電動推桿供電,另一路為控制板供電??刂瓢迳嫌腥N電壓需求,3.3V、5V和3.7V。其中3.3V電源主要為單片機和PL2303芯片供電,5V主要為液晶顯示器、繼電器供電,3.7V為MC37i供電。12.1 3.7V和5V供電方案本設計采用LM2576-adj給MC37i提供3.7V電壓。LM2576系列的穩(wěn)壓器是單片集成電路,能夠提供降壓開關穩(wěn)壓器的各種功能,能驅動3A的負載,有優(yōu)異的線性和負載調(diào)整能力,輸入電壓可至40V,高壓型可至60V;而且具有TTL關斷能力,
24、可工作在低功耗待機模式。其中LM2576-adj是可調(diào)節(jié)輸出電壓的穩(wěn)壓芯片,其輸出電壓與反饋端配置的電阻比值相關,電路原理圖如下:圖2-129 12V-3.7V電壓轉換電路圖本設計采用LM2576-5為控制板提供5V電壓,電路原理圖如下:圖2-20 12V-5V電壓轉換電路圖12.2 3.3V供電方案本設計采用SOT-223封裝的AS1117-3.3為控制板提供3.3V電壓。AS1117可提供最大800mA的輸出電流,足夠為單片機及其他外設提供電流,最小壓差1.2V,保證了供電的穩(wěn)定性,并具有良好的線性輸出能力。設計電路原理圖如下:圖2-213 5V-3.3V電壓轉換電路圖12.3 供電切換與
25、保護設置(1)本設計在12V電壓進入控制板處放置30V、3A的自恢復保險絲,防止內(nèi)部短路時燒壞電路。圖2-22 電源保護電路圖(2)本設計設置了一個5V電源的供電切換開關,可以選擇板內(nèi)的5V電壓由LM2576-5提供或者由USB電線提供。這樣在不使用MC37i進行調(diào)試時可以減少接線(免去外接12V電源),同時在USB電纜和外部電源同時供電時不會造成沖突。下圖中U-5V是LM2576-5的輸出,P-5V是USB電纜提供的5V電壓。圖2-23 5V電源切換開關電路圖(3)本設計在3.3V和3.7V電壓進入電路之前均設置了開關,方便對硬件電路進行測試,同時可以起到一定保護作用。圖2-24 3.3V、
26、3.7V電源切換開關電路圖三、軟件設計方案1、整體軟件流程本設計軟件實現(xiàn)方案采取主函數(shù)循環(huán)掃描配合中斷的形式。1.1主函數(shù)內(nèi)的循環(huán)主函數(shù)內(nèi)的循環(huán)執(zhí)行短信處理和鍵盤信息處理的功能,當讀短信息的標識在短信接收的中斷處理函數(shù)中被置位后,主函數(shù)開始處理短消息命令;當按鍵標識在定時器的中斷處理函數(shù)中被置位后,執(zhí)行按鍵處理函數(shù)。1.2中斷處理函數(shù)中斷處理函數(shù)分為定時器中斷和串口中斷。定時器中斷中進行按鍵掃描和紅外報警的掃描,并檢測室外的下雨情況。當紅外報警標識被用戶設置為1后,開始在中斷里進行紅外報警掃描。串口中斷中主要進行與MC37i模塊的通訊,接收用戶發(fā)送來的消息并進行解析。2、溫度數(shù)據(jù)融合方案2.1
27、多個溫度傳感器信息的獲取(1)18B20溫度傳感器的指令介紹DS18B20采用一線通信接口。因為一線通信接口,必須先完成ROM設定,否則記憶和控制功能將無法使用。一旦總線檢測到從屬器件的存在,它便可以發(fā)出器件ROM操作指令,所有ROM操作指令均為8位長度,主要提供以下功能命令:1 )讀ROM(指令碼0X33H):當總線上只有一個節(jié)點(器件)時,讀此節(jié)點的64位序列號。如果總線上存在多于一個的節(jié)點,則此指令不能使用。2 )ROM匹配(指令碼0X55H):此命令后跟64位的ROM序列號,總線上只有與此序列號相同的DS18B20才會做出反應;該指令用于選中某個DS18B20,然后
28、對該DS18B20進行讀寫操作。3 )搜索ROM(指令碼0XF0H): 用于確定接在總線上DS18B20的個數(shù)和識別所有的64位ROM序列號。當系統(tǒng)開始工作,總線主機可能不知道總線上的器件個數(shù)或者不知道其64位ROM序列號,搜索命令用于識別所有連接于總線上的64位ROM序列號。4 )跳過ROM(指令碼0XCCH): 此指令只適合于總線上只有一個節(jié)點;該命令通過允許總線主機不提供64位ROM序列號而直接訪問RAM,以節(jié)省操作時間。5 )報警檢查(指令碼0XECH):此指令與搜索ROM指令基本相同,差別在于只有溫度超過設定的上限或者下限值的DS18
29、B20才會作出響應。只要DS18B20一上電,告警條件就保持在設置狀態(tài),直到另一次溫度測量顯示出非告警值,或者改變TH或TL的設置使得測量值再一次位于允許的范圍之內(nèi)。儲存在EEPROM內(nèi)的觸發(fā)器用于告警。DS18B20共有六條RAM命令:1)溫度轉換(指令碼0X44H):啟動DS18B20進行溫度轉換,結果存入內(nèi)部RAM。2)讀暫存器(指令碼0XBEH):讀暫存器9個字節(jié)內(nèi)容,此指令從RAM的第1個字節(jié)(字節(jié)0)開始讀取,直到九個字節(jié)(字節(jié)8,CRC值)被讀出為止。如果不需要讀出所有字節(jié)的內(nèi)容,那么主機可以在任何時候發(fā)出復位信號以中止讀操作。3)寫暫存器(指令碼0X4EH): 將上下
30、限溫度報警值和配置數(shù)據(jù)寫入到RAM的2、3、4字節(jié),此命令后跟需要些入到這三個字節(jié)的數(shù)據(jù)。4)復制暫存器(指令碼0X48H):把暫存器的2、3、4字節(jié)復制到EEPROM中,用以掉電保存。5)重新調(diào)E2RAM(指令碼0XB8H):把EEROM中的溫度上下限及配置字節(jié)恢復到RAM的2、3、4字節(jié),用以上電后恢復以前保存的報警值及配置字節(jié)。6)讀電源供電方式(指令碼0XB4H):啟動DS18B20發(fā)送電源供電方式的信號給主CPU。對于在此命令送至DS18B20后所發(fā)出的第一次讀出數(shù)據(jù)的時間片,器件都會給出其電源方式的信號。“0”表示寄生電源供電。“1”表示外部電源供電。()讀取多個18B20溫度傳感
31、器溫度程序設計本設計中讀取18B20的數(shù)據(jù)使用了讀ROM、ROM匹配指令以及溫度轉換和讀暫存器指令。前期測試階段使用讀ROM指令確定12個傳感器的ROM值,并與傳感器的安放位置一一對應。以下是測試18B20溫度傳感器ROM的程序流程圖:圖3-14 測試18B20溫度傳感器ROM流程圖測試完所有器件的序列號之后,最終的應用版本中通過Match ROM指令得到每個器件采樣的溫度值。程序流程圖如下:圖3-2 18B20溫度值讀取流程圖2.2分布圖法簡介本設計采用基于分布圖法的溫度傳感器融合算法。溫度測量模塊18B20支持單總線掛接多個傳感器,極大地提高了單片機管腳利用率,本設計中需要對室內(nèi)外溫度進行
32、測量,考慮到環(huán)境溫度較復雜,為了提高測量精度,采用多個傳感器構建傳感器網(wǎng)絡,使用分布圖法綜合各個傳感器的測量結果,以排除疏忽誤差,提高測量結果。分布圖法是一種新型的數(shù)據(jù)處理算法, 其算法如下:(1)首先對N 個測量結果從小到大進行排序,得到測量序列: 其中為下極限, 為上極限。(2)再定義中位值為: 上四分位數(shù)Fu為區(qū)間的中位數(shù), 下四分位數(shù)Fu為區(qū)間的中位數(shù)。四份位離散度為(3)認定與中位數(shù)的距離大于的數(shù)據(jù)為離異數(shù)據(jù),即無效數(shù)據(jù)的判斷區(qū)間為式中的為常數(shù),其大小取決于系統(tǒng)測量精度,通常取1、2等值。2.3分布圖法在本設計中的應用在實際編程實現(xiàn)分布圖法時, 由于該算法不需要復雜的數(shù)據(jù)結構, 同時
33、還具有運算量小, 計算機編程容易等優(yōu)點, 不僅可以用于校準測試數(shù)據(jù)的后期處理, 還可以將其應用于測量的實時數(shù)據(jù)處理和控制中。本設計中考慮到成本問題,在室內(nèi)外分別采用6個溫度傳感器18B20進行溫度測量,并將測得的數(shù)據(jù)進行處理,以下是溫度采集和數(shù)據(jù)處理的流程圖。為減少計算量,分布圖法處理后直接將每組數(shù)據(jù)取平均值,分別得到最終的室內(nèi)外溫度。圖3-3 溫度采集、處理流程圖3、自動調(diào)節(jié)窗戶角度設計方案本設計中加入了根據(jù)室內(nèi)外溫濕度自動調(diào)節(jié)窗戶開度的功能,以達到為用戶提供舒適環(huán)境的目的。首先由用戶設定一定的溫濕度閾值,當室內(nèi)溫濕度偏離設定值一定范圍時,根據(jù)室內(nèi)外溫濕度自動調(diào)節(jié)窗戶開度,通過通風來改變室內(nèi)
34、環(huán)境。具體算法如下:首先利用以下條件求出Angle_1,Angle_21、 室內(nèi)溫度>理想溫度>室外溫度 Angle_1=(室內(nèi)溫度-室外溫度)*權重12、 室內(nèi)溫度>室外溫度> 理想溫度 Angle_1=100%3、 理想溫度>室內(nèi)溫度>室外溫度 Angle_1=04、 室外溫度>理想溫度>室內(nèi)溫度 Angle_1=(室外溫度-室內(nèi)溫度)*權重15、 室外溫度>室內(nèi)溫度>理想溫度 Angle_1=06、 理想溫度>室外溫度>室內(nèi)溫度 Angle_1=100%7、 室內(nèi)濕度>理想濕度>室外濕度 Angle_2=
35、(室內(nèi)濕度-室外濕度)*權重28、 室內(nèi)濕度>室外濕度> 理想濕度 Angle_2=100%9、 理想濕度>室內(nèi)濕度>室外濕度 Angle_2=010、 室外濕度>理想濕度>室內(nèi)濕度 Angle_2=(室外濕度-室內(nèi)濕度)*權重211、 室外濕度>室內(nèi)濕度>理想濕度 Angle_2=012、 理想濕度>室外濕度>室內(nèi)濕度 Angle_2=100%最終確定的角度大小Angle=(Angle_1+ Angle_2)/2;若Angle<0,則Angle=0;然后驅動電機調(diào)節(jié)窗戶角度即可。4、通訊模塊底層軟件設計4.1MC37i模塊的啟
36、動。(1)MC37i的啟動方式共有四種:n 硬件上通過IGT(點火腳)啟動:啟動普通模式n 軟件上通過AT+CFUN指令來重啟:啟動普通模式和報警模式n 硬件上通過VCHARGE腳啟動:啟動充電模式n 通過RTC中斷從電源關閉模式中喚醒:啟動報警模式(2)我們采用第一種啟動方式。使用IGT腳來啟動MC37i需要在BATT+達到3.3V后將IGT(點火腳)接地至少100ms。這可以使用一個OC門(open drain/collector)來完成以避免電流灌入此引腳。因此,本設計中將單片機與IGT連接的引腳PB1管腳設置為開漏輸出模式,即輸出低電平時管腳接地,拉低IGT引腳;輸出高電平時管腳處于懸
37、空,電壓被IGT拉高,防止損壞單片機。CTS高電平說明模塊已經(jīng)準備作為主機接收數(shù)據(jù)了。另外如果設置了波特率修正(AT+IPR!=0),模塊將會發(fā)送”SYSSTART”(主動提供結果碼)以提示主機程序:可以發(fā)送AT指令到模塊了。在主動提供結果碼輸出之前為了改變SIM卡將會花費2秒鐘,尤其是SIM腳請求在SIM卡上被失能。請注意,如果自動波特率(AT+IPR=0)使能,將不會有“SYSSTART”(主動提供結果碼)被發(fā)送。以下是MC37i通過IGT方式啟動時的時序圖。其中Reset是當模塊處理器上電后內(nèi)部的一個置高的信號。圖3-4 MC37i啟動時序圖4.2 MC37i指令簡介啟動后,為實現(xiàn)通信功
38、能,通過單片機串口與MC37i連接,并用AT指令與MC37i模塊通信。AT指令可以小寫也可以大寫,但在每次結束一條AT指令都需要以<CR>結束。每發(fā)一條AT指令,正常情況下都會以一條反饋語句結束,格式為“<CR><LF><response><CR><LF>”。本設計中通信模塊軟件設計中用到的指令如下:查看當前設備波特率:AT+IPR?修改當前設備波特率:AT+IPR=(固定修改為9600)保存當前修改參數(shù): AT&W查看當前設備接收信號:AT+CSQ 回車撥號命令 ATD 撥打電話號碼掛機命令 ATH 掛機發(fā)送短消
39、息測試:AT+CMGF=1 回車AT+CMGS=(手機號碼) 回車輸入內(nèi)容 快捷鍵“CTRL Z”發(fā)送查看短信中心:AT+CSCA? 回車修改短信中心:AT+CSCA=(短信中心號碼) 回車顯示手機卡是否安裝正常(顯示手機 SIM 卡號):AT+CCID新消息提示 :AT+CNMI 選擇當有新的短消息來時系統(tǒng)提示方式讀短消息: AT+CMGR 讀取短消息列短消息 :AT+CMGL 將存儲的短消息列表發(fā)送短消息: AT+CMGS 發(fā)送短消息寫短消息: AT+CMGW 寫短消息并保存在存儲器中從內(nèi)存中發(fā)短消息 :AT+CMSS 發(fā)送在存儲器中保存的短消息設置 TEXT 參數(shù) :AT+CSMP 設置
40、在TEXT 模式下條件參數(shù)刪除短消息 :AT+CMGD 刪除保存的短消息4.3通信模塊初始化設計:MC37i每次上電啟動都會發(fā)出“SYSSTART”字符串,本設計以此作為該通信模塊啟動的標志,當檢測到該字符串,才繼續(xù)進行其他指令。初始化過程如下: 發(fā)送ATE0r指令,讓系統(tǒng)不再把指令回顯,方便單片機檢測;等到系統(tǒng)反饋“OK”結束。 發(fā)送AT+CMGF=1r指令,將短消息設置為文本模式,方便讀?。坏鹊较到y(tǒng)反饋“OK”結束。 發(fā)送AT+CNMI=1,1,0,0,1r指令,設置短消息提醒;等到系統(tǒng)反饋“OK”結束4.4接收短消息設計:當MC37i接收到短信息時,會通過串口向單片機直接反饋一條格式為“
41、<CR><LF><+CMT:,xx><CR><LF>”的消息,xx表示收到的短信息存儲在sim卡中的位置。此時,我們就可以通過讀短消息指令讀取該信息。在串口中斷中設置一個標志,當收到<CR><LF><+CMT:,xx><CR><LF>字符串時,說明已經(jīng)接收到短消息,并提供短消息存儲地址,讀取該地址,然后用AT+CMGR=xxr指令讀取xx位置的短消息內(nèi)容。4.5發(fā)送短消息設計:(1) 發(fā)送AT+CMGF=1r指令,將短消息設置為文本模式,方便讀?。坏鹊较到y(tǒng)反饋“OK”結束。(
42、2)發(fā)送AT+CSCS="GSM"r指令,進行短消息測試,等到系統(tǒng)反饋“OK”結束。(3)發(fā)送AT+CMGS="”r指令,設置接收短消息號碼,等到系統(tǒng)反饋“<”后,在要發(fā)送的字符串結尾加上0x1A字符后經(jīng)串口發(fā)送到系統(tǒng),等到系統(tǒng)反饋“+CMGS:70 OK”,說明短消息已發(fā)送成功,發(fā)送短消息結束。5、通訊模塊人機交互指令設計本設計為方便用戶使用,設計了一套用戶手機指令,用戶可以通過手機短信發(fā)送規(guī)定的指令實現(xiàn)對智能窗的控制、系統(tǒng)信息的獲取和設置。指令集均已smart window的英文首字母SW開頭,不同的后綴代表不同功能。以下是指令列表和描述:指令名稱功能描
43、述SW+HOST=?(或XXX)?表示查詢用戶手機號,系統(tǒng)會返回當前用戶手機號列表;XXX表示將當前用戶更換為手機號為XXX的用戶。SW+ANGLE=X調(diào)整智能窗的開度為X,X需為整數(shù)。0表示全關,90表示全開。SW+ALARM=?(或YES或NO)紅外報警開關,YSE表示打開;NO表示關閉;?表示查詢當前報警狀態(tài),系統(tǒng)會返回YES或NO作為回應。SW+AUTO=?(或YES或NO)自動調(diào)節(jié)開關,YSE表示打開;NO表示關閉;?表示查詢當前狀態(tài),系統(tǒng)會返回YES或NO作為回應。SW+TH=?查詢當前環(huán)境,即室內(nèi)外溫濕度情況,系統(tǒng)會返回結果如下:I,25,25%,O,30,30%此例表示室內(nèi)溫度
44、25度,濕度25%;室外溫度30度,濕度30%。6、系統(tǒng)輸入的軟件設計方案本項目中4*4鍵盤在軟件中采用動態(tài)掃描的方式進行鍵值的讀取。動態(tài)掃描的原理如下:把鍵盤的行和列分別接在03口和47口,先置03口為帶數(shù)據(jù)緩存器的高電平輸出,置47口為輸入端口,此時若有按鍵按下,就會得到47的一個值,把此值保存下來,再置47口為帶數(shù)據(jù)反相器的高電平輸出,置03口為輸入端口。再次掃描得到鍵值,把這兩個值組合就可得知是哪個鍵按下,再通過查表得鍵值。進而通過相應的程序段實現(xiàn)程序的調(diào)用,實現(xiàn)不同的功能。程序流程圖如圖3-5所示:圖3-5 按鍵掃描流程圖7、LCD顯示界面設計方案作為整個系統(tǒng)中主要的人機交互部分之一
45、,該部分軟件設計過程中主要為實現(xiàn)顯示、設置界面。該系統(tǒng)啟動后,首先在液晶屏上顯示歡迎界面,接著顯示實時的室內(nèi)、室外的溫度、濕度,用戶可以根據(jù)自己的喜好或者溫濕度數(shù)據(jù)選擇界面中的開、關窗戶按鍵,進行開關窗戶操作。此部分不需要輸入密碼就可以操作,保證用戶操作簡單。該部分的軟件框圖如圖3-6所示。同時,為了保證用戶的個人操作權利,還可以選擇界面中的設置按鍵,不過要想設置,首先要輸入密碼,只有密碼正確才能進行下面的操作,即沒有密碼的用戶只有部分的操作權限。當輸入正確的密碼后,就進入設置界面,該界面主要包括修改密碼、修改手機號、報警設置,再根據(jù)不同的按鍵選擇不同的功能,進而繼續(xù)操作。該部分的軟件框圖如圖
46、3-7所示。圖3-6 顯示主界面框圖圖3-7 設置界面框圖四、系統(tǒng)測試方案1、角度標定測試為了實現(xiàn)窗戶角度的精確測量和控制,需對窗戶開度最大和最小時的角度進行標定,因為窗戶的最大開度不是90度。首先當窗戶完全關閉時,記錄單片機AD采樣值Value1,以此作為0度角對應的采樣值;當窗戶完全打開時(窗戶的最大開度收電動推桿的行程約束),首先用量角器測得窗戶角度X,然后記錄單片機AD采樣值Value2, 以此作為X度角對應的采樣值。圖4-1 電位器電路圖由電位器的電路圖可知:由上式計算得到0度和最大開度X時的電阻值和。然后可由以下公式計算任意角度對應的采樣值:經(jīng)過多次測量去均值,得到實際測試結果為:
47、角度AD測得的電壓值02.4080(最大值)1.86代入數(shù)據(jù),最終得到電壓和角度的轉換公式為:voltage = (90-angle)*0.15+12.6)/(90-angle)*0.15+22.4)*3.32、角度控制精度測試角度控制的程序流程圖如下:圖4-2 角度控制流程圖輸入目標角度,調(diào)用角度控制函數(shù),分別測試30,60,70度時角度控制精度。結果如下:目標角度實測值平均值誤差303446058270733由表格可知,控制誤差在設計目標之內(nèi)。3、多個溫度傳感器融合算法測試為了驗證傳感器融合中使用的分布圖法的有效性,即是否能夠剔除無效的數(shù)據(jù)我們進行了如下測試:(1)將室內(nèi)6個傳感器的任意一
48、個放到室外陽光直射條件下,即模擬疏忽誤差的情況。獲得一組6個傳感器的數(shù)據(jù)如下:傳感器1傳感器2傳感器3傳感器4傳感器5傳感器6融合值40.426125.827.025.326.526125.440.525.827.025.326.526.025.426225.827.025.343.525.9由上述測量機融合數(shù)據(jù)可得,對于一個傳感器有疏忽誤差的情況,本設計中采用的融合算法能夠有效的克服。參考文獻:1喻金錢,喻斌.STM32系列ARM Cortex-M3內(nèi)核微控制器開發(fā)與應用M2夏卓君.分布圖法在疏忽誤差處理中的應用J.實用測試技術,2002,22項新建.基于多傳感器數(shù)據(jù)融合的糧食倉庫溫度監(jiān)測系
49、統(tǒng)J.儀器儀表學報,2003,24(5)4張輝宜,沈暉,陶永.嵌入式數(shù)據(jù)融合系統(tǒng)的設計與實現(xiàn)J.計算機工程與應用,2011,47(2)附錄1:核心程序int main(void) u8 i=0,j=0; /*變量定義*/int open_angle=0;char message200=0;char host_num_flag=0; /* 配置系統(tǒng)時鐘為 72M */ SystemInit();IR_Init();/*紅外初始化*/ Motor_Init();/* 電機初始化*/ /* USART1 config 8-N-1 */USART1_Config();/* 配置SysTick 為10u
50、s中斷一次 */* LCD 端口初始化 */init_lcd();DS18B20_Init();DHT11_Init();/* 外接4*4按鍵初始化 */KeyInit(); USART1_Config();USART3_Config();Usart1SendStr("Hello!n");mc37i_init();/* TIM2 定時配置 */TIM2_NVIC_Configuration(); TIM2_Configuration();/* TIM2 開始計時 */START_TIME; while (1)/主循環(huán) /*溫濕度顯示-主界面*/if(temp_refresh
51、_flag=1)/定時一分鐘刷新 DHT11_get_data(&H1,&H2); temp_fusion(&T1,&T2); temp_refresh_flag=0;/*短消息處理*/ if(massage_coming=1) /讀短消息 mc37i_read_message(message,&host_num_flag);massage_coming=0;if(host_num_flag=1) if(message0='S'&&message1='W'&&message3='H&
52、#39;&&message4='O'&&message5='S'&&message6='T')/SW+HOST="" 修改電話號碼指令 FLASH_ErasePage(ADDR);/Flash for(i=0;i<11;i+) host_numi =messagei+9-'0' FLASH_ProgramHalfWord(ADDR+i*2 ,host_numi);/ 重新將密碼存進Flash if(message0='S'&&
53、message1='W'&&message3='A'&&message4='N'&&message5='G'&&message6='L'&&message7='E')/SW+ANGLE=50 修改窗戶開角度 open_angle= (int)(message9-'0')*10+(int)(message10-'0') ; printf("%dn",open_angle); /Angle_control(open_angle); if(message0='S'&&message1='W'&&message3='A'&&message4='L'&&message5='A'&&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度酒店客房用品定制及采購合同
- 2025年度供用熱力設施運行維護服務合同
- 2025國際貨物出口合同范本:市場準入與風險控制
- 2025年度空調(diào)安裝與綠色環(huán)保材料使用合同
- 2025年度公司注銷專項服務合同書
- 2025年度城市軌道交通工程建設招標投標合同文書
- 2025年度廣告內(nèi)容審查與合規(guī)審核服務合同范本
- 2025年度全球勞務派遣及勞務派遣培訓合同
- 2025年度煤層氣勘探開發(fā)承包合同
- 2025年度建筑裝修裝飾工程合同范本
- 焊接機器人在汽車制造中應用案例分析報告
- 重建成長型思維課件
- 電捕焦油器火災爆炸事故分析
- 質(zhì)量問題分析及措施報告
- 汽修廠安全風險分級管控清單
- 現(xiàn)代通信原理與技術(第五版)PPT全套完整教學課件
- 病例展示(皮膚科)
- DB31T 685-2019 養(yǎng)老機構設施與服務要求
- 燕子山風電場項目安全預評價報告
- 高一英語課本必修1各單元重點短語
- 完整版金屬學與熱處理課件
評論
0/150
提交評論