一種數位化無線LED光源控制器的製作方法
2023-09-18 05:26:30 2

本發明涉及工業品表面質量檢測的機器視覺光源控制,具體地說是涉及一種數位化無線LED光源控制器。
背景技術:
機器視覺系統是利用機器代替人眼獲取客觀事物的圖像,通過計算機和圖像處理技術對獲取的圖像進行處理、分析和識別的系統,包括照明、鏡頭、相機、圖像採集卡和視覺處理器五大部分,每部分均可能影響圖像處理的結果,甚至導致機器視覺系統的不穩定。其中光源控制器是最關鍵的環節之一。
現有的光源控制器存在發熱量明顯,控制指令輸入模塊與控制器之間布線麻煩的問題。在工業現場,由於安裝環境的限制,有時需要將調節光源亮度的控制信號輸入模塊與光源控制器的其他模塊分離安裝。
技術實現要素:
本發明為了解決現有的光源控制器在工業現場應用時發熱明顯,控制指令輸入模塊與控制器之間布線麻煩的問題,提出了一種數位化無線LED光源控制器。
一種數位化無線LED光源控制器,包括軟體部分和硬體部分;
所述硬體部分包括包括上位機、無線串口通信模塊、嵌入式控制單元、光源驅動電路、LED光源、顯示模塊和供電電源模塊;
所述上位機通過無線串口通信模塊與嵌入式控制單元雙向連接,用於發送指令和接收數據;所述嵌入式控制單元通過光源驅動電路與LED光源連接,利用PWM控制技術調節LED光源的亮度;所述顯示模塊由數碼管顯示電路構成,與嵌入式控制單元連接,用於顯示出通道序號和LED光源的亮度值;所述供電電源模塊分別與無線串口通信模塊、嵌入式控制單元、光源驅動電路、顯示模塊連接,提供穩定電源。
進一步地,所述硬體部分還包括紅外控制模塊,紅外控制模塊分為紅外遙控按鍵和紅外接收電路,所述紅外接收電路與嵌入式控制單元連接,紅外遙控按鍵用於發送指令,紅外接收電路用於接收指令並發送給嵌入式控制單元。操作者除了可以通過上位機無線遠程控制發送指令給嵌入式控制單元,還可以使用紅外控制模塊遙控發送指令,支持多種發送指令的模式,節省布線的麻煩。
進一步地,所述軟體部分包括上位機軟體,嵌入式控制單元程序和LED灰度值調節算法;
所述上位機軟體用於選擇LED光源通道,發送調節LED光源亮度的控制指令;
所述嵌入式控制單元程序用於分析、處理接收到的控制指令,然後根據處理的結果調節PWM波的佔空比,從而調節LED光源的亮度;
所述LED灰度值調節算法,是利用LED光源灰度值與PWM佔空比之間的關係,通過間距劃分多級的佔空比調節可以實現LED光源灰度值的調節。
進一步地,所述上位機軟體包括界面初始化、串口初始化、選擇LED光源通道和發送控制指令四個部分。
進一步地,所述嵌入式控制單元程序包括設備初始化,檢測控制指令、解析控制指令和調節PWM波佔空比四個部分,設備初始化包括I/O口初始化、鎖相環初始化、紅外引腳初始化、串口初始化和脈寬調製初始化。
進一步地,所述嵌入式控制單元採用LPC2148晶片作為核心控制晶片,所述LED灰度值調節算法包括如下步驟:
S1設置PWM波為單邊沿控制的,在PWM周期的開始時都是高電平,並且每個PWM的周期不變,周期大小由以下公式給出:
T P W M = n × 1 f c c l k ]]>
fcclk指的是LPC2148晶片的系統時鐘頻率,n為核心控制晶片LPC2148的PWMMR0寄存器的值;
S2將PWM波的周期數位化為256份,通過設置核心控制晶片LPC2148的PWM匹配寄存器來控制每個PWM周期中高電平的時間,在嵌入式控制單元程序中,PWM匹配寄存器的值由以下公式給出:
PWMMR i = P W M M R 0 256 × N ]]>
i=1,2,3,4,5,6;N=0,1,2,3...255,N代表LED光源的灰度值,PWMMRi代表PWM匹配寄存器的值;
S3實現間距為的0~255級佔空比調節,從而實現0~255的LED光源灰度值的調節,PWM波的佔空比為:
D u t y R a t i o = PWMMR i P W M M R 0 = N 256 ]]>
i=1,2,3,4,5,6;N=0,1,2,3...255,N代表LED光源的灰度值,DutyRatio代表佔空比。
進一步地,所述LED光源有四路,光源驅動電路包含四通道的驅動電路,用於提供四路LED光源的供電電壓。
進一步地,所述無線串口通信模塊分為上位機無線串口模塊和下位機無線串口模塊,上位機無線串口模塊與上位機之間雙向連接,下位機無線串口模塊與嵌入式控制單元的串口之間雙向連接,從而實現上位機和嵌入式控制單元之間數據的雙向通信。
進一步地,所述嵌入式控制單元採用LPC2148晶片作為核心控制晶片,其輸出的PWM波的頻率最高達到105數量級。嵌入式控制單元採用LPC2148作為核心控制晶片,用於分析、處理上位機通過無線串口模塊發送的和操作者通過紅外遙控按鍵發送的調節LED光源亮度的控制指令,根據分析處理的結果輸出相應佔空比的PWM波,從而調節LED光源的亮度;同時,嵌入式控制單元可以控制顯示模塊,讓其顯示出通道序號和LED光源的亮度值。另外,嵌入式控制單元可以同時獨立輸出四路不同佔空比的PWM波,並且可以實時地調節各路PWM波的佔空比,從而達到實時獨立地調節四路LED光源亮度的目的。由於採用PWM控制技術調節LED光源的亮度,故本光源控制器的發熱並不明顯。另外,PWM波的頻率可以高達105數量級,足以精確穩定的控制LED光源的亮度,因此在圖像採集的過程中,基本不會出現頻閃現象。
進一步地,所述光源驅動電路包含高頻開關電路。
與現有技術相比,本發明結構合理、能夠同時獨立精確穩定地控制四路通道的LED光源,採用PWM控制技術調節LED光源的亮度,其發熱量小;又因為採用非接觸的方式(無線串口通信和紅外遙控)輸入控制指令數據,克服了布線過程的複雜性,同時不受安裝環境的限制。因此,在工業檢測的安裝使用過程中更加靈活。
附圖說明
圖1是本發明的硬體結構示意圖;
圖2是本發明的上位機軟體流程圖;
圖3是本發明的上位機軟體界面圖;
圖4是本發明的嵌入式控制單元程序流程圖。
具體實施方式
本發明提出了一種數位化無線光源控制器,下面結合附圖說明具體實施方式。
本發明的包括硬體部分和軟體部分,如圖1所示,所述硬體部分包括包括上位機、無線串口通信模塊、紅外控制模塊、嵌入式控制單元、光源驅動電路、四路LED光源、顯示模塊和供電電源模塊。
無線串口通信模塊分為上位機無線串口模塊和下位機無線串口模塊,上位機無線串口模塊與上位機之間雙向連接,下位機無線串口模塊與嵌入式控制單元的串口之間雙向連接,從而實現上位機和嵌入式控制單元之間數據的雙向通信;
紅外控制模塊分為紅外遙控按鍵和紅外接收電路,紅外接收電路與嵌入式控制單元連接,紅外遙控按鍵用於發送指令,紅外接收電路用於接收指令並發送給嵌入式控制單元;
所述嵌入式控制單元採用LPC2148晶片作為核心控制晶片,其輸出的PWM波的頻率最高達到105數量級;嵌入式控制單元的PWM波輸出接口與光源驅動電路的輸入埠連接;
所述光源驅動電路由高頻開關電路和驅動電路構成,用於提供四路LED光源的供電電壓,其輸出端與四路LED光源的受電端相連;
同時,嵌入式控制單元還與顯示模塊單向連接,控制其顯示出通道序號和LED光源的亮度值;
供電電源模塊的受電端與外電源相連,而供電端同時與顯示模塊的受電端、嵌入式控制單元的受電端、光源驅動電路的受電端和無線串口通信模塊的受電端相連,為這些模塊提供所需電壓,以保證它們的正常運行。
本發明的軟體部分包括上位機軟體,嵌入式控制單元程序和LED灰度值調節算法。所述上位機軟體用於選擇LED光源通道,發送調節LED光源亮度的控制指令;所述嵌入式控制單元程序用於分析、處理接收到的控制指令,然後根據處理的結果調節PWM波的佔空比,從而調節LED光源的亮度;所述LED灰度值調節算法,是利用LED光源灰度值與PWM佔空比之間的關係,通過間距劃分多級的佔空比調節可以實現LED光源灰度值的調節。
如圖2所示,上位機軟體包括界面初始化、串口初始化、選擇LED光源通道和發送控制令四個部分。首先對軟體界面和串口進行初始化設置,在初始化完成後,判斷串口是否已經打開。若未打開,重新初始化串口;若串口已經打開,則選擇LED光源通道號,發送調節LED光源亮度的控制指令。
如圖3所示,上位機軟體的界面包括LED光源灰度值手動輸入欄1、LED光源灰度值滑動輸入欄2、LED光源通道選擇欄3、發送數據4、串口開關5、狀態欄6和波特率選擇欄7。操作者首先通過波特率選擇欄7選擇串口通信的波特率,通過串口開關5打開上位機的串口,然後通過LED光源通道選擇欄3選擇LED光源的通道,接著通過LED光源灰度值手動輸入欄1或者通過上下滑動滑塊輸入LED光源灰度值,最後點擊發送數據4,這樣便可發送數據。另外,操作者可以從狀態欄6中得到上位機串口的狀態和LED光源通道的序號。
如圖4所示,嵌入式控制單元程序包括初始化(I/O口初始化、鎖相環初始化、紅外引腳初始化、串口初始化和脈寬調製初始化)、檢測控制指令、解析控制指令和調節PWM波佔空比四個部分。首先對嵌入式控制單元的I/O口、鎖相環、紅外引腳、串口和脈寬調製進行初始化,然後檢測串口和紅外引腳是否有控制指令的輸入。如果沒有檢測到控制指令的輸入,則繼續檢測是否有控制指令輸入;倘若檢測到控制指令的輸入,則對控制指令進行解碼和分析,最後根據分析的結果調節PWM波的佔空比。
相應的LED灰度值調節算法實施步驟如下:
S1設置PWM波為單邊沿控制的,在PWM周期的開始時都是高電平,並且每個PWM的周期不變,本發明設置嵌入式控制單元的核心控制晶片LPC2148的PWMMR0寄存器為256,從而輸出的PWM波的周期為256個系統時鐘周期,其大小由以下公式給出:
T P W M = n × 1 f c c l k ]]>
fcclk指的是LPC2148系統時鐘頻率,n=256;
S2將PWM波的周期數位化為256份,通過設置核心控制晶片LPC2148的PWM匹配寄存器來控制每個PWM周期中高電平的時間,在嵌入式控制單元程序中,設置PWMMR2,PWMMR4,PWMMR5,PWMMR6的值,以控制四路PWM波的佔空比。PWMMR2,PWMMR4,PWMMR5,PWMMR6的值由以下公式給出:
PWMMR i = P W M M R 0 256 × N ]]>
i=1,2,3,4,5,6;N=0,1,2,3...255。N代表LED光源的灰度值,PWMMRi代表PWM匹配寄存器的值;
S3實現間距為的0~255級佔空比調節,從而實現0~255的LED光源灰度值的調節。PWM波的佔空比為:
D u t y R a t i o = PWMMR i P W M M R 0 = N 256 ]]>
i=1,2,3,4,5,6;N=0,1,2,3...255。N代表LED光源的灰度值;DutyRatio代表佔空比;
上式表明了LED光源灰度值與PWM佔空比之間的關係,通過間距為的0~255級的佔空比調節可以實現0~255的LED光源灰度值的調節。
操作者可以通過上位機軟體發送調節LED光源亮度的控制指令,這些控制指令經過和上位機雙向連接的上位機無線串口模塊發送,當與嵌入式控制單元雙向連接的下位機無線串口模塊接收到這些控制指令後,會將其通過URAT口發送給嵌入式控制單元。嵌入式控制單元接收到調節LED光源亮度的控制指令後,經過嵌入式控制單元程序的分析、處理,隨後做出相應的響應,即向光源驅動電路輸出相應佔空比的PWM波,從而調節LED光源的亮度。另外,操作者也可以通過紅外遙控按鍵發送調節LED光源亮度的控制指令,而紅外接收電路則負責接收紅外遙控按鍵發送的控制指令,並且將其發送給嵌入式控制單元。嵌入式控制單元程序對接收到的控制指令進行解碼、分析和處理之後,輸出相應佔空比的PWM波給光源驅動電路,進而控制LED光源的亮度。
本發明採用非接觸的方式輸入控制指令數據,克服了布線過程的複雜性,同時不受安裝環境的限制,在工業檢測的安裝使用過程中更加靈活。