<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AVR VUSB技術(shù)的數(shù)控直流穩(wěn)壓電源設(shè)計(jì)

          基于AVR VUSB技術(shù)的數(shù)控直流穩(wěn)壓電源設(shè)計(jì)

          作者: 時(shí)間:2013-10-11 來源:網(wǎng)絡(luò) 收藏


          3)初始化時(shí)需要將MAX522的輸出置為關(guān)閉狀態(tài)。

          寫入MAX522時(shí)首先寫入8位控制字,然后寫入8位DAC數(shù)據(jù)。

          2.2 上位機(jī)軟件

          上位機(jī)用C# 語言進(jìn)行編寫,驅(qū)動(dòng)采用一款名為LibUsbDotNet的開源USB上位機(jī)驅(qū)動(dòng)庫文件。此驅(qū)動(dòng)庫文件還提供了供。NET平臺(tái)調(diào)用的USB接口函數(shù)。使用時(shí)需包含相應(yīng)的動(dòng)態(tài)鏈接庫文件。

          上位機(jī)軟件主要包括顯示設(shè)備連接狀態(tài)、寫入電壓值及讀取當(dāng)前電壓值等功能。上位機(jī)軟件流程圖如圖6所示。

          圖6 上位機(jī)軟件流程。

          只有在總線請求為用戶自定義類型(Vendor)時(shí)單片機(jī)才會(huì)調(diào)用usbFunctionSetup(uchar data[8])這個(gè)函數(shù),所以傳輸數(shù)據(jù)是通過發(fā)送用戶自定義類型的Setup數(shù)據(jù)包來實(shí)現(xiàn)的。讀數(shù)據(jù)時(shí)設(shè)置此數(shù)據(jù)包為IN,同時(shí)寫入需要讀取的字節(jié)數(shù)。寫入數(shù)據(jù)時(shí)設(shè)置數(shù)據(jù)包為OUT,4字節(jié)的有效數(shù)據(jù)則包含在所建立的8字節(jié)Setup數(shù)據(jù)包的data[2]~data[4]之中。

          3 實(shí)驗(yàn)驗(yàn)證與分析

          在使用之前需進(jìn)行校零。在初始狀態(tài)下,調(diào)節(jié)集成運(yùn)放μA741的外接調(diào)零電阻使集成運(yùn)放輸出為0,調(diào)節(jié)射極輸出器偏置電阻R13使輸出電壓為0.

          在輸出最大的情況下,調(diào)節(jié)輸出集成運(yùn)放的比例放大電阻R14,使得輸出電壓為12V.
          校零之后將上位機(jī)設(shè)置電壓值與實(shí)際輸出電壓進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)如表1所示。

          表1 電壓輸出對比實(shí)驗(yàn)結(jié)果

          所設(shè)計(jì)電壓源實(shí)際輸出值與設(shè)定值偏差較小,能夠滿足0~12V連續(xù)可調(diào)輸出,步進(jìn)值為0.1V的使用要求。

          4 結(jié) 論

          設(shè)計(jì)了一種以單片機(jī)為主,基于進(jìn)行數(shù)據(jù)傳輸控制的。輸出電壓值由單片機(jī)控制,步進(jìn)調(diào)節(jié)方便,輸出穩(wěn)定。既可以作為單獨(dú)的電源使用,也可以嵌入到其他需要步進(jìn)電壓模塊的測試系統(tǒng)之中。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();