欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> Arduino >> 瀏覽文章

基于Proteus的Arduino學習06-LM35與溫度測量的實現

作者:我不是奔跑哥   來源:我不是奔跑哥的blog   點擊數:  更新時間:2014年06月08日   【字體:

這次我們使用片內ADC和溫度傳感器LM35實現溫度測量,并且串口輸出溫度值。

LM35是NS公司生產的集成電路溫度傳感器系列產品之一,具有很高的工作精度和較寬的線性工作范圍,它的輸出電壓與攝氏溫度成線性比例。【文獻1】我們正是利用溫度與電壓的線性關系,通過測量輸出電壓來實現溫度的測量。
 LM35的參數如下:工作電壓:直流4~30V;工作電流:小于133μA;精度:0.5℃精度(在+25℃時);比例因數:線性+10.0mV/℃;非線性值:±1/4℃; 校準方式:直接用攝氏溫度校準;封裝:密封TO-46晶體管封裝或塑料TO-92晶體管封裝;使用溫度范圍:-55~+150℃。
LM35的TO-92封裝底視如圖1所示,引腳介紹: ①正電源Vcc;②輸出;③輸出地/電源地。

圖1 LM35(TO-92封裝)
我們在上一節串口電壓表的基礎上,添加LM35溫度傳感器,在元器件搜索欄中輸入“LM35”,并添加至元器件選擇欄中,如圖2所示。修改后的Arduino UNO實驗板如圖3所示。

圖2 添加"LM35"溫度傳感器

圖3 修改后的Arduino UNO實驗板
Arduino UNO的ADC為10位,默認參考電壓為5V,則可分辨的最小變化量為0.00488V,約為0.005V,可以滿足LM35每攝氏度輸出電壓的變化值的測量。
Arduino軟件設計,只需要加一條語句,以實現電壓值轉換至溫度值。因為0.01V的電壓變化值對應于1℃的溫度變化值,所以只需要將原來的電壓值乘以100即可實現。此處采用偷懶的辦法,直接在原來乘以5.00改為乘以500即可。
Arduino程序程序清單:
int sensorValue=0;//AD轉換后的數字量
float float_sensorValue;//把10位數字量換算成浮點電壓量
void setup() {
  Serial.begin(9600);  //定義串口波特率為9600
}
void loop() {
  sensorValue = analogRead(A0);  //讀取A0口電壓值
   float_sensorValue=(float)sensorValue/1023*500;  //換算為浮點電壓值
  Serial.println(float_sensorValue,1);  //保留兩位小數發送數據
  delay(1000);        // 一秒刷新一次
}
編譯成功之后,導入proteus仿真軟件。通過調節LM35的溫度值,可以看到輸出的電壓和溫度的關系,以及串口輸出的溫度值。溫度為0℃、25℃、50℃和100℃的仿真圖如圖4、5、6、7所示。
圖4 溫度為0℃時的輸出溫度

圖5 溫度為25℃時的輸出溫度
圖6 溫度為50℃時的輸出溫度

圖7 溫度為100℃時的輸出溫度
 
 
 

由溫度為0℃、25℃、50℃和100℃的仿真圖可以看出,LM35的測溫精度約為0.5℃,100℃時的精度為0.7℃,一方面是LM35自身的精度決定了,另一方便也可能是仿真得不準確性,但是LM35能夠滿足1℃的測量的要求。
當然,還可以利用標準傳感器對LM35進行系數修正,提高其測量精度。
最后奉上Proteus仿真視頻。
關閉窗口

相關文章