經(jīng)常夜里用電腦,或?qū)懽?、或上網(wǎng),要是開著沒有調(diào)光功能的工作臺燈,40W的白熾燈似乎有點明亮了,總會感覺有點防礙了思考,但是關(guān)了燈又會感覺周圍暗暗的,連鍵盤都沒法看清。于是自己DIY了一個PWM調(diào)光的小夜燈。這個電路實現(xiàn)長按開關(guān)電路、具有8級調(diào)光、低功耗等功能,可以用作夜晚的弱光照明、設(shè)備的背光、小功率調(diào)光手電等等。對于年少的小朋友,夜里看書、玩電腦最好還是打開臺燈或房間的吸頂燈,足夠明亮的光線才不會影響視力的發(fā)育。
先來了解一下PWM英文全稱為Pulse Width Modulation即脈沖寬度調(diào)制,是一種利用數(shù)字輸出對模擬電路進行控制的一種十分有效的技術(shù),非常廣泛應(yīng)用到功率控制、電機調(diào)速、通信等各種電子技術(shù)培領(lǐng)域中。PWM簡單來說就是把模擬信號進行量化,使其變?yōu)閿?shù)字編碼方便調(diào)控。PWM信號只有“高”和“低”,也可以看作“1”和“0”這2個二進制數(shù)字,在直流供電中的任何時刻只表示“通”與“斷”。圖1是2種占空比信號,分別是占空比為10%和90%的PWM輸出。假設(shè)信號供電電源為10V,方波以一定頻率進行10%占空比輸出時,信號10%的時間是通的,90%的時間是斷的,輸出信號則對應(yīng)一個電壓幅值為1V的模擬信號,如果點空比為100%時,方波則變?yōu)楦唠娖?,則對應(yīng)為10V的模擬信號??赡苣氵€是沒搞明白是PWM信號到底指什么,那可以看看圖2的例子。
圖2是一個電燈的控制電路,也是一個可以用PWM控制的電路,如果電池電壓為12V,把開關(guān)按下50毫秒燈泡就亮50毫秒,這段時間內(nèi)燈泡得到的電壓12V,下一個50毫秒斷開開關(guān)這時燈泡的電壓為0V,1秒內(nèi)進行10次這樣開關(guān),燈泡亮度看起來就像用6V電壓供電一樣,而6V正是12V的50%,這種情況就是調(diào)制頻率為10Hz,占空比為50%的PWM。
同樣的占空比,調(diào)制頻率越低,負(fù)載效率就越低,可以設(shè)想一下,10Hz就是燈泡不斷亮50毫秒滅50毫秒,這樣人眼看起來是有點閃爍的,如果在一個周期內(nèi)把12V供電燈泡點亮.5秒然后再斷開5秒,這樣就是0.1Hz,這時的占空比依然是50%,但是所得到的效果就更差了,光亮度看起來就5秒全亮,然后緊接著5秒全暗,根本就不可能相當(dāng)于12V的50%(6V)供電的效果了。要想取得像調(diào)光燈一樣的效果,就需要把調(diào)制頻率提高,通斷循環(huán)周期與負(fù)載對開關(guān)狀態(tài)變化的響應(yīng)時間相比必須足夠短。大多數(shù)負(fù)載的PWM應(yīng)用的調(diào)制頻率一般是1K-200KHz。
了解了PWM的基本原理,我們就可以用硬件電路去實現(xiàn)了。筆者的這個制作里選用了ATMEL公司的Attiny13單片機生成PWM信號,它是一個只有8引腳的低功耗AVR單片機,除了基本的單片機功能外,還有一個具有8位PWM功能的定時器,能在PB0(OC0A)、PB1(OC0B)兩引腳輸出2路獨立的PWM信號。本制作的電路圖如圖3。
制作中用到2顆“食人魚”白光LED(eagle-eye led或piranha LED),其外形像食人魚,所以得其名,所封裝的支架為4引腳,提高了散熱性能,還具有比較大的發(fā)光角度,一般為120度。筆者選用的是5mm的白光“食人魚”,標(biāo)稱導(dǎo)通電壓約為3.6V,電流30mA。制作中直接使用電腦USB取電,電壓為5V,PWM信號從PB0輸出,通過R3、R4使Q1基極得到電流從而對Q1發(fā)射極電流進行控制,總電流控制在最大60毫安左右。R1、R2則起到限流作用。SW1為功能按鍵。ATtiny13使用內(nèi)部9.6MHzRC振蕩電路不對系統(tǒng)時鐘進行8分頻,使其工作在9.6MHz的頻率中,使用內(nèi)部復(fù)位電路,使電路最簡化。
筆者使用小型雕刻機制作好PCB后,焊接電路,效果如圖5、圖6。筆者用包裝小型繼電器的透明塑料包裝條用來安裝電路,切割成合適的大小,鉆好安裝孔,安裝電路進入塑料條。使用USB接口線取得電源。使用USBASP工具將固件程序pwmled.hex燒錄進入芯片中。電路焊接無誤后,無需調(diào)試,上電后PWM輸出12.5%的占空比,點亮LED總電流約為10mA,每短按一次按鍵時,占空比遞增12.5%,直到100%輸出電流約為60mA,再短按時又回到12.5%占空比,一共有8個亮度檔位。長按3秒則可以關(guān)閉和點亮LED。圖7是安裝完成后的發(fā)光效果,為了使光線柔和筆者在塑料條上帖了一層美紋紙,光線柔和不剌眼。
本文中前兩制作中使用的PCB是使用小型雕刻機在單面玻纖覆銅板上雕刻而成,因板材及雕刻刀具限制,最小線間隔在0.3MM左右,為了方便業(yè)余制作畫板時盡量保留覆銅面,這樣可以減少雕刻時間,同時沒有鉆過孔,也沒有刷阻焊漆,使制作最簡化。雖然比不上成品印刷電路板的精度和品質(zhì),但是勝在方便快捷,在制作一些業(yè)余制作中簡單的電路時還是十分好使的。
程序編寫使用到C語言,由于Attiny13的PWM是由硬件方式產(chǎn)生,只需要更改OCR0A寄存器的值,就可以更改PWM的占空比,所以在程序編寫上顯得極為簡單,只需要編寫一個按鍵處理程序就可以了,然后把按鍵的次數(shù)對應(yīng)轉(zhuǎn)換為定時器PWM設(shè)定值寫入到OCR0A寄存器中。OCR0A為8位寄存器,也就是說它可以把一個方波周期分成256份,每增加一個值則占空比增加約為0.4%。
圖5:PCB
圖6:安裝配件
圖7:發(fā)光效果(左圖為普通效果,右圖為貼上美紋紙后的效果)
-
PWM
+關(guān)注
關(guān)注
114文章
5099瀏覽量
212800 -
夜燈
+關(guān)注
關(guān)注
0文章
27瀏覽量
7914
發(fā)布評論請先 登錄
相關(guān)推薦
評論