張秀娟
(濟寧技師學院,山東濟寧 272100)
隨著科學技術的飛速發展,人們的生活環境和居住條件得到了極大的改善。為了追求更高的生活質量,智能家居的概念浮出水面[1]。通過智能化手段對家用電器和設備進行管理,用戶可通過智能終端設備來獲取家用電器的運行狀態并對其進行遠程控制。照明作為家用電器的重要組成部分,其智能化的升級改造,能夠有效改善人們的生活品質[2]。
傳統的智能家居產品主要是通過有線網絡直接進行連接,形成以家庭為單位的網狀結構,會產生許多的終端節點,布線麻煩且會耗費極大的人力,在檢測和維修時也十分不方便。無線通訊技術為智能家居的發展提供了新的契機[3-4]。Zigbee 是近些年新興的一種無線通信技術,具有系統功耗低、使用成本低、傳輸距離近、數據速率低等特點,非常適合面向家庭場合的智能家居設計[5]。
智能化的照明系統可以滿足人們對高質量生活的追求,創建一個安全、舒適、節能的LED 照明系統,更加貼近實用且人性化的現代化智能家居生活。基于ZigBee 的遙控可調光LED 燈設計,是智能家居系統的重要組成部分,構建基于ZigBee 的通信網絡,具有LED 燈的遠程控制、智能調節等功能。能夠實現LED 燈的人性化、網絡化、智能化控制,同時具備用戶、LED 燈和其他設備的互聯互通等功能。
利用ZigBee 自組網技術將LED 燈接入網絡,與控制器通過ZigBee 網絡進行通信,可以通過遙控器或上位機對LED 燈進行控制。用戶可以通過遙控器訪問ZigBee 網絡并發送控制指令,或通過串口通信使用PC端上位機訪問ZigBee 網絡發送控制指令,ZigBee 網絡將接收到的控制指令傳送給終端控制設備,以實現對LED燈的控制。
從圖1 中可知,本系統主要由兩部分組成:協調器和終端。系統上電后,由協調器完成自組網,終端節點自動采集LED 燈的亮度信息,再通過ZigBee 無線通信網絡把信息傳送給協調器,協調器再通過串口把信息傳送到PC端,通過上位機軟件將信息展示給用戶,用戶可以從上位機軟件獲取LED 燈的狀態,然后根據需要點擊上位機上相應的按鍵,經處理后,上位機將控制指令通過ZigBee網絡把指令傳送給終端,終端執行指令,以此實現對LED燈的控制,而當沒有向終端節點傳送的數據時,終端節點將自動進入休眠狀態,實現低功耗。

圖1 系統總體結構圖
基于ZigBee 的智能遙控可調光LED 燈系統中的硬件設計,主要包括ZigBee 核心板設計、電源電路設計、LED 燈驅動電路設計、按鍵電路設計和其他接口電路設計等。
ZigBee 作為一個穩定的無線協議,目前有很多芯片都支持該協議,比較常見的有CC2430、CC2530 等,其中CC2430 是美國德州儀器公司生產的第一代ZigBee 協議棧集成芯片,支持64k 的ROM 程序空間和1k 的RAM 隨機存取空間,對于當前較為完善的ZigBee 協議棧來講,程序空間和隨機存取空間不能滿足要求,所以在本系統中選擇了CC2530 作為ZigBee 的主控芯片。CC2530 是專門針對ZigBee 協議的一個單芯片解決方案。與CC2430 相比較,CC2530 的程序空間和隨機存取空間都有了很大的提升,在內部集成了增強型的8051 控制器,高效射頻收發器,8kB RAM 和其他強大的外設及其他支持功能。CC2530 在不同需求下可以使用不同的模式,可以滿足低功耗的需求,并且從睡眠模式轉換到運行模式只需要幾毫秒的時間,這就更加確保了其低功耗的性能。
ZigBee 核心板中使用的CC2530 最小系統如圖2 所示,其中P0 口全部由電阻上拉到3.3V 電源,上拉電阻可以增強P0 口低電平讀取的穩定性。在VCC 和GND 之間輸入2.8V~3.6V 電壓即可正常工作,且在VCC 輸入端接入了一個0.1μF 的電容C1,具有耦合的效果,可以抗電源干擾,保證了芯片可以正常工作。

圖2 ZigBee 核心板電路圖
本系統采用USB 接口供電,如圖3 所示,從P1 端輸入5V 電壓,C5、C6 為電容,用來濾波和儲能,對整個電源供電電路可起到穩定電流的作用。PWR1 為LED 電源指示燈,當USB 有輸入時,電流通過電阻R13 將指示燈點亮,R13 是一個10kΩ 的電阻,具有限流的作用。D1 為肖特基二極管IN5819,最大導通電流為1A,它的作用是防止其他接口輸入電源從而導致發生短路,從USB 輸入的電流經過D1 后,流向AMS1117 穩壓電路,所以D1 可以保護AMS1117 分支電路。

圖3 電源USB 接口輸入電路圖
CC2530 芯片的輸入電壓為3.3V,所以需要將5V 電壓轉換為3.3V 電壓。電壓轉換電路如圖4 所示,在本設計中選用了AMS1117-3.3V 芯片。AMS1117-3.3V 芯片是一款專門用于電源電壓轉換的芯片,可將4.2V~12V 的輸入電壓轉換為穩定輸出的3.3V 電壓,最高輸出1A 電流。電容C2、C3 起到穩壓和抗干擾的作用,C4 是一個大電容,可以在電源產生瞬間壓降時,通過電容的放電效應補償電壓差,從而對電源輸入起到穩壓的作用,可使得AMS1117 較為穩定的輸出3.3V 電壓,然后再經過電容C2,電容C2 對輸出的3.3V 電壓進行穩壓,為后續使用3.3V 電壓的元器件做一定的穩壓保護作用。

