日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

STM32控制器多级LED调光原理与实验

發(fā)布時(shí)間:2023/12/3 106 生活家
生活随笔 收集整理的這篇文章主要介紹了 STM32控制器多级LED调光原理与实验 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基于STM32的LED多級(jí)調(diào)光器,采用PWM電壓調(diào)節(jié)方法,利用STM32單片機(jī)集成有AD轉(zhuǎn)換與PWM輸出技術(shù),通過(guò)對(duì)從控制始端(電位器)采集到的電位數(shù)據(jù)進(jìn)行AD轉(zhuǎn)換,并對(duì)數(shù)據(jù)進(jìn)行處理得到PWM輸出的占空比,從而能夠?qū)ED負(fù)載進(jìn)行調(diào)節(jié),完成調(diào)光。以STM32F103ZET6為核心的單片機(jī)開(kāi)發(fā)板,對(duì)LED燈的1000級(jí)亮暗調(diào)節(jié),實(shí)驗(yàn)結(jié)果顯示LED的亮暗變化均勻,電壓變化與文中所建立的線性處理模型一致。

引 言

LED的驅(qū)動(dòng)方法有很多,可用單片機(jī)(如8051單片機(jī))[1]產(chǎn)生脈沖寬度調(diào)制來(lái)驅(qū)動(dòng)LED,PWM是脈寬調(diào)制的簡(jiǎn)稱[2-4],其控制簡(jiǎn)單靈活,方便使用,憑借其低速運(yùn)行平穩(wěn),動(dòng)態(tài)性能優(yōu)良[5]等特點(diǎn),在電機(jī)的調(diào)速、功率調(diào)節(jié)等方面得到了非常廣泛的應(yīng)用。STM32F103系列是STM32系列高端單片機(jī)的一種系列,集成AD轉(zhuǎn)換與PWM輸出功能,可直接進(jìn)行AD數(shù)據(jù)的采集和PWM波的輸出。

PWM輸出原理

STM32的PWM輸出機(jī)制

PWM既脈沖寬度調(diào)制,是一種高低電平以一定周期變化的占空比可調(diào)的方波信號(hào)[6-8],PWM的波形圖如圖1所示。PWM調(diào)制的輸入電壓與負(fù)載的平均電壓之間的關(guān)系[9]如式(2)。

圖 1 PWM方波信號(hào)圖 Fig.1 PWM square wave signal diagram

由圖1所示的PWM波形圖可得PWM波形的分段函數(shù)為:

式中,Tp:PWM的周期;Ts:PWM高電平時(shí)間;UH:PWM高電平電壓值;UL:PWM低電平電壓值;k:PWM的諧波次數(shù)。

電壓變化關(guān)系表示為:

式中Ua:負(fù)載兩端平均電壓;α:PWM輸出的占空比,0≤α≤1。

實(shí)驗(yàn)使用STM32F103ZET6單片機(jī),該類型的單片機(jī)共有8個(gè)定時(shí)器,其中定時(shí)器6和定時(shí)器7不能用來(lái)產(chǎn)生PWM輸出,定時(shí)器1和定時(shí)器8可最多產(chǎn)生7路PWM輸出,其它的每個(gè)通用定時(shí)器可最多產(chǎn)生4路PWM輸出,故最多可以產(chǎn)生30路PWM輸出,實(shí)驗(yàn)使用定時(shí)器3。

在STM32F103系列單片機(jī)固件庫(kù)函數(shù)中,TIM_Period為定時(shí)器的自動(dòng)重裝寄存器值,是PWM的周期值,TIM_SetCompare是用于選定使用哪個(gè)定時(shí)器和設(shè)置PWM占空比的函數(shù),可推算出STM32的PWM輸出電壓變化關(guān)系。

在STM32的PWM配置函數(shù)里,TsTp是通過(guò)設(shè)置非負(fù)整數(shù)值來(lái)完成的,假設(shè)T為單片機(jī)計(jì)數(shù)脈沖基本周期,n為TIM_SetCompare裝載值,m為PWM一個(gè)周期值,mn都是非負(fù)整數(shù),則有:

