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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 用一只多通道ADC的獨立數(shù)字電壓表

          用一只多通道ADC的獨立數(shù)字電壓表

          作者: 時間:2013-03-09 來源:網(wǎng)絡(luò) 收藏
          這個設(shè)計實例實現(xiàn)了針對四通道模擬電壓源的電壓/電流測量,但在很多其它應(yīng)用中也有廣泛用途。設(shè)計采用了Atmel公司的ATmega8-16AC微控制器和Maxim公司的MAX123012 位 (參考文獻(xiàn)1和2)。雖然微控制器自帶10位,但采用外接,將多個模擬通道復(fù)用到ATmega8-16AC差分ADC的輸入端,這樣效率更高。

          按照參考文獻(xiàn)2中的說明,通過SPI實現(xiàn)了IC1和IC2之間的通信。R17和R 18是轉(zhuǎn)換結(jié)束標(biāo)志和片選模式引腳的上拉電阻。SPI 通信的信號被分接在端子P 4上,用于編程器連接。按鍵S 2 將IC 2的復(fù)位腳連接到地;R2 2和C42為IC 2除顫。同樣,R19和C39為輔助按鍵S1除顫,S1連接到IC 2的INT0腳,用于切換顯示的分辨率類型。

          系統(tǒng)的軟件結(jié)構(gòu)圖

          IC 2的引腳23 ~28 用于通過P2與20 × 2 字符的BC 2002 CBNHEH $LCDBolymin 顯示屏通信( 參考文獻(xiàn)3) 。微調(diào)電阻R 21設(shè)定顯示屏的對比度??梢杂肐C 2的輸出RXD與TXD , 通過一個可選USB - to-UART接口(如FTD232BM,圖中未顯示)做USB通信,以做數(shù)據(jù)記錄。

          IC1的模擬輸入AIN 0 至AIN 15 接到8個分壓器R1~R16上。分壓比取決于要測量的最大輸入電壓。另外,還應(yīng)考慮REF + 腳上的基準(zhǔn)電壓,使之能用到ADC的全部分辨率。IC1的模擬輸入工作在跟蹤與保持模式,因此輸入阻抗會影響轉(zhuǎn)換采樣時間。于是, 輸入電容C1、C2和C3( 按參考文獻(xiàn)2 中的值) 用于IC 1上的差分輸入端AIN 0 和AIN1,而對其它模擬輸入端, 也重復(fù)采用相同的輸入電容結(jié)構(gòu)。IC1的采樣速率高達(dá)300k采樣/s,因此可以對低速瞬態(tài)事件做數(shù)字化處理, 用過采樣技術(shù), 測量帶寬大于ADC采樣速率的周期性信號。另外, 輸入信號還需要做抗混疊預(yù)濾波。

          根據(jù)參考文獻(xiàn)4,并聯(lián)穩(wěn)壓器IC5為IC 1生成外部1.25V 基準(zhǔn)REF+ ,用R 24和R 2 3設(shè)定合適的耗電。電源變壓器和熔斷器的選擇要適合自己本地交流電壓(電路圖中顯示為230V交流,采用一個0.25A的熔斷器);即當(dāng)用于120V交流時,熔斷器就要0.5A。轉(zhuǎn)換的電壓通過二極管橋D 1和D2做整流,并經(jīng)過7805串聯(lián)穩(wěn)壓器的穩(wěn)壓。一個5V分支直接用于為萬用表提供電源; 另一個則可做萬能的輔助電源。



          關(guān)鍵詞: 多通道 ADC 數(shù)字電壓表

          評論


          相關(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); })();