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