【《基于STM32的LED控制系統(tǒng)的設(shè)計》14000字(論文)】_第1頁
【《基于STM32的LED控制系統(tǒng)的設(shè)計》14000字(論文)】_第2頁
【《基于STM32的LED控制系統(tǒng)的設(shè)計》14000字(論文)】_第3頁
【《基于STM32的LED控制系統(tǒng)的設(shè)計》14000字(論文)】_第4頁
【《基于STM32的LED控制系統(tǒng)的設(shè)計》14000字(論文)】_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

I1緒論1.1研究背景及現(xiàn)實意義當(dāng)今社會綠色發(fā)展觀念深入人心,LED以其高效能、長壽命等優(yōu)點對環(huán)保有重要意義。隨著半導(dǎo)體行業(yè)不停地進(jìn)步發(fā)展,在生活中各類LED遍布在各個角落,不論是用來照明還是用來顯示,LED都得到了快速的發(fā)展。LED燈具一般包括三大部分(發(fā)光二極管、驅(qū)動電路、外殼),如果說發(fā)光二極管和外殼是LED燈具的“軀干”,那么控制電路就是其“心臟”,控制電路的重要程度不言而喻。LED控制電路對于LED控制燈的主要作用,就是控制LED的亮度、色溫和亮滅等,控制電路可以實現(xiàn)節(jié)能效果。當(dāng)今社會,不論時是國外用戶還是國內(nèi)用戶,不僅僅是關(guān)注LED燈具的價格,更多地是還會考慮燈具的可靠性、轉(zhuǎn)換效率、全周期壽命、電磁兼容性等,因此,想要設(shè)計一個有價值的LED控制器,必須綜合考慮以上因素。經(jīng)過研究發(fā)現(xiàn),LED周邊技術(shù)正在快速發(fā)展,技術(shù)方向已經(jīng)在向亮度色溫自動調(diào)節(jié)、自動識別模式并進(jìn)行情景交換、遠(yuǎn)程網(wǎng)絡(luò)控制等方向轉(zhuǎn)變,這些功能主要是靠一個閉環(huán)系統(tǒng),通過對環(huán)境的感知識別,并對LED點亮的狀態(tài)進(jìn)行反饋,在通過控制器對LED進(jìn)行相應(yīng)控制,再加上通信模塊,LED就可以加入物聯(lián)網(wǎng),遠(yuǎn)程控制就可以實現(xiàn)。LED行業(yè)也有挑戰(zhàn),那就是不能再堅持單純點亮單一功能的照明了,必須加入物聯(lián)網(wǎng),這是節(jié)能和智慧照明的必然要求。毫無疑問,設(shè)計一款LED照明控制器,首先必須考慮的是其可靠性、成本以及效能。我們都知道一般LED的全壽命點亮?xí)r間一般都超過普通白織燈,影響LED壽命的主要是頻繁冷啟動的瞬間電壓電流沖擊,還有不能被驅(qū)動電路過濾的不穩(wěn)定脈沖和LED控制電路的連接方式(串聯(lián)的控制電路要考慮到如果有一個LED短路或者斷路,整條LED都會超負(fù)荷運(yùn)轉(zhuǎn)或者直接熄滅,并聯(lián)時則要考慮到不同的驅(qū)動電流對LED的亮度、色溫影響很大)。因此,設(shè)計研究出一種可靠性高、實用性強(qiáng)、成本較低的LED控制系統(tǒng),具有非常重要的意義,鑒于此,本課題試圖采用STM32單片機(jī)實現(xiàn)LED控制系統(tǒng)的設(shè)計。本課題所選的STM32F103VET6芯片擁有多種多樣的通信接口(I2C、USART、SPI等),可以實現(xiàn)控制很多的外設(shè),完成各種各樣的功能,生活中常見的智能手環(huán)、無人機(jī)、掃地機(jī)器人不少都是用STM32系列芯片。本設(shè)計所用的芯片可以對外界信號進(jìn)行處理和收發(fā),通過處理后的特殊信號傳送到控制電路,這樣就可以完成對LED的各種控制,本課題基于STM32實現(xiàn)對LED的控制,在深入學(xué)習(xí)研究LED陣列驅(qū)動技術(shù)的基礎(chǔ)上,設(shè)計出更智能化的LED控制器,這將對智能且綠色的LED的發(fā)展有建設(shè)性意義。1.2國內(nèi)外發(fā)展的現(xiàn)狀十五年前,國內(nèi)LED相關(guān)技術(shù)開始飛速發(fā)展,最近幾年基于LED的各式各樣的照明應(yīng)用一片繁榮,但在火熱的市場中,也可以看到LED驅(qū)動器的規(guī)格、質(zhì)量不盡相同,這給進(jìn)一步降低成本提高能效帶來了巨大的障礙。隨著LED相關(guān)技術(shù)的進(jìn)步,LED照明技術(shù)當(dāng)年遇到的困難(如材料散熱、驅(qū)動電路等),通過開發(fā)新材料,設(shè)計更為合理的驅(qū)動電路,采用HVLEDs等新理念設(shè)計的模塊,使不少問題得到了解決。十幾年前,傳統(tǒng)電源廠商就開始涌入LED這個新興行業(yè),急忙推出自家的LED驅(qū)動產(chǎn)品,許多剛剛起步的小企業(yè)也入市分享新興技術(shù)紅利。其實不少電源廠商都是在這個行業(yè)都是盈利的,但使用的基本上都是低端驅(qū)動電路,沒有太多技術(shù)性可言,可靠性、壽命等也不足,技術(shù)門檻低就會導(dǎo)致有廠商通過打價格戰(zhàn)來獲取市場,這樣是不可持續(xù)發(fā)展的。然而,令人擔(dān)憂的是,國內(nèi)廠商癡迷于打價格戰(zhàn)的時候,國外有些廠商已經(jīng)走在了前面,他們在大功率的此類驅(qū)動上處于領(lǐng)先地位,這些技術(shù)長期被國外壟斷,中國還處于追趕階段。當(dāng)前,環(huán)保意識已經(jīng)烙在了人們心里,生活中處處可見LED照明設(shè)備,從大功率照明燈,再到路燈,小到室內(nèi)照明和設(shè)備指示燈等,但國內(nèi)LED驅(qū)動控制器的質(zhì)量不夠穩(wěn)定,質(zhì)量不好體現(xiàn)在壽命、亮度、穩(wěn)定性等,技術(shù)門檻并不是太高,只是廠商還不太愿意投入資金去生產(chǎn)新的驅(qū)動電路。第一代LED的質(zhì)量區(qū)別較大,可能某些LED在4.5V電壓下會變暗,而其他LED光源可能由于亮度和正向電壓之間呈指數(shù)關(guān)系而表現(xiàn)出異常亮。這促使LED驅(qū)動器設(shè)計人員開發(fā)恒定電流的LED穩(wěn)壓器來驅(qū)動并聯(lián)和串聯(lián)LED陣列,同時提高其亮度。這些穩(wěn)壓器需要將鋰電池提供的標(biāo)稱3.6V升壓至4.5V。因此,早期的LED驅(qū)動控制器是具有恒定輸出電流驅(qū)動的升壓穩(wěn)壓器。多年來,技術(shù)進(jìn)步已使得LED正向電壓降低,同時實現(xiàn)了相似的亮度。最新的FlashLED的驅(qū)動控制器可控制閾值電壓在3.0V至4.0V范圍內(nèi),電流大約為1A。為了優(yōu)化LED電源管理,這實質(zhì)上意味著驅(qū)動器必須升高或降低標(biāo)稱的3.6V電池電壓至所需的LED閾值電壓。實現(xiàn)最佳的升壓和降壓功能一直是設(shè)計高效率閃光燈LED驅(qū)動控制器的主要動機(jī)??紤]到LED正向電壓的下降趨勢,F(xiàn)lashLED驅(qū)動控制器設(shè)計的這一重大轉(zhuǎn)變變得更加可取。此外,未來的電池將表現(xiàn)出更大的電容性,其使用壽命從3.0V到5.2V均勻分布,而不是集中在3.6V,就像今天的鋰電池一樣。鑒于目前和未來智能LED燈光控制智能管理的發(fā)展趨勢,本文所研究設(shè)計的基于STM32單片機(jī)的LED燈光控制管理系統(tǒng)不僅可對每個LED控制進(jìn)行燈光亮度自動調(diào)節(jié),不僅如此可以有效實現(xiàn)控制智能化、方便人們的生活需要,而且它更加能夠在能源節(jié)約方面做出更大的貢獻(xiàn),也是節(jié)能的一個代表。

