版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
摘要隨著時(shí)代的發(fā)展和社會的進(jìn)步,人們對于生活水平的要求越來越高,因此基于各種微控制器的家用電器也在飛速發(fā)展。電風(fēng)扇作為一種在炎熱天氣經(jīng)常使用的家用電器,應(yīng)用十分廣泛。電風(fēng)扇相對于空調(diào)來說經(jīng)濟(jì)實(shí)惠且耗能低,因此電風(fēng)扇成為了更多人的選擇。老式的風(fēng)扇往往需要人為開啟、關(guān)閉以及調(diào)節(jié)檔位風(fēng)速,這對于老年人和活動(dòng)不方便的病人來說十分困難,因此提高老式電風(fēng)扇的智能化程度十分重要。在眾多的微控制器中,STM32作為一種價(jià)格相對低廉,編程相對便捷的微控制器被廣泛應(yīng)用于各種智能家居之中,例如掃地機(jī)器人、心率監(jiān)測手環(huán)、無人機(jī)等。本文研究的是一種基于STM32的智能溫控風(fēng)扇,該風(fēng)扇具有液晶顯示功能,顯示有溫度、閾值、檔位、模式、是否檢測到人體等指標(biāo);具有人體紅外檢測功能,檢測是否有人出現(xiàn);具有溫度檢測模塊測量環(huán)境或人體溫度;能夠通過按鍵控制模式、閾值、檔位,并且按鍵設(shè)置的指標(biāo)均可通過藍(lán)牙模塊與藍(lán)牙調(diào)試助手設(shè)置。該風(fēng)扇操作簡單、功能豐富、耗能低,可以被廣泛應(yīng)用。關(guān)鍵詞:STM32;智能溫控風(fēng)扇;紅外檢測;藍(lán)牙AbstractWiththedevelopmentsofthetimesandtheprogressofsociety,peoplehavehigherandhigherrequirementsforlivingstandards.Therefore,householdappliancesbasedonvariousmicrocontrollersarealsodevelopingrapidly.Electricfans,asakindofhouseholdappliance,areoftenusedinhotweatherwidely.Comparedwithairconditioners,electricfansaremoreeconomicalandconsumelessenergy,andthuspreferredbymostpeople.Asweknow,theoldtypeoffansoftenhastobemanuallyturnedonandoffaswellasadjustedforwindspeedingear,whichisdifficultfortheelderlyandpatientswithlimitedmobility.Inthiscase,improvingtheintelligenceoftheoldelectricfansbecomesveryimportant.Amongmanymicrocontrollers,STM32,asarelativelycheapandconvenientmicrocontroller,iswidelyusedinvarioussmarthomessuchasfloorsweepingrobot,heartratemonitoringbracelet,UAVandsoon.Inthispaper,anintelligenttemperaturecontrolfanisinvestigatedbasedontheSTM32.Thefanhasaliquidcrystaldisplayfunction,whichcandisplaytemperature,threshold,gear,mode,whethertodetectthehumanbodyandotherindicators,anditalsohasinfrareddetectionfunctionofhumanbody.Inaddition,ithasatemperaturedetectionmoduletomeasurethetemperatureoftheenvironmentorhumanbody.Themode,thresholdandgearcanbecontrolledbypressingthekey,andtheindicatorssetbypressingthekeycanbesetbyBluetoothmoduleandBluetoothdebuggingassistant.Thefanhastheadvantagesofsimpleoperation,richfunctionsandlowenergyconsumption,andthuscanbewidelyused.Keywords:STM32;intelligenttemperaturecontrolfan;infrareddetection;Bluetooth
目錄TOC\o"1-2"\h\u11893摘要 324335Abstract 38529第1章緒論 5198471.1概述 5251921.2課題研究的背景及意義 5163651.3國內(nèi)外研究現(xiàn)狀 5227391.4主要研究方式 6102251.5論文結(jié)構(gòu) 68859第2章系統(tǒng)方案設(shè)計(jì) 767202.1系統(tǒng)設(shè)計(jì)目標(biāo) 7238952.2主控芯片的選擇 7131052.3溫度傳感器的選擇 8155412.4顯示電路的選擇 914422.5鍵盤輸入模塊的選擇 998192.6本章小結(jié) 103549第3章系統(tǒng)硬件電路部分 1014763.1硬件系統(tǒng)總體設(shè)計(jì) 10124113.2單片機(jī)最小系統(tǒng) 10245753.3溫度檢測電路設(shè)計(jì) 11198793.4人體檢測電路設(shè)計(jì) 12119063.5HC-05傳輸電路設(shè)計(jì) 13294853.6顯示模塊電路設(shè)計(jì) 143603.7風(fēng)扇驅(qū)動(dòng)電路設(shè)計(jì) 15195063.8本章小結(jié) 1611479第4章系統(tǒng)軟件設(shè)計(jì) 1791034.1軟件編程要求 1788024.2硬件編程軟件介紹 17138604.3編程語言選擇 18242224.4系統(tǒng)初始化程序設(shè)計(jì) 19155174.5溫度獲取子程序設(shè)計(jì) 20215774.6人體檢測子程序設(shè)計(jì) 2142214.7HC-05控制子程序設(shè)計(jì) 22188604.8顯示數(shù)據(jù)子程序設(shè)計(jì) 23118864.9本章小結(jié) 24553第5章實(shí)物調(diào)試 25102795.1系統(tǒng)硬件測試 2574385.2系統(tǒng)的軟件測試 25272385.3系統(tǒng)的調(diào)試分析 2672045.4本章小結(jié) 298141結(jié)論 2922419參考文獻(xiàn) 3132684致謝 32第1章緒論1.1概述在天氣炎熱的夏季,電風(fēng)扇是大多數(shù)家庭必不可少的一種家用電器,傳統(tǒng)家庭使用的風(fēng)扇大多功能單一,只能做到人為設(shè)置風(fēng)扇左右擺動(dòng)以及通過風(fēng)扇上的按鍵來進(jìn)行風(fēng)速的檔位調(diào)節(jié),而且不同的檔位之間風(fēng)速差值過大,手動(dòng)操作對于行動(dòng)不便的老人以及病人來說并不適用。因此,針對這些老式風(fēng)扇的缺點(diǎn),本文研究了一種基于STM32系列單片機(jī)控制的智能溫度控制風(fēng)扇。STM32系列單片機(jī)具有較好的性能以及合理的功耗,并且有豐富的芯片型號供我們選擇、價(jià)格低廉,適用于開發(fā)大規(guī)模的產(chǎn)品。該智能溫控風(fēng)扇采用了DS18B20溫度傳感器模塊對周圍的環(huán)境溫度進(jìn)行采集并將數(shù)據(jù)傳輸入單片機(jī)中,經(jīng)過處理后可根據(jù)溫度來調(diào)節(jié)檔位以及風(fēng)速。利用紅外人體檢測模塊檢測周圍是否有人并智能控制風(fēng)扇的開啟與關(guān)閉??赏ㄟ^按鍵設(shè)置自動(dòng)或手動(dòng)模式、風(fēng)速檔位、溫度閾值以及在自動(dòng)模式下調(diào)節(jié)風(fēng)速等,并且這些參數(shù)都可以通過OLED液晶顯示屏顯示,同時(shí)可以通過藍(lán)牙調(diào)試助手遠(yuǎn)程無線控制風(fēng)扇模式、檔位、閾值等。1.2課題研究的背景及意義溫控風(fēng)扇系統(tǒng)是根據(jù)當(dāng)時(shí)溫度情況去自動(dòng)開通和關(guān)閉電風(fēng)扇,能夠很好的節(jié)約電能,同時(shí)也方便用戶們的使用更具人性化。而且溫控風(fēng)扇系統(tǒng)在工業(yè)生產(chǎn)、日常生活中都有廣泛的應(yīng)用,如在工業(yè)生產(chǎn)中大型機(jī)械設(shè)備的散熱系統(tǒng),或筆記本電腦上的智能CPU風(fēng)扇等基于單片機(jī)的溫控風(fēng)扇都能夠根據(jù)環(huán)境溫度的高低自動(dòng)啟動(dòng)或停止轉(zhuǎn)動(dòng),并能夠根據(jù)溫度的變化實(shí)現(xiàn)轉(zhuǎn)速的自動(dòng)調(diào)節(jié)。因此,溫控風(fēng)扇的研究具有一定的實(shí)用價(jià)值。在萬物互聯(lián)技術(shù)飛速發(fā)展的今天,數(shù)據(jù)反饋交互變得越來越重要。自主化的數(shù)據(jù)處理、反饋是人們更加期盼的。因此,智能設(shè)備的發(fā)展尤為重要,智能設(shè)備的使用不但可以緩解人們的工作負(fù)擔(dān),還可以在一定程度上減少人為的工作失誤,降低工作中不必要的損失。在這樣的需求下,微處理器系統(tǒng)的發(fā)展尤為重要,微處理器系統(tǒng)對于數(shù)據(jù)的敏感性也是智能行業(yè)蓬勃發(fā)展的主要影響因素。在現(xiàn)有技術(shù)方法上進(jìn)行思想的融合,將會促進(jìn)整個(gè)行業(yè)的發(fā)展。1.3國內(nèi)外研究現(xiàn)狀隨著國內(nèi)計(jì)算機(jī)技術(shù)的飛速發(fā)展,信息化水平有了很大的進(jìn)步。近幾年,我國電風(fēng)扇市場發(fā)展迅速,產(chǎn)品產(chǎn)出持續(xù)擴(kuò)張,國家產(chǎn)業(yè)政策鼓勵(lì)電風(fēng)扇產(chǎn)業(yè)向高技術(shù)產(chǎn)品方向發(fā)展,國內(nèi)企業(yè)新增投資項(xiàng)目逐漸增多。投資者對電風(fēng)扇市場的關(guān)注越來越密切,這使得電風(fēng)扇市場技術(shù)發(fā)展需求急劇增大。隨著計(jì)算機(jī)技術(shù)、控制技術(shù)、信息技術(shù)的快速發(fā)展,工業(yè)的生產(chǎn)和管理進(jìn)入了自動(dòng)化、信息化和智能化時(shí)代,智能化已經(jīng)成為時(shí)代發(fā)展的需要?;谏a(chǎn)現(xiàn)場和日常生活的實(shí)際需要,研究和開發(fā)智能電風(fēng)扇控制具有十分重要的意義。該設(shè)計(jì)可以應(yīng)用于工廠自動(dòng)化、倉庫管理、智能玩具和民用服務(wù)等領(lǐng)域,可提高勞動(dòng)生產(chǎn)效率,改善勞動(dòng)環(huán)境。國外在電風(fēng)扇方面的研究相對我國并沒有展現(xiàn)出極強(qiáng)的積極性,但是在智能化電器方面的研究部分卻領(lǐng)先于我國。智能化電器包含三個(gè)層次:智能化的電器元件(如智能化斷路器、智能化接觸器和智能化磁力啟動(dòng)器等),智能化開關(guān)柜和智能化供配電系統(tǒng)。智能化開關(guān)柜包含多臺斷路器,而且供電系統(tǒng)的控制與用電設(shè)備的控制關(guān)系很密切。這兩個(gè)層次上的智能化工作重點(diǎn)是加強(qiáng)網(wǎng)絡(luò)功能,最大限度地提高配電系統(tǒng)和用電設(shè)備的自動(dòng)化水平[1]。作為一種常用的家用電器,電風(fēng)扇在如今雖被廣泛普及,但是功能大多還停留在數(shù)年之前,大多數(shù)電器廠家并沒有對其投入太多的關(guān)注。所以電風(fēng)扇的智能化也和所有的家用電器智能化一樣,必將成為一種新的發(fā)展需要[2]。1.4主要研究方式本次系統(tǒng)屬于嵌入式方向,一方面,我們要學(xué)習(xí)硬件連接、數(shù)據(jù)傳輸?shù)南嚓P(guān)原理。另一方面,也要學(xué)習(xí)軟件邏輯處理、控制編程等知識。相關(guān)理論知識、技術(shù)知識的研究方式如下:(1)前沿期刊研讀:通過相關(guān)文獻(xiàn)網(wǎng)站進(jìn)行前沿技術(shù)論文的研讀,掌握當(dāng)前相關(guān)系統(tǒng)的研究現(xiàn)狀以及研究技術(shù)。進(jìn)一步掌握當(dāng)前熱門開發(fā)技術(shù),為后期的系統(tǒng)開發(fā)夯實(shí)穩(wěn)定的理論儲備。(2)開發(fā)文檔閱讀:通過瀏覽器進(jìn)行相關(guān)模塊開發(fā)文檔的下載閱讀,通過開發(fā)文檔我們能夠準(zhǔn)確的了解模塊的性能、運(yùn)行參數(shù)、傳輸協(xié)議、注意事項(xiàng)以及管腳傳輸標(biāo)準(zhǔn)??焖俚恼莆諗?shù)據(jù)的打包傳輸格式,為后期的軟件編程邏輯控制提供可靠的硬件支持。(3)編程語言學(xué)習(xí):在熟悉硬件相關(guān)知識后,進(jìn)行邏輯控制語言的學(xué)習(xí)。掌握和熟悉傳輸信號的控制,然后進(jìn)行軟件邏輯的相關(guān)編程,實(shí)現(xiàn)硬件自主化工作。軟件編程邏輯也是整個(gè)系統(tǒng)實(shí)現(xiàn)智能控制的關(guān)鍵所在,通過軟件編程實(shí)現(xiàn)整個(gè)硬件數(shù)據(jù)的獲取與控制。1.5論文結(jié)構(gòu)本次設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)要實(shí)現(xiàn)多種模式的風(fēng)扇控制,系統(tǒng)通過外圍檢測設(shè)備獲取環(huán)境數(shù)據(jù)(環(huán)境溫度、是否有人、無線控制、按鍵控制),搭配數(shù)據(jù)傳輸通信模塊以及微處理器CPU模塊控制整個(gè)檢測工作的自主邏輯。本文通過不同章節(jié)分階段論述整個(gè)系統(tǒng)落地實(shí)現(xiàn),通過不同章節(jié)進(jìn)行設(shè)計(jì)過程中不同的側(cè)重點(diǎn)(理論知識、實(shí)踐過程、工作流程等)的論述。各個(gè)章節(jié)的主要工作說明如下:第一章:通過闡述研究背景以及意義說明系統(tǒng)的實(shí)際用途。通過大量期刊論文資料的閱讀了解當(dāng)前相關(guān)科研的最新進(jìn)展。通過研究方式的介紹說明整個(gè)系統(tǒng)開發(fā)架構(gòu)。通過不同方面表明系統(tǒng)的可行以及前沿性;第二章:在該章節(jié)進(jìn)行系統(tǒng)設(shè)計(jì)目標(biāo)、系統(tǒng)完成功能的簡要說明。通過硬件連接說明圖進(jìn)行輔助說明,使得能夠更加清晰的了解實(shí)現(xiàn)脈絡(luò)。然后在進(jìn)行相關(guān)主要控制模塊的選型,通過系統(tǒng)的應(yīng)用場景進(jìn)行各個(gè)模塊的性能的對比選型。確定系統(tǒng)開發(fā)的相關(guān)外圍控制模塊,最后進(jìn)行系統(tǒng)性能標(biāo)準(zhǔn)的闡述說明;第三章:介紹各個(gè)數(shù)據(jù)采集模塊以及微處理器CPU單元的工作原理,從每個(gè)模塊的數(shù)據(jù)傳輸模式、數(shù)據(jù)獲取方式等不同方面進(jìn)行模塊說明。通過各個(gè)模塊的工作原理說明進(jìn)一步掌握模塊的工作方式;第四章:在了解到硬件數(shù)據(jù)的獲取儲存格式后,通過軟件設(shè)計(jì)實(shí)現(xiàn)整個(gè)系統(tǒng)自主化工作;第五章:在系統(tǒng)的功能設(shè)計(jì)完成后,為了確保系統(tǒng)的泛化性以及穩(wěn)定性。先通過對硬件的各部分以及整體進(jìn)行性能檢測,然后在對軟件部分的子函數(shù)以及主函數(shù)進(jìn)行軟件調(diào)試。最后將軟硬件結(jié)合測試,保證最終設(shè)計(jì)的成功實(shí)現(xiàn)。第2章系統(tǒng)方案設(shè)計(jì)2.1系統(tǒng)設(shè)計(jì)目標(biāo)本文設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng),主要工作是進(jìn)行不同模式的風(fēng)扇控制。通過單片機(jī)搭配外圍檢測模塊進(jìn)行相關(guān)環(huán)境數(shù)據(jù)智能化監(jiān)測[3][4]。系統(tǒng)通過外圍檢測模塊進(jìn)行環(huán)境模擬數(shù)據(jù)的采集、數(shù)據(jù)模數(shù)轉(zhuǎn)化工作。然后,系統(tǒng)微處理器單片機(jī)通過CPU進(jìn)行數(shù)據(jù)化讀取儲存,并且通過邏輯判斷進(jìn)行異常數(shù)據(jù)檢測。系統(tǒng)當(dāng)檢測到數(shù)據(jù)異常后,會搭配數(shù)據(jù)傳輸模塊進(jìn)行用戶的及時(shí)提醒,減少不必要的安全隱患、財(cái)產(chǎn)損失。系統(tǒng)的方案目標(biāo)可分為以下幾方面:(1)系統(tǒng)能夠時(shí)實(shí)進(jìn)行相關(guān)環(huán)境數(shù)據(jù)的采集工作,成功處理數(shù)據(jù)為可傳輸?shù)哪J剑?2)系統(tǒng)能夠搭建時(shí)實(shí)的數(shù)據(jù)傳輸通道,實(shí)現(xiàn)外圍檢測數(shù)據(jù)獲取端、微處理器單片機(jī)數(shù)據(jù)邏輯處理端的分離;(3)系統(tǒng)能夠?qū)崿F(xiàn)友好的人機(jī)交互,并且能夠搭配數(shù)據(jù)展現(xiàn)端進(jìn)行操作的智能提示、反饋以及數(shù)據(jù)的展示。2.2主控芯片的選擇單片機(jī)是系統(tǒng)功能得以實(shí)現(xiàn)的重要保證,需要合理正確的選擇。在選擇單片機(jī)芯片時(shí)主要考慮以下幾個(gè)方面:(1)單片機(jī)的工作電壓,為了實(shí)現(xiàn)低功耗,需要采用工作電壓較低的單片機(jī)來實(shí)現(xiàn)系統(tǒng)的功能;(2)單片機(jī)的工作溫度范圍,如果單片機(jī)的工作溫度范圍過低不能適應(yīng)較高溫度的環(huán)境容易導(dǎo)致系統(tǒng)異常;(3)通用I/O口個(gè)數(shù),要用到很多的外界模塊進(jìn)行數(shù)據(jù)交互等,要有足夠I/O進(jìn)行模塊與單片機(jī)之間的連接;(4)由于需要的功能模塊較多,考慮單片機(jī)的存儲空間是否足夠;(5)為了盡可能地降低功耗,考慮單片機(jī)可以滿足的低功耗模式;(6)考慮單片機(jī)的不同工作環(huán)境,選擇抗干擾能力強(qiáng)的單片機(jī);(7)為了推廣大規(guī)模使用,單片機(jī)的成本必須要考慮。在本文中設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)中,有兩種微處理器單片機(jī)可供選擇:方案一:STM32單片機(jī),該處理器單元是當(dāng)前嵌入式最熱門單片機(jī),該單片機(jī)能夠快速的實(shí)現(xiàn)相關(guān)的運(yùn)算以及數(shù)據(jù)存儲讀取工作,該單片機(jī)也能快速的實(shí)現(xiàn)外部設(shè)備的連接,較低的能耗以及較高的性能也是其流行的主要原因。該單片機(jī)提供多個(gè)DMA通道,內(nèi)部中斷以及輸出輸入通道。當(dāng)程序代碼在系統(tǒng)中處理的時(shí)候,系統(tǒng)通過強(qiáng)大的抗干擾能力以及高速處理能力為程序代碼的運(yùn)行提供可靠依據(jù)。STM32的時(shí)鐘特點(diǎn)也能夠?yàn)槲覀兊南到y(tǒng)提供更可靠的服務(wù),系統(tǒng)能夠及時(shí)快速進(jìn)行相關(guān)的邏輯處理,這也是使得系統(tǒng)應(yīng)用到不同數(shù)據(jù)監(jiān)測系統(tǒng)的主要原因。由于本系統(tǒng)對于環(huán)境監(jiān)測數(shù)據(jù)及時(shí)性的要求,STM32單片機(jī)能夠輕松勝任我們的工作要求。該單片機(jī)在當(dāng)微控制系統(tǒng)中的市場占比比較大,相關(guān)的開發(fā)環(huán)境、開發(fā)文檔、開發(fā)技術(shù)也比較完善,非常適合相關(guān)檢測系統(tǒng)的開發(fā)。方案二:52單片機(jī),52單片機(jī)是基于內(nèi)核52的8位處理器,該單片機(jī)內(nèi)部提供穩(wěn)定高效的工作頻率,內(nèi)置可反復(fù)擦拭的Flash以及52字節(jié)的RAM,該單片機(jī)能夠兼容多種指令集和多個(gè)引腳。52單片機(jī)對于小批量數(shù)據(jù)能夠及時(shí)快速的進(jìn)行讀取,能夠輕松駕馭相關(guān)環(huán)境檢測系統(tǒng)的開發(fā)。52單片機(jī)內(nèi)置的復(fù)位單元能節(jié)省外部資源空間。該微處理器單元能夠在不借助編碼器下通過串口進(jìn)行程序的上傳,也非常適合相關(guān)數(shù)據(jù)檢測系統(tǒng)的開發(fā)。綜合對比兩種方案的選擇,兩種單片機(jī)都能實(shí)現(xiàn)本次系統(tǒng)開發(fā)的目標(biāo),但是對于實(shí)際應(yīng)用情況的考慮。本次開發(fā)實(shí)現(xiàn)的系統(tǒng)要進(jìn)行多種數(shù)據(jù)采集工作。因此,綜合考慮系統(tǒng)的反應(yīng)時(shí)間、系統(tǒng)性能、系統(tǒng)的開發(fā)成本,我們最終選擇STM32單片機(jī)作為本次溫控風(fēng)扇系統(tǒng)的微控制器。2.3溫度傳感器的選擇本設(shè)計(jì)是基于溫度控制的一款嵌入式風(fēng)扇,所以溫度傳感器的選擇對于該設(shè)計(jì)尤為重要。方案一:利用檢測溫度的熱敏電阻和運(yùn)算放大器組成的熱敏電阻溫度測量電路。由于溫度變化從而引起熱敏電阻的電阻率發(fā)生變化,進(jìn)而使輸入電壓發(fā)生變化。通過模數(shù)器將模擬信號轉(zhuǎn)變成數(shù)字信號再傳入單片機(jī)中進(jìn)行處理。方案二:運(yùn)用熱電偶為核心的測量電路來檢測溫度變化,并通過信號轉(zhuǎn)化將信號傳入單片機(jī)中進(jìn)行處理。方案三:采用DS18B20模塊來檢測溫度。DS18B20是一款數(shù)字溫度傳感器,無需采用轉(zhuǎn)換模塊,可直接將數(shù)字信號采集并送入單片機(jī)。熱敏電阻由于其溫度系數(shù)比其它金屬高,所以靈敏度較高,而且由于其工作范圍大,體積小便于測量狹小空間等優(yōu)點(diǎn)被廣泛應(yīng)用。但是它的缺點(diǎn)也極為明顯,其阻值和溫度的關(guān)系是非線性的,雖然可以通過一些電路加以修正,但是修正的電路是極為復(fù)雜的,不適用于我們的系統(tǒng)之中,并且它的穩(wěn)定性相對比較差,不易更換。熱電偶測量電路的優(yōu)缺點(diǎn)也十分明顯。熱電偶相對于熱面電阻來說非線性得到極大改善,并且堅(jiān)實(shí)耐用無自身發(fā)熱。熱電偶的測量范圍非常的廣,可達(dá)到-200到+2500攝氏度。然而熱電偶也有其缺點(diǎn),例如信號調(diào)理電路復(fù)雜,一旦處理不當(dāng)就會引入誤差,導(dǎo)致精度下降,并且熱電偶的抗干擾能力差,當(dāng)周圍有雜亂電場以及磁場時(shí),對測量可能會出現(xiàn)問題。最主要的問題是其過大的測量范圍達(dá)不到我們設(shè)計(jì)的溫控風(fēng)扇對于精度的要求。對于方案三所選擇的DS1820溫度傳感器無疑是最符合我們設(shè)計(jì)要求的。它和處理器連接時(shí)只需要一條信號線就可以和微處理器實(shí)現(xiàn)雙向通訊。單總線的經(jīng)濟(jì)成本低,抗干擾能力強(qiáng),具有使用方便和適合大多數(shù)場合的現(xiàn)場溫度測量等優(yōu)點(diǎn)。此外,DS18B20高度集成化,避免了上述兩種測量電路的復(fù)雜性和可能出現(xiàn)的誤差,并且DS18B20與其它兩種測量有著本質(zhì)的區(qū)別,對于溫度的測量可直接在模塊內(nèi)部轉(zhuǎn)換成為數(shù)字信號,這就避免了信號轉(zhuǎn)換過程中可能出現(xiàn)的錯(cuò)誤和誤差,所以對于本設(shè)計(jì)來說,DS18B20作為溫度檢測的模塊最為合適。2.4顯示電路的選擇在本文中設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)的設(shè)計(jì)中,有兩種系統(tǒng)交互模塊可供選擇:方案一:LED數(shù)碼管顯示模塊,該數(shù)碼管顯示模塊主要運(yùn)用于數(shù)據(jù)顯示量比較低的系統(tǒng)中,顯示屏刷新的頻率較低,相關(guān)的功耗比較高。在模塊控制方面,系統(tǒng)的數(shù)據(jù)控制比較麻煩,對于開發(fā)人員來說不友好,相關(guān)的數(shù)據(jù)控制只能夠通過不同的數(shù)碼管排列組合進(jìn)行控制,數(shù)據(jù)的可擴(kuò)展性比較差,需要對各個(gè)數(shù)碼管進(jìn)行管腳連接,也比較浪費(fèi)IO管腳。方案二:OLED顯示模塊,該顯示模塊通過控制驅(qū)動(dòng)電路和擴(kuò)展驅(qū)動(dòng)電路進(jìn)行數(shù)據(jù)傳輸。數(shù)據(jù)傳輸格式也變得比較通俗易懂。最重要的一點(diǎn)是該顯示模塊的數(shù)據(jù)顯示編程比較方便,成熟的API能夠進(jìn)一步提高開發(fā)人員的代碼的兼容性、易控制性。該顯示模塊能夠?qū)崿F(xiàn)復(fù)雜字符的顯示,提高了數(shù)據(jù)交互的多樣性。用戶不用對于各個(gè)IO進(jìn)行編程控制,只需要調(diào)用相關(guān)封裝好的API進(jìn)行目標(biāo)數(shù)據(jù)顯示設(shè)計(jì)。綜合對比兩種方案的選擇,兩種顯示模塊都能實(shí)現(xiàn)本次系統(tǒng)開發(fā)的目標(biāo),但是考慮控制難度、系統(tǒng)開發(fā)的效率以及交互端口顯示的便捷性,OLED顯示模塊更加適合本文設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)的開發(fā)。2.5鍵盤輸入模塊的選擇在本次基于STM32的溫控風(fēng)扇系統(tǒng)的開發(fā)當(dāng)中,有兩種鍵盤輸入模塊可以選擇:方案一:獨(dú)立按鍵模塊,獨(dú)立按鍵模塊的數(shù)據(jù)傳輸是通過所連接的管腳進(jìn)行傳輸,每使用一個(gè)按鈕就會多使用一個(gè)管腳資源,每個(gè)按鍵和微處理器進(jìn)行獨(dú)立連接。通過獲取按鍵的高低電平進(jìn)行控制信號的實(shí)時(shí)監(jiān)測,獨(dú)立按鍵模塊設(shè)計(jì)非常方便。系統(tǒng)在較少的控制信號需求下,獨(dú)立按鍵模塊是非常好的選擇,能夠減少不必要的管腳資源浪費(fèi)。方案二:矩陣按鍵選擇,測出具體哪個(gè)按鍵的狀態(tài),然后進(jìn)行不同按鍵數(shù)據(jù)的傳輸,矩陣按鍵模塊的主要特點(diǎn)是作用于大量數(shù)據(jù)輸入的情況(輸入密碼、需要0-9數(shù)字控制等)。矩陣按鍵模塊能夠大量的節(jié)省相關(guān)的IO管腳資源。綜合對比兩種方案的選擇,兩種顯示模塊都能實(shí)現(xiàn)本次系統(tǒng)開發(fā)的目標(biāo),但綜合系統(tǒng)運(yùn)行環(huán)境、數(shù)據(jù)處理容量、控制信號交互是否頻繁,本次基于STM32的溫控風(fēng)扇系統(tǒng)對于相關(guān)輸入信號的依賴判斷比較少,更側(cè)重于系統(tǒng)的相關(guān)控制設(shè)置,所以獨(dú)立按鍵模塊更加合適。2.6本章小結(jié)本章主要是從設(shè)計(jì)目標(biāo)出發(fā),通過比較各個(gè)部分的常用模塊,選擇出最合適的外圍檢測模塊,最終完成設(shè)計(jì)目的。第3章系統(tǒng)硬件電路部分3.1硬件系統(tǒng)總體設(shè)計(jì)本文設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng),主要工作是進(jìn)行多種模式風(fēng)扇控制的自主化。通過單片機(jī)搭配外圍檢測模塊進(jìn)行相關(guān)環(huán)境數(shù)據(jù)智能化監(jiān)測[5]。外圍檢測模塊通過相關(guān)傳感器進(jìn)行環(huán)境數(shù)據(jù)采集,然后通過管腳傳輸?shù)絾纹瑱C(jī)處理單元,單片機(jī)處理單元對數(shù)據(jù)進(jìn)行打包封裝處理,為系統(tǒng)的其它應(yīng)急處理奠定數(shù)據(jù)基礎(chǔ),當(dāng)數(shù)據(jù)發(fā)生異常后,進(jìn)行相關(guān)的邏輯處理,進(jìn)一步實(shí)現(xiàn)整個(gè)監(jiān)控系統(tǒng)的智能化工作。在整個(gè)系統(tǒng)的工作流程中,本系統(tǒng)以單片機(jī)為控制核心,還包括HC-05模塊、人體紅外檢測模塊、溫度檢測模塊、時(shí)鐘檢測模塊、按鍵等,系統(tǒng)框圖如下:圖3-1系統(tǒng)總設(shè)計(jì)圖功能設(shè)計(jì)目標(biāo)如下:(1)手動(dòng)控制:通過按鍵控制調(diào)節(jié)風(fēng)扇轉(zhuǎn)速;(2)自動(dòng)控制:根據(jù)環(huán)境溫度自動(dòng)控制風(fēng)扇轉(zhuǎn)速大小;(3)人體感應(yīng):根據(jù)人體感應(yīng)檢測是否有人,有人可以控制開啟風(fēng)扇,無人自動(dòng)關(guān)閉風(fēng)扇;(4)無線控制模式:通過HC-05實(shí)現(xiàn)手機(jī)控制風(fēng)扇檔位轉(zhuǎn)速。3.2單片機(jī)最小系統(tǒng)STM32芯片中的內(nèi)核是由ARM公司所生產(chǎn)。ARM是一個(gè)IP廠商,不生產(chǎn)芯片只制造它的內(nèi)核。內(nèi)核是芯片之中最核心的部分,類似于大腦。而像外設(shè)例如GPIO、串口和I2C等是由ST生產(chǎn)的,由ARM公司授權(quán)。STM32字面含義中ST指的是ST(意法半導(dǎo)體)公司。M是Microelectronics的縮寫,表示為微控制器。32是32bit的意思,表示這是一個(gè)32bit的微控制器。由于技術(shù)的更替并且由于傳統(tǒng)的8/16位的微控制器面對市場的需求顯得捉襟見肘,STM32應(yīng)運(yùn)而生。STM32的誕生更加符合市場的需求。更是由于ST公司努力研發(fā)一種產(chǎn)品線豐富、開發(fā)簡單易上手(基于固件庫開發(fā))的產(chǎn)品,使得STM32在眾多的基于Cortex-M內(nèi)核的微處理器中脫穎而出,成為最璀璨的新星。該單片機(jī)通過總線矩陣 (數(shù)據(jù)總線、指令總線、系統(tǒng)總線)和內(nèi)核實(shí)現(xiàn)通信。時(shí)鐘高達(dá)72m,強(qiáng)大的時(shí)鐘系統(tǒng),外部有高速和低速晶振,內(nèi)部有高速和低速的RTC振蕩器,并且支持硬件除法,超過百個(gè)IO,除了模擬通道大多兼容5V電壓,支持多種調(diào)試方式 (JTAG,SWD),內(nèi)存支持(FLASH和SRAM),支持上電復(fù)位,掉電復(fù)位以及可實(shí)現(xiàn)電壓監(jiān)控。多個(gè)AD/DMA/定時(shí)器/通信接口可供選擇。常用的通信接口可實(shí)現(xiàn)不同外部設(shè)備的搭配,實(shí)現(xiàn)不同的數(shù)據(jù)傳輸任務(wù)。內(nèi)置多個(gè)A/D轉(zhuǎn)換器方便實(shí)現(xiàn)對外圍檢測設(shè)備數(shù)據(jù)的讀取,單片機(jī)在多種控制引腳(控制引腳、信息輸入輸出引腳、外部晶振引腳、主電源引腳)協(xié)同完成數(shù)據(jù)讀取工作。STM32單片機(jī)主控模塊的電路原理圖如圖3-2所示。圖3-2STM3核心板單片機(jī)的晶振電路非常重要,根據(jù)本電路需要,選擇了12MHZ的晶振,除了晶振,此電路還需要兩個(gè)電容使晶體有足夠的負(fù)載可以起振,而電容則可以在20-40pF選擇,不宜過大或過小,選擇應(yīng)適宜。復(fù)位電路負(fù)責(zé)整個(gè)系統(tǒng)的硬件復(fù)位,當(dāng)程序執(zhí)行到與預(yù)想的結(jié)果不一樣時(shí),或者整個(gè)系統(tǒng)出現(xiàn)紊亂、異常情況,則強(qiáng)制將程序復(fù)位至初始狀態(tài),單片機(jī)內(nèi)部時(shí)序得到清零。單片機(jī)的IO口是一個(gè)在其內(nèi)部卻沒有設(shè)置上拉電阻的三態(tài)雙向口,這一列輸入輸出口既可用來當(dāng)作復(fù)用接口,比如數(shù)據(jù)的輸入與輸出,也可以當(dāng)作普通的信號控制口。當(dāng)在程序中設(shè)置單片機(jī)的IO接口為輸入接口時(shí),端口將會蘊(yùn)含驅(qū)動(dòng)八個(gè)推挽邏輯電平的能力,對負(fù)載可以輸出少于800微安的電流。當(dāng)單片機(jī)需要作為輸入的IO口使用的時(shí)候,外圍的電路由于電流不夠,通常的辦法是在電路中加一個(gè)10K歐姆的電阻,作為上拉用的電阻。3.3溫度檢測電路設(shè)計(jì)本次設(shè)計(jì)中溫控風(fēng)扇的“溫控”部分就需要由溫度傳感器來完成。在所有的溫度傳感器中,DS18B20溫度檢測模塊是當(dāng)下嵌入式系統(tǒng)開發(fā)中環(huán)境溫度數(shù)據(jù)檢測的主要測量模塊,如圖3-3所示。圖3-3DS18B20外觀及引腳圖該模塊獨(dú)特的設(shè)計(jì)能夠直接獲取環(huán)境中的溫度數(shù)據(jù),該模塊是數(shù)字溫度數(shù)據(jù)獲取方式,采集到的溫度數(shù)據(jù)輸出為電平信號[6]。該檢測模塊體積較小,硬件的引腳開銷低,對于外界的環(huán)境抗干擾性強(qiáng),并且該模塊能夠封裝成各種模塊,方便多種工作場合的選擇。最主要的特點(diǎn)是能夠采用單總線的接口,通過單傳輸引腳和微處理器進(jìn)行雙向通信。該模塊的供電方式靈活,能夠依賴電路的電源,不用獨(dú)立提供電源。此外,數(shù)據(jù)傳輸?shù)姆直媛誓軌蜻M(jìn)行配置靈活選擇(9-12位)。DS18B20溫度檢測模塊也提供掉電保護(hù)功能,當(dāng)系統(tǒng)掉電的時(shí)候,可以對測量分辨率、設(shè)置標(biāo)志值進(jìn)行保存。因?yàn)镈S18B20是單總線協(xié)議,接收和發(fā)送數(shù)據(jù)都在一個(gè)引腳上進(jìn)行,其接收時(shí)為高電阻接收,發(fā)送時(shí)是開漏輸出,即輸出0時(shí)通過三極管下拉為低電平,而輸出1時(shí),則為高電阻,需要外接上拉電阻將其拉為高電平。DS18B20通過上拉電阻與單片機(jī)PB9引腳相連,實(shí)現(xiàn)數(shù)據(jù)傳輸。DS18B20模塊的電路原理圖如圖3-4所示。圖3-4DS18B20溫度檢測電路3.4人體檢測電路設(shè)計(jì)為了達(dá)到風(fēng)扇在自動(dòng)狀態(tài)下智能開關(guān)的目的,我們需要使風(fēng)扇在感應(yīng)到人體時(shí)自動(dòng)打開或關(guān)閉,所以需要采用人體感應(yīng)模塊。人體檢測部分采用SR602人體感應(yīng)模塊,如圖3-5所示,并且輸出的高電平時(shí)間可調(diào),具有非常高的性價(jià)比。圖3-5SR602人體感應(yīng)模塊該感應(yīng)模塊用于檢測環(huán)境中是否有人員活動(dòng),通過紅外線技術(shù)進(jìn)行人員信息的檢測,能夠用于各類自動(dòng)感應(yīng)系統(tǒng),模塊的靈敏性高、響應(yīng)時(shí)間短、受環(huán)境變化影響較小??赏ㄟ^改變時(shí)間調(diào)節(jié)電阻的阻值來實(shí)現(xiàn)不同的延時(shí)時(shí)間。該模塊會根據(jù)不同的環(huán)境溫度進(jìn)行靈敏度的自動(dòng)調(diào)節(jié),功耗較小,需要的電流小于50mA。該模塊輸出信號為高低電平,非常方便和各種主控單片機(jī)進(jìn)行連接通信。數(shù)據(jù)傳輸引腳與PB3連接。電路圖如圖3-6所示。圖3-6紅外檢測電路3.5HC-05傳輸電路設(shè)計(jì)為了實(shí)現(xiàn)遠(yuǎn)程控制風(fēng)扇狀態(tài)這一設(shè)計(jì)目的,我們要在單片機(jī)與手機(jī)之間實(shí)現(xiàn)通信,所以需要無線通信模塊與單片機(jī)連接。HC-05通信模塊是一款高性能、低功耗的無線通信模塊[7],如圖3-7所示。圖3-7HC-05藍(lán)牙模塊該通信模塊在進(jìn)行通信的時(shí)候有主機(jī)和從機(jī)區(qū)分,主機(jī)在和從機(jī)配對后就能進(jìn)行數(shù)據(jù)的傳輸工作,因此該通信模塊有兩種工作模式可供選擇(主動(dòng)連接、被動(dòng)連接)。該模塊的主要特點(diǎn)也是在傳輸過程中代價(jià)較低。模塊有兩種傳輸協(xié)議(主透傳、從透傳)進(jìn)行選擇。系統(tǒng)在進(jìn)行工作的時(shí)候,需要通過AT指令進(jìn)行網(wǎng)絡(luò)的相關(guān)初始化配置,當(dāng)連接成功時(shí),數(shù)據(jù)就能輕松的進(jìn)行傳輸。該模塊通過少量的引腳實(shí)現(xiàn)傳輸工作,其睡眠模式能夠?qū)崿F(xiàn)資源的節(jié)省,當(dāng)連接傳輸數(shù)據(jù)時(shí),再進(jìn)行設(shè)備喚起,能夠通過AT指令進(jìn)行相關(guān)的網(wǎng)絡(luò)配置以及傳輸數(shù)據(jù)的封裝。HC-05通信模塊的開發(fā)技術(shù)越來越成熟,對于網(wǎng)絡(luò)通信的配置、數(shù)據(jù)傳輸只需要少量的引腳連接,該模塊方便透明傳輸,能夠加快數(shù)據(jù)通信的整個(gè)過程。HC-05通過TXD/RXD、VCC、GND管腳進(jìn)行相關(guān)的數(shù)據(jù)傳輸工作。數(shù)據(jù)發(fā)送、接收引腳分別與PA9、PA10連接。BLE通信模塊的電路原理圖如圖3-8所示。圖3-8BLE模塊電路3.6顯示模塊電路設(shè)計(jì)為了達(dá)到風(fēng)扇人機(jī)交互的目的,屏幕對使用者顯示當(dāng)前風(fēng)扇信息尤為重要。OLED顯示模塊是現(xiàn)在嵌入式系統(tǒng)中人機(jī)交互顯示工作重要的作用模塊,如圖3-9所示。該模塊相較于LCD1602而言,可以顯示中文,并且顯示字符更多,能夠更全面的反應(yīng)風(fēng)扇的當(dāng)前狀態(tài),非常符合本次設(shè)計(jì)要求。圖3-9OLED顯示屏本次設(shè)計(jì)采用7腳OLED顯示屏,該模塊通過電流控制二極管發(fā)光,不需要背光源進(jìn)行顯示發(fā)光工作。工作溫度廣泛,能夠兼容不同困難的工作環(huán)境,OLED模塊的分辨率也較高。該模塊顯示的數(shù)據(jù)比較全面,同時(shí)兼容多種數(shù)據(jù)顯示格式,OLED顯示模塊在保證數(shù)據(jù)顯示的高效下也兼容了低功耗的特點(diǎn),供電電壓的選擇也比較多,兼容3.3V和5V。OLED顯示模塊也有多種控制指令,能夠設(shè)置顯示亮度、顯示對比度等。該顯示模塊也能夠兼容多種接口(并行數(shù)據(jù)接口方式、SPI接口方式、IIC接口方式),OLED顯示模塊通過硬件控制進(jìn)行不同接口模式的設(shè)置,本次設(shè)計(jì)選擇SPI通信協(xié)議。多種接口方式鑄就該顯示模塊的兼容性,不同的數(shù)據(jù)接口模式的相關(guān)控制信號發(fā)送不同、需要的引腳數(shù)量也不同,但是系統(tǒng)的復(fù)位引腳RST引腳的控制方式不變(低電平導(dǎo)致OLED復(fù)位)。系統(tǒng)在進(jìn)行工作的時(shí)候,搭配數(shù)據(jù)傳輸引腳、信號選擇引腳實(shí)現(xiàn)數(shù)據(jù)顯示工作。多種信號控制以及數(shù)據(jù)寫入模式使得OLED顯示模塊能夠進(jìn)行多種工作模式。OLED顯示模塊的電路原理圖如圖3-10所示。圖3-10OLED液晶顯示3.7風(fēng)扇驅(qū)動(dòng)電路設(shè)計(jì)本次設(shè)計(jì)中的風(fēng)扇電路模塊采用電機(jī)驅(qū)動(dòng),通過MOS管與單片機(jī)PC14引腳連接。風(fēng)扇驅(qū)動(dòng)模塊用于生活中的風(fēng)扇模擬,該電機(jī)驅(qū)動(dòng)電路采用了一個(gè)N型MOS管,高電平導(dǎo)通。當(dāng)單片機(jī)發(fā)送高電平時(shí),電機(jī)得以運(yùn)行[8][9][10]。為了達(dá)到溫控風(fēng)扇這一目的,通過溫度檢測模塊檢測到當(dāng)前溫度,控制不同的PWM波輸出,也就是高低電平占比來調(diào)節(jié)轉(zhuǎn)速。PWM全稱脈沖寬度調(diào)制,是利用微控制器例如本次設(shè)計(jì)中所用到的STM32的數(shù)字輸出來對模擬電路進(jìn)行控制的技術(shù)。以單片機(jī)為例,單片機(jī)的IO口只能輸出數(shù)字信號,就是只能輸出高電平和低電平。當(dāng)高電平為5V,低電平0V,我們要輸出不同的模擬電壓,就需要用到PWM,通過改變IO口輸出的方波的占空比從而使用數(shù)字信號模擬成的模擬電壓信號,具體如圖3-11所示。圖3-11占空比示意圖電壓是一種連接1或斷開0的重復(fù)脈沖序列被加到模擬負(fù)載上的,通過連接和斷開的時(shí)間控制,可以輸出不大于最大電壓值的模擬電壓(0~5V)。當(dāng)占空比為50%時(shí),就是高低電平各占一半,此時(shí)輸出的模擬電壓就為2.5V。如果此時(shí)占空比為75%,那么此時(shí)的模擬電壓就為3.75V。并且風(fēng)扇部分采用直流電機(jī)驅(qū)動(dòng),可以根據(jù)輸出電壓的大小來調(diào)整轉(zhuǎn)速,實(shí)現(xiàn)溫控風(fēng)速的目的。具體的電路圖如圖3-12所示。圖3-12風(fēng)扇電路3.8本章小結(jié)本章節(jié)從硬件電路的設(shè)計(jì)出發(fā),對單片機(jī)最小系統(tǒng)電路、溫度檢測電路、人體檢測電路、無線傳輸電路、顯示電路、風(fēng)扇驅(qū)動(dòng)電路等設(shè)計(jì)進(jìn)行比較詳細(xì)的介紹以及它們的工作傳輸情況進(jìn)行大概的描述,總體對實(shí)現(xiàn)本次設(shè)計(jì)的硬件電路進(jìn)行了模塊化的分類介紹。第4章系統(tǒng)軟件設(shè)計(jì)4.1軟件編程要求本文設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)在進(jìn)行相關(guān)外圍設(shè)備以及主控制單片機(jī)的選擇后,需要進(jìn)行系統(tǒng)工作邏輯編程,在外圍設(shè)備實(shí)現(xiàn)相關(guān)數(shù)據(jù)獲取工作后,要實(shí)現(xiàn)數(shù)據(jù)的目標(biāo)化處理,對相關(guān)的數(shù)據(jù)進(jìn)行分組、打包、封裝等工作,方便進(jìn)行后續(xù)不同數(shù)據(jù)的邏輯判斷。這樣做的優(yōu)點(diǎn)是系統(tǒng)能夠無時(shí)無刻進(jìn)行不同數(shù)據(jù)的監(jiān)控,方便快捷的根據(jù)不同字段進(jìn)行數(shù)據(jù)調(diào)用。為了后期功能、應(yīng)急事務(wù)的擴(kuò)展考慮,相關(guān)的不同數(shù)據(jù)的處理邏輯應(yīng)該封裝到不同的子函數(shù)中,這樣在編程環(huán)境,就能方便快捷的調(diào)用子函數(shù)進(jìn)行數(shù)據(jù)的獲取,我們在編程過程中也能集中在系統(tǒng)的邏輯處理過程。在整個(gè)系統(tǒng)的展性,不同數(shù)據(jù)獲取的封裝非常的必要,良好的軟件邏輯邏輯控制方面,就能夠起到事半功倍的作用。為了提高整個(gè)系統(tǒng)邏輯的復(fù)用性、延編程有以下優(yōu)點(diǎn):(1)不同的環(huán)境數(shù)據(jù)能夠單獨(dú)獲取、調(diào)用以及封裝,當(dāng)后期相關(guān)邏輯出現(xiàn)問題,能夠及時(shí)的進(jìn)行問題排查校正工作;(2)每個(gè)單獨(dú)邏輯編程時(shí),能方便了解系統(tǒng)的具體運(yùn)行狀態(tài),對于異常的等待過程,也能夠及時(shí)進(jìn)行問題排查校正工作;(3)各個(gè)數(shù)據(jù)單獨(dú)邏輯處理封裝,能夠使得系統(tǒng)清晰的進(jìn)行邏輯處理控制,為后期功能、應(yīng)急事務(wù)的擴(kuò)展提供可靠基礎(chǔ)。4.2硬件編程軟件介紹本文設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)中的軟件邏輯用KEIL實(shí)現(xiàn),KEIL編程界面如圖4-1所示,該軟件設(shè)計(jì)的最初目的就是用于嵌入式硬件控制邏輯實(shí)現(xiàn)。軟件能夠兼容不同的主控單片機(jī),能夠?qū)τ布幊痰南嚓P(guān)環(huán)境進(jìn)行快速搭建,適配各種配置文件,軟件的界面比較簡潔明了,當(dāng)硬件初始化環(huán)境配置完成后,使用者能夠進(jìn)一步完成邏輯工作的實(shí)現(xiàn)。在使用者完成相關(guān)的邏輯控制編程后,通過軟件提示能夠快速的進(jìn)行代碼編譯工作,短時(shí)間內(nèi)編譯成主控單片機(jī)能夠識別的機(jī)器碼。然后,進(jìn)行邏輯程序的寫入工作。程序的燒錄過程能夠人性化、自主化實(shí)現(xiàn),使用者只需要根據(jù)相關(guān)提示進(jìn)行操作即可。該軟件也集成了調(diào)試功能。圖4-1KEIL編程界面該軟件通過設(shè)置目標(biāo)單片機(jī)型號、寄存器頭文件等就能實(shí)現(xiàn)驅(qū)動(dòng)的設(shè)置,在軟件中能夠方便的觀測系統(tǒng)邏輯代碼運(yùn)行的整個(gè)過程,可以查看中斷器、定時(shí)器、I/O口的相關(guān)狀態(tài),對于一款比較符合開發(fā)者的IDE,需要以節(jié)省開發(fā)周期、增加開發(fā)便捷度為主旨,該KEIL編程軟件剛好能夠減少開發(fā)者不必要的操作,相關(guān)的生成文件代碼比較緊湊、方便理解。該軟件友好的界面使得開發(fā)者更加容易快速的上手,可以通過官方網(wǎng)站獲取相關(guān)的安裝包資源,然后運(yùn)行相關(guān)的可執(zhí)行文件完成本地安裝。值得注意的是在安裝目錄中不出現(xiàn)中文文件名。為了使STM32的外設(shè)、時(shí)鐘等更加容易配置,本次設(shè)計(jì)采用了STM32CubeMX來輔助KEIL進(jìn)行函數(shù)封裝以及硬件配置等,界面如4-2所示。STM32CubeMX是一個(gè)配置STM32代碼的工具,具有大量的芯片庫來方便我們對于需要的芯片進(jìn)行選型。圖形化的端口配置更加直觀,方便我們對于引腳、模式、外設(shè)等進(jìn)行直接配置。并且能夠加深對于時(shí)鐘樹的理解與運(yùn)用,加速了代碼的生成。圖4-2STM32CubeMX配置界面4.3編程語言選擇本文中設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)主要是進(jìn)行硬件相關(guān)邏輯控制工作,對于類似的任務(wù)的實(shí)現(xiàn),我們選用C語言內(nèi)核進(jìn)行編程,C語言編程的上手比較快,相關(guān)的邏輯處理過程正好符合硬件的邏輯處理。C語言的優(yōu)點(diǎn)在于編程邏輯簡單、對于變量數(shù)據(jù)的定義比較方便,C語言編程能夠把所有不同的邏輯進(jìn)行封裝,實(shí)現(xiàn)數(shù)據(jù)流程的模塊化,剛好符合我們的編程設(shè)計(jì)要求。C語言的編程量比較小,相關(guān)的邏輯處理能力比較強(qiáng),對于目標(biāo)邏輯能夠通過簡單的代碼進(jìn)行實(shí)現(xiàn)。而且C語言的編譯速度比較快,能夠進(jìn)行快速的編碼實(shí)現(xiàn)。C語言是硬件控制編程中最主流的語言。硬件控制編程的另一種語言是匯編語言,但是匯編語言的缺點(diǎn)是相關(guān)控制邏輯比較枯燥,對于本次設(shè)計(jì)的相關(guān)系統(tǒng),開發(fā)者不能夠快速的掌握其編程規(guī)則,這樣就會增加開發(fā)周期和編程難度。在后期的相關(guān)任務(wù)擴(kuò)展過程中,維護(hù)人員不方便代碼的升級,系統(tǒng)的適用性、兼容性就被大大降低。C語言不僅能夠方便開發(fā)者的閱讀,也有通俗易懂的代碼提示功能。C語言其強(qiáng)大的移植性,也使得其兼容不同的平臺系統(tǒng),方便任務(wù)擴(kuò)展、系統(tǒng)升級等功能,能夠使得整個(gè)系統(tǒng)的開發(fā)周期大大縮短。4.4系統(tǒng)初始化程序設(shè)計(jì)本文所設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng),通過主控單片機(jī)、外圍檢測設(shè)備進(jìn)行環(huán)境數(shù)據(jù)的采集以及轉(zhuǎn)化功能,該系統(tǒng)能夠?qū)z測到的數(shù)據(jù)進(jìn)行及時(shí)監(jiān)控。整個(gè)系統(tǒng)的邏輯處理過程中,首先要進(jìn)行各個(gè)檢測設(shè)備、傳輸引腳的初始化。能夠在系統(tǒng)工作之前對相關(guān)的硬件進(jìn)行檢測,方便相關(guān)問題的進(jìn)一步定位,能夠及時(shí)的進(jìn)行外圍檢測設(shè)備的監(jiān)測,避免邏輯階段數(shù)據(jù)獲取問題。通過編程手段對硬件模塊的配置進(jìn)行封裝,方便后期數(shù)據(jù)獲取。當(dāng)各個(gè)外圍模塊初始化成功后,進(jìn)行數(shù)據(jù)的邏輯處理工作。根據(jù)邏輯處理能夠使得系統(tǒng)進(jìn)行數(shù)據(jù)自主化處理、監(jiān)控、判斷等工作,系統(tǒng)面臨應(yīng)急情況的處理方式都得進(jìn)行邏輯編程控制。系統(tǒng)后期的所有數(shù)據(jù)獲取、邏輯判斷工作都是基于系統(tǒng)初始化成功條件下。硬件管腳、環(huán)境配置初始化重中之重。具體的初始化流程如圖4-3所示。圖4-3程序初始化流程圖4.5溫度獲取子程序設(shè)計(jì)DS18B20溫度檢測模塊需要接受特定的控制信號(ROM/RAM)進(jìn)行相應(yīng)控制,ROM信號用于存儲單元的控制(單個(gè)溫度測量模塊跳過該步驟),RAM信號用于從RAM中讀取數(shù)據(jù)進(jìn)行操作,進(jìn)行相關(guān)溫度數(shù)據(jù)采集和讀取。DS18B20溫度檢測模塊通過單線進(jìn)行數(shù)據(jù)傳輸,所以對于信號的識別要增加時(shí)序上的信息,這樣才能保證數(shù)據(jù)的完整性。相關(guān)電壓的上拉、下拉是通過增加時(shí)序信息進(jìn)行傳輸。單片機(jī)讀取點(diǎn)能夠進(jìn)行數(shù)據(jù)的還原,實(shí)現(xiàn)溫度數(shù)據(jù)的讀取。具體的溫度獲取流程圖如圖4-4所示。圖4-4溫度檢測流程4.6人體檢測子程序設(shè)計(jì)該模塊在全自動(dòng)感應(yīng)下的工作流程比較簡單明了,當(dāng)人進(jìn)入其感應(yīng)模塊范圍,信號輸出引腳會輸出高電平,離開其感應(yīng)范圍后,模塊定時(shí)延時(shí)后,信號傳輸引腳輸出為低電平。通過引腳的高低電平進(jìn)行環(huán)境中人員信息的檢測工作,具體的流程圖如圖4-5所示。圖4-5人體檢測流程4.7HC-05控制子程序設(shè)計(jì)HC-05通信模塊通過少量的引腳資源進(jìn)行無線數(shù)據(jù)傳輸通道初始化、數(shù)據(jù)傳輸?shù)裙ぷ鳌T撃K有多種工作模式的選擇,我們通過串口AT指令進(jìn)行相關(guān)操作的實(shí)現(xiàn)。系統(tǒng)首先通過AT進(jìn)行通信應(yīng)用模式的設(shè)置,然后搭配不同的AT指令進(jìn)行網(wǎng)路通信協(xié)議的選擇,然后通過設(shè)置需要發(fā)送的數(shù)據(jù),然后封裝請求數(shù)據(jù)格式,進(jìn)行數(shù)據(jù)傳輸工作。具體的無線數(shù)據(jù)傳輸流程如圖4-6所示。圖4-6無線通訊部分流程4.8顯示數(shù)據(jù)子程序設(shè)計(jì)OLED顯示模塊主要通過多個(gè)信號選擇引腳以及數(shù)據(jù)傳輸引腳進(jìn)行數(shù)據(jù)的顯示工作。OLED顯示模塊通過多個(gè)信號線組合進(jìn)行不同工作模式的實(shí)現(xiàn)。相關(guān)數(shù)據(jù)的顯示主要通過初始化、指令操作、數(shù)據(jù)操作三個(gè)步驟進(jìn)行實(shí)現(xiàn)。通過信號引腳設(shè)置數(shù)據(jù)讀寫控制信號、數(shù)據(jù)寫入信號、命令/數(shù)據(jù)標(biāo)志信號。系統(tǒng)首先把準(zhǔn)備好數(shù)據(jù)源,然后通過DS(RS)引腳設(shè)置命令/數(shù)據(jù)模式(高電平數(shù)據(jù)、低電平命令模式)。當(dāng)讀取數(shù)據(jù)時(shí),設(shè)置RD引腳上拉,把數(shù)據(jù)寫入到8個(gè)數(shù)據(jù)傳輸引腳。當(dāng)寫入數(shù)據(jù)時(shí),設(shè)置WR引腳上拉,使得數(shù)據(jù)寫入到OLED內(nèi)嵌的驅(qū)動(dòng)中。具體的顯示流程圖如圖4-7所示。圖4-7液晶顯示部分程序流程4.9本章小結(jié)本章主要介紹了基于STM32的溫控風(fēng)扇系統(tǒng)的軟件初始化流程以及各個(gè)模塊數(shù)據(jù)獲取程序的流程。明確了各個(gè)模塊的數(shù)據(jù)格式,為后續(xù)邏輯控制實(shí)現(xiàn)打下堅(jiān)定的基礎(chǔ)。第5章實(shí)物調(diào)試5.1系統(tǒng)硬件測試本文設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)在邏輯功能實(shí)現(xiàn)前,要進(jìn)行相關(guān)硬件性能測試。對于每個(gè)外圍檢測設(shè)備的回?cái)?shù)據(jù)獲取進(jìn)行測試,檢測是否能夠在各種環(huán)境中進(jìn)行數(shù)據(jù)的獲取工作。由于本次系統(tǒng)要在外界環(huán)境下進(jìn)行工作,對于硬件的連接管腳也要進(jìn)行測試,檢測管腳是否會出現(xiàn)松動(dòng)的情況,導(dǎo)致數(shù)據(jù)傳輸過程中出現(xiàn)數(shù)據(jù)漏傳、錯(cuò)傳。硬件環(huán)境數(shù)據(jù)獲取失敗后,會嚴(yán)重影響后期數(shù)據(jù)邏輯處理階段的進(jìn)度。只有保證硬件的運(yùn)行,才能確保系統(tǒng)的穩(wěn)定性。當(dāng)數(shù)據(jù)獲取方面出現(xiàn)問題是的時(shí)候,要進(jìn)行及時(shí)的排查、檢測,要確保硬件環(huán)境的穩(wěn)定工作。本次系統(tǒng)相關(guān)的外圍檢測設(shè)備都是選擇的相對兼容性、耐用性比較好的模塊,我們要確保硬件在相關(guān)規(guī)定環(huán)境中運(yùn)行。硬件環(huán)境的穩(wěn)定工作為后期工作提供可靠保證。5.2系統(tǒng)的軟件測試本文設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)載硬件運(yùn)行環(huán)境測試后,要進(jìn)行軟件邏輯的測試工作,KEIL軟件編程界面如圖5-1所示。我們要對代碼的健壯性、獨(dú)立性進(jìn)行測試,我們要嚴(yán)格按照之前的邏輯設(shè)計(jì)要求進(jìn)行測試。系統(tǒng)的要實(shí)現(xiàn)對各種錯(cuò)綜復(fù)雜情況進(jìn)行考慮,要對每種情況進(jìn)行考慮,并且對相關(guān)數(shù)據(jù)獲取的子函數(shù)進(jìn)行黑盒測試,測試相關(guān)的回傳數(shù)據(jù)格式,是否符合一定的格式要求,方便進(jìn)行后續(xù)不同數(shù)據(jù)的邏輯判斷。這樣做的優(yōu)點(diǎn)系統(tǒng)能夠無時(shí)無刻進(jìn)行不同數(shù)據(jù)的監(jiān)控,能夠方便快捷的根據(jù)不同字段進(jìn)行數(shù)據(jù)調(diào)用。為了后期功能、應(yīng)急事務(wù)的擴(kuò)展考慮。當(dāng)我們對各個(gè)子函數(shù)的功能測試完成后,要進(jìn)行主函數(shù)邏輯測試,我們要進(jìn)行各種運(yùn)行狀況進(jìn)行測試。測試各種應(yīng)急情況是否考慮完全,是否能夠?qū)崿F(xiàn)整個(gè)系統(tǒng)的設(shè)計(jì)任務(wù)。并且對于提示人機(jī)交互進(jìn)行測試,使得用戶能夠時(shí)刻了解當(dāng)前的系統(tǒng)工作狀態(tài),也有利于我們檢測系統(tǒng)是否出現(xiàn)故障。系統(tǒng)軟件測試是整個(gè)系統(tǒng)開發(fā)的重要環(huán)節(jié)之一。圖5-1KEIL軟件編程界面5.3系統(tǒng)的調(diào)試分析在本文設(shè)計(jì)的基于STM32的溫控風(fēng)扇系統(tǒng)硬件、軟件測試完成后,保證了硬件環(huán)境的運(yùn)行穩(wěn)定、軟件的封裝獨(dú)立后,要進(jìn)行系統(tǒng)的軟硬件的聯(lián)合調(diào)試分析。要對每個(gè)數(shù)據(jù)采集、人機(jī)交互進(jìn)行聯(lián)合調(diào)試,檢測在系統(tǒng)運(yùn)過程中各個(gè)數(shù)據(jù)獲取的銜接是否存在異常,在整個(gè)外圍模塊聯(lián)合調(diào)試過程中,可能會因?yàn)槟K相應(yīng)、數(shù)據(jù)傳輸方式等問題,相關(guān)的數(shù)據(jù)顯示、獲取、打包可能會出現(xiàn)異常、亂碼提示等錯(cuò)誤。這個(gè)時(shí)候,就要進(jìn)行兼容行的測試調(diào)整。當(dāng)模塊的初始化和調(diào)用出現(xiàn)空檔期的時(shí)候,會出現(xiàn)數(shù)據(jù)異常、空值等情況,如果不考慮相關(guān)的情況,在接下來邏輯處理階段就會出現(xiàn)意想不到的相應(yīng)結(jié)果。對于多種獲取模塊、交互模塊等的聯(lián)合工作下,避免不了出現(xiàn)各種異常情況,只有在一次一次的迭代測試過程中,處理各種相關(guān)的情況,才能夠及時(shí)的進(jìn)行異常處理。在測試階段完成后,實(shí)現(xiàn)一個(gè)攻守兼?zhèn)涞幕赟TM32的溫控風(fēng)扇系統(tǒng),實(shí)現(xiàn)所需要達(dá)成的任務(wù)目標(biāo)。最終功能實(shí)現(xiàn):(1)第一個(gè)按鍵為模式選擇鍵,當(dāng)按下第一次時(shí)進(jìn)行模式選擇,隨后按下第二個(gè)按鍵為自動(dòng)模式A,第三個(gè)按鍵為手動(dòng)模式M,如圖5-2。圖5-2模式設(shè)置(2)當(dāng)?shù)谝粋€(gè)按鍵按下第二次時(shí)進(jìn)行溫度的閾值設(shè)定,第二個(gè)按鍵增加閾值,第三個(gè)按鍵減少閾值,閾值的默認(rèn)值為25攝氏度,如圖5-3。圖5-3溫度閾值設(shè)置(3)當(dāng)?shù)谝粋€(gè)按鍵按下第三次時(shí)將前面選擇的模式確定。(4)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智慧城市項(xiàng)目實(shí)施方案及管理辦法
- 工程資料整合外包
- 專業(yè)宣傳冊印刷服務(wù)合同
- 工程進(jìn)度承諾函模板
- 招標(biāo)方案編寫要領(lǐng)
- 我國建筑勞務(wù)分包的現(xiàn)狀與發(fā)展
- 粉墻抹面工程勞務(wù)外包協(xié)議
- 工業(yè)用管道材料供應(yīng)
- 裝修工程勞務(wù)分包合同范本圖片
- 崗位責(zé)任我來肩負(fù)
- 中醫(yī)婦科疾病的治療(完美版)課件
- 《預(yù)防未成年人犯罪》課件(圖文)
- (小學(xué)組)全國版圖知識競賽考試題含答案
- 創(chuàng)新實(shí)踐(理論)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- TCHAS 10-2-1-2023 中國醫(yī)院質(zhì)量安全管理 第2-1部分:患者服務(wù)患者安全目標(biāo)
- 幼兒園大班語言活動(dòng)《新年禮物》課件
- 星期音樂會智慧樹知到期末考試答案章節(jié)答案2024年同濟(jì)大學(xué)
- 煤礦崗位標(biāo)準(zhǔn)化作業(yè)流程
- 國開學(xué)習(xí)網(wǎng)電大數(shù)據(jù)庫應(yīng)用技術(shù)第四次形考作業(yè)實(shí)驗(yàn)答案
- 社會責(zé)任運(yùn)行風(fēng)險(xiǎn)評估表
- [方案]鐵路行車組織設(shè)計(jì)說明書
評論
0/150
提交評論