本系統(tǒng)是利用觸摸屏控制的可調(diào)顏色的照明燈具。燈源為大功率超高亮三基色發(fā)光二極管組成。本設(shè)計最大的亮點是觸摸屏上所指示的顏色與實際燈照出的顏色一致。到通過c語言程序?qū)?u style="color: rgb(51, 51, 51) !important;">單片機的PWM 功能進行控制實現(xiàn)相應(yīng)的坐標(biāo)變換使燈具實現(xiàn)調(diào)色調(diào)亮的效果,為使用者提供一個隨心調(diào)節(jié)室內(nèi)氣氛的良好工具。
一、控制硬件總體設(shè)計
系統(tǒng)的總體框圖如圖1 所示。系統(tǒng)可有輸入,輸出,控制三部分組成,當(dāng)觸摸屏被按下觸摸屏芯片讀取觸摸屏上X 軸與Y 軸的值,然后通過SPI 協(xié)議傳送到控制器,控制器負責(zé)信號的處理,把處理完畢的信號以PWM 方式輸出驅(qū)動LED。
圖1 系統(tǒng)總體框圖
二、觸摸屏的使用
本系統(tǒng)選擇電阻式觸摸屏,它將矩形區(qū)域中觸摸點(X,Y) 的物理位置轉(zhuǎn)換為代表X 坐標(biāo)和Y 坐標(biāo)的電壓其觸摸屏結(jié)構(gòu)如圖2 所示。圖3顯示了四線觸摸屏在兩層相接觸時的簡化模型。對于四線觸摸屏,最理想的連接方法是將偏置為VREF 的總線接ADC 的正參考輸入端,并將設(shè)置為0V 的總線接ADC 的負參考輸入端。
圖2 電阻觸摸屏結(jié)構(gòu)。
圖3 電阻觸摸屏簡化模型。
三、接口電路設(shè)計
1. 控制器與觸摸屏連接
本系統(tǒng)采用美國TI 公司生產(chǎn)的ADS7843,該芯片內(nèi)置12 位AD 轉(zhuǎn)換、低導(dǎo)通電阻模擬開關(guān)的SPI 總線接口觸摸屏控制。供電電壓為2.7 ~ 5.25V,參考電壓VREF 為1V~+VCC,轉(zhuǎn)換電壓范圍為0 ~ VREF,控制器可 通過內(nèi)置的SPI 輸出口MOSI、MISO、SCK 與觸摸屏芯片進行連接,如圖4 所示。
圖4 單片機與觸摸屏接口電路圖。
2. LED驅(qū)動電路
控制器輸出PWM 波形作為驅(qū)動電路的驅(qū)動信號,三極管Q1 作為斬波器件。當(dāng)驅(qū)動信號為高電平時三極管處于截止?fàn)顟B(tài),LED 不亮;當(dāng)輸入信號為低電平三極管處于導(dǎo)通狀態(tài),LED 點亮。紅色LED 的驅(qū)動電路如圖5 所示,綠色與藍色LED 的驅(qū)動電路的結(jié)構(gòu)與紅色的相同,單片機的PB7 端為綠色LED 的驅(qū)動信號,PD4 為藍色LED 的驅(qū)動信號。
圖5 紅色LED的驅(qū)動電路圖。
四、系統(tǒng)的程序設(shè)計
1.系統(tǒng)總流程圖
系統(tǒng)硬件可以分為輸入、控制、輸出部分,其中控制部分是連接輸入、輸出。單片機程序決定輸入如何影響輸出,輸出如何響應(yīng)輸入,其具體框圖如圖6 所示。單片機對ADS7843 進行讀取后對數(shù)據(jù)進行坐標(biāo)變換,最后把處理的值輸出驅(qū)動LED.
圖6 系統(tǒng)軟件流程圖。
2.觸摸屏坐標(biāo)讀取
所謂的觸摸點坐標(biāo)是指當(dāng)觸摸屏被按下時觸摸芯片讀出的X 軸與Y 軸的數(shù)值。觸摸坐標(biāo)的讀取時非常關(guān)鍵的,它是觸摸屏使用過程中最重要的環(huán)節(jié),若觸摸點坐標(biāo)有誤,將導(dǎo)致單片機錯誤處理。首先使能ADS7843,然后向ADS7843 寫入測量X 坐標(biāo)的控制字,延時若干毫秒后,讀取ADS7843 的轉(zhuǎn)換數(shù)據(jù)。讀取的數(shù)據(jù)即X 的坐標(biāo)值;再把測量Y 坐標(biāo)控制字寫入ADS7843,延時若干毫秒后,讀取ADS7843 的轉(zhuǎn)換數(shù)據(jù),就得到了Y 坐標(biāo)的值,然后禁止ADS7843.這樣既完成了一次讀取坐標(biāo)值的過程。其具體流程如圖7所示。
圖7 ADS7843讀取框圖
3.系統(tǒng)坐標(biāo)校準處理
由于任意兩個觸摸屏上的點密度都不可能完全一致,所以要求在使用觸摸屏之前,必須進行校準。校準方式有兩點校準,三點校準,四點校準等。其中,校準的點數(shù)越多,觸摸屏數(shù)據(jù)越精確,校準也越繁瑣。本系統(tǒng)使用兩點校準的方法對觸摸屏進行校準。
(1) 先分別測試觸摸屏左下角及右上角的坐標(biāo)(ads7843_xmin,ads7843_ymin);(ads7843_xmax,ads7843_ymax);
(2) 計算水平方向的比率(ads7843_xts)和垂直方向的比率(ads7843_yts);
(3)假設(shè)液晶屏中的當(dāng)前點是液晶屏坐標(biāo)(X,Y):
當(dāng)前點的觸摸屏的X 坐標(biāo)=X× ads7843_xts+ ads7843_xmin ;
當(dāng)前點的觸摸屏的Y 坐標(biāo)=Y× ads7843_yts+ ads7843_ymin ;
系統(tǒng)執(zhí)行校準程序后把觸摸屏左下角, 右下角的坐標(biāo)值與水平方向的比率存放如單片機EEPROM 中,每當(dāng)系統(tǒng)重新啟動時調(diào)用對應(yīng)的數(shù)值有于對觸摸位置的判別。
4.控制器SPI通訊
控制器ATmega48內(nèi)部集成SPI通訊所需的軟硬件功能,主機和從機之間的SPI 連接如圖8所示。系統(tǒng)包括兩個移位寄存器和一個主機時鐘發(fā)生器,通過將從機的 SS引腳拉低,主機啟動一次通訊過程。主機和從機將需要發(fā)送的數(shù)據(jù)放入相應(yīng)的移位寄存器。主機在SCK引腳上產(chǎn)生時鐘脈沖以交換數(shù)據(jù)。主機的數(shù)據(jù)從主機的MOSI移出,從從機的MOSI移入;從機的數(shù)據(jù)從從機的MISO移出,從主機的MISO移入。主機通過將從機的SS拉高實現(xiàn)與從機的同步。
圖8 控制器SPI通訊框圖
A D S 7 8 4 3 讀寫時序如圖9 所示。由此可見ADS7843 SPI接口的一次完整操作需要3×8=24個DCLK時鐘周期,前8個脈沖接收8位的命令,并在第6個脈沖的上升沿開始A/D轉(zhuǎn)換器進入采樣階段,從第9個脈沖開始進入轉(zhuǎn)換階段,輸出12位采樣值,轉(zhuǎn)換結(jié)束進入空閑階段。直到24個DCLK結(jié)束,CS置高電平,一次測量結(jié)束。
圖9 單端模式的數(shù)據(jù)讀寫
5.控制器PWM輸出
系統(tǒng)使用了控制器快速PWM 模式對驅(qū)動控制,當(dāng)系統(tǒng)采用8MHz 晶振頻率是快速PWM 模式頻率最大值為31.25KHz.計數(shù)器從BOTTOM計到MAX,然后立即回到BOTTOM 重新開始。
對于普通的比較輸出模式,輸出比較引腳OCRn在TCNTn 與OCRn 匹配時清零, 在BOTTOM時置位;對于反向比較輸出模式,OCRn 的動作正好相反。具體的時序圖如圖10 所示。圖中柱狀的TCNTn 表示這是單邊斜坡操作。方框圖同時包含了普通的PWM 輸出以及方向PWM 輸出。
TCNTn 斜坡上的短水平線表示OCRn 和TCNTn的比較匹配。產(chǎn)生PWM 波形的機理是OCRn 寄存器在OCRnX 與TCNTn 匹配時置位( 或清零),以及在計數(shù)器清零( 從TOP 變?yōu)锽OTTOM)的那一個定時器時鐘周期清零( 或置位)。輸出的PWM 頻率可以通過如下公式計算得到:
變量N 代表分頻因子(1、8、64、256 或1024)。
圖10 快速PWM時序圖
五、結(jié)論
多彩LED照明系統(tǒng)是一個極具開發(fā)前景的課題,隨著國家對大功率LED的進一步推廣LED的造價會繼續(xù)下降,LED燈具的普及將會很快到來。
LED在控制電路及控制方式的簡易與顏色的多樣性使其在多彩照明方面具有極大的發(fā)展,多彩LED只要配以簡單的控制方可發(fā)出不同的顏色,顏色控制設(shè)備的多樣性可供用戶選擇。無論如何LED 的上述特點都是其成為多彩照明中的光源首選,使用LED能為我們未來的生活帶來繽紛的色彩。