2LED控制系統(tǒng)的設(shè)計分析2.1整體概述本文所述的LED控制系統(tǒng)的設(shè)計(以STM32F103VET6微控制器為核心),通過LED控制系統(tǒng)對LED亮度、亮滅進(jìn)行控制。此款微處理器擁有512KFlash,64kSRAM,八個定時器,GPIO引腳80個,其擁有豐富的外設(shè),非常適合開發(fā)實現(xiàn)各種功能,12位三路ADC(共16個通道)以及DMA(微處理器的一個外設(shè)),DMA的主要作用是不浪費CPU性能的情況下進(jìn)行高速數(shù)據(jù)傳輸,這兩個是本設(shè)計的關(guān)鍵所在。整個LED控制系統(tǒng)的設(shè)計有硬件和軟件部分,硬件部分包含兩大部分:主控制器模塊,外設(shè)模塊。主控制器是收發(fā)信號、處理數(shù)據(jù)的核心,手動模式下,通過點擊觸摸按鍵調(diào)亮(或調(diào)暗)按鈕,上位機(jī)通過串口接受信號顯示捕獲的PWM占空比、周期等相關(guān)信息,接著主控制器對信號進(jìn)行識別,輸出占空比更大(更?。┑腜WM;自動模式下,功能比較強(qiáng)大,光敏電阻配合聲控傳感器可以做到夜燈功能,人體紅外傳感器配合光敏電阻則可以實現(xiàn)一個智能開關(guān)并會提醒的LED,同時主控制器也會通過串口將PWM的占空比、周期等信息返回到上位機(jī)進(jìn)行實時顯示。系統(tǒng)硬件框圖2-1所示:圖2-1系統(tǒng)框圖2.2整體設(shè)計模塊劃分LED控制系統(tǒng)共有四大方面設(shè)計:一是LED驅(qū)動電路設(shè)計(用來實現(xiàn)最基礎(chǔ)的功能:對控制信號進(jìn)行放大,從而控制LED亮度);二是整個主控制器相關(guān)硬件電路設(shè)計;三是硬件電路對應(yīng)的軟件實現(xiàn);四是軟硬件聯(lián)調(diào)實現(xiàn)設(shè)計功能。最主要的任務(wù)是軟件實現(xiàn)部分,軟件部分包括系統(tǒng)定時器配置,GPIO配置,ADC配置,DMA配置,主函數(shù)編寫等,此設(shè)計所用外設(shè)很多,如何合理地調(diào)用這些外設(shè)是一個工程量不小的任務(wù)。2.3本章小結(jié)本章簡單介紹了整個LED控制系統(tǒng)設(shè)計的組成,大體闡述了設(shè)計的實現(xiàn)方式與要進(jìn)行的工作,實現(xiàn)此設(shè)計需要完成硬件和軟件兩大部分,工程量不小,分清主次才能更好地進(jìn)行下一步工作。

3系統(tǒng)硬件選型及電路設(shè)計3.1STM32簡介及選型STM32單片機(jī)具有很多系列、很多型號,根據(jù)想要實現(xiàn)的功能,為便于開發(fā),筆者選擇了常見的STM32F103VET6,其外設(shè)非常豐富,外設(shè)如表3-1所示。表3-1STM32F103VET6外設(shè)對應(yīng)表外設(shè)STM32F103VET6閃存(K字節(jié))256384512SRAM(K字節(jié))3248FSMC有定時器基本TIM6、TIM7通用TIM2-5高級TIM1、TIM8通信接口SPI三個SPI(SPI1-3)I^2C2個I^2CUSART/UARTUSART1-5GPIO80個ADC1ADC通道數(shù)16DAC1CPU頻率36MHz工作電壓2.0v-3.6vSTM32系列芯片應(yīng)用領(lǐng)域非常廣泛,常見的掃地機(jī)器人,小型商用無人機(jī),智能手環(huán)大多都是以該系列芯片為核心,性能非常強(qiáng)大且功耗較低,自帶的計數(shù)器就可以產(chǎn)生足夠的PWM信號,也可實現(xiàn)捕獲PWM、ADC、DAC等功能,這些功能正是控制LED的關(guān)鍵所在。3.2光敏電阻選型及電路設(shè)計光敏電阻(LDR),也稱光電導(dǎo)體或光電池,其電阻隨入射光強(qiáng)度的變化而變化。電阻和受感光強(qiáng)度之間的關(guān)系可以通過光敏電阻傳感器的采用特性曲線形式來進(jìn)行描述,光敏傳感電阻的具體工作原理主要是內(nèi)光電效應(yīng)。光敏敏感電阻器就是一種新型光控可變電阻器,光敏敏感電阻的可變電阻隨著入射光源強(qiáng)度的不斷增加而逐漸降低,光敏電阻的常見應(yīng)用是作為測光電路、調(diào)光電路、光控開關(guān)等。電壓加在兩電極之間后,光敏電阻就會有電流通過,如果光照度增強(qiáng),電阻值就會降低,電阻值隨著室內(nèi)照明光線強(qiáng)度的不斷增加而逐漸降低;所以當(dāng)室內(nèi)沒有任何光照時,光敏電阻值就處于高阻值的狀態(tài),電阻一般可以達(dá)到數(shù)兆歐。然而,光敏電阻器的線性度非常不理想,僅在非常小的范圍內(nèi)才是線性特性,需要嚴(yán)格使用。光敏補(bǔ)償直流電阻的主要性能優(yōu)點也非常明顯,靈敏度高,體積小,重量輕,且相應(yīng)的頻譜范圍非常廣。本設(shè)計中所采用的光敏電阻型號型號為5517,亮光敏敏感電阻電路型號一般為10至20千歐,暗光敏敏感電阻電路型號一般為一兆歐。光敏電阻模塊如圖3-1所示,使用PA0作為輸入端口,當(dāng)光照強(qiáng)度變化時,PA0端口的輸入電壓會跟著變化。對這個連接圖可以分析,當(dāng)沒有光線時,暗電阻為1兆歐,則輸入電壓接近3.3V,當(dāng)有光線時,輸入電壓漸漸降低(最多可降至0.3V左右)。這個電壓的模擬量輸入主控制器后,主控制器對電壓信號進(jìn)行判斷,從而可以實現(xiàn)燈的亮滅的一系列操作。圖3-1光敏電阻連接圖3.3人體熱釋電紅外傳感器選型及電路設(shè)計此次設(shè)計所采用的HC-SR501型紅外傳感器(基于紅外線感應(yīng)技術(shù)),模塊本身是被動式的,本身并不會發(fā)出紅外輻射信號,當(dāng)外界紅外線輻射到接收元件后,元件本身會自動釋放電荷,通過共漏形式接法的N溝道結(jié)型場效應(yīng)管,就可以通過場效應(yīng)管完成電荷信號向電壓信號的轉(zhuǎn)變。這個模塊在生活中也比較常見,由于其靈敏度很高,可靠性也很強(qiáng),且價格不高,在學(xué)校的很多電棒旁邊就可以看到這個模塊,模塊大部分都工作良好。此款熱釋電紅外傳感器采用的是雙元紅外探頭(探測A元、B元位于左右長的兩端)。此模塊的實物圖如圖3-2所示,原理圖如圖3-3所示。圖3-2HC-SR501實物圖圖3-3HC-SR501原理圖需要注意的是,由于探元只有左右兩探元,當(dāng)人體從上下方向移動時或從正面走向(遠(yuǎn)離)探頭,探頭并不能探測到人體距離的變化,這個時候上述信號都無差值,傳感器不工作,所以,安裝感應(yīng)器要注意安裝的位置,這是該傳感器能夠正常工作的關(guān)鍵。在理想情況下,當(dāng)人體感應(yīng)模塊檢測到人體來回走動時,該模塊的紅外線到達(dá)雙探元的時間、距離有差值,這就為紅外信號的檢測處理提供了前提,差值越大其感應(yīng)就會越靈敏,利用差值就可以求出相關(guān)信息。該模塊的有效探測范圍如圖3-4所示。圖3-4HC-SR501探測范圍圖分析圖3-5連接電路圖可知,PE2為下拉輸入模式,當(dāng)檢測到人體信號后,通過PE2將電壓信號傳送到主控制器進(jìn)行處理,接著發(fā)出相應(yīng)控制信號。圖3-5HC-SR501模塊連接圖3.4聲控模塊的選型及電路設(shè)計聲控開關(guān)的最主要的部分是聲音傳感器(或稱聲敏傳感器),聲音傳感器類似一個話筒,外部聲波帶動駐膜震動,從而引起極間電感變化,電感信號再經(jīng)過處理變?yōu)殡娦盘枴B暱卣彰鏖_關(guān)在生活中很常見,由此原理設(shè)計制作的自動照明聲控開關(guān)廣泛地被運(yùn)用在住宅樓道、廠房、測試、庭院等常見活動場所,由于聲控開關(guān)方便安裝和操作,又可以節(jié)省電能,所以也是綠色照明需要考慮的一種控制方式。本系統(tǒng)設(shè)計所需要的采用的聲控傳感器的核心是LM393雙水平電壓比較器,它們具有兩個輸入輸出端,一個基準(zhǔn)電壓端,當(dāng)電壓輸出低于一個基準(zhǔn)電壓時輸出一個高電平,反之電壓輸出端輸出一個低電平。圖3-6聲控模塊實物圖LM393芯片對來自類似于話筒結(jié)構(gòu)的接收器的電壓信號,經(jīng)比較后輸出標(biāo)準(zhǔn)電壓信號給控制模塊,模塊化的輸出方式為單或多路指示信號進(jìn)入輸出,且同時輔以聲音信號輸出指示,將其電源輸出端接至外部繼電器,即可輕松實現(xiàn)外部的高頻聲音和電信號自動直接觸發(fā),使繼電器電源開關(guān)自動閉合的控制功能。圖3-7聲控模塊原理圖在光線較強(qiáng)時,LED熄滅,當(dāng)光線較暗時,此時,如有聲源被其接收到,則LED自動開啟一定時間,接著再熄滅,這就是我們生活中常見的聲控?zé)裟J?。圖3-8聲控模塊連接圖3.5DMA的發(fā)展及工作原理DMA是直接存儲器訪問的簡稱,在DMA出現(xiàn)之前,數(shù)據(jù)傳輸?shù)姆椒ㄓ校褐袛鄠魉?、程序傳送等,不少設(shè)備的速度還是很低的(比如光驅(qū)、PS/2的鍵鼠等),這極大影響了CPU的性能,傳輸效率低下,CPU處理數(shù)據(jù)能力會因此降低,最終甚至致使系統(tǒng)崩潰,極大影響操作。DMA的出現(xiàn)部分解決了以上問題,DMA允許I/O設(shè)備訪問獨立于中央處理單元的主系統(tǒng)內(nèi)存(隨機(jī)存取內(nèi)存),從而加快了內(nèi)存操作。直接內(nèi)存訪問通常可以用于“內(nèi)存到內(nèi)存”以復(fù)制或移動內(nèi)存中的所有數(shù)據(jù)。它可以進(jìn)行內(nèi)存操作(從CPU傳輸?shù)綄S肈MA寄存器),不言而喻,DMA在計算體系中很重要,DMA還可用片內(nèi)數(shù)據(jù)傳輸。與沒有直接內(nèi)存訪問通道的計算機(jī)相比,具有DMA通道的計算機(jī)可以在設(shè)備之間傳輸數(shù)據(jù),傳輸效率大大提高。DMA控制器結(jié)構(gòu)并不復(fù)雜,其功能框圖如下:圖3-9DMA功能框圖當(dāng)外設(shè)傳輸一個事件或當(dāng)事件請求發(fā)生后,外設(shè)向其DMA控制器發(fā)送外設(shè)請求傳輸信號,DMA控制器根據(jù)外設(shè)事件的通道優(yōu)先級為外設(shè)請求信號提供傳輸服務(wù),一旦DMA控制器接收到外設(shè)請求,DMA立刻返回給外設(shè)一個驗證信號,當(dāng)外設(shè)再發(fā)送且DMA再次應(yīng)答后,啟動DMA傳輸。STM32有兩個DMA控制器(共有十二個獨立且可編程的通道),DMA2有五個獨立通道,DMA1有七個獨立通道,通道不同則外設(shè)請求也不同,因此在編程之前要熟悉DMA請求的通道外設(shè)對應(yīng)表。通道外設(shè)對應(yīng)表如表3-2所示。