由式(4)可以看出,在STM32的代碼編寫里,負(fù)載兩端的電壓平均值Ua與TIM_SetCompare裝載值n和TIM_Period的PWM的一個(gè)周期值m有關(guān),而在程序設(shè)計(jì)中,m可預(yù)先設(shè)置好,m就是調(diào)光器的級(jí)數(shù),裝載值n則需要對(duì)從電位器得到的AD數(shù)據(jù)值進(jìn)行處理后方能得到,對(duì)AD數(shù)據(jù)的處理有多種方式,于是可得到裝載值n與AD數(shù)據(jù)之間的映射關(guān)系。

線性處理模型

由式(4)分析可知,裝載值n與AD數(shù)據(jù)之間有映射關(guān)系,即從電位器得到的AD數(shù)據(jù)與最終的PWM輸出存在映射關(guān)系,實(shí)驗(yàn)建立線性映射關(guān)系,對(duì)AD數(shù)據(jù)進(jìn)行算數(shù)平均值處理,可得:

式中k:比例系數(shù);kr:算數(shù)平均值比例系數(shù)(與N有關(guān));N:從電位器采樣的AD數(shù)據(jù)個(gè)數(shù);xi:從電位器采樣的AD數(shù)據(jù)值;p:AD轉(zhuǎn)換器的數(shù)據(jù)二進(jìn)制位數(shù)。

由式(4)和式(5)可得負(fù)載兩端的電壓變化與算數(shù)平均值處理的AD數(shù)據(jù)之間的關(guān)系:

根據(jù)所建立的線性處理模型,實(shí)驗(yàn)設(shè)置調(diào)光器的調(diào)光級(jí)m=1000,由式(4)、式(5)和式(6)可得線性處理模型的電壓變化關(guān)系為:

硬件設(shè)計(jì)

調(diào)光器整體結(jié)構(gòu)

PWM調(diào)光器的整體結(jié)構(gòu)包括旋轉(zhuǎn)電位器、雙電源:電源1和電源2、LED驅(qū)動(dòng)電路、LED負(fù)載和STM32F103ZET6單片機(jī)組成,如圖2所示。

旋轉(zhuǎn)電位器是旋轉(zhuǎn)變阻裝置,通過(guò)旋動(dòng)電位器使其電阻值發(fā)生改變,從而電位器兩端的電位差也會(huì)發(fā)生變化,單片機(jī)從電位器采集其電位值,并轉(zhuǎn)換為AD數(shù)據(jù)進(jìn)行處理,實(shí)驗(yàn)進(jìn)行的是線性處理,裝載值為n,將n傳遞給TIM_SetCompare函數(shù),從而得到AD數(shù)據(jù)所對(duì)應(yīng)的占空比,使LED驅(qū)動(dòng)電路端接收到一定占空比的PWM輸出。實(shí)驗(yàn)使用的電位器有三個(gè)引腳,實(shí)驗(yàn)裝置將電位器的電壓輸出端連接到了GPIOA1引腳上,STM32單片機(jī)的ADC1、ADC2和ADC3均能夠完成對(duì)GPIOA1端的AD轉(zhuǎn)換,如表1所示。電位器的輸出電壓的理論取值范圍在0 V到3.3 V之間,LED燈的亮度變化隨著電位器輸出端的電位值的變化而變化。

圖 2 PWM調(diào)光器整體結(jié)構(gòu) Fig.2 PWM dimmer overall structure

電源1為旋轉(zhuǎn)電位器和STM32單片機(jī)的供電電源,為直流3.3 V恒壓電源,故電位器的點(diǎn)位值范圍即為0 V~3.3V。電源2為L(zhǎng)ED驅(qū)動(dòng)電路的電源,為恒壓電源,其電器特性根據(jù)LED負(fù)載的特性進(jìn)行配置。

