日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

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

發布時間:2023/12/3 综合教程 100 生活家
生活随笔 收集整理的這篇文章主要介紹了 STM32控制器多级LED调光原理与实验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基于STM32的LED多級調光器,采用PWM電壓調節方法,利用STM32單片機集成有AD轉換與PWM輸出技術,通過對從控制始端(電位器)采集到的電位數據進行AD轉換,并對數據進行處理得到PWM輸出的占空比,從而能夠對LED負載進行調節,完成調光。以STM32F103ZET6為核心的單片機開發板,對LED燈的1000級亮暗調節,實驗結果顯示LED的亮暗變化均勻,電壓變化與文中所建立的線性處理模型一致。

引 言

LED的驅動方法有很多,可用單片機(如8051單片機)[1]產生脈沖寬度調制來驅動LED,PWM是脈寬調制的簡稱[2-4],其控制簡單靈活,方便使用,憑借其低速運行平穩,動態性能優良[5]等特點,在電機的調速、功率調節等方面得到了非常廣泛的應用。STM32F103系列是STM32系列高端單片機的一種系列,集成AD轉換與PWM輸出功能,可直接進行AD數據的采集和PWM波的輸出。

PWM輸出原理

STM32的PWM輸出機制

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

圖 1 PWM方波信號圖 Fig.1 PWM square wave signal diagram

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

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

電壓變化關系表示為:

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

實驗使用STM32F103ZET6單片機,該類型的單片機共有8個定時器,其中定時器6和定時器7不能用來產生PWM輸出,定時器1和定時器8可最多產生7路PWM輸出,其它的每個通用定時器可最多產生4路PWM輸出,故最多可以產生30路PWM輸出,實驗使用定時器3。

在STM32F103系列單片機固件庫函數中,TIM_Period為定時器的自動重裝寄存器值,是PWM的周期值,TIM_SetCompare是用于選定使用哪個定時器和設置PWM占空比的函數,可推算出STM32的PWM輸出電壓變化關系。

在STM32的PWM配置函數里,TsTp是通過設置非負整數值來完成的,假設T為單片機計數脈沖基本周期,n為TIM_SetCompare裝載值,m為PWM一個周期值,mn都是非負整數,則有:

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

線性處理模型

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

式中k:比例系數;kr:算數平均值比例系數(與N有關);N:從電位器采樣的AD數據個數;xi:從電位器采樣的AD數據值;p:AD轉換器的數據二進制位數。

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

根據所建立的線性處理模型,實驗設置調光器的調光級m=1000,由式(4)、式(5)和式(6)可得線性處理模型的電壓變化關系為:

硬件設計

調光器整體結構

PWM調光器的整體結構包括旋轉電位器、雙電源:電源1和電源2、LED驅動電路、LED負載和STM32F103ZET6單片機組成,如圖2所示。

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

圖 2 PWM調光器整體結構 Fig.2 PWM dimmer overall structure

電源1為旋轉電位器和STM32單片機的供電電源,為直流3.3 V恒壓電源,故電位器的點位值范圍即為0 V~3.3V。電源2為LED驅動電路的電源,為恒壓電源,其電器特性根據LED負載的特性進行配置。

表 1 STM32F103ZET6的ADC與轉換通道

Table 1 STM32F103ZET6 ADC and conversion channels

轉換通道

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驅動電路

LED驅動電路如圖3所示。驅動電路主要由固態繼電器與電源接口組成。

圖 3 LED驅動電路 Fig. 3 LED drive circuit

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

STM32F103ZET6單片機

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

表 2 STM32F103ZET6部分性能參數

Table 2 Performance parameters of STM32F103ZET6

名稱

參數

單片機

STM32F103ZET6

主頻(MHz)

72

內核

ARM Cortex-M3

通用IO個數

112

定時器個數

8

Flash(KB)

512

SRAM(KB)

64

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

表 3 TIM3的定時通道與映像引腳

Table 3 TIM3 timing channels and mapping pins

定時通道

無重映像

部分重映像

完全重映像

TIM_CH1

