導航:首頁 > 操作系統 > 單片機溫度測控

單片機溫度測控

發布時間:2023-09-22 11:04:43

1. 基於單片機溫度測控系統在國內外的研究現狀

(1)國外溫度測控系統研究
國外對溫度控制技術研究較早,始於20世紀70年代。先是採用模擬式的組合儀表,採集現場信息並進行指示、記錄和控制。80年代末出現了分布式控制系統。目前正開發和研製計算機數據採集控制系統的多因子綜合控制系統。現在世界各國的溫度測控技術發展很快,一些國家在實現自動化的基礎上正向著完全自動化、無人化的方向發展。
(2)國內溫度測控系統研究
我國對於溫度測控技術的研究較晚,始於20世紀80年代。我國工程技術人員在吸收發達國家溫度測控技術的基礎上,才掌握了溫度室內微機控制技術,該技術僅限於對溫度的單項環境因子的控制。我國溫度測控設施計算機應用,在總體上正從消化吸收、簡單應用階段向實用化、綜合性應用階段過渡和發展。在技術上,以單片機控制的單參數單迴路系統居多,尚無真正意義上的多參數綜合控制系統,與發達國家相比,存在較大差距。我國溫度測量控制現狀還遠遠沒有達到工廠化的程度,生產實際中仍然有許多問題困擾著我們,存在著裝備配套能力差,產業化程度低,環境控制水平落後,軟硬體資源不能共享和可靠性差等缺點。
這是本人整理的一些,僅供參考。希望對你有用。

2. 用單片機做溫度檢測系統 論文,

用DS18B20做的電子溫度計,非常簡單。