表3-2DMA通道外設(shè)對應(yīng)表我們可以從表3-2看到,DMA的各個通道支持的外設(shè)種類非常繁雜,這就帶來一個問題,多個DMA請求同時發(fā)生時,各個通道的優(yōu)先級順序怎么判定?這個仲裁任務(wù)通常是由仲裁器負(fù)責(zé)來完成的。根據(jù)此對通道優(yōu)先級進(jìn)行管理,從而完成通道請求,并通過啟動外設(shè)/內(nèi)存自動訪問通道序列,接下來,優(yōu)先管理事項將被仲裁器分為兩個主要階段來進(jìn)行控制,(1)軟件階段:在通道寄存器DMA_CCRx中優(yōu)先完成通道相關(guān)軟件配置,共有四個優(yōu)先級(分別是非常高、高、中、低)。(2)硬件階段:如果多個請求上述優(yōu)先級相同,則數(shù)字最少的通道將獲得優(yōu)先級(如通道3高于通道4),此外,DMA1控制器的優(yōu)先度默認(rèn)高于DMA2控制器。DMA默認(rèn)有三個數(shù)據(jù)包的傳輸連接方向:內(nèi)存到內(nèi)存,內(nèi)存到外設(shè),外設(shè)到內(nèi)存,DMA_CCR寄存器的位4DIR可配置具體的傳輸方向。(1)外設(shè)到內(nèi)存:這是我們在測量光敏電阻端口電壓時需要使用的功能,即ADC,采集電壓并進(jìn)行模數(shù)轉(zhuǎn)換。(2)內(nèi)存到外設(shè):當(dāng)從內(nèi)存?zhèn)鬏敂?shù)據(jù)到一個外設(shè)時,以將數(shù)據(jù)從串行端口發(fā)送到計算機(jī)為例,串口數(shù)據(jù)寄存器地址就與DMA數(shù)據(jù)寄存器的地址對應(yīng)。(3)內(nèi)存到內(nèi)存:從內(nèi)存?zhèn)鬏數(shù)絻?nèi)存時,與前兩個不同,其需要同時配置成M2M模式,將DMA_CCR位14配置為1即可啟動M2M模式。數(shù)據(jù)的去向,數(shù)據(jù)的大小,數(shù)據(jù)的單位是配置DMA的三要素,我們已經(jīng)配置完成了數(shù)據(jù)傳輸方向。接下來,發(fā)送多少數(shù)據(jù)由DMA_CNDTR來配置,數(shù)據(jù)寬度必須相同,否則傳輸將會出錯,得不到正確的數(shù)據(jù),DMA_CCRx其中的PSIZE和MSIZE分別用來配置外設(shè)和內(nèi)存的傳輸數(shù)據(jù)大小。數(shù)據(jù)什么時候傳輸完成也需要配置。在傳輸數(shù)據(jù)的過程中,每個DMA通道都有其獨一無二的標(biāo)志位,傳輸開始、完成和傳輸錯誤都會有相應(yīng)的標(biāo)志位,每個標(biāo)志位的詳細(xì)介紹,可在芯片手冊查詢到。傳輸分為兩種模式(循環(huán)傳輸和一次傳輸),(1)一次傳輸:一次傳輸完成后在傳輸停止傳輸動作,如需要再次傳輸,需要關(guān)閉DMA,接著重新配置才可繼續(xù)傳輸。(2)循環(huán)傳輸:循環(huán)傳輸即傳輸完成后,傳輸后恢復(fù)循環(huán)傳輸?shù)呐渲迷龠M(jìn)行循環(huán)傳輸,它由寄存器DMA_CCRx來控制。那么直接內(nèi)存訪問如何工作?標(biāo)準(zhǔn)直接內(nèi)存訪問系統(tǒng)采用DMA控制器,DMA控制器可以生成存儲器地址并啟動存儲器讀寫周期,根據(jù)直接內(nèi)存訪問控制器提供的功能,這些控制寄存器可以指定傳輸目標(biāo),傳輸方向(從一個I/O設(shè)備開始讀取或直接寫入),傳輸單元的大小或傳輸數(shù)量的某種組合,處理器初始化DMA控制器,然后,CPU發(fā)出命令后,外設(shè)接收再進(jìn)行數(shù)據(jù)傳輸,接著,直接內(nèi)存訪問控制器為系統(tǒng)內(nèi)存提供地址和讀/寫控制線。3.6USART的發(fā)展及工作原理USART即通用同步/異步串行接收/發(fā)送器,USART實現(xiàn)了兩個功能,第一個功能是異步通信協(xié)議,第二個功能是串行外設(shè)接口,該功能也被廣泛使用。通過適當(dāng)?shù)能浖陀布O(shè)計,這兩種功能都可以使用,控制寄存器中的一位定義了模塊是作為UART還是SPI操作。USART支持兩種不同協(xié)議,其中一種硬件配置是通用的異步協(xié)議(通常簡稱為RS232是設(shè)備之間一種非常常見的串行通信形式。同步和異步通信的簡單區(qū)別在于通信時是否需要提供時鐘輸出,串行通信通常一次傳輸一個幀,一幀里不但包含數(shù)據(jù),還會有起始位、校驗位、停止位等等。傳輸?shù)母黜梾?shù)都是提前擬定的,當(dāng)然也可以自定義,USART的波特率發(fā)生器可產(chǎn)生整數(shù)和小數(shù),因此很多非整數(shù)的復(fù)雜波特率也不是問題,這就極大地增強(qiáng)了其兼容性,上節(jié)已經(jīng)介紹過的DMA,在USART這里也適用,其也可以不占用CPU資源進(jìn)行高速數(shù)據(jù)傳輸。圖3-10USART功能框圖在現(xiàn)代計算機(jī)科學(xué)中,復(fù)雜的問題都被人們簡化了,如計算機(jī)只需要認(rèn)識“0”和“1”,這就是一種問題的簡化,再如,在芯片設(shè)計時,一般都會分別設(shè)計出核心處理結(jié)構(gòu)和片上外設(shè),對于通信協(xié)議來說,我們也可以將其分為硬件物理層和通信協(xié)議層兩層,這樣就比較容易理解了。協(xié)議層主要負(fù)責(zé)規(guī)定一些通信傳輸邏輯,統(tǒng)一規(guī)定收發(fā)雙方的原始數(shù)據(jù)傳輸包裝和數(shù)據(jù)拆解標(biāo)準(zhǔn)等等,硬件物理層則主要定義了各種通信系統(tǒng)的各種機(jī)械和電子傳輸功能,以確保用戶原始數(shù)據(jù)在物理介質(zhì)中傳輸原始數(shù)據(jù)的正確性和安全性。物理層:串行通信的物理層上有許多標(biāo)準(zhǔn)。本課題主要用到的就是RS-232標(biāo)準(zhǔn)是用于系統(tǒng)內(nèi)外進(jìn)行數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)通信協(xié)議,簡單來說,RS232標(biāo)準(zhǔn)主要是規(guī)定了設(shè)備間的電壓標(biāo)準(zhǔn)。在以前,該標(biāo)準(zhǔn)是針對機(jī)電式電傳打字機(jī)和調(diào)制解調(diào)器系統(tǒng)的規(guī)范而設(shè)計的,現(xiàn)代計算機(jī)經(jīng)過發(fā)展,RS-232標(biāo)準(zhǔn)應(yīng)用更加廣泛,沒有它就不能在計算機(jī)和外設(shè)之間傳輸數(shù)據(jù)。為了克服這個問題,將USART與RS232結(jié)合使用,經(jīng)過電平轉(zhuǎn)換,即可穩(wěn)定可靠地傳輸數(shù)據(jù),使用RS-232標(biāo)準(zhǔn)的串行端口設(shè)備之間的通用通信結(jié)構(gòu)如下圖3-12所示。圖3-11通信模塊結(jié)構(gòu)圖在上述通信模式下,兩個DB9接口的連接通過串行端口信號線建立起來,在串行端口信號線路中使用RS-232標(biāo)準(zhǔn)傳輸信號。我們都知道微處理器一般識別的信號都在3V以下的微信號,因此需要將RS-232標(biāo)準(zhǔn)的高電壓信號將轉(zhuǎn)換為TTL標(biāo)準(zhǔn)信號,控制器可以通過電平轉(zhuǎn)換芯片識別轉(zhuǎn)換后的微小信號,從而實現(xiàn)通信。這里使用的是USB轉(zhuǎn)串口,使用的電平轉(zhuǎn)換芯片是CH340并在上位機(jī)安裝驅(qū)動。電平標(biāo)準(zhǔn):我們知道TTL標(biāo)準(zhǔn)在理想情況下,5V表示邏輯1,0V表示邏輯0;但上述標(biāo)準(zhǔn)受到干擾的可能性較大,如果用表3-3中的RS-232標(biāo)準(zhǔn),就可以大大提高串行通信的遠(yuǎn)程傳輸和抗干擾能力。由于微處理器通常使用TTL標(biāo)準(zhǔn),因此它通常用于使用MA3232芯片將TTL和RS-232信號相互轉(zhuǎn)換,在經(jīng)過USB轉(zhuǎn)串口,就可以方便地使用USB來傳輸數(shù)據(jù)了。表3-3TTL電平和RS232電平標(biāo)準(zhǔn)協(xié)議層:收發(fā)雙方提前規(guī)定好數(shù)據(jù)信號的格式,從下圖3-14中就可以看出普通的穿行端口數(shù)據(jù)包的基本組成,當(dāng)收發(fā)雙方格式一樣就可以正常接收和發(fā)送數(shù)據(jù)了。圖3-12串行通信數(shù)據(jù)包組成圖3.7三極管的選用及電路設(shè)計我們都知道,單片機(jī)大部分情況并不能直接連接負(fù)載,否則將會使單片機(jī)燒壞,所以本設(shè)計主要用一個三極管來對驅(qū)動電流進(jìn)行放大,放大電路電路圖如圖3-15所示。本設(shè)計選用了S8050(TO-92)NPN型三極管,該三極管的相關(guān)技術(shù)特性如表3-4所示。,圖3-13放大電路圖表3-4S8050(TO90)基本特性表集電極電(max)0.5A集電極擊穿電壓25V功率0.625W射極電壓5V3.8PWM捕獲原理為了更好地監(jiān)控PWM的調(diào)節(jié)效果,本設(shè)計使用高級定時器TIM1來實時捕獲輸入信號,主要是檢測跳變沿,同時通過寄存器對計數(shù)器進(jìn)行記錄,通過捕獲模式可以檢測輸入信號的占空比和周期等信息,并通過串口通訊顯示到串口助手,這樣就可以更好地觀察占空比和LED亮度的關(guān)系,本節(jié)將會詳細(xì)敘述PWM的捕獲原理。圖3-14捕獲跳變沿示意圖頻率測量當(dāng)捕獲開始的時候,捕獲寄存器會鎖存計數(shù)器當(dāng)前值(value1來讀入捕獲寄存器捕獲的數(shù)值),接著記錄本次捕獲,這時第一個上升沿捕獲完成,緊接著捕獲第二個上升沿,捕獲寄存器會再次鎖存計數(shù)器當(dāng)前值(value3來讀入捕獲寄存器捕獲的數(shù)值)。理論上value3-value1即可得出周期,但這個公式需要翻譯給計算機(jī),即頻率F=(72000000/(PSC+1)*value1+1);,我們可以計算信號的頻率。脈寬測量和上述測量周期原理相似,value1讀入捕獲寄存器捕獲的數(shù)值后,再進(jìn)行一次捕獲(注意是下降沿捕獲),第二次捕獲是用value2來讀入捕獲寄存器的數(shù)值。占空比計算公式為D=((value2+1)*100)/(value1+1)。本部分使用了高級定時器TIM1來完成實時PWM捕獲,這里用的引腳是PA8。能夠捕獲的最小的頻率為72M/{(ARR+1)*(PSC+1)},捕獲到的PWM將會實時顯示到串口助手,PWM捕獲效果如圖3-15所示。圖3-15捕獲PWM示意圖3.9本章小結(jié)本章主要介紹了整個系統(tǒng)所使用到的處理器、光敏電阻模塊、人體感應(yīng)模塊、聲音傳感應(yīng)模塊、三極管放大電路等的原理及選型,并介紹了其對應(yīng)的硬件電路設(shè)計,最關(guān)鍵是主控制器的USART、DMA,本章著重介紹了DMA、USART的原理,DMA是實時捕獲PWM相關(guān)信息的關(guān)鍵,USART則是一個非常靈活易用的串口通信設(shè)備,整個系統(tǒng)需要用到的串口眾多,了解USART才能配置好眾多串口,這也是今后在上位機(jī)顯示更多信息的基礎(chǔ)。

