0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ML51單片機通過ADC驅(qū)動NTC傳感器測量溫度實例

Q4MP_gh_c472c21 ? 來源:嵌入式ARM ? 作者:嵌入式ARM ? 2021-01-26 16:58 ? 次閱讀

NTC傳感器如下圖所示,NTC的阻抗隨著溫度升高而降低。手冊給出了阻抗到溫度的轉(zhuǎn)換公式。

e9b777ae-5f64-11eb-8b86-12bb97331649.png

ea8815bc-5f64-11eb-8b86-12bb97331649.png



我們可以通過ML51單片機提供的12位ADC來讀取該串聯(lián)電阻的分壓,從而根據(jù)參考電阻計算出傳感器的阻抗,然后利用手冊的溫度計算公式計算出溫度。下圖是手冊給出的幾個常用計算常數(shù)B,可根據(jù)測量的范圍合理的選擇,用于提高測量精度。

ebdb1f4a-5f64-11eb-8b86-12bb97331649.png


實現(xiàn)溫度轉(zhuǎn)換

根據(jù)手冊提供的公式:R=R0 exp B(1/T - 1/T0);其中R是待測電阻,R0是某個溫度T0 K下的已知電阻,B是溫度傳感器常數(shù)。

通過以上公式反推T = temp=1/((1/T0)+(log(RT/R0)/B));

代入數(shù)據(jù)測試,例如T0=25攝氏度時候R0=10K歐姆,主意以上代入實際計算時候要使用絕對溫度,單位開爾文。

經(jīng)過測試上述公式可以完成驗算,即,正確。

根據(jù)手冊該型號的B常數(shù)在25到50度之間采用3380,25到80之間采用3428,25到85之間采用3434,25到100攝氏度之間采用3455.

為了方便,本項目采用3455計算。

完成代碼如下所示。

//***********************************************************************************************************//  File Function: ML51 series ADC software trigger on shot demo code//***********************************************************************************************************#include "ML51.h"#include "math.h"#include "NTC.h"/******************************************************************************The main C function.  Program execution startshere after stack initialization.******************************************************************************/