#include <reg51.h>
#include\"AscLed.h\"
#include <intrins.h>
#include <stdio.h>
//********************************************************
#define Seck (500/TK) //1秒中的主程序的系數
#define OffLed (Seck*5*60) //自動關機的時間5分鍾!
//********************************************************
#if (FHz==0)
#define NOP_2uS_nop_()
#else
#define NOP_2uS_nop_();_nop_()
#endif
//**************************************
#define SkipK 0xcc //跳過命令
#define ConvertK 0x44 //轉化命令
#define RdDs18b20K 0xbe //讀溫度命令
//*******************************************
extern LedOut(void);
//*************************************************
sbit PNP1=P3^4;
sbit PNP2=P3^5;
sbit BEEP=P3^2;
//***********************************
#defineDQ PNP2 //原來的PNP2 BEEP
//***********************************
static unsigned char Power=0;
//************************************
union{
unsigned char Temp[2]; //單位元組溫度
unsigned int Tt; //2位元組溫度
}T;
//***********************************************
typedef struct{
unsigned char Flag; //正數標志 0;1==》負數
unsigned char WenDu; //溫度整數
unsigned int WenDuDot; //溫度小數放大了10000

}WENDU;
//***********************************************
WENDU WenDu;
unsigned char LedBuf[3];
//----------------------------------
//功能:10us 級別延時
// n=1===> 6Mhz=14uS 12MHz=7uS
//----------------------------------
void Delay10us(unsigned char n){

do{
#if (FHz==1)
NOP_2uS;NOP_2uS;
#endif
}while(--n);
}
//-----------------------------------
//功能:寫18B20
//-----------------------------------
void Write_18B20(unsigned char n){
unsigned char i;
for(i=0;i<8;i++){
DQ=0;
Delay10us(1);//延時13us 左右
DQ=n & 0x01;
n=n>>1;
Delay10us(5);//延時50us 以上
DQ=1;
}
}
//------------------------------------
//功能:讀取18B20
//------------------------------------
unsigned char Read_18B20(void){
unsigned char i;
unsigned char temp;
for(i=0;i<8;i++){
temp=temp>>1;
DQ=0;
NOP_2uS;//延時1us
DQ=1;
NOP_2uS;NOP_2uS;//延時5us
if(DQ==0){
temp=temp&0x7F;
}else{
temp=temp|0x80;
}
Delay10us(5);//延時40us
DQ=1;
}
return temp;
}
//-----------------------------------
void Init (void){
DQ=0;
Delay10us(45);//延時500us
DQ=1;
Delay10us(9);//延時90us
if(DQ){ //0001 1111b=1f
Power =0; //失敗0
}else{
Power++;
DQ=1;
}
}
//----------------------------------
void Skip(void){
Write_18B20(SkipK);
Power++;
}
//----------------------------------
void Convert (void){
Write_18B20(ConvertK);
Power++;
}
//______________________________________
void Get_Ds18b20L (void){
T.Temp[1]=Read_18B20(); //讀低位
Power++;
}
//______________________________________
void Get_Ds18b20H (void){
T.Temp[0]=Read_18B20(); //讀高位
Power++;
}
//------------------------------------
//規范化成浮點數
// sssss111;11110000
// sssss111;1111(0.5,0.25,0.125,0.0625)
//------------------------------------
void ReadTemp (void){
unsigned char i;
unsigned intF1=0;
char j=1;
code int Code_F[]={6250,1250,2500,5000};

WenDu.Flag=0;

if (T.Temp[0] >0x80){ //負溫度
T.Tt =~T.Tt+1; //取反+1=源嗎 +符號S
WenDu.Flag=-1;
}
T.Tt <<= 4; //左移4位
WenDu.WenDu=T.Temp[0]; // 溫度整數
//**************************************************
T.Temp[1]>>=4;
//---------------------------
for (i=0;i<4;i++){ //計算小數位
F1 +=(T.Temp[1] & 0x01)*Code_F;
T.Temp[1]>>=1;
}
WenDu.WenDuDot=F1; //溫度的小數
Power=0;
}
//----------------------------------
void Delay1S (void){
static unsigned int i=0;

if (++i==Seck) {i=0ower++;}
}
//----------------------------------
void ReadDo (void){
Write_18B20(RdDs18b20K);
Power++;
}
/**********************************
函數指針定義
***********************************/
code void (code *SubTemp[])()={
Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L,
Get_Ds18b20H,ReadTemp
};
//**************************************
void GetTemp(void){
(*SubTemp[Power])();
}
//---------------------------------------------------
//將溫度顯示,小數點放大了10000.
void GetBcd(void){
LedBuf[0]=WenDu.WenDu / 10;
LedBuf[1]=WenDu.WenDu % 10 +DotK;
LedBuf[2]=(WenDu.WenDuDot/1000)%10;

if(LedBuf[0]==0)LedBuf[0]=Black;

if(WenDu.Flag==0) return;
if(LedBuf[0] !=Black){
LedBuf[2]=LedBuf[1];
LedBuf[1]=LedBuf[0];
LedBuf[0]=Led_Pol; //'-'
}else{
LedBuf[0]=Led_Pol; //'-'
}
}
/*
//---------------------------------------------------
void JbDelay (void){
static long i;
if (++i>=OffLed){
P1=0xff;
P2=0xff;
PCON=0x02;
}
}
*/
/*****************************************************
主程序開始
1:2002_10_1 設計,採用DS18B20測量
2:採用函數數組讀取DS18B20.LED數碼管顯示正常!
3:改變FHz可以用6,12MHz工作!
******************************************************/
code unsigned char Stop[3] _at_ 0x3b;
void main (void){
P1=0xff;
WenDu.WenDu=0;
while (1){
GetTemp();
GetBcd();
// JbDelay();
LedOut();
}
}
復制代碼
20091012_[1].jpg (12 KB)

2009-10-21 23:21 上傳
下載次數:0

3. 基於單片機的溫度控制系統設計