4硬件底層驅(qū)動的軟件實現(xiàn)經(jīng)過上一章的介紹,整個系統(tǒng)的硬件結(jié)構(gòu)已完成,本章開始介紹如何用軟件來驅(qū)動這些硬件。4.1SysTick系統(tǒng)定時器初始化SysTick即系統(tǒng)定時器,其存在是為整個系統(tǒng)提供定時中斷,SysTick中斷處理程序不需要清除SysTick中斷源,因為當(dāng)SysTick中斷處理程序被調(diào)用時,NVIC會自動清除該源。SysTick是一個24位計數(shù)器,如表4-1所示,每次計數(shù)器計數(shù)的時間是TDEC,當(dāng)數(shù)字寄存器從特定值減為零時,SysTick就會產(chǎn)生系統(tǒng)中斷。SysTick存在就是為系統(tǒng)提供一定時間的中斷,也可以說是時間間隔,就好像人的心跳一樣,有節(jié)奏的心跳是整個系統(tǒng)存在的基礎(chǔ)。表4-1SysTick中斷時間計算公式SysTick初始化一次計數(shù)時間中斷一次時間TDEC=1/SYSCLKTINT=VALUELOAD*TDEC

=VALUELOAD/CLKAHB注:SYSCLK=72M由表4-1可知中斷一次的時間TINT計算公式,當(dāng)VALUELOAD的值一定的時候,就可以計算出中斷一次的時間TINT。在軟件實現(xiàn)中,首選用函數(shù)SysTick_Init()對系統(tǒng)定時器進(jìn)行初始化操作,接著編寫了兩個延時函數(shù)(毫秒級voiddelay_ms(u16nms)、微秒級delay_us(u32nus)),兩個延時數(shù)都是硬件延時,非常準(zhǔn)確,這是之后對LED定時操作的關(guān)鍵,二者編寫邏輯上一致,首先重裝寄存器數(shù)值,再清零當(dāng)前數(shù)值寄存器,使能控制狀態(tài)寄存器,對這個數(shù)值進(jìn)行遞減,直至減到0產(chǎn)生中斷,這樣就可以得到一個精確的時間。4.2通用定時器配置STM32F103VET6擁有許多定時器,包括兩個個基本定時器(TIM6、TIM7)、四個通用計時器(TIM2-TIM5)和兩個高級定時器(TIM1、TIM8)?;居嫊r器的功能是最簡單的,通用計時器不難理解是在基本計時器的基礎(chǔ)上擴(kuò)展而來的(增加了可進(jìn)行捕獲的功能),高級定時器又增加了一些功能,不過本設(shè)計基本用不到多出的那些功能。STM32F103VET的通用計時器由一個PSC驅(qū)動的16位CNT組成,通用定時器可用于多種用途,本設(shè)計由用到其一個重要功能,PWM捕獲和PWM輸出,因此定時器的配置是設(shè)計的關(guān)鍵。本設(shè)計一共用了三個定時器,兩個通用定時器(TIME2、TIME3),一個高級定時器(TIME1),TIME2主要通過函數(shù)TIME2_Init()用來產(chǎn)生PWM,在自動模式下,TIME3通過函數(shù)TIME3_Init()和TIM3_IRQHandler(void)中斷服務(wù)函數(shù)來自動控制LED的一系列操作(如夜燈、人體紅外識別等功能)。高級定時器TIME1將會在以后的章節(jié)講到。4.3ADC配置STM32F103VET6芯片有三個ADC,此處使用的ADC1擁有16個外部通道。當(dāng)光敏電阻的電阻值發(fā)生變化時,引腳端的電壓也隨之改變,電壓范圍為0~3.3V,電壓信號會被處理。ADC的結(jié)果可以向左存儲,也可以在16位數(shù)據(jù)寄存器中向右排列。三個ADC的通道引腳對應(yīng)表如表4-2所示。表4-2ADC通道引腳對應(yīng)表ADC轉(zhuǎn)換后,模擬電壓為12位數(shù)字值如果直接打印出來,是不可能看懂相關(guān)信息的,因此,通常輸入電壓范圍為0V到3.3V。由于ADC為12位,12位滿量程(2^12)相當(dāng)于3.3V,12位全為0則對應(yīng)于0V。對應(yīng)關(guān)系式為:2^12/3.3=X/Y,=>Y=(3.3*X)/2^12(其中X為轉(zhuǎn)換值,Y為模擬電壓值)。在本設(shè)計中,使用ADC1來完成對光敏電阻模塊所采集的電壓信號操作,配置完函數(shù)ADC1_Init(),配置好對應(yīng)的GPIO引腳PA0后,再配置ADC工作模式和相應(yīng)的中斷服務(wù)函數(shù),就可以對完成模數(shù)轉(zhuǎn)換操作。4.4DMA配置前邊以及詳細(xì)介紹了DMA的原理以及優(yōu)點,這里不再重復(fù)。本設(shè)計需要DMA來進(jìn)行大量數(shù)據(jù)的轉(zhuǎn)移且不占用CPU資源,DMA可以對模數(shù)轉(zhuǎn)換的數(shù)據(jù)進(jìn)行快速轉(zhuǎn)移。在軟件上,首先進(jìn)行宏定義和相關(guān)變量的定義,再通過函數(shù)DMA1_Init()配置使能DMA,運(yùn)行后就可以對光敏電阻端電壓進(jìn)行采集,主控制器接收信號后作出相應(yīng)控制動作。4.5中斷和GPIO配置本設(shè)計采用了許多引腳,GPIO和中斷配置數(shù)量很多,這里通過函數(shù)key_Init()來進(jìn)行這些配置,此外,還需要外部中斷2中斷服務(wù)函數(shù)EXTI2_IRQHandler()來實現(xiàn)檢測人體,外部中斷10-15中斷服務(wù)函數(shù)EXTI15_10_IRQHandler()來實現(xiàn)夜燈功能。4.6PWM捕獲的軟件實現(xiàn)上面章節(jié)已經(jīng)介紹了PWM的捕獲原理,本設(shè)計使用高級定時器的TIM1(PA8)。首先進(jìn)行宏定義,這能加快軟件編寫速度,通過函數(shù)ADVANCE_TIM_Mode_Config()對高級定時器輸入和相關(guān)GPIO初始化以后,再通過函數(shù)ADVANCE_TIM_NVIC_Config()進(jìn)行中斷優(yōu)先級配置,通過中斷服務(wù)函數(shù)ADVANCE_TIM_IRQHandler()編寫PWM的計算公式,最終完成PWM的捕獲。4.7主程序框圖主函數(shù)的整體框架如圖4-1和圖4-2所示,主函數(shù)主要完成了對上述初始化配置函數(shù)的應(yīng)用,以完成各種功能。手動模式的程序框圖如圖4-1所示,手動模式下完成的是對LED完成最基本的控制,這是本部分的目的。首先對系統(tǒng)定時器進(jìn)行初始化,配置中斷優(yōu)先級,ADC,通用、高級定時器,GPIO和外部中斷初始化,接著是用while(1)不停地檢測觸摸按鍵是否被觸摸,在LED處于閃爍提醒狀態(tài)或者關(guān)閉狀態(tài)時,單擊觸摸即可點亮LED;如果是連續(xù)觸摸且LED處于點亮狀態(tài),則通過逐漸減小PWM占空比來使LED漸暗,相反,如果LED不是最大亮度,則首先輸出占空比加大的PWM使LED漸亮,直至最亮。圖4-1手動模式程序框圖自動模式和手動模式可以通過一個按鍵進(jìn)行切換,自動模式的程序框圖如圖4-2所示,手動模式和自動模式共同組成了主函數(shù),首先都是對一些外設(shè)進(jìn)行初始化,自動模式下的目的是完成一些特定的功能(人體感應(yīng)、聲控LED),自動模式下有很多需要計時的任務(wù),這里最功不可沒的就是系統(tǒng)定時器。第一個要實現(xiàn)的功能是人體感應(yīng)開燈,如果在環(huán)境較暗且系統(tǒng)不是夜燈狀態(tài)下檢測到人體,則輸出占空比100%的PWM使LED點亮,系統(tǒng)會持續(xù)檢測人體,如果時間過長,則通過閃爍來提醒人,在人離開一定時間后LED也會自動熄滅;第二個功能是夜燈功能,如果在環(huán)境較暗時,外界有聲音或震動被聲控傳感器有效接收到,則點亮LED,一定時間后自動關(guān)閉,系統(tǒng)繼續(xù)檢測。圖4-2自動模式程序框圖4.8本章小結(jié)本章主要系統(tǒng)定時器初始化及配置、ADC配置、DMA配置、中斷和GPIO配置等方面描述了本設(shè)計在軟件層面的實現(xiàn),詳細(xì)敘述了DMA、定時器、中斷函數(shù)的配置方式和一些細(xì)節(jié),還有PWM配置,到這里就意味著功能實現(xiàn)最重要的階段已經(jīng)完成。

