<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于STC12C5A60S2的馬弗爐溫度控制器設計

基于STC12C5A60S2的馬弗爐溫度控制器設計

作者: 時(shí)間:2010-06-01 來(lái)源:網(wǎng)絡(luò ) 收藏

3.參數的設置與調整
①加溫迅速達到目標值,但溫度過(guò)沖很大。

本文引用地址:http://dyxdggzs.com/article/163048.htm


比例系數太大,致使在未達到設定溫度前加熱比例過(guò)高;微分系數過(guò)小,對對象反應不敏感。


②加溫經(jīng)常達不到目標值,小于目標值時(shí)間多。


比例系數過(guò)小,加溫比例不夠;積分系數過(guò)小,對靜差補償不足。


③基本在控制溫度內,但上下偏差大,經(jīng)常波動(dòng)。


微分系數小,對及時(shí)變化反應慢;積分系數過(guò)大,使微分反應被鈍化。


④受環(huán)境影響較大


微分系數小,對及時(shí)變化反應慢;設定的基本定時(shí)周期過(guò)長(cháng),不能得到及時(shí)修正。


下面給出PID控制程序:
#ifndef _PID_H__
#define _PID_H__
#includeintrins.h>
#includemath.h>
#includestring.h>
struct PID {
unsigned int SetPoint; // 設定目標 Desired Value
unsigned int Proportion; // 比例常數 Proportional Const
unsigned int Integral; // 積分常數 Integral Const
unsigned int Derivative; // 微分常數 Derivative Const
unsigned int LastError; // Error[-1]
unsigned int PrevError; // Error[-2]
unsigned int SumError; // Sums of Errors
}
struct PID spid; // PID Control Structure
unsigned int rout; // PID Response (Output)
unsigned int rin; // PID Feedback (Input)
sbit output=P1^4;
unsigned char high_time,low_time,count=0;//占空比調節參數
unsigned char set_temper=920;
void PIDInit (struct PID *pp)
{
memset ( pp,0,sizeof(struct PID));
}
unsigned int PIDCalc( struct PID *pp, unsigned int NextPoint )
{
unsigned int dError,Error;
Error = pp->SetPoint - NextPoint; // 偏差
pp->SumError += Error; // 積分
dError = pp->LastError - pp->PrevError; // 當前微分
pp->PrevError = pp->LastError;
pp->LastError = Error;
return (pp->Proportion * Error//比例
+ pp->Integral * pp->SumError //積分項
+ pp->Derivative * dError); // 微分項
}


4. 溫度采集電路
熱電偶作為一種主要的測溫元件,具有結構簡(jiǎn)單、制造容易、使用方便、測溫范圍寬、測溫精度高等特點(diǎn)。但是,熱電偶的應用卻存在著(zhù)非線(xiàn)性、冷端補償、數字化輸出等幾方面的問(wèn)題。中采用的MAX6675是一個(gè)集成了熱電偶放大器、冷端補償、A/D轉換器及SPI串口的熱電偶放大器與數字轉換器,其電路如圖2所示。

圖2 溫度采集電路圖


MAX6675從SPI串行接口輸出數據的過(guò)程如下:MCU使CS變低并提供時(shí)鐘信號給SCK,由SO讀取測量結果。CS變低將停止任何轉換過(guò)程;CS變高將啟動(dòng)一個(gè)新的轉換過(guò)程。一個(gè)完整串行接口讀操作需16個(gè)時(shí)鐘周期,在時(shí)鐘的下降沿讀16個(gè)輸出位,第1位和第15位是一偽標志位且總為0;第14位到第3位為以MSB到LSB順序排列的轉換溫度值;第2位平時(shí)為低,當熱電偶輸入開(kāi)放時(shí)為高;開(kāi)放熱電偶檢測電路完全由MAX6675實(shí)現,為開(kāi)放熱電偶檢測器操作,T-必須接地,并使接地點(diǎn)盡可能接近GND腳;第1位為低電平以提供MAX6675器件身份碼,第0位為三態(tài)。

圖3 SO端輸出溫度數據的格式

圖4 MAX6675的SPI接口時(shí)序



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>