表 1 STM32F103ZET6的ADC與轉(zhuǎn)換通道

Table 1 STM32F103ZET6 ADC and conversion channels

轉(zhuǎn)換通道

ADC1

ADC2

ADC3

通道0

PA0

PA0

PA0

通道1

PA1

PA1

PA1

通道2

PA2

PA2

PA2

通道3

PA3

PA3

PA3

通道4

PA4

PA4

PF6

通道5

PA5

PA5

PF7

通道6

PA6

PA6

PF8

通道7

PA7

PA7

PF9

通道8

PB0

PB0

PF10

通道9

PB1

PB1

通道10

PC0

PC0

PC0

通道11

PC1

PC1

PC1

通道12

PC2

PC2

PC2

通道13

PC3

PC3

PC3

通道14

PC4

PC4

通道15

PC5

PC5

LED驅(qū)動(dòng)電路

LED驅(qū)動(dòng)電路如圖3所示。驅(qū)動(dòng)電路主要由固態(tài)繼電器與電源接口組成。

圖 3 LED驅(qū)動(dòng)電路 Fig. 3 LED drive circuit

固態(tài)繼電器受PWM波的控制,當(dāng)PWM Input端為低電平時(shí),PC817光電耦合器導(dǎo)通,NPN型C9014三極管基集1端為高電位,三極管導(dǎo)通,固態(tài)繼電器閉合,LED負(fù)載通電。當(dāng)PWM Input端為高電平時(shí),LED負(fù)載為斷路狀態(tài),光電耦合器將前端與負(fù)載隔離開(kāi)來(lái)。在LED負(fù)載高電壓端引出ADC連接線,用于STM32采集LED負(fù)載兩端的電壓值。LED驅(qū)動(dòng)電源根據(jù)LED負(fù)載特性進(jìn)行選取,為恒壓源。實(shí)驗(yàn)采用低功率0805貼片LED,故其驅(qū)動(dòng)電源可選用STM32單片機(jī)的3.3 V直流電源,事實(shí)上對(duì)于該種類型的LED可通過(guò)限流電阻直接與單片機(jī)的GPIO引腳連接,式(5)和式(6)的線性處理模型同樣適用。

STM32F103ZET6單片機(jī)

STM32F103ZET6是STM32系列單片機(jī)中的一種,對(duì)于LQFP和BGA的封裝均有144只引腳,內(nèi)部集成了512 K字節(jié)的FLASH閃存存儲(chǔ)器,標(biāo)準(zhǔn)工作電壓范圍為2.0 V ~3.6 V,其部分性能參數(shù)如表2所示。STM32F103ZET6單片機(jī)內(nèi)部集成了AD轉(zhuǎn)換與PWM輸出功能,可通過(guò)GPIO引腳采集電位器的電位值,并對(duì)從電位器采集到的數(shù)據(jù)進(jìn)行線性或非線性處理,如式(6)和式(7)的處理,可得PWM輸出的占空比,通過(guò)得到的占空比,可進(jìn)行相應(yīng)的PWM輸出。

表 2 STM32F103ZET6部分性能參數(shù)

Table 2 Performance parameters of STM32F103ZET6

名稱

參數(shù)

單片機(jī)

STM32F103ZET6

主頻(MHz)

72

內(nèi)核

ARM Cortex-M3

通用IO個(gè)數(shù)

112

定時(shí)器個(gè)數(shù)

8

Flash(KB)

512

SRAM(KB)

64

LED是利用PN結(jié)或類似結(jié)構(gòu)把電能轉(zhuǎn)化成光能的器件[10, 11],在很寬的工作電壓電流范圍內(nèi),發(fā)光二極管的發(fā)光亮度與工作電壓大小成線性關(guān)系,LED燈是比較節(jié)能的發(fā)光裝置,在現(xiàn)代社會(huì)里的應(yīng)用非常廣泛。實(shí)驗(yàn)裝置將LED燈與GPIOC的引腳GPIO_Pin_7通過(guò)470歐姆的限流電阻相連,所以將PWM輸出到GPIOC的GPIO_Pin_7引腳即可獲得對(duì)LED的亮暗調(diào)節(jié)。在編程時(shí)將TIM3的定時(shí)通道2(TIM_CH2)與GPIOC_Pin_7完全重映像。定時(shí)器TIM3的引腳映像表如表2所示。

