姚強(qiáng),孫勤良
(湖州職業(yè)技術(shù)學(xué)院 機(jī)電與汽車工程學(xué)院,浙江湖州,313000)
目前浙江湖州正在打造“全國(guó)綠色智造名城”,各行各業(yè)都在向綠色智造轉(zhuǎn)型升級(jí),因此傳統(tǒng)智能型臺(tái)燈也將逐漸被綠色智能型臺(tái)燈所替代。例如張鈺琛等人[1]基于Arduino設(shè)計(jì)了一款智能語音控制臺(tái)燈,通過語音控制臺(tái)燈的開啟、關(guān)閉、閃爍和燈頭抬高功能;安章順等人[2]基于微信小程序開發(fā)了一款智能臺(tái)燈,實(shí)現(xiàn)利用手機(jī)無線操控室內(nèi)臺(tái)燈的亮滅,同時(shí)可以有效控制臺(tái)燈的各種顏色和亮滅的混合;陳雪嬌等人[3]基于樹莓派設(shè)計(jì)的智能臺(tái)燈,可通過觸摸屏控制LED臺(tái)燈包括開關(guān)、亮度及顏色變化。上述智能臺(tái)燈都是主要從用戶使用便捷角度出發(fā)設(shè)計(jì)了諸多功能,未貫徹綠色智造的理念。本文主要從照度穩(wěn)定和連續(xù)調(diào)光角度出發(fā)進(jìn)行臺(tái)燈設(shè)計(jì),該設(shè)計(jì)不僅具有節(jié)能環(huán)保的特點(diǎn),而且對(duì)人的視力保護(hù)和身心健康也具有重要意義,符合智能制造的綠色評(píng)價(jià)指標(biāo)體系[4],對(duì)環(huán)境和用戶的影響都是積極的。
在充分考慮節(jié)能的前提下,選用了由低功耗單片機(jī)STM32F103C8T6單片機(jī)、PWM控制模塊、OLED顯示模塊、BH1750照度傳感器、獨(dú)立按鍵和LED燈板組成的設(shè)計(jì)方案。應(yīng)用STM32單片機(jī)定時(shí)器的比較模式生成PWM控制信號(hào),該信號(hào)施加在PWM可控電流源模塊上,控制該模塊驅(qū)動(dòng)LED臺(tái)燈,通過最小二乘直線擬合算法[5]粗調(diào)PWM的占空比,再經(jīng)過一個(gè)步距為2的占空比微調(diào),對(duì)光照度形成精確的閉環(huán)控制,實(shí)現(xiàn)對(duì)LED臺(tái)燈照度的連續(xù)穩(wěn)定調(diào)節(jié),系統(tǒng)方案如圖1所示。
圖1 系統(tǒng)設(shè)計(jì)框圖
該設(shè)計(jì)采用STM32F103C8T6單片機(jī)作為主控芯片,STM32F103C8T6是一款32位微控制器,該單片機(jī)采用ARM Cortex-M內(nèi)核,最高時(shí)鐘頻率可達(dá)72MHZ,封裝體積小,價(jià)格與家族其他芯片相比較低、相比8位單片機(jī)性能更優(yōu),所以考慮用此芯片作為主控芯片。主控芯片引腳功能分配如表1所示。
表1 主控芯片引腳功能分配表
LED臺(tái)燈顯示模塊通過一塊0.96寸OLED來實(shí)現(xiàn),OLED是利用多層有機(jī)隔膜結(jié)構(gòu)產(chǎn)生電致發(fā)光的器材,它性價(jià)比高,價(jià)格便宜。通過SPI總線和單片機(jī)進(jìn)行信號(hào)傳輸,接口只需五個(gè)I/O即可驅(qū)動(dòng),速度更快,模塊本體輕薄,功耗低,發(fā)光效率高,滿足項(xiàng)目設(shè)計(jì)對(duì)顯示技術(shù)的需求[6],如圖2所示。
圖2 OLED引腳接線圖
該模塊采用德州儀器TPS92200D1作為恒流源控制芯片,它具有4~30V的寬電壓輸入范圍,連續(xù)工作電流為1.5A,開關(guān)頻率支持1MHz,最大占空比可達(dá)99%,支持?jǐn)?shù)字輸入的PWM調(diào)光和模擬輸入的模擬調(diào)光。采用了多種保護(hù)措施,包括LED開路和短路保護(hù),傳感電阻器開路負(fù)載和接地短路保護(hù),為保護(hù)LED免受過流損壞,當(dāng)檢測(cè)到過流時(shí),驅(qū)動(dòng)器將會(huì)被關(guān)閉并鎖存。STM32的定時(shí)器工作在輸出比較模式,通過在軟件中修改比較參數(shù)實(shí)現(xiàn)PWM占空比可調(diào)。PWM可控電流源模塊電路設(shè)計(jì)圖如圖3所示,其中PB5為單片機(jī)的PWM輸出引腳。
圖3 PWM可控電流源模塊設(shè)計(jì)
光照度傳感器采用BH1750,這是一款數(shù)字型照度傳感器集成芯片,BH1750引出了時(shí)鐘線和數(shù)據(jù)線,單片機(jī)通過IIC協(xié)議可以與BH1750模塊通訊,單片機(jī)的PB6連接IIC外設(shè)的時(shí)鐘線,PB7連接IIC外設(shè)的信號(hào)線[6],如圖4所示。
圖4 BH1750照度傳感器引腳接線圖
按鍵連接的單片機(jī)引腳采用上拉輸入模式,當(dāng)按鍵斷開時(shí),單片機(jī)引腳(PA0、PA1)處于高電平狀態(tài),按鍵按下時(shí)輸入低電平,按鍵可以設(shè)定LED臺(tái)燈的光照度,其中KEY1和KEY2分別為增加和減小光照度,如圖5所示。
圖5 獨(dú)立按鍵引腳接線圖
軟件設(shè)計(jì)包含初始化程序、OLED顯示程序、BH1750照度檢測(cè)程序、PWM控制程序、按鍵檢測(cè)程序和照度調(diào)節(jié)程序。初始化程序主要完成OLED驅(qū)動(dòng)模塊、BH1750模塊、按鍵模塊、和定時(shí)器模塊的初始化工作;OLED顯示程序主要是完成STM32單片機(jī)通過SPI總線和OLED通信,定時(shí)刷新OLED,顯示當(dāng)前照度值(Current_lx)和設(shè)定照度值(Set_lx);BH1750照度檢測(cè)程序完成STM32 單片機(jī)和BH1750傳感器通過IIC通信,獲取臺(tái)燈正下方的實(shí)際照度值;PWM控制程序的功能是完成生成占空比可調(diào)的PWM,利用STM32定時(shí)器的比較模式,通過TIM_SetCompare2函數(shù)更新PWM的占空比[7];按鍵模塊的功能是完成照度值的設(shè)定任務(wù),按鍵狀態(tài)在主程序中采用查詢方式獲??;照度調(diào)節(jié)程序的功能是完成LED燈照度的控制功能。系統(tǒng)的軟件控制流程圖如圖6所示。
圖6 軟件控制流程圖
LED臺(tái)燈的光照度近似與控制信號(hào)PWM的占空比呈線性關(guān)系,PWM占空比越高,LED臺(tái)燈的光照度越高。如手動(dòng)設(shè)定臺(tái)燈光照度值,根據(jù)線性關(guān)系可以求解得到占空比的值,利用STM32定時(shí)器的比較模式,通過TIM_SetCompare2函數(shù)更新PWM的占空比,從而實(shí)現(xiàn)臺(tái)燈照度的調(diào)節(jié),所以快速和準(zhǔn)確調(diào)節(jié)PWM占空比成為照度控制的關(guān)鍵技術(shù)問題。STM32的定時(shí)器TIM3的PWM輸出模式可產(chǎn)生一個(gè)由TIM3_ARR確定頻率,TIM3_CCRx確定占空比的信號(hào),PWM占空比和CCRx的關(guān)系如1式所示。
CCRx寄存器的值即為TIM_SetCompare2的參數(shù)Compare2的值,故可采用線性擬合的方法得到光照度與CCRx的函數(shù)關(guān)系。首先采集7組光照度ix和Compare2iy數(shù)據(jù),數(shù)據(jù)如表2所示;然后利用Python3和最小二乘法對(duì)x,y進(jìn)行線性擬合[8]得到的函數(shù)圖像如圖7所示,最后求解出光照度x與Compare2值y的函數(shù)關(guān)系如(2)式所示。
表2 無干擾源下的臺(tái)燈實(shí)測(cè)光照度與TIM3參數(shù)Compare2的關(guān)系表
圖7 臺(tái)燈實(shí)測(cè)光照度與TIM3參數(shù)Compare2的函數(shù)關(guān)系圖
照度調(diào)節(jié)算法主要由粗調(diào)和微調(diào)兩部分完成。按照光照度和Compare2的值的線性關(guān)系可得到(3)式,其中Set_lx為設(shè)定光照度值,Current_lx為實(shí)測(cè)光照度值。
粗調(diào)部分根據(jù)(4)式來完成
利用粗調(diào)算法反推出參數(shù)Compare2的粗大值,實(shí)現(xiàn)快速讓光照度調(diào)整到設(shè)定光照度值附近,然后用步進(jìn)的方式在主循環(huán)中進(jìn)行微調(diào),最終實(shí)現(xiàn)光照度調(diào)節(jié)的目的,因?yàn)椴捎玫氖情]環(huán)控制,如若環(huán)境中有干擾光源存在,該系統(tǒng)依然可以實(shí)現(xiàn)較好的控制。該算法相對(duì)于單純使用微調(diào)算法,調(diào)整速度更快,滿足對(duì)實(shí)時(shí)性要求較高的場(chǎng)合。
為測(cè)試臺(tái)燈的設(shè)計(jì)效果,設(shè)計(jì)了相應(yīng)的測(cè)試方案,LED臺(tái)燈樣機(jī)如圖8所示。分別從臺(tái)燈照度的連續(xù)性、穩(wěn)定性、抗干擾性和節(jié)能性四方面進(jìn)行測(cè)試,測(cè)試結(jié)果如表3所示。
表3 LED臺(tái)燈測(cè)試結(jié)果
圖8 LED臺(tái)燈樣機(jī)
連續(xù)性:臺(tái)燈從亮度最高直至熄滅,整個(gè)過程中,臺(tái)燈有無頻閃。
穩(wěn)定性:將臺(tái)燈調(diào)整到固定的照度值,觀察10s內(nèi)臺(tái)燈照度值的波動(dòng)范圍。
抗干擾性:將臺(tái)燈調(diào)整到最大照度值,加入環(huán)境干擾光源,干擾源的光照度與臺(tái)燈光照度相近。干擾源的擾動(dòng)分為兩種情況:干擾源調(diào)至照度最大,10s之內(nèi)從臺(tái)燈上方逐漸靠近臺(tái)燈,直至臺(tái)燈熄滅,在此過程觀察臺(tái)燈照度值的波動(dòng);干擾源在2s之內(nèi)突然加入,觀察臺(tái)燈照度的波動(dòng)。從上述測(cè)試結(jié)果可以看出,該臺(tái)燈的照度穩(wěn)定性已經(jīng)可以完全達(dá)到日常使用的需求。
節(jié)能性:臺(tái)燈供電電壓為12V 時(shí),LED 燈板消耗功率與供電電源輸出功率之比。
本文基于STM32F103C8T6芯片設(shè)計(jì)了一款符合綠色智造性指標(biāo)的LED臺(tái)燈,該臺(tái)燈主要分為硬件設(shè)計(jì)和軟件設(shè)計(jì)。首先硬件設(shè)計(jì)包含主控芯片、OLED照度顯示、BH1750照度檢測(cè)和PWM控制;然后軟件設(shè)計(jì)主要包含各個(gè)硬件模塊的驅(qū)動(dòng)程序設(shè)計(jì)和LED臺(tái)燈照度調(diào)節(jié)算法設(shè)計(jì)及實(shí)現(xiàn),其中照度調(diào)節(jié)算法分為粗調(diào)和微調(diào)兩部分,粗調(diào)算法采用線性擬合的方法得到比例系數(shù),應(yīng)用比例系數(shù)乘以設(shè)定照度和實(shí)測(cè)照度之間的差值就可以得到PWM占空比的調(diào)整值,微調(diào)算法采用步距為2進(jìn)行調(diào)整PWM占空比,步距為2是綜合考慮LED臺(tái)燈性能的影響因素,經(jīng)過實(shí)驗(yàn)最終確定的。微調(diào)算法步距過大,LED臺(tái)燈照度波動(dòng)比較大,穩(wěn)定性差;微調(diào)算法步距過小,照度調(diào)整到穩(wěn)定的時(shí)間變長(zhǎng);最后通過設(shè)計(jì)的測(cè)試方案,從照度連續(xù)性、穩(wěn)定性、抗干擾性和節(jié)能性四個(gè)方面驗(yàn)證了LED臺(tái)燈照度是穩(wěn)定且連續(xù)可調(diào)的,可以滿足用戶的日常使用需求,未來還將該臺(tái)燈的設(shè)計(jì)理念應(yīng)用于《綠色智造技術(shù)應(yīng)用》課程中的項(xiàng)目化教學(xué)中[9],有利于幫助學(xué)生樹立綠色智造意識(shí)。