圖4 5V 轉3.3V 電路
從LM7805 輸出的5V 電壓經過ASM1117 轉換后,得到3.3V 電壓,可供CC2530 芯片使用。
圖5 所示為LED 燈的驅動電路,其中三極管選用NPN 型三極管,在其集電極引出一個接口,發射極接地。在基極施加一個高電平即可導通集電極到地,可以作為開關管對接入集電極的負載進行開關控制。

圖5 LED 燈驅動電路
如圖6 所示,LED 燈的控制按鍵共有兩個,分別接到了I/O 口的P1_7 和P0_1,按鍵的有效值可設為高電平有效或低電平有效,但由于CC2530 的I/O 口具有上拉電阻的作用,且上電默認工作在上拉電阻有效的模式,所在將按鍵設置為低電平有效的觸發方式,按鍵的一端接I/O口,另一端接GND 即可實現對按鍵的檢測。

圖6 按鍵電路
系統軟件包括zigbee 協調器和終端的下位機軟件,以及PC 端的上位機軟件。
下位機程序設計分為兩部分:ZigBee 協調器和ZigBee終端。二者均具有無線數據的收發功能,以保持聯網通信。ZigBee 協調器的流程如圖7 所示,協調器主要用于控制終端LED 燈的狀態,對應的按鍵實質是鍵值的發送。此外,LED 燈還可以采用上位機的控制方式,上位機的通信接口采用的是UART 串口通信,通過UART 串口通信,上位機將指令發送給ZigBee 協調器,然后ZigBee 協調器將收到的上位機串口命令轉換為對應的鍵值后再發送到ZigBee 終端。

圖7 ZigBee 協調器流程圖
ZigBee 協調器上電后,系統首先對硬件進行初始化,然后判斷是否有按鍵按下,若有按鍵按下,則發送相應的鍵值到終端。若沒有按鍵按下,則判斷是否收到來自上位機串口的命令,若收到來自上位機串口的命令,則將串口命令轉換為對應的鍵值發送到ZigBee 終端。若沒有收到來自上位機串口的命令,則判斷是否收到無線數據,若收到了無線數據,則緩存節點數據并上報至上位機。若沒有收到無線數據,則重新回到判斷是否有按鍵按下并循環。由此實現了上位機遠程控制功能。
ZigBee 終端流程圖如圖8 所示,ZigBee 終端上電后,首先將硬件初始化,然后判斷是否收到無線數據,無線數據的內容為來自ZigBee 協調器的鍵值,若收到無線數據,則判斷是否來自協調器的命令,否則重新返回判斷是否收到無線數據。若收到來自協調器的命令,則判斷是否是開關燈命令,若是則繼續判斷是否是開燈命令,否則返回判斷是否收到無線數據。若收到開燈指令則執行開燈指令,否則執行關燈指令,并返回判斷是否收到無線數據。

圖8 ZigBee 終端流程圖
上位機軟件設計使用了Visual Studio 集成開發環境,通過串口實現PC 端與ZigBee 無線傳感網絡的通信。上位機的設計主要分為兩部分:界面和程序。本系統的上位機用戶界面如圖9 所示,界面的左半部分用來檢測并打開串口,右半部分用來控制LED 燈的開關和亮度,并可以實時顯示出當前LED 燈的亮度信息。

圖9 上位機測試界面
上位機啟動后,首先要對串口窗體進行初始化,并設定默認的串口參數。在對串口初始化完成以后,上位機檢測可用串口以及串口設置。在按下“打開”鍵后,上位機將參數配置到串口組件。對于LED 燈的開關控制及亮度調節用上位機的按鈕控制,當點擊上位機中的按鈕時,會觸發相應的函數,并發送相應的指令給下位機,在本設計中共設置了五檔亮度調節。
首先上位機遠程控制功能測試。將協調器通過串口與PC 端連接,并給終端上電,然后打開上位機控制軟件,檢測并打開串口,此時可以從上位機界面看到ZigBee協調器與終端組網成功,并且可以顯示出當前LED 燈的亮度“1L”代表亮度為1,“2L”代表亮度為2,以此類推。此時可以通過界面上的“亮度1”“亮度2”等按鈕控制LED燈的亮度。
遙控器功能測試。給ZigBee 協調器和終端上電,上電后指示燈快閃爍,組網成功后指示燈由快閃變為慢閃,在確定協調器與終端組網成功后,可以通過遙控器的按鈕對LED 燈的亮度進行調節,遙控器的兩個按鈕分別負責控制LED 燈亮度的加和減,共有5 檔亮度可調節,當亮度調到最高或最低時,按鈕旁邊的指示燈會閃爍以提醒使用者達到最大可調節等級。
為了方便在日常生活中對LED 燈的遠程控制,本文設計了基于ZigBee 的遙控可調光LED 燈系統。系統主要由協調器和終端兩部分組成,可以實現對LED 燈的遠程控制,以及通過上位機實時監控LED 燈的狀態。首先對基于ZigBee 的遙控可調光LED 燈系統的功能需求進行了分析,并制定了系統的總體設計方案。然后進行了系統硬件設計,介紹了使用到的CC2530 芯片,并對系統中的電源電路、LED 燈驅動電路、按鍵電路和其他接口電路進行設計。分別進行了電腦端的上位機軟件設計,以及包括ZigBee 協調器和終端的下位機軟件設計。最后通過實際測試驗證了系統的功能性。