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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 自動調整漂移的磁通計

          自動調整漂移的磁通計

          ——
          作者:華東師范大學 張暢 時間:2007-01-26 來源:《世界電子元器件》 收藏

          引言

          磁通計是利用rc電子積分原理測量磁通量的精密儀器,應用在磁性材料及器件的生產加工、磁電技術、磁性測試技術以及測控技術等領域。目前國產磁通計功能相對單一,精度低,但基本滿足需求。存在的弊端是漂移比較嚴重,手動調整耗時比較長,給使用人員帶來很大不便。因此有必要研制可自動調整漂移的磁通計。

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

          磁通計原理介紹

          垂直于某一面積所通過的磁力線的多少叫做磁通量或磁通,用 表示,單位wb。磁通計就是用來測量磁通的儀器。本文討論建立在霍爾效應基礎上的采用運算放大器和阻容網(wǎng)絡組成的模擬積分式磁通計的漂移調節(jié)問題。

          傳感器使用的是lake shore公司的霍爾發(fā)生器hgt-2100,這是一種固態(tài)傳感器,輸出電壓值和磁場的磁通量成正比。該器件建立在霍爾效應的基礎上。1879年,edwin h.hall發(fā)現(xiàn),如果對位于磁場(b)中的導體施加一個電流(ic),該磁場的方向垂直于所施加電流的方向,那么在既與磁場垂直又和所施加電流方向垂直的方向上會產生一個電壓(vh)。這個電壓被稱為霍爾電壓,這種現(xiàn)象被稱為霍爾效應。霍爾電壓的計算公式為:vh= b bsin 。其中vh為霍爾電壓(mv), b為磁場靈敏度(mv/kg)(在一特定的電流下),b為磁場磁通密度(kilogauss), 為磁場方向和霍爾元件間的夾角。hgt-2100是一種低價,高靈敏度的貼片器件。有效范圍為0.005寸x 0.005寸正方形區(qū)域。磁場靈敏度范圍是55~140mv/kg,輸入阻抗450~900 ,輸出阻抗為550~1350 。由此霍爾探針和阻容網(wǎng)絡構成的模擬積分式磁通計的原理圖如圖1所示。

          由電磁學理論知道,對霍爾發(fā)生器hgt-2100輸出電壓信號積分后輸出電壓值即為磁通量值 。模擬積分器式磁通計存在的一個難題是漂移問題。在輸入的感應電壓為零時,由于積分放大器的非理想性,存在偏置電流、失調電流、失調電壓和溫漂,使積分器輸出電壓隨時間不斷地向一個方向變化(增大或減?。?。測量之前必須先讓積分電容短路放電。一種傳統(tǒng)的漂移調節(jié)方法是使用多圈線繞電位器微調放大器的輸入uin,使差分輸入平衡。然后將積分電容放電,才能進行測量。這種調節(jié)過程比較繁瑣,使用人員必須根據(jù)輸出值變化的方向(增大或減?。﹣頉Q定電位器調節(jié)的方向,還要根據(jù)輸出變化的快慢來決定調節(jié)的終止時刻。


          硬件電路設計

          本文提出一種改進的調漂方法,即利用單片機控制的數(shù)字電位器來代替?zhèn)鹘y(tǒng)的多圈線繞電位器從而實現(xiàn)自動調漂。在圖1中,由積分器輸出的電壓uout經a/d轉換后送入微控制器處理、顯示。本文以at89c2051為例說明微控制器調整漂移的方法。

          主要器件介紹

          tlc2543串行a/d轉換器

          電路中采用的a/d轉換芯片是ti公司的tlc2543,是12位分辨率開關電容逐次逼近串行a/d轉換器,采樣率為66kbit/s,具有11個模擬輸入通道,采樣和保持是自動的,在工作溫度范圍內轉換時間為10 s,線性誤差+1lsb,具有單、雙極性輸出,可編程的msb或lsb前導,可編程的輸出數(shù)據(jù)長度,且與外圍電路的連線簡單。它是一種性能優(yōu)良的a/d轉換器件,可靠性高,價格便宜,廣泛應用于儀器儀表、檢測與控制設備等。

          at89c2051單片機

          at89c2051是atmel公司推出的8位單片機,是一個2k字節(jié)可編程eprom的高性能微控制器。它與工業(yè)標準mcs-51的指令和引腳兼容,是一種功能強大的微控制器,它對很多嵌入式控制應用提供了一個高度靈活有效的解決方案。

          x9c102p數(shù)字電位器

          數(shù)字電位器是一種具有數(shù)字接口的有源器件,可以取代模擬電路中的機械電位器,方便地與微控制器接口,從而可以用數(shù)控的方法調整模擬電路中的電流、電壓等參數(shù)。xicor公司的x系列e2pot固態(tài)非易失性數(shù)字電位器是低功耗cmos電路,具有數(shù)字脈沖輸入,模擬輸出的特性。x9c102p總阻值為1k ,包含 100個阻單元陣列,每個單元之間和任一端都有可以被滑動端訪問的抽頭點。滑動端的位置由cs、u/d和inc 三個輸入端控制,且存儲在非易失存儲器中,因而下一次上電時可以被重新調用,與多圈線繞電位器性能相同。

          硬件電路圖

          該模塊主要由兩部分組成:微控制器與a/d轉換器接口電路,微控制器與數(shù)字電位器接口電路。

          at89c2051與tlc2543的硬件連線圖如圖2所示。

          晶振選12mhz,ain0為模擬電壓輸入端,cs為片選線,din 為串行數(shù)據(jù)輸入端;dout為a/d轉換結果的三態(tài)串行輸出端;clk為i/o時鐘;vcc為電源;gnd為地。

          at89c2051與x9c102p的硬件連線圖如圖3所示。

          數(shù)字電位器x9c102p的三個輸入端inc、u/d、cs接在p1口。滑動端vw的電壓作為輸出。

          微控制器at89c2051是整個系統(tǒng)的核心,tlc2543對輸入的模擬信號進行采集,轉換結果dout由單片機通過p1.2(14腳)接收,ad芯片的通道選擇和方式數(shù)據(jù)通過p1.1(13腳)輸入到其內部的一個8位地址和控制寄存器。在輸入為零時,微控制器對輸入模擬信號進行分析,若采樣值變化說明漂移存在,根據(jù)采樣值變化的方向相應的調整數(shù)字電位器滑動的方向。電位器vw輸出電壓u接到模擬輸入端微調模擬輸入uin。調動過程由微控制器自動完成,不需要手動調整。


          軟件設計

          這里給出調節(jié)函數(shù)“adjust”,它調用了子程序串行數(shù)據(jù)采集模塊“read_ad”和微控制器控制電位器模塊“dp_down”和“dp_up”。

          tlc2543的通道選擇和方式數(shù)據(jù)為8位,其功能為:d7、d6、d5和d4用來選擇要求轉換的通道,d7d6d5d4=0000時選擇0通道,d7d6d5d4=0001時選擇1通道,依次類推;d3和d2用來選擇輸出數(shù)據(jù)長度,本程序選擇輸出數(shù)據(jù)長度為12位,即d3d2=00或d3d2=10;d1、d0選擇輸入數(shù)據(jù)的導前位,d1d0=00選擇高位導前。在每次i/o周期讀取的數(shù)據(jù)都是上次轉換的結果,當前的轉換結果在下一個i/o周期中被串行移出。第一次讀數(shù)由于內部調整,讀取的轉換結果可能不準確,要丟棄。 零輸入時,微控制器對采樣值進行判斷。當采樣值增大時,調用dp_up函數(shù),使u增大,反饋到積分器輸入端,uin增大。同樣當采樣值減小時,調用dp_down函數(shù),使u減小,同理uin增大。循環(huán)調節(jié),直至采樣值不變,實現(xiàn)了漂移的自動調節(jié)。對積分電容放電后,即可開始測量。這里調整的方向要根據(jù)磁通計實際情況而定。

          #include
          sbit sclk = p1^0;
          //tlc2543時鐘信號線
          sbit din = p1^1;
          tlc2543串行數(shù)據(jù)輸入線
          sbit dout = p1^2;
          //tlc2543串行數(shù)據(jù)輸出線
          sbit cs = p1^3;
          //tlc2543片選信號線
          sbit cs1 = p1^5;
          //x9c102p片選信號線
          sbit ud = p1^6;
          //x9c102p的u/d
          sbit inc = p1^7;
          //x9c102p的inc

          void adjust()
          {
          while(1)
          {
          int m1,m2,delta;
          m1 = 0;
          m2 = 0;
          delta = 0;
          m1 = read_ad();
          delay_500us();
          m2 = read_ad(); delta = m2 - m1;
          if(delta >0)
                dp_up(); //采樣值增大將vw向vh方向調整
          else
          {
          if(delta <0)
          dp_down();
          //采樣值減小將vw向vl方向調整

          }
          }
          }

          unsigned int read_ad( void ) {
          unsigned int data ad;
          unsigned char data i;

          ad = 0;
          p1 = 0xf4;
          //始化 p1 i/o 口 sclk = 0;
          cs = 1;
          delay_100us ();
          cs= 0;
          delay_100us ();
          for( i=0; i<12; i++)
          //12bit din

          {
          din = 0;
          sclk = 1;
          sclk = 0;
          }
          cs = 1;
          //轉換階段
          delay_100us ();
          cs = 0;
          delay_100us ();
          for( i=0; i<12; i++) //12bit dout
          {
          dout = 1;
          ad <<= 1;
          if(dout)
          {
          ad |= 0x0001;
          }
          sclk = 1;
          sclk = 0;
          }
          cs = 1;
          return (ad);
          //返回ad轉換結果

          }

          void dp_down() //vw向vl方向調整u減小的子程序
          {
          cs1 = 0;
          ud = 0;
          inc = 0;
          delay_100ms();
          inc = 1;
          cs1 = 1;
          }
          void dp_up() //vw向vh方向調整u增大的子程序
          {
          cs1 = 0;
          ud = 1;
          inc = 0;
          delay_100ms();
          inc = 1;
          cs1 = 1;


          小結

          本文介紹了用微控制器控制數(shù)字電位器調節(jié)模擬積分式磁通計的方法,給出了硬件連線圖和c程序,目的是解決目前的模擬積分式磁通計的漂移問題。實踐證明,該方案可以實現(xiàn)自動調整漂移,且方便、快捷、價格便宜,優(yōu)于機械電位器。




          關鍵詞:

          評論


          相關推薦

          技術專區(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); })();