第一章 緒論 1. 1 選題背景 防潮、防霉、防腐、防爆是倉庫日常工作的重要內容,是衡量倉庫管理質量的重要指標。它直接影響到儲備物資的使用壽命和工作可靠性。為保證日常工作的順利進行,首要問題是加強倉庫內溫度與濕度的監測工作。但傳統的方法是用與濕度表、毛發濕度表、雙金屬式測量計和濕度試紙等測試器材,通過人工進行檢測,對不符合溫度和濕度要求的庫房進行通風、去濕和降溫等工作。這種人工測試方法費時費力、效率低,且測試的溫度及濕度誤差大,隨機性大。因此我們需要一種造價低廉、使用方便且測量准確的溫濕度測量儀。1.2 設計過程及工藝要求 一、基本功能~ 檢測溫度、濕度~ 顯示溫度、濕度~ 過限報警 二、主要技術參數 ~ 溫度檢測范圍 : -30℃-+50℃~ 測量精度 : 0.5℃~ 濕度檢測范圍 : 10%-100%RH~ 檢測精度 : 1%RH~ 顯示方式 : 溫度:四位顯示 濕度:四位顯示~ 報警方式 : 三極體驅動的蜂鳴音報警 第二章 方案的比較和論證 當將單片機用作測控系統時,系統總要有被測信號懂得輸入通道,由計算機拾取必要的輸入信息。對於測量系統而言,如何准確獲得被測信號是其核心任務;而對測控系統來講,對被控對象狀態的測試和對控制條件的監察也是不可缺少的環節。感測器是實現測量與控制的首要環節,是測控系統的關鍵部件,如果沒有感測器對原始被測信號進行准確可靠的捕捉和轉換,一切准確的測量和控制都將無法實現。工業生產過程的自動化測量和控制,幾乎主要依靠各種感測器來檢測和控制生產過程中的各種參量,使設備和系統正常運行在最佳狀態,從而保證生產的高效率和高質量。2. 1溫度感測器的選擇 方案一:採用熱電阻溫度感測器。熱電阻是利用導體的電阻隨溫度變化的特性製成的測溫元件。現應用較多的有鉑、銅、鎳等熱電阻。其主要的特點為精度高、測量范圍大、便於遠距離測量。鉑的物理、化學性能極穩定,耐氧化能力強,易提純,復制性好,工業性好,電阻率較高,因此,鉑電阻用於工業檢測中高精密測溫和溫度標准。缺點是價格貴,溫度系數小,受到磁場影響大,在還原介質中易被玷污變脆。按IEC標准測溫范圍-200~650℃,網路電阻比W(100)=1.3850時,R0為100Ω和10Ω,其允許的測量誤差A級為±(0.15℃+0.002 |t|),B級為±(0.3℃+0.005 |t|)。銅電阻的溫度系數比鉑電阻大,價格低,也易於提純和加工;但其電阻率小,在腐蝕性介質中使用穩定性差。在工業中用於-50~180℃測溫。 方案二:採用AD590,它的測溫范圍在-55℃~+150℃之間,而且精度高。M檔在測溫范圍內非線形誤差為±0.3℃。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會損壞。使用可靠。它只需直流電源就能工作,而且,無需進行線性校正,所以使用也非常方便,借口也很簡單。作為電流輸出型感測器的一個特點是,和電壓輸出型相比,它有很強的抗外界干擾能力。AD590的測量信號可遠傳百餘米。綜合比較方案一與方案二,方案二更為適合於本設計系統對於溫度感測器的選擇。 2. 2 濕度感測器的選擇 測量空氣濕度的方式很多,其原理是根據某種物質從其周圍的空氣吸收水分後引起的物理或化學性質的變化,間接地獲得該物質的吸水量及周圍空氣的濕度。電容式、電阻式和濕漲式濕敏原件分別是根據其高分子材料吸濕後的介電常數、電阻率和體積隨之發生變化而進行濕度測量的。方案一:採用HOS-201濕敏感測器。HOS-201濕敏感測器為高濕度開關感測器,它的工作電壓為交流1V以下,頻率為50HZ~1KHZ,測量濕度范圍為0~100%RH,工作溫度范圍為0~50℃,阻抗在75%RH(25℃)時為1MΩ。這種感測器原是用於開關的感測器,不能在寬頻帶范圍內檢測濕度,因此,主要用於判斷規定值以上或以下的濕度電平。然而,這種感測器只限於一定范圍內使用時具有良好的線性,可有效地利用其線性特性。方案二:採用HS1100/HS1101濕度感測器。HS1100/HS1101電容感測器,在電路構成中等效於一個電容器件,其電容量隨著所測空氣濕度的增大而增大。不需校準的完全互換性,高可靠性和長期穩定性,快速響應時間,專利設計的固態聚合物結構,由頂端接觸(HS1100)和側面接觸(HS1101)兩種封裝產品,適用於線性電壓輸出和頻率輸出兩種電路,適宜於製造流水線上的自動插件和自動裝配過程等。相對濕度在1%---100%RH范圍內;電容量由16pF變到200pF,其誤差不大於±2%RH;響應時間小於5S;溫度系數為0.04 pF/℃。可見精度是較高的。綜合比較方案一與方案二,方案一雖然滿足精度及測量濕度范圍的要求,但其只限於一定范圍內使用時具有良好的線性,可有效地利用其線性特性。而且還不具備在本設計系統中對溫度-30~50℃的要求,因此,我們選擇方案二來作為本設計的濕度感測器。2. 3 信號採集通道的選擇 在本設計系統中,溫度輸入信號為8路的模擬信號,這就需要多通道結構。方案一、採用多路並行模擬量輸入通道。這種結構的模擬量通道特點為:(1) 可以根據各輸入量測量的餓要求選擇不同性能檔次的器件。總體成本可以作得較低。(2) 硬體復雜,故障率高。(3) 軟體簡單,各通道可以獨立編程。方案二、採用多路分時的模擬量輸入通道。 這種結構的模擬量通道特點為:(1) 對ADC、S/H要求高。(2) 處理速度慢。(3) 硬體簡單,成本低。(4) 軟體比較復雜。綜合比較方案一與方案二,方案二更為適合於本設計系統對於模擬量輸入的要求,比較其框圖,方案二更具備硬體簡單的突出優點,所以選擇方案二作為信號的輸入通道。本文來源於: http://www.waibaowang.net/dianzi/

