基于DMX512 協議的LED燈光控制器的設計與開發
4 .1CPU模塊功能描述
CPU模塊是系統的主要部分,由CPU控制完成系統的全部功能,本系統采用PIC18F4431單片機作為控制器。外圍電路由10M晶振提供時鐘,同時作兼容設計,可由時鐘芯片MAX7381直接提供時鐘輸入。電路如圖 3外圍時鐘電路所示。
本文引用地址:http://www.104case.com/article/168101.htm
圖 3外圍時鐘電路 |
4 .2 RGBW模塊
本模塊由CPU的PWM模塊控制,實現對LED RGB全彩燈的控制,以實現不同的色彩顯示方案。
本模塊電路結構簡單,對應的RGBW四路輸出分別接在了CPU的四個PWM輸出I/O管腳,由PWM模塊輸出相應的脈沖波形,以控制4個MOS管的打開和關斷,從而得到不同的色彩方案。
4 .3 按鍵模塊
用于用戶進行相關參數的設置,在當前版本中沒有使用到本功能。每個按鍵通過上拉電阻上拉后直接接到CPU的I/O管腳即可。
4 .4 無線接收模塊
本模塊用于接收來自配套的無線遙控器的控制信號,以方便用戶進行相關參數的設定和測試。
本模塊使用了臺灣KEYMARK公司專用的無線收發套裝芯片,該模塊采用曼徹思特編碼。本系統中為接收芯片,該芯片接口簡單,只需要一個I/O即可實現信號的接收,并由軟件來完成信號的處理。
4 .5 RS-485模塊
RS-485接收模塊用于實現DMX512協議,DMX512協議使用的物理層接口即為RS-485接口。
本模塊使用了通用485接口芯片MAX487用于實現RS-485接口與單片機的UART串口的電平轉換。接口電路如圖 4MAX487外圍電路。
圖 4MAX487外圍電路 |
4 .6電源模塊
本系統控制不但要為控制器內部供電,還要為外部RGB燈條供電,因此必須使用大功率電源,電源電壓可支持多種規格的電源,48V,24V,12V等,并支持電壓檢測和過流檢測。電源模塊輸入為AC 220V/50-60HZ。模塊內部需提供5V和3V電源。5V使用HVLM2594轉換得到,3V使用AS1117由5V轉換得到,用于給無線模塊供電。
5 軟件實現
本系統采用PIC18單片機,編譯器為PICC18 8.35PL2,C語言編程。系統軟件框圖如圖 5系統軟件框圖。
圖 5系統軟件框圖 |
其中:
1)無線接收模塊由外部中斷函數實現,實現曼徹斯特解碼。
2)電壓檢測由A/D轉換實現,用于檢測供電電壓,如果供電電壓過低或過高則進入相應保護。
3)DMX數據接收由串口中斷實現,由軟件實現DMX512協議,檢測到DMX512數據幀后,將數據放入緩存,并置相應標志位。
4)RGB輸出由定時中斷函數控制,定時時間到,置相應標志位,根據當前RGB緩存數據刷新RGB輸出。
6 綜述
DMX512燈光控制器目前在LED控制領域得到了已經了廣泛應用,技術相當成熟,可靠性高,基于本文開發的控制系統目前已經實現產品化,產品已經在市場得到廣泛應用。
隨著技術的發展,基于網絡和無線技術的DMX控制系統會逐步得到更廣泛的應用,但是由于帶寬和實時性等的限制,得到推廣仍需要時間,傳統的DMX控制器仍會得到大量應用。
評論