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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于DAC75112的數(shù)控直流恒流源設(shè)計(jì)

          基于DAC75112的數(shù)控直流恒流源設(shè)計(jì)

          作者: 時(shí)間:2011-03-14 來源:網(wǎng)絡(luò) 收藏


          3 系統(tǒng)軟件
          本系統(tǒng)中,單片機(jī)程序由3個(gè)模塊組成,分別是初始化模塊,串口通信模塊及SPI通信模塊。初始化模塊完成串口通信參數(shù)以及其他參數(shù)的設(shè)置。串口通信模塊完成與上位機(jī)通信過程中數(shù)據(jù)的判別和接收。SPI通信模塊完成對DAC7512的數(shù)據(jù)寫入。
          系統(tǒng)復(fù)位后,單片機(jī)先進(jìn)行各參數(shù)(如串口通信波特率)初始化設(shè)置及清空看門狗,繼而判斷是否有通信事件發(fā)生,沒有通信發(fā)生或通信命令錯(cuò)誤則返回清空看門狗。如果有正確通信事件發(fā)生,則將通信命令中的電流控制字經(jīng)SPI通信模式寫入DAC7512,更新控制發(fā)生電流大小。單片機(jī)程序流程如圖7所示。

          本文引用地址:http://www.ex-cimer.com/article/179499.htm


          由于采用的AT89S51單片機(jī)本身不帶有SPI總線接口,因此為了和DAC7512進(jìn)行通信,本系統(tǒng)利用單片機(jī)普通I/O口和其SPI接口相連,采用軟件來實(shí)現(xiàn)SPI總線協(xié)議下的數(shù)據(jù)通信,這樣單片機(jī)就可以經(jīng)過SPI串行總線將電流控制字(12位的數(shù)字量)寫入DAC7512。根據(jù)DAC7512的SPI通信時(shí)序圖,用匯編語言編寫單片機(jī)系統(tǒng)模擬SPI通信程序如下:


          4 實(shí)驗(yàn)結(jié)果
          在進(jìn)行電流源性能測試時(shí),用萬用表作為實(shí)際電流的測量儀器。通過上位機(jī)設(shè)定特定電流值,控制恒流源模塊產(chǎn)生設(shè)定電流。再通過萬用表串聯(lián)接入電路測得實(shí)際電流值,從而可以進(jìn)行設(shè)定電流和實(shí)測電流的對比試驗(yàn)。電流和實(shí)測電流的對比結(jié)果如表2所示。


          經(jīng)表2分析可知恒流源模塊可以在-45~+45 mA連續(xù)變化,實(shí)際誤差小于0.5%。另外通過不同負(fù)載下的性能試驗(yàn)。表明負(fù)載電阻在0~100 Ω變化輸出電流變化小于0.05%,分辨率僅為0.024 4 mA,滿足了磁放大器性能測試的需要。

          5 結(jié)論
          本系統(tǒng)產(chǎn)生的恒定電流可在-45~+45 mA連續(xù)變化,分辨率為0.024 4 mA,實(shí)際誤差小于0.5%,電路簡單,應(yīng)用靈活、精度高。系統(tǒng)各項(xiàng)技術(shù)指標(biāo)均達(dá)到要求,工作可靠,并已投入使用,有較高的使用價(jià)值。另外系統(tǒng)采用普通I/O口實(shí)現(xiàn)模擬SPI通信方式下的數(shù)據(jù)傳輸,該通信有助于直觀理解SPI通信過程,使不具備SPI接口的控制芯片同樣可以和外圍芯片進(jìn)行SPI通信,對過程監(jiān)控、數(shù)據(jù)采集等系統(tǒng)的開發(fā)具有借鑒意義。


          上一頁 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); })();