娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年03月09日(星期日)

正在發生

2021年03月09日 | 基于機器視覺的太陽能電池片外觀缺陷檢測

發布者:翩翩輕舞 來源: eefocus關鍵字:機器視覺  外觀缺陷檢測 手機看文章 掃描二維碼
隨時隨地手機看文章

引言


隨著國內外對清潔能源需求的增加以及各國政府對清潔能源補助的提高,光伏組件的需求也在快速增長。為保證產能及組件品質的可靠性,高精度、高速太陽能電池片的全自動焊機成為光伏企業的首選。目前這些設備大多依賴進口,然而進口設備高昂的價格很大程度上增加了太陽能發電的成本,急需研制出高水平的太陽能電池片焊接設備來滿足市場的需求。電池片焊接設備的精度、速度與電池片的完整性相關。傳統的檢測方法精度低、速度慢,而且部分還需依賴人工操作,不能滿足市場要求,而基于機器視覺的檢測方法能有效地解決這些問題。


機器視覺技術與人類通過眼睛獲取信息的方式是一致的,光學圖像的采集就好比是機器在用“眼睛”獲取信息,檢測算法就是機器在用“大腦”思考的過程。而光學圖像定位方法又分為灰度定位和幾何定位,基于灰度定位的算法是通過分析模板圖像的灰度值與待測物體圖像的灰度值的相關性大小來判斷物體的位置。由于該算法與圖像的每一個像素點的灰度值關系密切,所以它對光照的亮度變化非常敏感。而在實際生產當中工件對光的吸收、反射不可能完全一致,從而會影響定位的準確率和通過率,因此采用幾何定位方式。


1 太陽能電池片表面缺陷檢測系統設計


系統硬件方面由3部分構成:處理芯片STM32F103RBT6、圖像傳感器模塊OV7670、串口通信SP232。其設計框圖如圖1所示。軟件方面,主要由3個功能模塊構成:OV7670模塊程序、圖像處理算法程序、SP232通信程序。


系統工作過程:首先由OV7670模塊獲取圖像,在STM32F103RBT6中讀取,通過圖像處理算法進行計算,得到的結果由SP232上傳給上位機。



1.1 系統硬件設計


1.1.1 STM32F103RBT6處理器


STM32F103RBT6是基于CortexM3的32位處理器,最高工作頻率為72 MHz,具有128 KB的Flash程序存儲器和20 KB的RAM。其有4個計時器、16個定時器、16個模/數轉換器。串行通信有2個SPI、2個I2C總線、3個USART、1個USB和CAN總線,接口類型也有多種,在與其他器件鏈接時可以更加方便。內核具有突出的中斷處理能力,其實時性強,系統存儲要求低,并且功耗和成本很低,具有廣泛的應用領域。


1.1.2 OV7670模塊


OV7670圖像傳感器體積小、工作電壓低,適合嵌入式應用。OV7670具有高靈敏度,適合低照度應用,提供單片VGA攝像頭和影像處理器的所有功能。通過SCCB總線控制,兼容I2C總線接口,可以輸出整幀、子采樣、取窗口等方式的各種分辨率為8位的影像數據。VGA圖像最高達到30 fps,可以完全控制圖像質量、數據格式和傳輸方式。圖像處理功能過程包括伽馬曲線、白平衡、飽和度、色度等都可以通過SCCB接口編程。OV7670圖像傳感器的功能模塊包括:感光陣列、模擬信號處理、A/D轉換、測試圖案發生器、數字信號處理器、圖像縮放、時序發生器、數字視頻端口、SCCB接口、LED和閃光燈輸出控制。其功能框圖如圖2所示。



OV7670數據位D0~D7與MCU的PA口A0~A7連接,讀數據時鐘位 RCLK與PC1連接,讀指針復位位RRST與PC2連接,片選信號位OE與PC3連接,寫指針復位位WRST與PC4連接,寫入FIFO使能位WEN與PC5連接,同步信號檢測位VSY與PD2連接,SCL是SCCB時鐘口與PC11連接,SDA是SCCB的數據口與PC12連接,初始化OV7670可通過SCL和SDA。OV7670與STM32F103RBT6的連接電路如圖3所示。



1.2 軟件設計


1.2.1 常見缺陷類型


