前一段時間筆者偶得一香水瓶,此瓶做工精良、玲珑剔透。雖然瓶内香水已經用盡,但丢棄實在可惜,筆者一直在想如何将此瓶廢物利用,做個什麼有用的東西。此香水瓶無色透明,大緻為球形,表面布滿大小不一的氣泡狀裝飾性凹點,根據這些特點不斷想象,最終筆者還是覺得用它來做小燈罩最為合适,不僅利用了其能夠透光的特性,還利用了其裝飾性凹點能夠反射和折射光線的特性,這樣的“燈罩”可以使燈具有很好的視覺效果,當燈光顔色變化時更是交相輝映、絢麗多彩。既然想到了就趕快動手,免得創意“溜走”,經過幾天的努力,制作了這款頗具個性的七彩小夜燈。
為了方便制作,也為了更具有個性,本小夜燈摒棄了外殼,在結構上也沒有作太複雜的設計,僅是簡單地采用了“燈罩 底座”的形式,其中底座就是各部分電路的電路闆。
燈罩為球形,這是已經确定的,因而小夜燈外觀的設計主要就是底座的設計。底座既要突出個性,又要與燈罩相協調,這是外觀設計時一定要考慮的。球形的投影是圓,圓是公認的最完美的圖形,也是最簡單的圖形,從簡潔、大方的設計角度出發,與之組合的圖形也應該是一個非常簡單的圖形。三角形是最簡單的多邊形,其中正三角形又是最完美的三角形,将之與圓組合起來十分協調。此外,正三角形還能給人以穩定的感覺,底座采用這種形狀也非常合适。因此,本小夜燈的底座設計為正三角形,整體外觀俯視圖如圖5.1所示。
圖5.1 外觀俯視圖
功能設計本小夜燈的主要功能是夜間輔助照明,它設計有2種工作模式,分别為靜态模式和動态模式,其中每種工作模式又有26種顯示花樣可選。靜态模式下燈的顔色、亮度等狀态始終不變,動态模式下燈的狀态按一定規律循環變化,各模式下不同顯示花樣對應的燈的狀态将在後面軟件設計中詳細介紹。由于燈的顔色、亮度和顯示花樣能夠靈活改變,所以本小夜燈也可以作為節日彩燈來使用。
本着使用方便、操作簡單的原則,本小夜燈設計了3個按鍵,分别為開關鍵、靜态模式鍵和動态模式鍵,如圖5.1所示。各按鍵的功能如下:
開關鍵:在待機狀态下按此鍵則開機進入工作狀态,小夜燈按上次關機前設置的模式和顯示花樣工作,首次上電默認為靜态模式、花樣0;在工作狀态下按此鍵則關機進入待機狀态,小夜燈熄滅。
靜态模式鍵:在靜态模式下按此鍵則切換到下一種顯示花樣,各種顯示花樣可以循環切換;在動态模式下按此鍵則切換到靜态模式;在待機狀态下按此鍵無效。
動态模式鍵:在動态模式下按此鍵則切換到下一種顯示花樣,各種顯示花樣可以循環切換;在靜态模式下按此鍵則切換到動态模式;在待機狀态下按此鍵無效。
因采用低功耗設計,待機電流甚微,所以無需設計單獨的電源開關。
原理分析本小夜燈的燈罩非常小,因而燈罩内的燈(即光源)的體積也不能太大,否則将無法裝入。LED具有體積小、亮度高、功耗低、壽命長等優點,近年來在照明領域應用越來越廣泛,這裡也采用LED作光源,體積和亮度均可滿足要求。
目前市場上LED顔色的種類比從前多了不少,但仍是有限的幾種。在實際應用中,若需要LED發出更多種顔色的光,較為常用的方法是用多個不同顔色的LED混色。在大多數應用中,如廣告屏、照明等,一般是選用紅色、綠色和藍色三種基色的LED來混色。若不改變各LED的亮度,上述三種顔色混色後能夠得到4種新的顔色,如表5.1所列;若改變其中一種或多種顔色的LED的亮度,則可以得到更多種顔色。本小夜燈就采用這種混色的方法。
表5.1 基色混色後得到的顔色
硬件設計電路原理圖見圖5.2,整個電路包括控制電路和電源電路兩部分。
圖5.2 電路原理圖
1.控制電路
近幾年很多半導體制造商都開發了專用的三基色LED亮度控制IC即混色控制IC,此類IC在禮品筆、電子胸花等産品中十分常見,如圖5.3所示。這類IC成本低廉、外圍電路簡單,但顯示花樣少,使用不夠靈活,且多為裸片,不适合電子愛好者在業餘條件下使用。基于以上考慮,本小夜燈沒有采用專用IC,而是采用單片機來控制三種基色的LED的亮度。單片機選用STC(宏晶科技)的STC12C5404,主要是因為它内部具有4個通道獨立的PWM(Pulse Width Modulation,脈寬調制)電路,可以很容易地實現本3路LED亮度的控制。它是一款單時鐘/機器周期單片機,兼容MCS-51指令系統,工作電壓為3.5~5.5V,在掉電模式下電流僅為0.1µA。
圖5.3 禮品筆中的混色控制IC
STC12C5404引腳排列與常用的AT89C2051類似,隻是在它的基礎上又增加了若幹個引腳。本小夜燈操作并不複雜,控制對象也很單一,因而單片機外圍電路非常簡潔。PWM0、PWM1和PWM3這3個通道的PWM輸出口分别控制紅色、綠色和藍色3路LED。由于各輸出口灌電流可達20mA,所以無需任何驅動電路直接與LED連接即可。INT0、P2.5和P2.7這3個I/O口各連接1個按鍵,這些I/O口内部均有弱上拉晶體管,為了簡化電路,外部沒有再連接上拉電阻。RXD和TXD沒有連接任何器件,但也通過焊盤單獨引出,以方便在線編程和調試。雖然STC12C5404内部具有RC振蕩器,但誤差較大,為了保證電路的一緻性以及顯示花樣變換時間的準确性,電路中還是使用了外部振蕩器。這裡沒有使用常用的石英晶體,而是選用内置負載電容的陶瓷振蕩器,這樣就無需再外接負載電容,簡化了電路。
2.電源電路
本小夜燈采用電池供電,這樣小夜燈在工作時就無需外接專門的電源,也可以随時移動,使用更加方便。紅色LED的正向導通電壓VF一般為2.0V,而綠色(這裡并非指普通的黃綠色,而是指純綠色,有時也叫翠綠色)和藍色LED的正向導通電壓VF一般均為3.5V,這就決定了控制電路的工作電壓應高于3.5V。大多數電池的标稱電壓為1.5V,用3節電池串聯才能滿足上述要求,但這樣當每節電池工作一段時間電壓降至約1.2V後電路将無法正常工作,電池利用率比較低,不夠經濟,作為采用電池供電的産品是不允許的。若采用4節電池串聯雖然能夠提高電池利用率,但總電壓超過了單片機允許的最高工作電壓,而且體積也增大了不少,更不可行。為了解決以上矛盾,同時也為了進一步減小體積,這裡特别設計了升壓電路,整個電路采用2節1.5V電池串聯供電。
升壓電路以IC2為核心,将3V電池電壓升至4.5V作為單片機及其外圍電路的工作電壓。IC2為RICHTEK(立锜科技)推出的升壓型DC/DC變換器RT9261-45PX,它具有外圍元件少、低功耗、低啟動電壓、高效率等特點,當每節電池電壓降至0.75V時電路仍能正常工作,電池利用率非常高。
電路中輸入端電容C3可以降低電源阻抗,減小輸出噪聲,使輸入電流平均化從而提高效率。輸出端電容C4的主要作用是使輸出電壓變得平滑,輸出電壓較高以及負載電流較大時,輸出的紋波電壓也會變大,C4的作用更加重要。為了獲得比較穩定的輸出電壓,應選用22µF以上的低ESR(等效串聯電阻)電容,當要求不高并且負載電流較小時,為了降低成本也可以選用質量較好的普通電解電容,但應适當增大容量。
電感L1應盡量選用直流電阻較小的産品。雖然電感值在很寬的範圍内選取本電路都可以工作,但是電感值過大會使最大輸出電流減小,并且增大了體積,增加了成本;電感值過小會使紋波電流變大,工作效率降低,并且有可能導緻磁飽和,綜合考慮以上因素L1選100µH。
VD1應選用正向壓降小、開關速度快的肖特基二極管,本電路工作電壓低、電流小,絕大多數的肖特基二極管都能夠滿足要求,但是一定要選擇反向漏電流IR較小的型号,否則空載輸入電流偏大,待機功耗達不到要求。這裡VD1選用SS14,此型号不同制造商生産的産品IR的參數會有一定的差别,在實際選擇時應注意。
軟件設計程序包括主程序、按鍵檢測子程序、靜态顯示子程序、掉電處理子程序、外部中斷0服務程序和定時器0溢出中斷服務程序等幾個部分。
1.主程序
主程序流程圖見圖5.4。初始化程序除了清RAM以及對I/O口、定時器、中斷等進行設置以外還對與PWM功能相關的寄存器進行設置,這裡将PWM輸出口輸出脈沖的頻率fPWM設置為1.302kHz。初始化後調用靜态顯示子程序進入工作狀态,之後執行主循環程序,完成按鍵檢測、掉電處理等任務。
圖5.4 主程序流程圖
2.按鍵檢測子程序
按鍵檢測子程序流程圖見圖5.5。這部分程序的任務是根據按鍵操作執行相應的按鍵處理程序,完成工作狀态、模式以及顯示花樣的切換。其中,開關鍵處理主要是改變工作狀态标志并在工作狀态标志置1時恢複原來的工作狀态;靜态模式鍵處理主要是改變靜态模式花樣寄存器的數值,并調用靜态顯示子程序改變LED的狀态;動态模式鍵處理主要是改變動态模式花樣寄存器的數值,并設置相關寄存器的初始值、使能定時器0溢出中斷,為執行定時器0溢出中斷服務程序做好準備。
3.靜态顯示子程序
靜态顯示子程序的主要任務是根據靜态模式花樣寄存器的數值改變各路LED的狀态。靜态模式各顯示花樣對應的各路LED的狀态如表5.2所列。
程序中将各路LED狀态對應的dPWM設置值(CCAPnH寄存器的數值)參考表5.2按花樣列成表,靜态顯示子程序根據靜态模式花樣寄存器的數值,通過查表得到相應花樣各路LED狀态對應的dPWM設置值,用這些設置值替代原來的設置值即可改變各路LED的狀态。
表5.2 靜态模式各顯示花樣對應的各路LED的狀态
圖5.5 按鍵檢測子程序流程圖
圖5.6 掉電處理子程序流程圖
4.掉電處理子程序
掉電處理子程序流程圖見圖5.6。其主要任務是關閉各路LED,進入掉電模式。執行這部分程序後,程序将停止運行,系統功耗降至最低,當單片機被“喚醒”後,程序返回繼續運行。
表5.3 動态模式各顯示花樣各拍對應的各路LED的狀态
5.外部中斷0服務程序
每當開關鍵按下後産生外部中斷,外部中斷0服務程序執行一次。這部分程序的指令隻有2條,并沒有執行實質性的任務,它僅是将單片機從掉電模式中“喚醒”。
6.定時器0溢出中斷服務程序
定時器0溢出中斷服務程序流程圖見圖5.7,它實際上是動态顯示子程序。這部分程序每10ms執行一次,其主要任務是在動态模式下按所選擇的顯示花樣循環改變各路LED的狀态。為了方便軟件設計,這裡将動态模式每種顯示花樣細分為若幹拍,各顯示花樣各拍對應的各路LED的狀态如表5.3所列。
圖5.7 定時器0溢出中斷服務程序流程圖
動态模式各顯示花樣的各拍中,包含變亮或變暗狀态的拍持續時間較長,約為2.56s;不包含變亮和變暗狀态的拍持續時間較短,約為250ms。程序中将各路LED的狀态标志和拍的長短标志組合為1個字節的顯示狀态數據,參考表3按花樣和拍次列成表,定時器0溢出中斷服務程序根據動态模式花樣寄存器和拍次寄存器的數值通過查表得到相應花樣、相應拍的顯示狀态數據,依此調整各路LED的dPWM設置值即可改變各路LED的狀态。随着定時器0溢出中斷的不斷産生以及拍次寄存器數值的不斷改變,各路LED的狀态便可按所選擇的顯示花樣的各拍循環變化。
PCB設計與制作為了滿足整體造型、體積以及底座功能的具體要求,本小夜燈PCB分為2塊來設計。控制電路和電源電路分别布局在1塊邊長約87mm的正三角形電路闆上,這2塊電路闆在安裝時通過金屬支撐柱來實現電氣連接。控制電路和電源電路都比較簡單,器件也相對較少,采用單面闆即可滿足布局要求。整個電路工作電壓較低,工作電流也很小,PCB走線寬度和間距無特殊要求。布局好的電路闆如圖5.8所示。
PCB布局好後可以委托工廠加工,也可以自制。筆者制作電路所使用的PCB是用感光闆自制的,如圖5.9所示。
元件選擇與電路制作制作本小夜燈電路所需要的元器件不多,但各器件都應按要求選擇。IC1選用SOP-28封裝,IC2選用SOT-89封裝。R1~R4均選用0805系列貼片電阻,C1、C3和C4均選用C型尺寸貼片钽電解電容,C2選用0805系列貼片電容,L1選用CD43型貼片線繞電感。XTAL1選用PBRC-B系列或與之兼容的其他型号貼片陶瓷振蕩器,S1~S3均選用6mm×6mm小型直插按鍵。
圖5.8 PCB布局圖
圖5.9 用感光闆自制的PCB
為了便于将LED裝入燈罩,并獲得更好的混色效果,這裡光源沒有采用3個單色LED,而是采用了1個全彩LED。全彩LED也叫七彩LED或三色LED,其内部封裝有紅色、綠色和藍色三種顔色的LED管芯,它在使用時相當于3個LED。全彩LED内部各LED其中一端連在一起形成公共端,加上各LED的另一端它共有4個引腳,排列如圖5.10所示(少數産品可能與此不同,具體以産品資料或實際測量為準)。根據公共端極性的不同,全彩LED可以分為共陰和共陽兩種,按電路要求,這裡采用後者。根據外觀和制造工藝的不同,全彩LED又可以分為透明和霧狀(類似磨砂燈泡的效果)兩種,為了使光線更加自然、柔和,制作時最好選用後者。市場上全彩LED的尺寸規格多為Φ5,制作時選用這種規格即可。
圖5.10 全彩LED引腳排列
圖5.11 焊接好的電路闆
BATT1為2節串聯的AAA(7号)1.5V電池,制作時應通過配套的電池夾(電池盒)來安裝。
電路中絕大部分器件為貼片器件,焊接時要特别仔細,以免出現短路、虛焊等缺陷。各器件焊接好後應對照電路原理圖反複檢查,若有錯誤和缺陷要及時改正和修補。為了方便調試,LED和電池夾可暫不安裝,待調試結束後再另行安裝。自制的PCB表面往往沒有阻焊層,為了防止銅箔氧化影響電氣性能和外觀,電路焊接好後最好在PCB銅箔表面鍍一層錫或塗一層松香酒精溶液。焊接完成并經過鍍錫處理的電路闆如圖5.11所示。
調試小夜燈控制電路和電源電路相互獨立,這兩部分電路的調試也應分開進行,以免彼此牽扯而影響電路測試和故障判斷。
控制電路調試前要預先對LED進行加工,以滿足調試和安裝的要求。加工時先将LED各引腳從靠近其根部的凸起處剪斷,再将外側的2個引腳向内側彎折,如圖5.12所示。之後在LED各引腳上分别焊接1根長約10mm的細導線,并在LED内側的2個引腳的焊點處各套一小段熱縮管以免短路,如圖5.13所示。為了便于區分LED各引腳,各導線應選用不同的顔色且最好與所連接的引腳對應的LED的顔色一緻。LED加工好後可以在燈罩上試裝一下,若無法放入燈罩則應将LED外側的2個引腳再向内側彎折或将LED的“帽沿”剪去,必要時還需要重新焊接導線以減小焊點或改變焊點形狀,從而滿足安裝要求。
圖5.12 LED引腳的加工
圖5.13 焊接好連接線的LED
控制電路調試時先将LED的連接線按電路原理圖焊接在控制電路闆上,再在控制電路闆上兩電源輸入端以及RXD和TXD端各焊接1根導線,分别與4.5V電源和編程電路相連。以上均為臨時性連接,因而對焊接質量以及外觀沒有太高要求。為了能夠持續準确地檢測電路,調試應使用穩壓電源,不要使用電池。電路連接妥當後仔細檢查幾遍,确認無誤後即可上電将程序下載至單片機内,之後重新上電對按鍵功能和LED狀态進行全面測試。本電路及程序相對比較簡單,調試一般不會有太大問題,但有一點要特别注意。本電路的待機電流不應超過1µA(正常情況下一般約為0.1µA),待機電流偏大(功耗偏高)時要仔細檢查電路和程序,而不能輕易忽略,否則在實際使用時會浪費電池電能。此外,在調試過程中若發現LED的亮度或混色效果不理想,可以通過适當調整R2~R4的阻值來改善。
電源電路調試時,在電源電路闆上兩電源輸入端各焊接1根導線與3V電源相連,這裡同樣使用穩壓電源來調試。上電後在空載的情況下測量電路的輸出電壓,此時應略高于4.5V,如果偏差較大應立即斷電檢查電路。同樣在空載的情況下測量電路的輸入電流,此時應在20µA以下(正常情況下一般約為10µA),否則要仔細檢查電路。VD1的反向漏電流IR偏大、C3和C4的漏電流偏大、IC2性能不良以及電路短路等都可能導緻輸入電流偏大(功耗偏高),檢查電路時要特别注意以上幾點。與調試控制電路一樣,功耗問題不能輕易忽略,調試時要有足夠的耐心,力争将功耗降至最低,這一點對調試采用電池供電的電路至關重要。空載測試正常後用1個100Ω/0.5W的電阻作為負載進行帶載測試,在測試過程中,電路的輸出電壓應始終保持在4.5V左右,如果電壓變化範圍較大則還需進一步檢查和調整電路。
組裝小夜燈的零部件相對比較多,組裝應按一定的步驟進行,主要包括LED安裝、電池夾安裝、支撐柱安裝和底腳安裝4個步驟。
1.安裝LED
安裝LED時,首先将香水瓶的瓶塞芯(原香水瓶噴霧機構的一部分)穿過控制電路闆中心的孔,套上瓶塞将之卡緊;然後将LED連接線從瓶塞芯穿過并拉緊,如圖5.14所示。之後根據控制電路闆上LED連接端焊盤的位置剪去LED連接線多餘的部分,并将其焊接在電路闆上,如圖5.15所示。最後将加工過的卡環(原香水瓶瓶口處的裝飾部件)和香水瓶套在瓶塞上,如圖5.16所示,若香水瓶與瓶塞無法套緊則應在兩者表面塗少許萬能膠後再安裝,以确保結構牢固。
圖5.14 LED的安裝
圖5.15 LED連接線的焊接
2.安裝電池夾
安裝電池夾時,首先将電池夾用海綿雙面膠粘貼在電源電路闆上,粘貼時要将電池夾的連接線從電路闆邊緣的穿線孔穿過,并且要将電池夾的安裝孔與電路闆上相應的孔對正,使電池夾居中;然後用螺釘通過安裝孔進一步将電池夾固定妥當,如圖5.17所示。最後根據電源電路闆上電源輸入端焊盤的位置,剪去電池夾連接線多餘的部分,并将其焊接在電路闆上,如圖5.18所示。
3.安裝支撐柱
支撐柱不僅用來支撐2塊電路闆構成底座,它還起着連接控制電路和電源電路的作用,因此支撐柱最好選用銅質鍍鎳兩頭内螺紋支撐柱,以保證電氣性能和外觀效果。支撐柱共需要3個,通過M3螺釘将其與控制電路闆固定在一起,如圖5.19所示。安裝時螺釘一定要旋緊,使支撐柱與控制電路闆銅箔可靠接觸。
圖5.16 香水瓶的固定
圖5.17 電池夾的安裝
圖5.18 電池夾連接線的焊接
圖5.19 支撐柱的安裝
圖5.20 用旋鈕自制的底腳
圖5.21 底腳的安裝
4.安裝底腳
底腳的主要作用是支撐底座,使電池夾懸空。這裡底腳用小型鋁質電位器旋鈕來制作,制作時先将旋鈕内的塑料芯去掉,再在旋鈕頂部的中心鑽1個直徑為3mm的孔即制作完成,如圖5.20所示。這種自制底腳外觀非常好,與整體造型風格也比較一緻。與支撐柱一樣,底腳也需要3個,通過M3螺釘來安裝,如圖5.21所示。底腳安裝的同時也将支撐柱與電源電路闆固定在了一起,安裝時螺釘同樣也要旋緊,使支撐柱與電源電路闆銅箔可靠接觸。組裝完畢後在電池夾内裝入電池,小夜燈即可使用。若電路不工作則要仔細檢查各支撐柱與電路闆銅箔是否接觸良好以及2塊電路闆安裝是否錯位等,直到發現問題排除故障為止。制作完成的小夜燈如題圖所示。
制作這樣一個彰顯個性的小夜燈,每當夜幕降臨後點亮,各色燈光此起彼伏,望着它定然是十分惬意,有興趣的讀者可以制作一個感受一下。讀者在制作時可以根據實際選擇的燈罩修改小夜燈的外觀和結構,也可以通過修改程序中各模式顯示狀态表的數據來增删顯示花樣或改變各顯示花樣對應的各路LED的狀态。此外,讀者還可以以此為參考,設計制作出更多更有個性的電子制作精品。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!