找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6878|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

pic16f887單片機用AD590高精度測溫的電路和程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:127902 發(fā)表于 2016-6-23 22:48 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
一、 前言
AD590 為Analog Devices 公司出品的一種雙端溫度轉(zhuǎn)換電流源的單晶IC。圖為AD590內(nèi)部的線路結(jié)構(gòu),及其二種常用的包裝。
二、原理與暫存器設(shè)定說明
原理:
AD 590是一個良好的溫度-電流轉(zhuǎn)換的感測元件,具有良好的線性關(guān)系,其轉(zhuǎn)換率為1μA/°K。
􀂄圖(左邊)所示為AD 590轉(zhuǎn)換電路,其輸出轉(zhuǎn)換率有100mV/°C(Vo15)輸出。由于AD 590之轉(zhuǎn)換率為1μA/°K。因運算放大器具有極高的輸入阻抗,極小的輸入電流的特性,使得AD 590電流完全流過R2與R3,故U1 的輸出電壓為1μA/°K.(R2+R3),當(dāng)調(diào)整R2使得R2+R3=10KΩ時,U1 的輸出電壓為10mV/°K。
􀂄為了得到穩(wěn)定的2.732V,由R6,CR1,R7,R8,R9 及U3組成一穩(wěn)壓電路。調(diào)整R8可使U3的輸出(Vf1)圖6-2-2為2.732V。而U2的輸出電壓(Vo15)=10(U1out-Vf1)=10(10mV/°K -2.732)=10 x 10mV/°C=100mV/°C。
說明:

AD 590特性

線性電流源輸出:其轉(zhuǎn)換率為1μA/°K 。􀂄有寬廣的測溫范圍:-55°C~150°C 。􀂄體積小:僅有二端子,配線容易,電壓輸入/電流輸出。􀂄準(zhǔn)確度極高。􀂄使用的電壓范圍彈性大:+4V~30V,輸出特性不會變化,如圖所示。


輸出電壓轉(zhuǎn)換率

由于AD 590輸出信號為1μA/°K 電流,如欲轉(zhuǎn)換成電壓輸出,只須與1KΩ之負(fù)載電阻串聯(lián)即可,由V=l‧R原理,得到1mV/°K之電壓輸出。圖4-3所示,為一常用的AD 590溫度一電壓轉(zhuǎn)換電路。由于1KΩ阻值必須很準(zhǔn)確,否則會造成誤差,故可使用910Ω固定電阻與200Ω半固定電阻串聯(lián)成準(zhǔn)確的1KΩ電阻。

三、 程式與電路圖
程式:
#include                                                         // processor if/def file
#include "MID_LCD.h"
__CONFIG ( FOSC_INTRC_CLKOUT & WDTE_OFF & PWRTE_OFF & MCLRE_ON & CP_OFF & CPD_OFF &
           BOREN_OFF & IESO_OFF & FCMEN_OFF & LVP_OFF );

__CONFIG ( BOR4V_BOR40V & WRT_OFF );//配置位元設(shè)定
const char LCD_Msg1[]="Hi-Tech PICC ADC"; //定義為常數(shù)
const char LCD_Msg2[]="     T:         ";

float v,T,data;
unsigned int  ADC_VALUE;
int number;
void main(void)
{
unsigned char i;
VCFG0=0;
VCFG1=0;
ADFM=1;
CHS0=0;
CHS1=0;
CHS2=0;
CHS3=1;//選擇溫度採集埠
ADCS1=1;
ADCS0=0;
ADON=1;
ANS8 =1;
TRISB2=1;//設(shè)定溫度採集埠為AN8 =RB2埠公用
  IRCF0=1;//Select Internal FRC at 8MHz in the OSCCON Register
  IRCF1=1;
  IRCF2=1;

              OpenLCD();

              LCD_Set_Cursor(0,0);
              putrsLCD(LCD_Msg1);
              LCD_Set_Cursor(0,1);
              putrsLCD(LCD_Msg2);


    for(i=0;i<20;i++)
    {  // 延時 20us
    }   
    GO_DONE=1;   // GO=1啟Start A/D convert
    NOP( );
   while(1)
   {

                while(GO_DONE==0)  //GO=0 End of convert
      {
         ADIF=0;

        ADC_VALUE=ADRESH*256+ADRESL;
         T=(ADC_VALUE/1023.0)*100.0;
        number=T*100.0;

                  LCD_Set_Cursor(8,1);
        put_Num_LCD(number);
         GO_DONE=1;
        for(i=0;i<20;i++)
        {  // 延時 20us
        }

        NOP( );
     }   

  }
}

電路圖:





四、 結(jié)論

本例完整的程序和資料請下載:http://www.torrancerestoration.com/bbs/dpj-52478-1.html
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表