表 3 TIM3的定時(shí)通道與映像引腳

Table 3 TIM3 timing channels and mapping pins

定時(shí)通道

無(wú)重映像

部分重映像

完全重映像

TIM_CH1

GPIOA6

GPIOB4

GPIOC6

TIM_CH2

GPIOA7

GPIOB5

GPIOC7

TIM_CH3

GPIOB0

GPIOC8

TIM_CH4

GPIOB1

GPIOC9

軟件設(shè)計(jì)與實(shí)驗(yàn)

PWM調(diào)光器軟件設(shè)計(jì)

PWM調(diào)光器的軟件程序流程包括:裝置初始化(系統(tǒng)時(shí)鐘初始化、PWM配置初始化、ADC配置初始化),采集電位器AD數(shù)據(jù),對(duì)采集的AD數(shù)據(jù)的線性處理過(guò)程和根據(jù)處理后得到的占空比進(jìn)行PWM輸出,如圖4所示。

圖 4 LED調(diào)光器程序流程圖 Fig.4 LED dimmer program flow chart

調(diào)光器裝置實(shí)驗(yàn)

STM32F103ZET6開(kāi)發(fā)板的標(biāo)準(zhǔn)電壓為3.3 V,所以高電壓UH ≈ 3.3 V,LED負(fù)載兩端電壓的變化范圍在0 V~3.3 V之間。設(shè)置LED調(diào)光級(jí)為m=1000,從電位器采樣的AD數(shù)據(jù)個(gè)數(shù)N=100,AD轉(zhuǎn)換的數(shù)據(jù)二進(jìn)制位數(shù)為p=12,比例系數(shù)分別取k=0.5,1,2,進(jìn)行三種不同比例系數(shù)線性處理模型的調(diào)光實(shí)驗(yàn)。

根據(jù)式(5)和式(6)可知線性處理模型的結(jié)果以LED負(fù)載兩端的電壓值來(lái)體現(xiàn),可通過(guò)誤差值的大小來(lái)判斷線性處理模型的正確性,誤差較小則表明實(shí)驗(yàn)結(jié)果與理論模型具有相同的變化趨勢(shì),定義相對(duì)誤差(取值范圍一般在5%以內(nèi)):

式中UC:實(shí)驗(yàn)測(cè)得LED負(fù)載端的電壓值。

實(shí)驗(yàn)測(cè)得數(shù)據(jù)如表4所示,當(dāng)比例系數(shù)k=0.5,1和2時(shí),電位器控制電壓的理論值分別為0~3.3 V,0~3.3 V和0~1.5 V,LED負(fù)載端的電壓理論值范圍分別為0~1.5 V,0~3.3 V,0~3.3 V。

實(shí)驗(yàn)結(jié)果表明隨著電位器的調(diào)節(jié),LED負(fù)載端的電壓值也在發(fā)生變化,這說(shuō)明LED受到STM32單片機(jī)的控制,STM32單片機(jī)也隨著電位器的調(diào)節(jié)而有不同占空比的PWM輸出。在調(diào)光級(jí)為1000時(shí),LED的亮暗變化均勻,通過(guò)誤差分析,得出相對(duì)誤差值均在5%以內(nèi),實(shí)驗(yàn)結(jié)果驗(yàn)證了式(5)和式(6)建立的線性處理模型。當(dāng)調(diào)光級(jí)m的值比較小時(shí),LED的亮度并不明顯,此時(shí)LED受到占空比較小的PWM控制,LED兩端的電壓值也較小。

