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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于AT89S52的多功能數(shù)控電流源設計

          基于AT89S52的多功能數(shù)控電流源設計

          作者: 時間:2013-10-12 來源:網(wǎng)絡 收藏


          D/A轉(zhuǎn)換的電路如圖3所示。


          1.4 V/I轉(zhuǎn)換部分

          V/I轉(zhuǎn)換電路采用高精度集成運放OP07作為比較放大器,DA的輸出電壓經(jīng)跟隨器與比較器的同向端相連,比較器的反向端與采樣電阻的相連,使電流預設值與測量值直接進行比較,±12 V電源為OP07提供電源電壓,運放的輸出電壓信號控制達林頓復合三極管的導通,經(jīng)模擬閉環(huán)反饋調(diào)整使電流達到設定值,TIP41(10 A)是大功率PNP三極管,在本設計中的主要功能是實現(xiàn)功率放大。

          采樣電阻將電流信號以電壓的形式加到運放的輸入端,由此構成的電流并聯(lián)負反饋電路,可以減輕后級電路對D/A的干擾,從而得到恒流輸出,大大提高了電流源的穩(wěn)定性。

          根據(jù)運算放大器的結構可知,負載電流僅與輸入電壓和采樣電阻的阻值有關,而與負載電阻的大小無關。當輸入電壓保持不變時,負載電阻在一定范圍內(nèi)變化,而輸出電流將保持不變,由此構成恒流源電路。本設計方案的一個主要特點是,采用康銅絲做采樣電阻,康銅絲的溫度系數(shù)約為5 ppm/℃,當有電流流過電阻是引起的溫度升高對其阻值影響不會太大,其溫度特性較好。電路中各電阻均應選用精密電阻,以達到能高的V/I轉(zhuǎn)換精度。V/I轉(zhuǎn)換部分電路圖如圖4所示。


          1.5 人機接口

          為了能夠更好地顯示更多信息,且能直接輸入電流值。使用4x4鍵盤和LCD顯示屏構成人機接口。使用、薄膜鍵盤和LCD顯示屏YM12864R構成人機接口。

          2 系統(tǒng)軟件設計

          系統(tǒng)的主程序流程圖如圖5所示,由主程序?qū)崿F(xiàn)整體控制,系統(tǒng)的功能子程序主要包括A/D轉(zhuǎn)換子程序,A/D轉(zhuǎn)換處理子程序,延時子程序,鍵盤處理子程序,液晶顯示子程序等。

          程序開始運行后,首先進行系統(tǒng)初始化,顯示初始設定的電流值和實際采樣得到的電流值,然后檢測是否有鍵按下,若有則進入按鍵處理子程序。由于采樣電阻隨溫度變化,因此軟件設計中需根據(jù)實際測得的變差數(shù)據(jù),根據(jù)實際電流與電流理論值直接的函數(shù)關系進行溫度補償,使實際輸出電流值與預設電流值之間的變差保持在誤差允許范圍內(nèi)。

          2.1 D/A轉(zhuǎn)換部分

          D/A轉(zhuǎn)換器選用,是串行輸入的12位高精度快速D/A轉(zhuǎn)換器,能夠輸出二倍于基準電壓的電壓信號。其基準電壓是由MC1403提供的2.5 V電壓,因此經(jīng)D/A轉(zhuǎn)換后得到的輸出為0~5 V。12位D/A轉(zhuǎn)換器,分辨率為1/4 096,選采樣電阻為0.1Ω,D/A輸出分辨率為1 mA的電流,實現(xiàn)步進10 mA,能夠滿足本設計的要求。

          的時序轉(zhuǎn)換圖如圖6所示。

          根據(jù)上述時序圖,編寫DA轉(zhuǎn)換子程序,其流程圖如圖7所示。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();