4. 單片機加熱爐溫度巡迴測控儀設計,測量范圍0~1000攝氏度,實現多點測量,顯示精度1攝氏度。

選擇好合適的溫度感測器,確定用什麼顯示,只顯示溫度的話用數碼管就行了,想用lcd的話更好。單片機就選51吧,比較熟悉。如果溫度感測器的輸出是模擬信號,用一個A-D轉換器具體的硬體電路可以查質量,一般感測器都給出外邊連接電路的。用一個按鍵做模式選擇(選擇手動還是自動測量),手動在用一個按鍵,自動的話就用軟體膈時掃描。這個我也沒做過,多看點質料就行了吧

5. MCS-51單片機的溫度測控設計(開題報告)

溫度變化范圍不大的用DS18B20 (-55~85)好象,控制用繼電器或者其它的都好,自己做吧,會在其中學到很多東西

6. 基於單片機的熱水器溫度控制系統

東華理工大學畢業設計(論文)

基於單片機的熱水器溫度控制

摘 要

溫度是日常生活中不可缺少的物理量,溫度在各個領域都有積極的意義。很多行業中以及日常生活中都有大量的用電加熱設備,如用於加熱處理的加熱熱水器,用於洗浴的電熱水器及各種不同用途的溫度箱等,採用單片機對它們進行控制具有控制方便、簡單、靈活性大等特點,而且還可以大幅提高被控系統的性能,從而能被大大提高產品的質量。因此,智能化溫度控制技術正被廣泛地應用。

本溫度設計採用現在流行的AT89C51單片機為控制器,用PID控制方法,再配以其他電路對熱水器的水溫進行控制。

關鍵詞:89C51; PID; 溫度控制

I

1/41頁
東華理工大學畢業設計(論文)

ABSTRACT

Temperature is essential physical in daily life ,and in various fields has positive implications.A lot of businesses and daily lives have a lot of electric heating equipment.Such as electric water heater for bathing and variety of different uses of the temperature boxes. MCU to control them with easy to control,simple,flexibility and other characteristics,also can significantly improve the performance of the controlled system,which can be greatly improved proct quality. Therefore,intelligent temperature control technology is being widely used.

The temperature control design uses the now popular AT89C51 MCU controller,with PID control method, which together with

閱讀全文

與單片機溫度測控相關的資料

熱點內容
壓縮怎麼eq閃 瀏覽:740
流密碼演算法openssl 瀏覽:262
怎麼數黃豆個數python 瀏覽:799
混沌序列加密的結論 瀏覽:224
最新脫單app哪個好 瀏覽:638
如何用自己電腦做伺服器做網頁 瀏覽:140
伺服器安全配置要考什麼證書 瀏覽:633
ipadpro可以編程 瀏覽:541
外國的程序員和中國的程序員 瀏覽:151
抖音小店app如何聯系客服 瀏覽:975
linux打開多個終端 瀏覽:500
linux中的命令 瀏覽:580
優化小米6相機演算法 瀏覽:259
ak47pdf 瀏覽:150
人與文化pdf 瀏覽:640
原子幣app在哪裡注冊的 瀏覽:530
php數組保存文件 瀏覽:226
無理的命令 瀏覽:510
問道手游解壓失敗是什麼原因 瀏覽:776
mysql命令提示 瀏覽:375