5LED控制系統(tǒng)的功能實現(xiàn)在第三章,系統(tǒng)所使用的硬件已經(jīng)進(jìn)行了介紹,在第四章,本文又詳細(xì)敘述了實現(xiàn)系統(tǒng)全部功能的最關(guān)鍵的硬件的軟件底層驅(qū)動,在本章,將會使軟硬件結(jié)合,實現(xiàn)具體功能,對具體功能的相關(guān)細(xì)節(jié)進(jìn)行詳細(xì)介紹。圖5-1系統(tǒng)實物圖5.1手動模式調(diào)節(jié)亮度實現(xiàn)通過按壓按鍵(該按鍵接到了芯片的PE0),經(jīng)函數(shù)相關(guān)幾個函數(shù)會對該信號進(jìn)行判別,然后改變模式,可切換自動模式和手動模式。 在普通模式下,LED燈默認(rèn)是熄滅狀態(tài),系統(tǒng)會進(jìn)行檢測,等待LED狀態(tài)更新,連續(xù)觸摸按鍵時,輸出占空比增大的PWM,LED亮度隨之升高,直至亮度最高;在普通模式下,如果燈為亮度最高狀態(tài),系統(tǒng)等待LED狀態(tài)更新,連續(xù)觸摸按鍵時,輸出占空比減小的PWM,LED亮度隨之減小,直至變成一個最低亮度;如果不是連續(xù)觸摸按鍵,而是單擊一下按鍵,則可直接在LED點亮或者閃爍狀態(tài)下熄滅LED;系統(tǒng)會自動捕獲PWM,并將其占空比和周期顯示在上位機(jī)串口助手上。普通模式下實現(xiàn)的是最基礎(chǔ)的功能,即點亮LED并控制其亮度。5.2自動模式下的功能實現(xiàn)人體紅外感應(yīng)控制LED的實現(xiàn):當(dāng)環(huán)境亮度較低時,如果有人靠近系統(tǒng),將會被該紅外感應(yīng)模塊感應(yīng)到,此時紅外模塊將會向主控制器發(fā)出點亮LED的信號,實現(xiàn)點亮LED。關(guān)燈相關(guān)功能:在自動模式下,LED點亮后,如果系統(tǒng)不能繼續(xù)檢測到人體,則自動延時一定時間后燈LED關(guān)閉;如果人體長時間在紅外模塊附近時(時間可任意設(shè)置),LED會通過閃爍提醒使用者需要休息。(3)聲控LED的實現(xiàn):在環(huán)境亮度很低時,當(dāng)有聲音出現(xiàn)時,聲控模塊接收到聲音信號,經(jīng)該模塊處理后向主控制器發(fā)出信號,主控制器控制LED點亮一個固定時間后再自動熄滅。5.3本章總結(jié)本章敘述了本系統(tǒng)所有功能實現(xiàn)的相關(guān)細(xì)節(jié),詳細(xì)說明了如何實現(xiàn)系統(tǒng)的各個功能,本章的結(jié)束意味著本設(shè)計已經(jīng)基本大功告成,設(shè)計目標(biāo)基本已經(jīng)實現(xiàn),一個較為實用的LED控制系統(tǒng)基本實現(xiàn)。