根據制作材料的不同,可以把太陽能電池分為單晶硅太陽能電池、多晶硅太陽能電池和非晶硅太陽能電池3種。對于特定材料的太陽能電池片,可以設計出適合該類型太陽能電池片表面缺陷檢測的系統。本文是針對單晶硅太陽能電池片進行表面缺陷檢測的。在太陽能電池片的生產加工過程中(表面腐蝕、制絨、擴散、表面成膜、網印、鈍化、燒結等),可能由于某些工藝缺陷或者生產環境的影響造成太陽能電池片表面的斷柵、缺角、色差、臟污、裂紋等缺陷。基于機器視覺的太陽能電池片表面缺陷檢測系統主要用于檢測太陽能電池板片表面的斷柵、缺角和裂紋3種主要工藝缺陷。缺陷的具體形態如圖4所示。



缺角和裂紋主要是在制絨的過程中導致的,傳統制絨的方法是機械刻槽法,通過利用V型刀在硅表面摩擦形成規則的V型槽,從而形成規則的、反射率低的表面結構。正是這種方法經常會破壞硅片,形成裂紋或者缺角。盡管工藝不斷改進,開始使用化學制絨法,但是由于成本高,該方法還未得到普及。斷柵主要出現在絲網印刷過程中。絲網印刷是指利用絲網圖形部分網孔透漿料,非圖文部分不透漿料。印刷時在絲網一端倒入漿料,用刮刀在絲網的漿料部位施加壓力,同時朝絲網另一端移動。刮板壓力不適會導致漿料的漏印,或者由于圖形部分的雜質造成漏印而導致斷柵。


1.2.2 表面缺陷檢測系統的結構示意圖


太陽能電池片表面缺陷檢測系統的結構示意圖如圖5所示。在光照下,OV7670攝像機對待測電池片進行圖像采集傳送到計算機中,通過圖像處理得出缺陷圖像,最后對缺陷進行標識和數據統計。


光照單元是系統的一個重要組成部分。由于太陽能電池板表面的強反射性,不合理的光源類型和照明方式都會導致圖像灰度的不均勻,從而影響后期的圖像處理。光照單元的任務就是產生均勻的光照以便得到準確的物像位置關系,從而保證所獲取圖像的高對比度和清晰度。


圖像采集單元是OV7670模塊。該單元主要完成待測太陽能電池片的圖像采集,并將采集到的數據傳輸給MCU,便于后期的數字圖像處理。


計算機處理單元包括圖像處理和缺陷識別。該單元主要是對采集圖像進行基本圖像處理,得到缺陷圖像,然后標記缺陷和識別缺陷,最后通過計算機屏幕直觀地顯示出太陽能電池板的檢測結果。


1.2.3 表面缺陷檢測系統的軟件流程


利用STM32F103RBT6來處理太陽能電池片的圖像,程序代碼在ST公司自帶的庫文件上編寫。初始化階段,先配置好STM32F103RBT6內部時鐘、中斷處理和USART、按鍵、OV7670、SP232等外設接口,再初始化按鍵、LED、OV7670模塊、SP232。初始化成功之后,讀取OV7670采集到的信息數據,讀完段標記使能攝像頭片選,每次讀取一個MCU塊,對它進行二值處理、像素點掃描、判斷、旋轉、上傳數據至上位機,直到結束。


OV7670攝像機將攝取到的數據傳送給MCU,MCU得到數據后首先讀取相機的數據,并做二值處理,更新LCD顯示。以圖像中心為原點,尋找電池片左上角、右上角、左下角和右下角的坐標,用于計算旋轉后的圖像的寬和高。


判斷完整性算法如下所示:


① 從第10行起(每行320點),取白點(0xff)的數據,連續取50行,計算白點的平均值WhiteTrueData。


② 從第10行起(每行320點),每行的行頭取黑點(0x00)的數據,直到白點為止,連續取50行,計算黑點的平均值BlackTure Data。


③ 156×156的片子,有效行總共是224~232行,每一行的白點數約228~232點WhiteData(根據焦距不同,有效的行數、列數有所不同)。


④ 每一行,從白點處開始,將第232點后的數據統一清除為黑色。


⑤ 每一行,從第一點開始將第一點至白點為止的數據(BlackData),統一清除為黑色。


⑥ 在每一行的白點中尋找黑色點,如果連續3點或者連續兩行在同樣的偏移處找到2個以上的點,表明該處為缺少、裂縫、缺角或其他的不完整。


