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