GPIOA6

GPIOB4

GPIOC6

TIM_CH2

GPIOA7

GPIOB5

GPIOC7

TIM_CH3

GPIOB0

GPIOC8

TIM_CH4

GPIOB1

GPIOC9

軟件設計與實驗

PWM調光器軟件設計

PWM調光器的軟件程序流程包括:裝置初始化(系統時鐘初始化、PWM配置初始化、ADC配置初始化),采集電位器AD數據,對采集的AD數據的線性處理過程和根據處理后得到的占空比進行PWM輸出,如圖4所示。

圖 4 LED調光器程序流程圖 Fig.4 LED dimmer program flow chart

調光器裝置實驗

STM32F103ZET6開發板的標準電壓為3.3 V,所以高電壓UH ≈ 3.3 V,LED負載兩端電壓的變化范圍在0 V~3.3 V之間。設置LED調光級為m=1000,從電位器采樣的AD數據個數N=100,AD轉換的數據二進制位數為p=12,比例系數分別取k=0.5,1,2,進行三種不同比例系數線性處理模型的調光實驗。

根據式(5)和式(6)可知線性處理模型的結果以LED負載兩端的電壓值來體現,可通過誤差值的大小來判斷線性處理模型的正確性,誤差較小則表明實驗結果與理論模型具有相同的變化趨勢,定義相對誤差(取值范圍一般在5%以內):

式中UC:實驗測得LED負載端的電壓值。

實驗測得數據如表4所示,當比例系數k=0.5,1和2時,電位器控制電壓的理論值分別為0~3.3 V,0~3.3 V和0~1.5 V,LED負載端的電壓理論值范圍分別為0~1.5 V,0~3.3 V,0~3.3 V。

實驗結果表明隨著電位器的調節,LED負載端的電壓值也在發生變化,這說明LED受到STM32單片機的控制,STM32單片機也隨著電位器的調節而有不同占空比的PWM輸出。在調光級為1000時,LED的亮暗變化均勻,通過誤差分析,得出相對誤差值均在5%以內,實驗結果驗證了式(5)和式(6)建立的線性處理模型。當調光級m的值比較小時,LED的亮度并不明顯,此時LED受到占空比較小的PWM控制,LED兩端的電壓值也較小。

表 4 LED調光器實驗數據

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

相對誤差(%)

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

相對誤差(%)

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

相對誤差(%)

3.846

3.454

4.714

4.918

結 論

STM32單片機的應用廣泛,基于STM32的PWM調光器,將電位器與LED相對地隔離開來,通過建立裝載值n與從電位器端采集的AD數據之間的映射模型,得到LED調光器的調光級只與PWM的一個周期值m有關。在設置的調光級m=1000的實驗結果中,驗證了所建立的線性處理模型,LED的亮暗變化均勻,相對誤差也較小。

參考文獻

[1] 賈冬穎, 王巍. 基于STC單片機LED智能照明系統的設計 [J]. 照明工程學報, 2010, (02): 71-73+80.

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

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

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

[5] 楊學存, 楊戰社, 孔令紅. 基于ARM的嵌入式直流電機PWM調速系統設計 [J]. 煤礦機械, 2012, 33(04): 255-257.

[6] 洪俊峰, 卜文強, 張榕鑫, 等. 基于STM32 PWM的正弦信號發生器設計 [J]. 合肥工業大學學報(自然科學版), 2014, 37(02): 188-191+224.

[7] 王瓊, 吳惠, 夏光, 等. 基于PWM控制模式的高速開關閥開關特性分析及優化 [J]. 合肥工業大學學報(自然科學版), 2016, (09): 1199-1204.

[8] 王子權. 基于STM32的PWM調光器 [J]. 電氣自動化, 2018, 40(06): 98-100+115.

[9] 李素娟, 蔣維安. 直流電機PWM調速系統中控制電壓非線性研究 [J]. 現代電子技術, 2010, (22): 196-198+202.

[10] 李楊帥. 基于PWM的無級調光LED驅動電路設計 [D]: 長安大學, 2015.

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。