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

          新聞中心

          EEPW首頁(yè) > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 精密程控電流源的設(shè)計(jì)及應(yīng)用

          精密程控電流源的設(shè)計(jì)及應(yīng)用

          作者: 時(shí)間:2006-02-22 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:源采用USB通信模式,具有溫度測(cè)量和輸出非線性溫度補(bǔ)償功能,輸出的準(zhǔn)確度高、性能穩(wěn)定可靠。文中介紹此電流源的電路、控制軟件及其

          關(guān)鍵詞:USB總線 非線性溫度補(bǔ)償 溫度測(cè)量 XTR110

          1 系統(tǒng)概述

          電流源具有輸出電流范圍寬、準(zhǔn)確度高、功率大等特點(diǎn),是組成自動(dòng)測(cè)試系統(tǒng)和校驗(yàn)系統(tǒng)的必需儀器,廣泛用于工礦企業(yè)、科研國(guó)防等軍工單位的計(jì)量?jī)x表、自動(dòng)化標(biāo)定等設(shè)備中。本文介紹的電流源除上述特點(diǎn)外,還具備USB總線通信、溫度測(cè)量和輸出電流非線性溫度補(bǔ)償功能。

          系統(tǒng)總體結(jié)構(gòu)如圖1所示,程控電流源由微控制器(MCU)單元,USB接口單元,溫度測(cè)量單元,輸出電流校準(zhǔn)單元,信號(hào)輸出單元及電源單元組成。MCU單元通過(guò)USB接口單元實(shí)現(xiàn)與上位機(jī)的通信,從上位機(jī)獲得控制命令并返回相應(yīng)的數(shù)據(jù),同時(shí)解析上位機(jī)命令來(lái)控制信號(hào)輸出信號(hào),完成最終電流輸出。溫度測(cè)量單元和輸出電流校準(zhǔn)單元共同完成輸出電流的非線性溫度補(bǔ)償。電源單元向其他單元提供所需電源。精密程控電流源還包括過(guò)流檢測(cè)、系統(tǒng)自檢、繼電器隔離輸出等單元,進(jìn)一步提高了系統(tǒng)的智能性和可靠性。

          2 系統(tǒng)電路

          2.1 USB接口單元

          精密程控電流源通過(guò)USB總線與上位機(jī)接口,USB接口的熱插拔、高速和即插即用特性大大簡(jiǎn)化了系統(tǒng)設(shè)計(jì),方便了電流源與上位機(jī)的通信,USB接口單元電路如圖2所示。

          圖中,F(xiàn)T232AM完成USB總線到MCU串口信號(hào)線的轉(zhuǎn)換,以便上位機(jī)將USB虛擬成傳統(tǒng)的串行口,從而簡(jiǎn)化了驅(qū)動(dòng)程序,便于實(shí)現(xiàn)USB總線與MCU的通信。為了避免USB信號(hào)與信號(hào)源間的干擾,選用光耦器件(圖中的U29)實(shí)現(xiàn)其與MCU的隔離,提高系統(tǒng)的抗干擾能力。

          2.2 MCU及其外接單元

          微控制器MCU是精密程控電流源的核心控制單元,其與溫度測(cè)量單元及輸出電流校準(zhǔn)單元的接口電路如圖3所示。

          MCU單元選用AT89C51型單片機(jī)構(gòu)建運(yùn)行環(huán)境,完成對(duì)電流源系統(tǒng)的控制,包括外部擴(kuò)展ROM、外部擴(kuò)展RAM、硬件看門(mén)狗、硬件地址譯碼器等。

          圖2

          考慮到器件輸出特性隨溫度的變化,MCU外接溫度測(cè)量單元和輸出電流校準(zhǔn)單元來(lái)完成輸出電流的非線性溫度補(bǔ)償,其原理是輸出電流校準(zhǔn)單元保存各溫度范圍內(nèi)不同設(shè)定電流值和實(shí)際輸出值之間的誤差,此誤差通過(guò)實(shí)際測(cè)量得到,稱為修正系數(shù)。系統(tǒng)工作時(shí),通過(guò)溫度測(cè)量單元可得到當(dāng)前工作溫度,用此工作溫度對(duì)應(yīng)的設(shè)定電流值乘以修正系數(shù),即可完成輸出電流的非線性溫度補(bǔ)償,大大提高電流的輸出精度。

          溫度測(cè)量單元的核心器件是高精度數(shù)字溫度測(cè)量電路AD7416(圖中的U19),它采用IC總線與AT89C51接口,測(cè)量的環(huán)境溫度范圍為-10℃~+50℃,設(shè)計(jì)的MCU以十六進(jìn)制形式輸出所測(cè)溫度。

          輸出電流校準(zhǔn)單元由M24C64型64k Bit EEPROM構(gòu)成,用來(lái)存貯電流源修正系統(tǒng)數(shù)值。MCU通過(guò)I2C總線可方便地對(duì)其進(jìn)行讀寫(xiě)操作,并按照可變電流源的通信協(xié)議以8位十進(jìn)制數(shù)形式寫(xiě)入和讀出修正系數(shù),從而保證了對(duì)輸出電流的精確非線性溫度補(bǔ)償。

          2.3 信號(hào)輸出單元

          信號(hào)輸出單元完成精密程控電流源的電流產(chǎn)生與輸出,包括以12位高精度DAC-HK12BGC型DAC為核心的DAC轉(zhuǎn)換電路和由TI公司的精密電壓/電流轉(zhuǎn)換器組成的后級(jí)轉(zhuǎn)換電路。MCU先譯碼上位機(jī)指令,然后向DAC轉(zhuǎn)換電路寫(xiě)入特定數(shù)據(jù)以控制其輸出的模擬電壓值。后級(jí)轉(zhuǎn)換電路接收DAC轉(zhuǎn)換電路輸出的模擬電壓值完成電壓到電流的轉(zhuǎn)換,隨后輸出上位機(jī)設(shè)定的電流。信號(hào)輸出單元電路如圖4所示。

          圖3

          圖中,AT89C51的數(shù)據(jù)線D0-B7通過(guò)二片74HC573與DAC-HK12BGC接口來(lái)控制其模擬輸出,控制過(guò)程如下:AT89C51通過(guò)CS_DA與51_WR信號(hào)來(lái)啟動(dòng)DAC,當(dāng)DAC低字節(jié)選擇信號(hào)線CS_DAL與單片機(jī)寫(xiě)使能線51_WR構(gòu)成的組合邏輯有效時(shí),向DAC寫(xiě)入低8位數(shù)據(jù),然后以相同方式寫(xiě)入高4位數(shù)據(jù)。為進(jìn)一步提高精度,DAC輸出端連有電位器W1、W2,分別用來(lái)微調(diào)滿偏和零偏。

          DAC輸出的模擬電壓信號(hào)DA_OUT接入后級(jí)轉(zhuǎn)化電路XTR110,先通過(guò)其片內(nèi)的金屬薄膜電阻網(wǎng)絡(luò)提供輸入的縮放比例及電流偏移,完成電壓到電流的轉(zhuǎn)換,再通過(guò)IRF7104型場(chǎng)效應(yīng)管輸出電流。XTR110具有14位轉(zhuǎn)換精度,0.005%的非線性度,確保了轉(zhuǎn)換精度。電位器W3、W4分別用來(lái)微調(diào)輸出電流零偏和滿偏,進(jìn)一步提高精度。

          3 單片機(jī)控制程序設(shè)計(jì)

          在電流源系統(tǒng)軟件中設(shè)計(jì)了完整的通信協(xié)議,規(guī)定了電流源從上位機(jī)獲得的控制命令字和相應(yīng)的返回?cái)?shù)據(jù)值。系統(tǒng)控制程序以AT89C51型單片機(jī)作為控制核心,采用匯編語(yǔ)言編寫(xiě),分為主程序和串口中斷處理程序2部分。

          3.1 主程序設(shè)計(jì)

          主程序主要完成系統(tǒng)參數(shù)初始化、系統(tǒng)自檢、串口中斷配置等,流程如圖5所示。

          圖4

          系統(tǒng)上電后,MCU從地址0000H開(kāi)始執(zhí)行,主程序的入口地址為0050H。系統(tǒng)初始化包括初始化堆棧、初始化DAC、初始化串口、初始化寄存器、初始化看門(mén)狗等。部分主程序如下。

          MOV SP,#58H ;初始化堆棧指針

          MOV A,#00H

          MOVX @DPTR,A ;初始化DAC

          NOP

          MOV A,#20H ;初始化定時(shí)器1,模式2

          MOV A,PCON

          ORL A,#80H

          MOV PCON,A ;設(shè)定串口波行率19200

          SETB MODE ;設(shè)定系統(tǒng)自檢

          SETB R_EN ;初始化自檢繼電器

          MOV TX_PNT,#40H ;初始化串口發(fā)送緩沖區(qū)指針

          MOV RX_PNT,#30H ;初始化串口接收緩沖區(qū)指針

          CPL WDI ;初始化看門(mén)狗

          SETB TR1 ;開(kāi)定時(shí)器1

          SETB REN

          SETB ES ;開(kāi)串口中斷

          SETA EA ;開(kāi)單片機(jī)中斷

          MOV STATUS,#01H ;進(jìn)入運(yùn)行狀態(tài)

          3.2 串口中斷處理程序

          串口中斷處理程序是單片機(jī)控制程序的核心部分,串口接收上位機(jī)命令字,同時(shí)解析命令來(lái)控制硬件電路工作,流程如圖6所示。

          以設(shè)定電流輸出這個(gè)最重要的命令為例,串口中斷處理程序先接收設(shè)定的電流值(以3位16進(jìn)制數(shù)表示),然后由單片機(jī)通過(guò)I2C總線讀取當(dāng)前溫度值和修正系數(shù),再由系統(tǒng)軟件控制設(shè)定電流值乘以修正系數(shù)得到實(shí)際值,從而完成非線性溫度補(bǔ)償,單片機(jī)可根據(jù)實(shí)際值設(shè)定DAC輸出電壓,控制最終電流輸出,單片機(jī)串口中斷處理程序中的主要代碼如下:

          ;*********************;

          SET_V:MOV A,37H ;得到設(shè)定電流值的最高位

          ANL A,#0F0H

          CJNE A,#30H,PACK1……

          PACK1:MOV A,37H

          CLR C

          SUBB A,#37H

          PACK2:MOV R2,A ;最高位存放R2

          MOV A,38H

          ANL A,#0F0H

          CJNE A,#30H,PACK3……

          PACK3:MOV A,38H

          CLR C

          SUBB A,#37H

          PACK4:MOV R1,A ;中間位存入R1

          MOV A,39H

          ANL A,#0F0H

          CJNE A,#30H,PACK5……

          PACK5:MOV A,39H

          CLR C

          SUBB A,#37H

          MOV R0,A ;最低位存入R0

          MOV A,R1

          SWAP A

          ORL A,R0

          MOV R0,A ;最低位與中間位合并

          MOV DPTR,#CS_DAH

          MOV A,R2

          MOVX @DPTR,A

          MOV DPTR,#CS_DAL

          MOV A,R0

          MOVX @DPTR,A

          MOV DPTR,#CS_DA ;設(shè)定DAC輸出

          MOV A,#00H

          MOVX @DPTR,A ;更新DAC

          RET

          ;************************************************;

          單片機(jī)通過(guò)I2C總線讀取當(dāng)前溫度值和修正系數(shù)的程序與之相,這里只給出讀取溫度值程序:

          ;Read A Byte From AD7416 E2RPOM

          ACALL RDBYTE ;讀取溫度值高位

          MOV R1,A ;存入R1

          CLR TMSDA ;ACK

          NOP…… ;NOP指令

          SETB TMSCL

          NOP……

          CLR TMSCL

          NOP……

          SETB TMSDA

          ACALL RDBYTE ;讀取溫度值低位

          MOV R0,A ;存入R0

          SETB TMSDA ;N0 ACK

          NOP……

          SETB TMSCL

          NOP……

          CLR TMSCL

          NOP……

          CLR TMSDA

          NOP……

          SETB TMSCL

          SETB TMSDA ;停止

          ;Read A Byte From AD7416 E2PROM

          RDBYTE:MOV R0,#08H

          RDBIT:SETB TMSCL ;SCL保持高電平

          MOV C,TMSDA

          RLC A

          CLR TMSCL ;SCL保持低電平,SDA電平改變

          NOP……

          DJNZ R0,RDBIT ;讀完結(jié)束

          RET

          4 結(jié)束語(yǔ)

          以上介紹的精密程控電流源輸出電流為0~20mA,編程步進(jìn)電流為100μA,電流誤差小于50μA,已在某機(jī)載信號(hào)調(diào)節(jié)器自動(dòng)化標(biāo)定系統(tǒng)得到很好的。該自動(dòng)化標(biāo)定系統(tǒng)可模擬信號(hào)調(diào)節(jié)器所需的各種輸入信號(hào),并使用采集設(shè)備信號(hào)調(diào)節(jié)器輸出的調(diào)理信號(hào),然后進(jìn)行分析并完成機(jī)載信號(hào)調(diào)節(jié)器的自動(dòng)檢測(cè)和標(biāo)定,可大大提高檢測(cè)精度,檢測(cè)效率和降低人員工作量。

          基爾霍夫電流相關(guān)文章:基爾霍夫電流定律




          評(píng)論


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