先判斷所有的有效數是否在預置數之間,如果是,初步判斷為完整的電池片;否則,為缺角。如果取得的有效數據在預置數之間,將取得的平均值與預置數比較,如果小于預置數10點以上,判斷為有裂縫;片子基本完整,再判斷是否有裂縫、空洞。從第0行起(每行320點),掃描240行,尋找連續的白點,如果連續的白點數據中有有效的黑點(0x00)數據,判斷為裂縫或空洞;有裂縫的點數大于5處,判斷為不完整。如果為不合格的電池片,可判斷是否傾斜,將傾斜的片子旋轉,或發送數據到上位機。從第0行起(每行320點),掃描240行,判斷是否傾斜;查找黑色點,如果每一行均出現白色點,白色點的坐標不大于1/2(320),為有效白色點。


源程序代碼如下:




OV7670_RRST=0;//開始復位讀指針




OV7670_RCK=0;




OV7670_RCK=1;




OV7670_RCK=0;




OV7670_RRST=1;//復位讀指針結束




OV7670_RCK=1;




for(i=0; i<240; i++){




change_num = 0;




change_bak_num = 0;




Temp_i = 0;




for(j=0; j<320; j++){




OV7670_RCK = 0;




color = (GPIOA->IDR)&0xFF;




OV7670_RCK = 1;




if(color < CompData){




change_num = 0;




Black_Data++;




}




else{




change_num = 0xfe;




White_Data++;




}




if(change_num != change_bak_num){




Temp_i++;




change_bak_num = change_num;




}




OV7670_RCK = 0;




color |= (GPIOA->IDR)&0xFF;




OV7670_RCK = 1;




}




if(Temp_i>2)break_dot++;




if(break_dot>5)cell_judge = 0;




//有裂縫的點數大于5處,判斷為不完整




break_dot = 0;




}


太陽能電池片表面缺陷檢測系統的軟件流程圖如圖6所示。



2 處理結果分析


重點是對太陽能電池片表面的缺角、裂紋、空洞缺陷進行檢測。實驗對象是156 mm×156 mm的單晶硅太陽能電池片。實驗中給出了太陽能電池片表面缺陷的系統檢測圖片的效果圖以及從該系統得到的實驗數據,并對該缺陷檢測系統的識別率進行統計和分析。


實驗統計表明,缺角的識別率高于95%,空洞的識別率基本達到90%,裂縫的識別率最低,只有86%。本程序經過不斷優化以后,運行時間在1 s左右(不包含圖片的顯示時間)。


如果圖片中包含缺陷的個數較少或者不包含缺陷時,運行時間在0.7 s左右(不包含圖片的顯示時間),基本達到實時性要求。另外,STM32F103RBT6一個很大的優點就是其官方提供了庫函數,使其軟件開發周期比較短。


效果圖如圖7所示。



結語


本文完成了太陽能電池片缺陷檢測的設計方案,實現了太陽能電池片在線實時檢測,這種方法提高了太陽能焊接機的生產效率。軟件設計時,OV7670是模塊化的,有接口函數,因此具有很強的可移植性。


雖然51單片機成本比STM32F103RBT6低一些,但是計算速度慢;DSP、ARM9、FPGA等雖然計算速度快,但用于太陽能單焊機上的嵌入式產品使用就顯得成本較高。


綜合考慮,以STM32F103RBT6結合OV7670模塊作為太陽能單焊機上的檢測設備具有較高的應用價值。


關鍵字:機器視覺  外觀缺陷檢測 引用地址:基于機器視覺的太陽能電池片外觀缺陷檢測

上一篇:關于STM32數據手冊中的定時器信號
下一篇:STM32固件庫3.3版本在STM3210e-eval開發板上的移植

推薦閱讀

促進技術創新,生產力和廣泛增長的外國投資對于半導體行業的長期成功至關重要。然而,由于美國外商投資委員會(CFIUS)對這個行業越來越嚴格的審查,數十億美元的投資正面臨收窄的風險。在過去兩年中, CFIUS原來的職責是負責審查美國公司對外國實體的銷售和所有權轉讓的一家政府機構,出于對國家安全考慮,CFIUS拒絕將Aixtron和Lattice Semiconductor賣給...
集微網消息,由國際電信聯盟、中國信息通信研究院聯合主辦,人工智能產業發展聯盟(AIIA)和中興通訊承辦的國際論壇“AI in 5G——引領新時代論壇”于3月6日在深圳召開。會上,人工智能產業發展聯盟(AIIA)正式發布“AIIA DNN benchmark V0.5”首輪評估結果。評估結果顯示,海思麒麟980和瑞芯微RK3399表現上佳,成功通過評估。據悉,AIIA DNN benc...
蔚來 ES6 相信很多小伙伴都知道,這是蔚來汽車發布的第二款純電 SUV 車型,定位與中型大五座 SUV,蔚來汽車第一款發布的車型是蔚來 ES8,定位是一款中大型 SUV,但是發布之后很多網友就能看出來,蔚來 ES8 的銷量不是很完美,總是感覺不是很容易被人接受,不能否認的就是蔚來汽車在成立初期一直都是受到質疑,尤其是旗下蔚來 ES8 發布上市的時候,...
蓄電池的使用已長達一百多年,電池性能的好壞直接影響到電子產品的使用壽命和安全,而充電機的性能好壞又直接影響到電池的性能。傳統的充電機大多由于工頻變壓器及整流電路(可控硅調相)組成,雖然線路極為簡單,但有許多不容忽視的缺點:笨重、可靠性差、充電效率低、充電期間必須人工值守、不斷調整充電電流等。而本文設計的智能快速充電機,按照蓄電池...

