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

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于數(shù)字電位器X9312的功率調(diào)節(jié)電路

          基于數(shù)字電位器X9312的功率調(diào)節(jié)電路

          作者:武漢空軍雷達(dá)學(xué)院微波工程教研室\石雄 時(shí)間:2004-02-16 來(lái)源:電子設(shè)計(jì)應(yīng)用 收藏
          摘 要: 本文介紹采用X9312、NE555和組成的電路及其單片機(jī)控制程序。該電路能夠?qū)崿F(xiàn)非常精細(xì)的,實(shí)際使用效果良好。
          關(guān)鍵詞: ;;功率調(diào)節(jié)
          引言
          在科學(xué)研究和工業(yè)生產(chǎn)的許多領(lǐng)域中,人們都需要對(duì)各類加熱爐的內(nèi)部溫度進(jìn)行監(jiān)測(cè)和控制。采用單片機(jī)來(lái)對(duì)它們進(jìn)行監(jiān)測(cè)控制不僅具有控制方便、簡(jiǎn)單、靈活等優(yōu)點(diǎn),而且可以大幅度提高受控對(duì)象的技術(shù)指標(biāo)。
          單片機(jī)通常是通過(guò)輸入通道將溫度傳感器感受到的被控對(duì)象當(dāng)前溫度轉(zhuǎn)變?yōu)閿?shù)字量并輸入到單片機(jī)內(nèi),單片機(jī)求出輸入的當(dāng)前溫度值與設(shè)定值的偏差,并根據(jù)該偏差進(jìn)行PID運(yùn)算,最后根據(jù)PID運(yùn)算的結(jié)果,通過(guò)功率調(diào)節(jié)電路改變給定周期內(nèi)加熱絲的通電時(shí)間來(lái)實(shí)現(xiàn)對(duì)溫度的控制。功率調(diào)節(jié)電路調(diào)節(jié)功率的實(shí)質(zhì)是利用的調(diào)節(jié)來(lái)改變加熱絲的平均功率,整個(gè)控制系統(tǒng)是一個(gè)典型的閉環(huán)系統(tǒng)。功率調(diào)節(jié)電路是控制系統(tǒng)的執(zhí)行機(jī)構(gòu),不僅要求輸出功率大,還要求能根據(jù)需要對(duì)輸出功率進(jìn)行精確的調(diào)節(jié),是系統(tǒng)中最關(guān)鍵、最昂貴的組成部分,也常常是故障率最高的部分。
          本文采用XicorX9312和NE555組成可調(diào)的脈沖振蕩器,驅(qū)動(dòng)實(shí)現(xiàn)功率調(diào)節(jié)的功率調(diào)節(jié)電路及其單片機(jī)控制程序。該電路用于某型標(biāo)準(zhǔn)恒溫油槽中作為自動(dòng)控制系統(tǒng)的執(zhí)行機(jī)構(gòu),取得了理想效果。


          圖1 X9312的結(jié)構(gòu)框圖


          圖2 X9312的引腳配置圖


          圖3 NE555組成的占空比可調(diào)的脈沖振蕩器


          圖4 帶微調(diào)數(shù)字電位器的調(diào)功器電路圖

          數(shù)字電位器X 9312
          數(shù)字電位器一般用電阻陣列和多路模擬開(kāi)關(guān)組合實(shí)現(xiàn)電阻值的改變,克服了模擬電位器噪聲大、磨損大、怕振動(dòng)、壽命短的主要缺點(diǎn)。尤其重要的是數(shù)字電位器具有可編程能力,可方便地實(shí)現(xiàn)與單片機(jī)的接口,實(shí)質(zhì)上是一種特殊的數(shù)模轉(zhuǎn)換器。其模擬量輸出不是電壓或電流,而是電阻或電阻比率,允許用戶直接程序控制,利用電阻值或電阻比率變化進(jìn)行參數(shù)調(diào)整。
          Xicor 公司生產(chǎn)的非易失性數(shù)字電位器可以滿足各種分辨率和控制精度的要求,幾乎可取代所有模擬電路中的機(jī)械電位器。X9312是Xicor 非易失性數(shù)字電位器系列中的典型產(chǎn)品之一,圖1為X9312的結(jié)構(gòu)框圖,圖2是X9312的引腳配置圖。
          X9312有三個(gè)組成部分:電阻陣列;非易失性存貯器;輸入控制、計(jì)數(shù)器、譯碼器。
          X9312的電阻陣列帶溫度補(bǔ)償,包含99個(gè)電阻單元,在每?jī)蓚€(gè)單元之間和兩個(gè)端點(diǎn)都有可以被滑動(dòng)單元訪問(wèn)的抽頭點(diǎn)?;瑒?dòng)單元的位置由、和三個(gè)輸入端控制。只有置低,X9312被選中,才能使和輸入端接受信號(hào)。在輸入端由高變低時(shí)將增加或減少(這取決于輸入端的狀態(tài))7位計(jì)數(shù)器的值,計(jì)數(shù)器的輸出被譯碼,進(jìn)行一百選一的操作,使滑動(dòng)端的位置沿電阻陣列移動(dòng)。計(jì)數(shù)器的值不會(huì)從全0跳至全1,也不會(huì)從全1跳至全0,因此滑動(dòng)端到達(dá)電阻陣列的一個(gè)極端時(shí)不會(huì)跳至另一極端而循環(huán)往復(fù)。滑動(dòng)端的位置可以被貯存到一個(gè)非易失性存貯器中,因而在下一次上電工作時(shí)可以重新調(diào)用。X9312的分辨率等于最大的電阻值除以99。例如X9312T(100KΩ)的每?jī)蓚€(gè)抽頭間的阻值為1010Ω。

          基于X9312的功率調(diào)節(jié)電路
          圖3(a)是用NE555組成的占空比可調(diào)的脈沖振蕩器,該振蕩器占空比調(diào)節(jié)范圍較大,NE555工作于無(wú)穩(wěn)態(tài)工作方式。此電路實(shí)現(xiàn)占空比調(diào)節(jié)的關(guān)鍵器件是電位器W,數(shù)字電位器X9312用于圖3(a)的電路中,替換機(jī)械電位器,就可在單片機(jī)控制下直接調(diào)整輸出脈沖的占空比,驅(qū)動(dòng)固態(tài)繼電器實(shí)現(xiàn)功率調(diào)節(jié),其電路如圖3(b)所示。
          某型標(biāo)準(zhǔn)恒溫油槽是根據(jù)國(guó)家頒布的計(jì)量檢定規(guī)程要求而專門設(shè)計(jì)制造的,主要用于溫度傳感器檢定,最大加熱功率為4000瓦,工作溫度可在0℃~300℃間根據(jù)需要設(shè)定,達(dá)到設(shè)定溫度并穩(wěn)定后,要求15分鐘內(nèi)溫度波動(dòng)小于±0.01℃,在對(duì)該型恒溫油槽進(jìn)行改進(jìn)時(shí),采用了基于數(shù)字電位器X9312的功率調(diào)節(jié)電路作為控制系統(tǒng)的執(zhí)行機(jī)構(gòu)。由于該標(biāo)準(zhǔn)恒溫油槽對(duì)溫度波動(dòng)的要求很高,因此要求功率調(diào)節(jié)電路能進(jìn)行非常精細(xì)的功率調(diào)節(jié)。而數(shù)字電位器由于生產(chǎn)工藝等因素的限制,目前其抽頭數(shù)最大一般為256,圖3電路中的X9312的抽頭數(shù)僅為100,也就是說(shuō)圖3電路只能按加熱絲最大功率的百分之一的分辨力進(jìn)行功率調(diào)節(jié),其功率調(diào)節(jié)精度難以滿足恒溫油槽的要求。為此,在圖3電路的基礎(chǔ)上增加了微調(diào)數(shù)字電位器,使功率調(diào)節(jié)分辨能力達(dá)到加熱絲最大功率的萬(wàn)分之一,圖4為其電路圖。
          圖中數(shù)字電位器U2、U4是粗調(diào)電位器,兩者同步調(diào)節(jié),選用X9312TP,阻值為100KW,抽頭數(shù)為100,每一檔阻值約為1KW。U3是微調(diào)電位器,選用X9312ZP,阻值為1KΩ,抽頭數(shù)為100,每一檔阻值約為10Ω。微調(diào)電位器將粗調(diào)電位器的每一檔又分為100檔,因此分辨能力為最大加熱功率的萬(wàn)分之一。固態(tài)繼電器選用30A/220V交流過(guò)零型。R1、R2決定占空比的最大值和最小值,應(yīng)盡可能的小,以增大功率調(diào)節(jié)范圍,但受數(shù)字電位器滑動(dòng)端所能承受最大電流的限制,應(yīng)根據(jù)需要綜合考慮。X9312滑動(dòng)端所能承受的最大電流為±1mA,選擇圖中阻值時(shí),實(shí)測(cè)X9312滑動(dòng)端電流約為0.1mA,必要時(shí)R1、R2可進(jìn)一步減小,但已滿足了恒溫油槽功率調(diào)節(jié)范圍的需要,為保證數(shù)字電位器的安全工作,R1、R2沒(méi)有選擇更小的阻值。電容C應(yīng)選擇漏電小的鉭電解電容,其容量決定固態(tài)繼電器的開(kāi)關(guān)周期。

          單片機(jī)控制程序
          單片機(jī)對(duì)功率調(diào)節(jié)電路進(jìn)行調(diào)節(jié)的程序框圖如圖5所示。其中單片機(jī)的P2.4、P2.5、P2.6、P2.7引腳分別接微調(diào)電位器片選、粗調(diào)電位器片選和升/降控制輸入引腳、輸入時(shí)鐘引腳,P2.6、P2.7為微調(diào)和粗調(diào)電位器共用,根據(jù)片選信號(hào)區(qū)分兩電位器。
          程序中,位尋址單元SIGN1為PID運(yùn)算所決定的功率調(diào)整方向,SIGN1為1時(shí),減小功率;為0時(shí),增大功率。單片機(jī)的58H、59H單元為調(diào)整量寄存器,存放PID運(yùn)算結(jié)果,決定調(diào)整量的大小,功率調(diào)節(jié)子程序執(zhí)行完時(shí),該寄存器應(yīng)為全0。內(nèi)存的W0P、W1P單元記錄微調(diào)、粗調(diào)電位器當(dāng)前所處的位置,當(dāng)W0、W1均位于最高(低)端時(shí),說(shuō)明加熱功率為最大(小),此時(shí)已無(wú)法繼續(xù)增大(減小)功率,因此不作調(diào)整。


          圖5 功率調(diào)節(jié)電路調(diào)節(jié)程序框圖

          結(jié)語(yǔ)
          用該電路改進(jìn)的恒溫油槽經(jīng)測(cè)試完全符合計(jì)量檢定規(guī)程的要求,15分鐘內(nèi)的溫度波動(dòng)小于±0.01℃。適當(dāng)調(diào)整控制系統(tǒng)的PID參數(shù)后用于某型恒溫水槽,其15分鐘內(nèi)的溫度波動(dòng)小于±0.008℃,優(yōu)于計(jì)量檢定規(guī)程要求的±0.01℃溫度波動(dòng)要求。
          基于數(shù)字電位器X9312的功率調(diào)節(jié)電路在實(shí)際應(yīng)用中體現(xiàn)出以下特點(diǎn):電路結(jié)構(gòu)簡(jiǎn)單,調(diào)試方便,整個(gè)功率調(diào)節(jié)電路僅十余個(gè)元件,只要焊接無(wú)誤,幾乎不需要調(diào)試;成本低,除固態(tài)繼電器需根據(jù)加熱功率選擇外,其它器件總成本非常低;單片機(jī)僅在需要改變功率時(shí)對(duì)數(shù)字電位器進(jìn)行操作,不操作時(shí)調(diào)功器保持最后一次操作所確定的功率,不需要單片機(jī)不斷地對(duì)I/O引腳進(jìn)行操作以產(chǎn)生控制脈沖,不占用片內(nèi)的定時(shí)器,軟件編寫十分方便;適用范圍廣,只要更換合適的固態(tài)繼電器,就能用于小到幾瓦、大到幾十千瓦的功率調(diào)節(jié)中,不僅能用于直流電、單相交流電,還能用于三相交流電。■

          參考文獻(xiàn)
          1 詹樹(shù)仁等譯.Xicor非易失性器件使用手冊(cè).武漢.力源電子股份有限,1996.5
          2 曹巧媛編著.單片機(jī)原理及應(yīng)用.北京.電子工業(yè)出版社,1997.7

          時(shí)間繼電器相關(guān)文章:時(shí)間繼電器




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