表 4 LED調(diào)光器實(shí)驗(yàn)數(shù)據(jù)

Table 4 Experimental data of LED dimmer

比例

元器件

電位(V)

k=0.5

電位器

0.444

1.679

2.200

3.205

LED

0.215

0.800

1.050

1.524

相對(duì)誤差(%)

3.153

4.705

4.545

4.899

k=1

電位器

0.102

1.061

2.290

3.145

LED

0.106

1.10

2.182

2.998

相對(duì)誤差(%)

3.774

3.545

4.950

4.903

k=2

電位器

0.065

0.304

0.891

1.403

LED

0.125

0.587

1.698

2.668

相對(duì)誤差(%)

3.846

3.454

4.714

4.918

結(jié) 論

STM32單片機(jī)的應(yīng)用廣泛,基于STM32的PWM調(diào)光器,將電位器與LED相對(duì)地隔離開(kāi)來(lái),通過(guò)建立裝載值n與從電位器端采集的AD數(shù)據(jù)之間的映射模型,得到LED調(diào)光器的調(diào)光級(jí)只與PWM的一個(gè)周期值m有關(guān)。在設(shè)置的調(diào)光級(jí)m=1000的實(shí)驗(yàn)結(jié)果中,驗(yàn)證了所建立的線性處理模型,LED的亮暗變化均勻,相對(duì)誤差也較小。

參考文獻(xiàn)

[1] 賈冬穎, 王巍. 基于STC單片機(jī)LED智能照明系統(tǒng)的設(shè)計(jì) [J]. 照明工程學(xué)報(bào), 2010, (02): 71-73+80.

[2] 鄒中華, 吳陳, 曾慶軍. 基于S3C2410的直流電機(jī)PWM調(diào)速系統(tǒng) [J]. 微計(jì)算機(jī)信息, 2008, 24(4-2): 130-131.

[3] 何國(guó)榮, 紀(jì)娜. 基于PWM技術(shù)的LED補(bǔ)光燈R/B配比算法研究 [J]. 信息技術(shù), 2015, (05): 147-150.

[4] 曹陽(yáng). 基于觸摸按鍵和PWM驅(qū)動(dòng)配色的汽車氛圍燈 [J]. 電子技術(shù), 2015, (12): 1-3.

[5] 楊學(xué)存, 楊戰(zhàn)社, 孔令紅. 基于ARM的嵌入式直流電機(jī)PWM調(diào)速系統(tǒng)設(shè)計(jì) [J]. 煤礦機(jī)械, 2012, 33(04): 255-257.

[6] 洪俊峰, 卜文強(qiáng), 張榕鑫, 等. 基于STM32 PWM的正弦信號(hào)發(fā)生器設(shè)計(jì) [J]. 合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2014, 37(02): 188-191+224.

[7] 王瓊, 吳惠, 夏光, 等. 基于PWM控制模式的高速開(kāi)關(guān)閥開(kāi)關(guān)特性分析及優(yōu)化 [J]. 合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2016, (09): 1199-1204.

[8] 王子權(quán). 基于STM32的PWM調(diào)光器 [J]. 電氣自動(dòng)化, 2018, 40(06): 98-100+115.

[9] 李素娟, 蔣維安. 直流電機(jī)PWM調(diào)速系統(tǒng)中控制電壓非線性研究 [J]. 現(xiàn)代電子技術(shù), 2010, (22): 196-198+202.

[10] 李楊帥. 基于PWM的無(wú)級(jí)調(diào)光LED驅(qū)動(dòng)電路設(shè)計(jì) [D]: 長(zhǎng)安大學(xué), 2015.

[11] 程伊炳, 金尚忠. 基于多路輸出的高效LED驅(qū)動(dòng)器的分析和仿真 [J]. 照明工程學(xué)報(bào), 2013, (02): 66-70.

總結(jié)

以上是生活随笔為你收集整理的STM32控制器多级LED调光原理与实验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。