史海拾趣

問答坊 | AI 解惑

PROTEL 99 SE常規教程---經典

講的圖文并茂,給大家分享一下! [ 本帖最后由 hltao87 于 2008-12-18 10:17 編輯 ]…

查看全部問答∨

基于ADC0809的溫度計設定(可進行攝氏和華氏的轉換)

該設計利用0809的進行模數轉換,仿真利用滑動變阻仿真AD590的模擬量。以一單鍵盤來控制攝氏溫度和華氏溫度的轉換。 [ 本帖最后由 houanchan 于 2009-5-19 13:31 編輯 ]…

查看全部問答∨

怎么樣從一個瘋狂下載者成為一個學習者(轉)

怎么樣從一個瘋狂下載者成為一個學習者(轉) 為了方便廣大網友,各種網站也應運而生。當網絡的建設和發展正進行的如火如荼,喧鬧之中,搭配學習這壺美酒的,竟是一瓶名叫資料下載的毒藥,更糟糕的是,美酒和毒藥已經被灌到了同一個杯子里,渾然一 ...…

查看全部問答∨

驅動dll的問題

在編譯一個驅動dll后按照如下方法綁定到nb0中: 在project.reg中添加: [HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\MyDriver]         "Dll"="MyDriver.dll"         "Prefix"="XXX" & ...…

查看全部問答∨

尋求MMS彩信的編碼協議

尋求MMS的編碼協議,找了半天都找不到。 能不能指點下如何解析?…

查看全部問答∨

移植eboot遇到的問題 到EbootInitEtherTransport死機

我的板子是mini2440 在移植官方的5.0 bsp,現在發現我的板子OEMEthGetSecs()這個函數時死機,我發現應該是我的板子應該有問,因為以前在wince系統下也發現他的時鐘是不會走一秒的。接下來我把這個函數去掉,eboot就往下走了, 移植了dm9000的驅動& ...…

查看全部問答∨

關于調用wince5.0(酷派手機)照相機的問題

大家好!     我現在想調用酷派手機(wince5.0)的照相機來進行拍照,用SHCameraCapture這個api,發現wince5.0好像根本不支持這個api,因為在編譯時SHCAMERACAPTURE都說是沒有定義,我也引用了#include <aygshell.h>,以及#pragma  &nb ...…

查看全部問答∨

請教:tuner中的SD mode 是指什么模式?

data sheet中是這么講的: SD mode switch 1 : SD mode When this mode switch is set to the on state, the IF counter will count every time a stop condition arrives over the I2C circuit. --------------------- SD mode 是指什么模式? ...…

查看全部問答∨

離心水泵出現新問題

離心水泵以前抽得好好的,不知怎么回事,最近出水量明顯比以前少多了。而且每次開機都要先灌引水、排氣,才能抽上水來。水泵是自動控制的,正常時是不用人管的;現在不行了,自動開機時沒人現場排氣水泵就空抽。        ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 白银市| 清河县| 福鼎市| 瑞丽市| 涿州市| 临猗县| 额尔古纳市| 新闻| 奉节县| 三河市| 海伦市| 仙桃市| 新疆| 丘北县| 东光县| 浦城县| 天峨县| 梁平县| 察隅县| 循化| 泰宁县| 宜城市| 名山县| 波密县| 潮安县| 甘孜县| 奉新县| 宁陵县| 谷城县| 本溪市| 和龙市| 成武县| 济南市| 定南县| 固镇县| 峡江县| 新晃| 阿坝| 葵青区| 荔波县| 凭祥市|