丁香婷婷网,黄色av网站裸体无码www,亚洲午夜无码精品一级毛片,国产一区二区免费播放

現(xiàn)在位置:范文先生網>理工論文>電子通信論文>基于單片機控制的數(shù)字氣壓計設計與實現(xiàn)

基于單片機控制的數(shù)字氣壓計設計與實現(xiàn)

時間:2023-02-21 00:16:44 電子通信論文 我要投稿
  • 相關推薦

基于單片機控制的數(shù)字氣壓計設計與實現(xiàn)

  摘要:介紹了一種精密數(shù)字氣壓計的軟硬件實現(xiàn)方法。該方法通過氣壓傳感器獲得與大氣壓相對應的模擬電壓值,并經過V/F變換輸入到單片機進行處理,從而實時顯示相應的氣壓值。用本文所述的方法制成的氣壓計攜帶方便,操作簡單,精確度高,完全符合設計要求。
  關鍵詞:氣壓計;氣壓傳感器;V/F轉換器;單片機
  
  1引言
  
  氣壓計是利用壓敏元件將待測氣壓直接變換為容易檢測、傳輸?shù)碾娏骰螂妷盒盘,然后再經過后續(xù)電路處理并進行實時顯示的一種設備。其中的核心元件就是氣壓傳感器,它在監(jiān)視壓力大小、控制壓力變化以及物理參量的測量等方面起著重要作用。運用于氣壓計的氣壓傳感器基本都是依靠不同高度時的氣壓變化來獲取氣壓值的。
  
  氣象學研究表明,在垂直方向上氣壓隨高度增加而降低。例如在低層,每上升100m?氣壓便降低10hPa;在5~6km的高空,高度每增加100m,氣壓便會降低7hPa;而當高度進一步增加時,即到9~10km的高空之后,高度每增加100m,氣壓便會降低5hPa;同樣,若空氣中有下降氣流時,氣壓會增加;若空氣中有上升氣流時,作用于空氣柱底部的氣壓就會減小。一般把作用于單位面積上空氣柱的重量稱為大氣壓力。
  
 。矚鈮河嫷慕Y構
  
  本文研究的氣壓計結構如圖1所示。其中氣壓傳感器用來將被測氣壓轉換為電壓信號;用V/F轉換器則可把氣壓傳感器輸出的電壓信號轉換成具有一定頻率的脈沖信號;以便用單片機接收該脈沖信號,并根據(jù)單位時間內得到的脈沖數(shù),依據(jù)電壓與頻率的線性關系式計算出所對應的氣壓值,最后在單片機控制下由LED顯示出來。
  
  本氣壓計能夠在氣壓傳感器的線性范圍內準確測量相應氣壓值。需要說明的是,其測量值是絕對氣壓值。本文研究的氣壓計的技術指標如下:
  
  ●測量范圍:300hPa~1050hPa;
  
  ●測量精度:0.1%FS(20℃);
  
  ●顯示精度:0.1%,由4個8段LED顯示實現(xiàn);
  
  ●工作溫度范圍:0~85℃;
  
  ●電源電壓:9V。
  
 。诚到y(tǒng)實現(xiàn)
  
  在系統(tǒng)構建過程中,需要考慮穩(wěn)定性、復雜程度、造價和調試的難易程度等因素。圖1所示框圖中的每一部分就是一個單元電路,可完成各自的功能。模塊之間沒有復雜的信號傳輸,且干擾很少,因而系統(tǒng)整體比較穩(wěn)定。
  
 。常睔鈮簜鞲衅
  
  氣壓傳感器在氣壓計中占據(jù)核心位置。設計時可根據(jù)測量精度、測量范圍、溫度補償、測量絕對氣壓值等幾個性能指標來選取氣壓傳感器。
  
  由于該氣壓計顯示的是絕對氣壓值,因而需要選取測量絕對氣壓值的氣壓傳感器。同時為了簡化電路,提高穩(wěn)定性和抗干擾能力,要求該氣壓傳感器應帶有溫度補償。
  
  為此,筆者選用Motorola的MAX4100A氣壓傳感器來測量絕對氣壓值。該傳感器的溫度補償范圍為-40~+125℃;壓力范圍為20kPa~1050kPa;輸出電壓信號(Vs=5.0V)范圍為0.3~4.65V;測量精度為0.1%VFSS,同時在20kPa~1050kPa時具有良好的線性,具體輸出關系如下:
  
 。郑铮酰簦剑郑(0.01059P-0.1528)±Error
  
  式中,Vs是工作電壓,P是大氣壓值,Vout為輸出電壓。
  
  3.2V/F變換
  
 。郑破骷淖饔檬菍⑤斎腚妷旱姆缔D換成頻率與輸入電壓幅值成正比的脈沖串。雖然V/F本身還不能算做量化器,但加上定時器與計數(shù)器以后也可以實現(xiàn)A/D轉換。它的突出特點就是把模擬電壓轉換成抗干擾能力強,可遠距離傳送并能直接輸入計算機的脈沖串,從而通過測量V/F的輸出頻率來實現(xiàn)A/D轉換功能。
  
  考慮到外圍電路實現(xiàn)的難易程度和相應的性能指標,筆者選用了LM331電壓/頻率轉換芯片。該器件使用了溫度補償能隙基準電路,因而具有極佳的溫度穩(wěn)定性,最大溫漂為50ppm/℃,同時該器件的脈沖輸出可與任何邏輯形式兼容;LM331可單、雙電源供電,電壓范圍為5~40V;滿量程范圍1Hz~100kHz;最大非線性誤差為0.01%。圖2所示是該系統(tǒng)中LM331的外圍電路。在該電路中,基于LM331的壓頻轉換關系為:
  
  
  
  
 。妫铮剑耍郑
  
  其中,K=Rs/(2.09RtCtRL)?,Rs=Rs1+Rs2
  
  實際上,電路中的Rs主要用于調節(jié)電路的轉換增益?Rt,Ct,RL的典型值分別為6.8kΩ、0.01pF和100kΩ,K值則可由設計者自己決定。該設計中,。耍剑玻埃埃,Rs=28.424kΩ?主要是考慮到單片機部分使用測頻率法來測fo能夠保證頻率信號的測量精度。由于Rs、RL、Rt和電容Ct會直接影響fo的轉換結果。因此,對這些元件的參數(shù)有一定的要求,設計時應根據(jù)轉換精度適當選擇。電容CL對轉換結果雖然沒有直接影響,但是應選擇漏電流小的電容器。用電阻R1,電容C1組成低通濾波器,可減少輸入電壓中的干擾脈沖,提高轉換精度。
  
  圖3
  
  3.3單片機
  
  本氣壓計實現(xiàn)方案需使用單片機的P1口和P3口的一部分以及一個中斷源、一個定時器和一個計數(shù)器。因此,筆者選用了ATMEL的AT89C2051單片機,該器件與89C51兼容,具有2kB的可重復編程閃存,2.7V~6V的工作電壓范圍,128Byte的內部RAM以及兩個I/O口(P1,P3)、2個16位的計數(shù)器/定時器和6個中斷源,并可直接驅動LED輸出,同時帶有可編程的串行通訊口。另外,該單片機還具有體積小,價格低等特點。
  
  3.4LED顯示
  
  單個LED是由7段發(fā)光二極管構成的顯示單元。有10個引腳,對應于7個段、一個小數(shù)點和兩個公共端。在顯示電路中,這些發(fā)光二極管有兩種接法:共陽極接法和共陰極接法。本設計中需要用4個LED組成顯示單元,并采用動態(tài)顯示方式。由于使用4個單個LED進行顯示的連線比較復雜,同時單片機的端口驅動能力也難以保證,而需要加入專門的驅動芯片。所以,筆者采用了4個LED連體的、內部已將其相應段接好的共陽極LED,它具有12個引腳,含7個段和4個公共端,為提高數(shù)碼管的亮度,可在位選線上加入一個三極管驅動電路。
  
  由AT89C2051控制的顯示電路如圖3所示。該顯示電路需要選取合適的電阻R和Ra,才能保證LED的亮度,過大或者過小都無法讓LED正常顯示。設計時。覟椋矗罚毽?Ra為510Ω比較理想。若考慮印制板布線的方便,可以采用貼片電阻和排阻來節(jié)省空間。另外,也可以用74LS244和74LS06構成驅動顯示電路,但這樣同樣要加限流電阻。因為74LS06是開漏器件,需要在輸出處加上拉電阻。
  
 。窜浖䦟崿F(xiàn)
  
  通過以上設計,便可通過fo來計算P的大小以得到實時的氣壓值。硬件電路設計完成之后,可使用AEDK5196PH仿真器的仿真環(huán)境進行仿真,并可用C51語言來編寫處理程序。其基本程序流程如圖4所示。
  
  程序設定:T0為定時器,基本的定時時基為50ms。T1為計數(shù)器,運用內部中斷0可保證T0定時滿500ms后就讀取此時計數(shù)器的值,以計算氣壓值。如使T1、T0均工作于方式1,并在P1口送字型碼,同時可用P3.0~P3.3做位選線,那么,其相應的函數(shù)如下:
  
 。ǎ保┒〞r器T0中斷函數(shù):
  
 。觯铮椋洌簦椋恚澹颍(void)interrupt1using1
  
  {uintx,y;
  
 。酰椋睿簦悖铮酰睿簦撸穑欤酰螅;
  
 。牛裕埃剑;//關閉T/C0中斷
  
  Tcount++;//中斷次數(shù)
  
  if?Tcount==10){
  
 。裕遥保剑;//停止計數(shù)器計數(shù)
  
 。裕悖铮酰睿簦剑;
  
 。剑裕龋;
  
 。剑裕蹋;
  
 。悖铮酰睿鬫pulse=(x*256+y)*2;
  
  ph=(uint)(10*((float)(countpulse+1520)/105.9???//計算氣壓值
  
 。裕龋保剑埃埃;//重設計數(shù)初值
  
 。裕蹋保剑埃埃;
  
  }
  
  TH0=-50000/256;//重設50ms初值
  
 。裕蹋埃剑担埃埃埃埃ィ玻担;
  
 。椋(TL0!=0)TH0--;
  
 。牛裕埃剑;
  
 。裕遥保剑;
  
 。颍澹簦酰颍;
  
  
  
  
  }
  
  該中斷函數(shù)主要用于完成脈沖的讀取和氣壓值的計算。ph是個全局變量,可用來保存氣壓值。
  
 。ǎ玻┰陲@示函數(shù)里,將氣壓值先按位進行分離并保存到數(shù)組,然后送段碼和相應位選就可以顯示出相應的氣壓值了。具體程序如下:
  
 。觯铮椋洌洌椋螅穑欤幔(uintph_in)
  
  {uchari=0;
  
  ucharj=0;
  
 。酰悖瑁幔颍螅澹欤澹悖鬫bit=0;//位選
  
 。洌飡
  
  cur_buf[i]=ph_in%10;
  
 。椋;
  
  j=i;
  
  }while(ph_in=ph_in/10);?//當高位為零時?結束循環(huán)
  
  i=0;
  
 。螅澹欤澹悖鬫bit=0xfe;
  
 。洌
  
  {P1=tab[*p];
  
 。校常剑螅澹欤澹悖鬫bit;
  
 。洌靇ms();?
  
 。螅澹欤澹悖鬫bit=(selectbit<<1)+1;
  
 。瘡淖钣疫呉晃婚_始顯示,循環(huán)左移
  
 。穑;
  
 。椋;
  
  }while(i<j);
  
 。穑剑悖酰騙buf;//指針歸位
  
 。颍澹簦酰颍;}
  
  這樣,在主程序中,只要在程序第一次運行時進行初始化,然后再循環(huán)調用顯示函數(shù)即可實現(xiàn)實時顯示功能。
  
  5結束語
  
  筆者曾用純硬件電路設計過氣壓計。實踐表明,由于受溫度的影響及硬件參數(shù)的限制,實時顯示時穩(wěn)定性較差,并且精確度不高。而改用V/F變換信號及編程的方法實現(xiàn)該測量則完全克服了上述缺點。結果表明:該方法具有精度高、穩(wěn)定性好、功能易于擴展等優(yōu)點,可為儀器及電子產品設計提供一種新的思路。
  
  
  
  

【基于單片機控制的數(shù)字氣壓計設計與實現(xiàn)】相關文章:

基于單片機的選頻表自動變步長的設計實現(xiàn)08-06

基于DSP控制的數(shù)字式雙向DC/DC變換器的實現(xiàn)08-06

一種基于單片機控制的數(shù)字視頻混合器08-06

基于FPGA的直接數(shù)字頻率合成器的設計和實現(xiàn)08-06

單片機控制GSM模塊實現(xiàn)短信收發(fā)的軟件設計08-06

基于單片機的MicroDrive接口設計08-06

實現(xiàn)基于Spring框架應用的權限控制系統(tǒng)08-19

一種基于DSP控制的液晶顯示屏的設計及實現(xiàn)08-06

單片機控制的數(shù)字觸發(fā)器08-06