西華師范大學 楊曉可
LED彩燈串在封裝成品投入市場前需要對其基本發光性能進行檢測,該工序的主要目的是剔除LED彩燈串中不發光和發光顏色不符合定制要求的LED燈,以提高產品的質量。目前,絕大部分生產商采用的檢測方式為:在LED彩燈串通電的情況下以人眼對其基本發光性能的好壞進行判別。該方式不僅有一定的安全隱患,而且存在檢測速度慢、效果不理想、成本高等問題。本產品通過openMV色彩識別模塊對LED彩燈串發光情況進行逐一檢測,協同其他系統模塊共同實現了對LED彩燈串的自動化檢測,有效的解決了傳統檢測方式中存在的問題,極大程度上提高了LED彩燈串檢測的效率。
(1)本產品通過openMV實現對LED彩燈串的檢測,相對于傳統檢測方式檢測效果更好,檢測速率可調。
(2)只需5V直流電源即可驅動整個系統,安全可靠,且能長時間持續工作。
(3)以STM32F407為主控芯片,各模塊具有良好的協調性,且成本較低。
LED彩燈串基本發光性能自動檢測器包含openMV色彩識別模塊、主控模塊、電源模塊、動力模塊、制動模塊5個基本模塊,另外還有兩個暗箱,用以防止檢測時外界光的干擾。兩暗箱分別記為暗箱A與暗箱B,暗箱A中內置有openMV模塊,暗箱B內置有制動模塊。工作時,兩電機在STM32F407核心板的控制下牽引LED彩燈串上的LED燈逐一通過暗箱A,最終實現檢測LED彩燈串的目的。當檢測出異常LED燈時,制動模塊自動斷開動力模塊的電源,停止檢測,進而定位出異常LED燈在整個彩燈串中的具體位置。系統整體結構圖如圖1所示。
圖1 系統結構框圖
openMV是一個非常易用,開源且低價的機器視覺開發組件。本產品采用的openMV4以OV7725為感光元件,STM32F4H7處理器為內核,內置Micro Python解釋器,且擁有IO,SPI,IIC,DAC/ADC,UART等眾多外設資源,能夠高效的實現對LED彩燈串基本發光性能的檢測。
使用杜邦線在openMV的引腳上外接一個LED燈,用以在openMV檢測出異常LED燈時發出警報。以檢測紅、藍、黃三色LED彩燈串為例,當LED彩燈串中有不著或是發光顏色不符的LED燈出現時,openMV將無法識別,外接的LED燈將被點亮。openMV擁有完整的底層圖像處理算法,可在Python環境下直接調用其機器視覺模塊。首先需要對感光元件OV7725、時鐘、LED燈等進行初始化,然后設定紅、藍、黃三種顏色的閾值,最后調用openMV的image.find_blobs()函數將像素點與設定的閾值進行比較,若相符,則繼續識別下一個LED燈,否則發出脈沖并通過延時函數使得外接的LED燈持續點亮示警。
LED彩燈串基本發光性能自動檢測器并未采用openMV自帶STM32F4H7處理器為主控芯片,原因是STM3274H7外設引腳不多,且openMV要置于暗箱A中,不便于系統電路的連接。因此整個系統以STM32F407作為微控制單元(MCU)。STM32F407采用Cortex M4內核,資源充足,接口豐富,主頻達到168MHz,能夠很好的與其他模塊進行交互。
主控模塊的工作在于控制動力模塊的兩個步進電機并為其供電。對于步進電機的控制,主要是通過控制輸人的PWM波的方法來完成的。由于步進電機轉子的速度和角位移量與輸入脈沖的頻率和數量成正比且步進電機的旋轉方向取決于通電電流的方向,則可以通過控制輸入的PWM波的數目、頻率及電動機繞組的順序來控制步進電機轉角、轉速及轉向。再通過STM32F407上的按鍵實現人機的交互。首先需要完成一系列的初始化操作,包括時鐘、GPIO及按鍵IO口的使能,GPIO引腳、速度、模式的配置等,再通過調用步進電機驅動器,最后使用定時器產生PWM波即可控制動力模塊的步進電機。主控模塊控制步進電機的結構框圖如圖2所示。
圖2 步進電機控制結構框圖
電源模塊直接為主控板、openMV供電,間接為制動系統及動力系統供電,為保證輸出電壓可調,本產品采用以穩壓芯片CW317與CW337為核心,自主設計的直流穩壓電源作為系統的電源模塊。該電源能夠實現0~12V的直流電壓可調,在保證系統電路安全的同時也避免了因電壓不足而無法驅動各模塊的問題。
動力模塊主要由兩個改造后的28BYJ-48單極性步進電機構成。這兩個電機與普通電機的不同之處在于輸出軸上都焊接了一根15厘米的空心不銹鋼鋼管,從而在不過多加重電機負載的同時延長了其輸出軸。兩個電機均由主控模塊直接供電與控制,能夠實現正轉、翻轉、調速與暫停。當整個系統運作時,將一卷中間鏤空的LED彩燈串插于暗箱A入口處電機的輸出軸上,另一電機置于暗箱A的出口處,主控板控制兩電機同向同速轉動,即可牽引待測LED彩燈串上的LED燈逐一通過暗箱A,并由其中的openMV完成檢測,檢測完成的LED彩燈串將纏繞于暗箱A出口處電機的輸出軸上。
制動模塊主要由openMV上引出的LED燈及光控繼電器組成,為防止外界光干擾,二者均置于暗箱B內。制動模塊位于主控模塊和動力模塊之間,由主控模塊直接供電,其主要作用在于控制STM32F407核心板向步進電機供電線路的通斷,當openMV檢測出異常LED燈,其自帶的STM32F4H7芯片將控制外接的LED燈持續點亮,與此同時,光敏繼電器則會切斷動力系統的供電。LED彩燈串基本發光性能自動檢測器沒有使用以openMV自帶芯片STM32F4H7向核心板STM32F407發送中斷信號進而切斷步進電機電源的方式來顯示檢測出異常LED燈,一方面是因為暗箱A內的STM32F4H7不便于過多電路的連接,另一方面,當整個系統停止運行時,制動模塊中LED燈是否持續點亮可以將系統電路故障與檢測出異常LED燈這兩種情況區分開來。
實際測試中,以含有發紅、藍、黃三種顏色光的LED彩燈串檢測為例,檢測彩燈串長20m共220燈,設置發白光、綠光、和不發光的LED燈各兩只。檢測結果為:凈檢測時長3分21秒,6只異常的LED燈都被檢測出來。部分測試效果展示如圖3所示。
圖3 測試效果展示圖
通過測試結果和工廠調研結果對比發現,本文涉及產品對LED彩燈串基本發光性能的檢測效果和速度都優于傳統的人工檢測,達到了預期的目標,在篩選LED彩燈串中殘次品領域有廣闊應用場景,值得推廣。
結束語:本文針對LED彩燈串中殘次品篩選的問題,設計了基于openMV的LED彩燈串基本發光性能自動檢測器。該設計由五個基本硬件模塊及軟件部分組成,具有電路簡單、安全可靠、成本低效果好等眾多優點,在實踐生產中能產生良好的效益。