6全文總結(jié)6.1遇到的問題與解決辦法由于自己以前做的硬件和軟件項目不多,并且此次設(shè)計想要完成的功能也很多,模塊很多,所以在做整個系統(tǒng)的全過程遇到了各種各樣的問題,大部分問題都得到了很好的解決,最終能夠?qū)崿F(xiàn)預(yù)想的大部分功能相當(dāng)不容易,遇到的主要問題及解決辦法如下:前期學(xué)習(xí)STM32庫函數(shù)操作時屢次碰壁,剛開始晦澀難懂,不像以前比較簡單51直接操作寄存器來實現(xiàn)各種功能那樣簡單,我們都知道51單片機(jī)是8位的芯片,很多操作都是一個0x**就可以進(jìn)行直接操作,外設(shè)也比較少,直接配置寄存器很方便,然而32位的STM32VET6芯片,如果像51一樣操作來做項目基本不可能。因此我堅定了學(xué)習(xí)方向,一定要學(xué)會庫函數(shù)、固件庫來操作,后來對庫函數(shù)一次又一次地學(xué)習(xí)和嘗試操作,反復(fù)學(xué)習(xí)琢磨,向老師同學(xué)討教,才學(xué)會了熟練地用庫函數(shù)完成各種操作,這在以后的項目解決上給了我極大的幫助。第二個問題還是前期設(shè)計整個系統(tǒng)時思路不夠清晰,個別功能來回猶豫沒有確定下來,這就導(dǎo)致我浪費了大量的時間。當(dāng)然我也沒有原地踏步,在這個過程中一直在學(xué)習(xí)STM32,并在向老師的建議下先搭建小部分系統(tǒng)(例如先完成最基本的點亮并控制LED亮度,再去完成自動模式下的其他預(yù)想功能),隨著學(xué)習(xí)的深入,慢慢地對系統(tǒng)進(jìn)行完善,加入了光敏電阻和聲控模塊,夜燈功能得以實現(xiàn),最后再加上了人體紅外識別模塊。程序編寫遇到阻力最大,最后在向清老師的幫助下也基本實現(xiàn)所需功能。GPIO復(fù)用問題也困饒了筆者許久,由于所用的單片機(jī)是有附加模塊的mini板而不是純凈的最小系統(tǒng)板,有部分引腳已經(jīng)默認(rèn)復(fù)用了其他功能,后經(jīng)上網(wǎng)查詢和向老師請教得知,AFRL和AFRH兩個寄存器配置GPIO的復(fù)用功能,STM32系列芯片對每個Pin已經(jīng)內(nèi)置了16種復(fù)用功能(AF0~AF15),每個引腳占用4bits,寄存器的高低兩個部分分別管理8個Pin(AFRL:0~7,AFRH:8~15)。在不斷地學(xué)習(xí)過程中,筆者了解到,當(dāng)CPU控制某個外設(shè)功能時,首先要做的就是先是能外設(shè)所對應(yīng)的時鐘與所用引腳所對應(yīng)的時鐘,接著要初始化GPIO并配置復(fù)用功能,然后開始對各類寄存器進(jìn)行配置。如果想要完全發(fā)揮該芯片的全部性能,復(fù)用端口必不可少,因此需要重視對該方面的學(xué)習(xí)。當(dāng)然,還有很多細(xì)小的問題,如焊接時燒壞了一些原件,使用keil時配置錯誤致使程序總是報錯,系統(tǒng)軟硬件聯(lián)調(diào)時不能實現(xiàn)個別預(yù)想功能等,這里不再一一贅述。6.2實現(xiàn)的功能(1)普通模式下通過按鍵切換為普通模式,連續(xù)觸摸觸控開關(guān)可實現(xiàn)接近無極的亮度調(diào)節(jié),這是整個系統(tǒng)最基礎(chǔ)的功能,控制LED所用的PWM信息可以被捕獲,并通過串口發(fā)送至上位機(jī)串口助手顯示出來,完成了對PWM相關(guān)信息的實時監(jiān)控。自動模式下當(dāng)環(huán)境較暗的時候,有人體靠近系統(tǒng)時,紅外感應(yīng)傳感器接受到信號后傳給主控制,接著LED將會被點亮。人在系統(tǒng)附近時間超過限定時間(可隨意設(shè)置時間長短)或距離系統(tǒng)過近時(提醒人要保持距離以保護(hù)眼睛),LED會閃爍以提醒人們保持安全距離,當(dāng)然也可以手動關(guān)閉閃爍功能,當(dāng)環(huán)境變亮或者人遠(yuǎn)離系統(tǒng)后,LED關(guān)閉。此系統(tǒng)還有夜燈功能,夜間有聲音被傳感器捕獲后,主控制器控制點亮LED一定時間。6.3改進(jìn)方向與展望(1)該LED控制系統(tǒng)設(shè)計雖然實現(xiàn)的功能多樣,但實用性還可以進(jìn)一步提高,如想在日常使用中,還需要設(shè)計一個外部殼體才能投入實用(2)此外,還需要進(jìn)一步降低成本(如現(xiàn)在使用的STM32F103VET6性能過剩,本設(shè)計只使用了其十分之一的外部引腳,使用STM32F030或C8T系列也可滿足需求),LED的聲控和人體感應(yīng)部分可以控制更多LED,提高效費比。(3)未來還應(yīng)可以通過上位機(jī)控制LED,加入藍(lán)牙模塊和WiFi模塊通過手機(jī)控制,使其真正成為智能LED控制器,融入智能家居,還應(yīng)設(shè)計出更加合理的電路來控制大功率的LED,使其能夠不只局限于家用照明。6.4體會與感悟畢業(yè)設(shè)計立項已過去了好幾個月,由于之前自己沒有做過硬件的項目,課上的知識也掌握的不夠牢固,所以基本所有的軟硬件都要重新學(xué)習(xí),學(xué)習(xí)起來困難重重,所以幾個月的時間很快,但不管結(jié)果如何,這段時間我所學(xué)到的東西彌足珍貴。選定的題目是基于STM32的LED控制系統(tǒng)是我感興趣的方向,項目對我來說很難,但有了同學(xué)們和老師的幫助,最終基本完成了預(yù)期功能。在這個畢業(yè)設(shè)計上,讓我知道有想法和去實現(xiàn)想法完全是兩碼事,實現(xiàn)想法需要付出日日夜夜的努力,前期學(xué)期還是花了我最多的時間,基礎(chǔ)性的東西必須反復(fù)聽反復(fù)練才能融會貫通。實現(xiàn)單項功能是不難的,網(wǎng)上也都有教程和源碼,但當(dāng)將各個模塊組合到一起時,就不是想的那么簡單了,有硬件選擇問題,還有軟件編寫問題,一一解決,反復(fù)調(diào)試,才有了今天的結(jié)果??偟膩碚f,本次設(shè)計完成了最初的設(shè)計目標(biāo),驗證了系統(tǒng)的可行性,最重要的是讓我更堅定了以后深入學(xué)習(xí)嵌入式的目標(biāo)。參考文獻(xiàn)宋斌,袁慶慶,楊娜.基于STM32的智能臺燈系統(tǒng)設(shè)計[J].電子測量技術(shù),2017,40(06):67-71+75.歐邦上,邱亞君.一種驅(qū)動LED陣列照明的恒壓恒流模型及其仿真[J].現(xiàn)代電子技術(shù),2011,34(08):183-189.歐邦上.大功率LED照明驅(qū)動與控制技術(shù)研究[D].華南理工大學(xué),2011.顏重光.LED照明驅(qū)動電源芯片的創(chuàng)新發(fā)展[J].中國照明電器,2018(09):5-9.胡進(jìn),呂征宇,林輝品,靳曉光.LED照明應(yīng)用現(xiàn)狀

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論