在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 太陽能電池測試軟件設(shè)計

            太陽能電池測試軟件設(shè)計

            作者: 時間:2013-02-23 來源:網(wǎng)絡(luò) 收藏
            1 系統(tǒng)總體結(jié)構(gòu)及功能
            太陽能電池性能測試系統(tǒng)由硬件結(jié)構(gòu)與測控軟件兩部分構(gòu)成。硬件結(jié)構(gòu)主要包括光路系統(tǒng)、樣品室與測量電路三部分,如圖1所示。軟件主要分為上位機軟件與下位機程序兩部分。

            太陽能電池測試軟件設(shè)計

            太陽光模擬光源選用氙燈,因為其具有較寬且連續(xù)的光譜范圍,覆蓋紫外光至紅外光,是比較理想的模擬太陽光源。光源通過斬波器變?yōu)榻蛔兊膹?fù)色光信號,再經(jīng)光柵單色儀,為測試系統(tǒng)提供交變單色光信號。偏置光源的存在使系統(tǒng)具備了測試多節(jié)太陽能電池的條件,可選用氙燈、鹵鎢燈作為光源。待測太陽能電池樣品與已標(biāo)定的標(biāo)準(zhǔn)探測器至于樣品室中的運動平臺上,通過數(shù)據(jù)采集卡與計算機相連。上位機軟件可對硬件系統(tǒng)進行狀態(tài)配置并獲取采集卡數(shù)據(jù),經(jīng)數(shù)據(jù)處理后生成標(biāo)準(zhǔn)探測器絕對光譜響應(yīng)曲線、被測太陽能電池絕對光譜響應(yīng)曲線以及量子效率曲線。
            2上位機總體設(shè)計及數(shù)據(jù)處理
            2.1 上位機總體設(shè)計

            上位機軟件作為人機交互的媒介,理應(yīng)具備界面簡潔、便于用戶理解、操作簡便快捷的特點。鑒于C++ Builder這一高性能可視化集成開發(fā)環(huán)境具有大量可重用控件與強大的數(shù)據(jù)庫處理能力[1-2],本軟件選用其作為開發(fā)工具。軟件界面組成如圖2所示。

            太陽能電池測試軟件設(shè)計

            太陽能電池測試軟件設(shè)計

            3.1 HID固件程序設(shè)計
            上位機檢測USB設(shè)備是通過對集線器接收端的電平信號的變化確定的,這就要求設(shè)備端D+或D-接上拉電阻至3.3 V電源,STM32F103單片機并沒有在此環(huán)節(jié)做內(nèi)部上拉,故搭建一個軟上拉電路,用I/O口PE0電平變化模擬上拉電阻接通與斷開。USB部分硬件實現(xiàn)如圖5所示。

            太陽能電池測試軟件設(shè)計

            HID設(shè)備與主機間的通信是通過USB的控制管道(默認(rèn)管道即端點0)和中斷管道1完成的。HID設(shè)備的描述符包括設(shè)備描述符、配置描述符、接口描述符、端點描述符、字符串描述符、 HID描述符、報告描述符、實體描述符,其中前5個描述符屬于USB設(shè)備標(biāo)準(zhǔn)描述符,而后3個則為HID類設(shè)備特定描述符。通過對描述符的配置實現(xiàn)HID設(shè)備屬性的定義,如產(chǎn)品ID: idProduct(PID)、廠商ID: idVendor(VID),包括對端口的定義以及對報文格式的定義。
            主機與USB 設(shè)備最初的數(shù)據(jù)交換過程通過枚舉完成。USB-HID 類設(shè)備解析主機的請求,并在枚舉期間向主機發(fā)送描述符響應(yīng)主機的請求。系統(tǒng)將太陽能電池短路電流數(shù)據(jù)作為一個報文,當(dāng)短路電流測量完成后,USB設(shè)備將報文發(fā)向上位機,完成信息發(fā)送。HID固件程序流程圖如圖6所示。

            太陽能電池測試軟件設(shè)計

            3.1.1 USB設(shè)備標(biāo)準(zhǔn)描述符
            設(shè)備標(biāo)準(zhǔn)描述符主要是在usb_desc.c文件中定義,具體操作如下:
            (1)編輯CustomHID_DeviceDes-criptor設(shè)備描述符,在以小端模式定義設(shè)備的實驗用PID與VID為0×123 4與0×567 8。
            (2) 編輯ConfigurationDescriptor
            配置描述符,定義接口編號為0、定義端點,定義接口協(xié)議為HID自定義設(shè)備。
            (3) 編輯Endpoint Descriptor端點描述符,定義輸入、輸出端點最大包長度為8 B。
            (4) 編輯CustomHID_ReportDescriptor報文描述符,設(shè)定8 B報文格式。
            (5) 編輯StringLangID、 String
            Vendor、StringProduct、StringSerial描述符,設(shè)置設(shè)備廠商ID、產(chǎn)品ID以及產(chǎn)品序列號。
            3.1.2 USB端點設(shè)置
            編輯usb_prop.c文件,配置端點,具體操作如下:
            (1) 編輯CustomHID_Reset(void)函數(shù),初始化端點0和端點1,調(diào)用SetEPType()函數(shù)初始化端點0為控制端點類型、端點1為中斷端點類型。
            (2) 調(diào)用SetEPRxAddr()、SetEPTxAddr(),設(shè)置收發(fā)數(shù)據(jù)的地址。
            (3)調(diào)用SetEPTxCount()、SetEPRxCount(),設(shè)置收發(fā)數(shù)據(jù)長度為8 B。
            3.1.3 主函數(shù)框架
            編寫main.c文件,完成下述內(nèi)容:
            (1) 包含關(guān)鍵頭文件stm32f10x_lib.h、usb_lib.h、hw_
            config.h。
            (2)調(diào)用Set_System()、USB_Interrupts_ConFig()、Set_USBClock()、USB_Init()函數(shù)配置系統(tǒng)時鐘、USB中斷、USB時鐘與初始化。
            (3) 編寫CustomHID_Send()數(shù)據(jù)發(fā)送函數(shù),調(diào)用UserToPMABufferCopy(),將數(shù)據(jù)放入輸出Buffer,調(diào)用SetEPTxValid(ENDP1)使端點1有效以發(fā)送數(shù)據(jù)。
            (4) 編寫CustomHID_Receive()數(shù)據(jù)接收函數(shù),調(diào)用PMAToUserBufferCopy()函數(shù)獲取數(shù)據(jù),調(diào)用SetEPRxValid(ENDP1)函數(shù)使端點1有效以接收數(shù)據(jù)。
            3.2上位機通信模塊設(shè)計
            C++ Builder集成開發(fā)環(huán)境調(diào)用Windows API函數(shù)開發(fā)出USB-HID程序模塊。通過調(diào)用Windows基礎(chǔ)庫函數(shù)獲取HID設(shè)備的全局唯一標(biāo)識(GUID)、設(shè)備ID、設(shè)備接口、緩沖區(qū)指針等信息,最終獲取報文信息,解析數(shù)據(jù)交數(shù)據(jù)處理模塊進一步處理。上位機HID程序流程圖如圖7所示。

            太陽能電池測試軟件設(shè)計

            上位機實現(xiàn)與USB-HID設(shè)備通信具體調(diào)用的函數(shù)有:
            (1) 使用HidD_GetGuid函數(shù)獲取128 bit GUID。
            (2) 使用SetupDiGetClassDevs函數(shù)獲取設(shè)備信息群。
            (3) 使用SetupDiEnumDeviceInterfaces函數(shù)識別HID接口。
            (4) 使用SetupDiGetDeviceInterfaceDetail函數(shù)獲取設(shè)備路徑。
            (5) 使用CreatFile函數(shù)開啟設(shè)備,使用CloseHandle函數(shù)釋放資源。
            (6) 使用HidD_GetAttributes函數(shù)獲取設(shè)備ID。
            (7) 使用HidD_GetPreparsedData函數(shù)與HidD_Free
            PreparsedData函數(shù)取得緩沖區(qū)指針與釋放資源。
            (8) 使用WriteData函數(shù)、ReadFile函數(shù)發(fā)送、讀取報文。
            4 軟件測試結(jié)果
            軟件檢測相關(guān)設(shè)備處于連接狀態(tài),將標(biāo)準(zhǔn)太陽能電池與待測太陽能電池置于樣品室檢測臺上,軟件配置相關(guān)檢測參數(shù),在掃描范圍300 nm~1 200 nm、波長間隔10nm、斬波器與鎖相放大器參考頻率為2 Hz、單點測試10次、緩沖時間10 s的狀態(tài)下,成功獲取USB-HID設(shè)備上傳的數(shù)據(jù)。上位機軟件調(diào)用TeeChart控件繪制出待測電池光譜響應(yīng)曲線,測試結(jié)果如圖8所示。

            太陽能電池測試軟件設(shè)計

            USB已經(jīng)逐步取代了串口,成為現(xiàn)階段測試儀器常用的接口與通信方式,使儀器的通用性與易用性大大增強。系統(tǒng)采用USB通信方式,同時上位機軟件具備穩(wěn)定準(zhǔn)確的數(shù)據(jù)獲取能力,并以圖像方式準(zhǔn)確直觀地顯示測試結(jié)果,具有一定的實用價值。
            參考文獻
            [1] 原雪, 徐朝陽, 朱春光,等. C++ Builder 6入門提高[M].長沙:國防科技大學(xué)出版社, 2002.
            [2] 吳逸賢,吳目誠.精彩C++ Builder 6程序設(shè)計[M]. 北京:科學(xué)出版社, 2003.
            [3] GB 11009-1989太陽能電池光譜響應(yīng)測試方法[S].中華人民共和國機械電子工業(yè)部1989-03-02批準(zhǔn):1990實施.
            [4] 廖濟林. USB2.0應(yīng)用系統(tǒng)開發(fā)實例精講[M]. 北京:電子工業(yè)出版社, 2006.
            [5] 薛圓圓. USB應(yīng)用開發(fā)技術(shù)大全[M]. 北京: 人民郵電出版社, 2006.

            pid控制相關(guān)文章:pid控制原理


            c++相關(guān)文章:c++教程


            上拉電阻相關(guān)文章:上拉電阻原理
            鎖相放大器相關(guān)文章:鎖相放大器原理


            評論


            技術(shù)專區(qū)

            關(guān)閉