void main (){  unsigned int ADCRESULT;        float Rval;        float temp;
/*For UART0 P0.5 TXD output setting* include gipo.c in Library for GPIO mode setting* include uart.c in Library Setting for UART0*/    MFP_P31_UART0_TXD;                              // UART0 TXD use P0.5    P31_QUASI_MODE;                                 // set P0.5  as Quasi mode for UART0 trasnfer    UART_Open(24000000,UART0_Timer3,115200);        // Open UART0 use timer1 as baudrate generate and baud rate = 115200    ENABLE_UART0_PRINTF;  /*  ADCS to trig ADC convert  * include adc.c in Library for ADC initial setting*/    ADC_Open(ADC_SINGLE,1);                                        //Enable ADC_CH4    ADC_ConvertTime(3,7);//* find ADC result in ADC interrupt*/                                                while(1)    {        set_ADCCON0_ADCS;                           // Software trig adc start        while((ADCCON0|CLR_BIT7)==CLR_BIT7);         // wait ADCF = 1;        ADCRESULT = (ADCRH<<4)+ADCRL;        printf("
 ADC result = %d  ", ADCRESULT);        Timer0_Delay(24000000,100,5000);                                Rval=1000*((ADCRESULT*6.2)/(4095-ADCRESULT));                                printf("
 Rval=%d Ohm",(unsigned int)Rval);                                temp=Res_to_Tem(Rval);                                printf("
 temp=%.2f",temp-K);                                printf("
----------------");                                           }  }

將阻抗轉(zhuǎn)換為溫度作為一個獨立的頭文件NTC.h
#define K 273.15#define T0 (25.0+K)#define R0 10000.0#define B 3455.0        
/*電阻值換算到溫度adc_val:NTC當(dāng)前的阻抗值,單位歐姆返回值:攝氏度*/
float Res_to_Tem(float adc_val){        float temp;        temp=1/((1/T0)+(log(adc_val/R0)/B));        return temp-K;}
這樣就可以直接調(diào)用得出攝氏度了。本例子,采用串口打印的測量結(jié)果如下圖所示。

eddbf206-5f64-11eb-8b86-12bb97331649.png

手冊還給出的查表方法,給出了幾個特殊點,如下圖所示

f18adcd2-5f64-11eb-8b86-12bb97331649.png


繪制出曲線如下圖所示。


點評:NTC測量溫度成本低,響應(yīng)迅速,只需要使用1路ADC通道即可。比數(shù)字類型的溫度計驅(qū)動更加容易,使用更加靈活,還可以自己實現(xiàn)校準(zhǔn)功能。

責(zé)任編輯:xj

原文標(biāo)題:實用應(yīng)用案例:ML51單片機通過ADC驅(qū)動NTC傳感器測量溫度

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NTC
    NTC
    +關(guān)注

    關(guān)注

    7

    文章

    401

    瀏覽量

    51960
  • adc
    adc
    +關(guān)注

    關(guān)注

    97

    文章

    6351

    瀏覽量

    543420
  • 51單片機
    +關(guān)注

    關(guān)注

    273

    文章

    5696

    瀏覽量

    122802
  • ML
    ML
    +關(guān)注

    關(guān)注

    0

    文章

    144

    瀏覽量

    34533

原文標(biāo)題:實用應(yīng)用案例:ML51單片機通過ADC驅(qū)動NTC傳感器測量溫度

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    IGBT模塊NTC溫度傳感器測量方法

    采用模擬電路方式測量IGBT模塊NTC溫度傳感器溫度:這個基本的方法是基于一個分壓作為熱敏裝置
    的頭像 發(fā)表于 10-25 16:29 ?61次閱讀
    IGBT模塊<b class='flag-5'>NTC</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>的<b class='flag-5'>測量</b>方法

    51單片機驅(qū)動

    電子發(fā)燒友網(wǎng)站提供《51單片機驅(qū)動.exe》資料免費下載
    發(fā)表于 09-20 11:46 ?1次下載

    dht22溫度傳感器的原理及應(yīng)用

    傳感器內(nèi)部包含一個半導(dǎo)體濕度傳感器和一個NTC溫度傳感器。濕度傳感器
    的頭像 發(fā)表于 09-03 16:06 ?565次閱讀

    NTC溫度傳感器的工作原理和性能特點

    NTC溫度傳感器是一種基于負(fù)溫度系數(shù)(Negative Temperature Coefficient,簡稱NTC)熱敏電阻的
    的頭像 發(fā)表于 08-07 16:03 ?3.6w次閱讀

    單片機如何使用超聲波傳感器進(jìn)行距離測量

    環(huán)境等優(yōu)點。本文將詳細(xì)介紹單片機如何使用超聲波傳感器進(jìn)行距離測量的原理、步驟及實現(xiàn)方法。 超聲波傳感器基本原理 超聲波是振動頻率高于20kHz的機械波,具有頻率高、波長短、方向性好等特
    的頭像 發(fā)表于 08-05 14:56 ?269次閱讀

    單片機編程實例介紹

    是指使用特定的編程語言編寫控制單片機工作的程序。 在本文中,將為您提供一些常見的單片機編程實例,包括基礎(chǔ)應(yīng)用、傳感器應(yīng)用、通信應(yīng)用等方面的案例。 一、基礎(chǔ)應(yīng)用 LED流水燈 流水燈是最
    的頭像 發(fā)表于 01-16 09:37 ?2505次閱讀

    基于51單片機的電機功率測量設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機的電機功率測量設(shè)計.rar》資料免費下載
    發(fā)表于 01-12 10:11 ?0次下載

    基于51單片機溫度報警系統(tǒng)設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機溫度報警系統(tǒng)設(shè)計.rar》資料免費下載
    發(fā)表于 01-12 09:50 ?20次下載

    基于51單片機的波形測量

    電子發(fā)燒友網(wǎng)站提供《基于51單片機的波形測量.rar》資料免費下載
    發(fā)表于 01-12 09:10 ?12次下載

    基于51單片機的電機功率測量設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機的電機功率測量設(shè)計.rar》資料免費下載
    發(fā)表于 01-07 09:29 ?3次下載

    基于51單片機的波形測量設(shè)計

    電子發(fā)燒友網(wǎng)站提供《基于51單片機的波形測量設(shè)計.rar》資料免費下載
    發(fā)表于 01-07 09:22 ?10次下載

    基于51單片機的實時時鐘+溫度應(yīng)用設(shè)計

    基于51單片機的實時時鐘+溫度應(yīng)用設(shè)計(仿真)
    發(fā)表于 01-02 09:55 ?6次下載

    溫度傳感器(NTC)ADC轉(zhuǎn)換實驗

    本次實驗所用到的simulink模型如圖5.1所示,電路原圖如圖5.2所示,其中溫度傳感器在開發(fā)板中的位置如圖5.3所示,實驗效果為讀取NTC溫度
    的頭像 發(fā)表于 11-29 16:26 ?2200次閱讀
    <b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>(<b class='flag-5'>NTC</b>)<b class='flag-5'>ADC</b>轉(zhuǎn)換實驗

    TDK東電化針對表面溫度測量應(yīng)用推出堅固耐用的SMT NTC傳感器

    TDK東電化針對表面溫度測量應(yīng)用推出堅固耐用的SMT NTC傳感器
    的頭像 發(fā)表于 11-01 15:54 ?504次閱讀

    基于51單片機PT100熱電偶AD轉(zhuǎn)換protues仿真設(shè)計

    運用所學(xué)單片機知識,完成溫度信號的測量。要求如下:單片機系統(tǒng)選擇使用AT89C51,通過熱敏電阻
    的頭像 發(fā)表于 10-29 17:48 ?1320次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>PT100熱電偶AD轉(zhuǎn)換protues仿真設(shè)計