1. 怎麼實現單片機控制溫度要使溫度保持在一定溫度范圍~~~
閉環-pid
估計用得到pwm
什麼ad了那是必須的了
很墨跡的
2. 單片機溫度控制系統
這個不難 有很多成熟的方案.至於pid ,這個做好了升冊不太容易.不過.對畢業設計來說敬核.達到一般的要求就可亮笑掘以了
3. 單片機選型 溫度范圍:有沒有能耐100°高溫以上的51單片機
有的。
Atmel有軍用型的單片機,在電子市場能買到的,型號AT89C52-MI,這在100度工作絕對沒問題。
例如,80C51是通用型單片機,它不是為某種專用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。
(3)單片機溫度限制擴展閱讀:
匯流排型/非匯流排型這是按單片機是否提供並行匯流排來區分的。
匯流排型單片機普遍設置有並行地址匯流排、 數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。
控制型/家電型這是按照單片機大致應用的領域進行區分的。
一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型,通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是惟一的和嚴格的。
例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。
4. 求單片機溫度控制設計
這個是單片機在工業電氣上到應舉中前用,注意抗干擾和可靠性設計。
0-5v是工業的常見模擬量,此外還有0-10v,4-20ma等
溫度探頭建議使正清用鉑電阻pt100,ad讀取電壓,單片機換算出溫度值。再把讀到的ad轉換值輸出到da上,放大作為模擬量輸出。
至於泵的控制,一般工業培宴使用pid變頻控制的。可能成本上會很高。
5. 為什麼單片機水的溫度控制在75°
如果你指的是熱水器裡面的單片機,那就是國家標准規定熱水器的最高溫度不能超過75度。
6. 51單片機工作溫度
AT89C51-24PI,中24表示他的工返伏蠢作頻率,P為封裝形式(廳纖DIP),I為工作環境(工業)。 單片機工作溫度:商業級:0℃-+70℃ 工業級:-40℃-+85℃ 汽車級:-40℃-+125℃ 軍漏陪用級:-55℃-+150℃
7. 單片機工作的溫度范圍是多少就是多少溫度就會工作不正常,甚至燒毀
一般是30到80
8. 單片機退火爐的溫度范圍
作為 8031 單片機的采樣值,與最初設定的溫度值(600℃—900℃)進行比較來確定相 應的輸出,來表示不同范圍內的溫度值,進族大伏一步採取措施來控制溫度。 若低於 600℃(溫度下限值),則亮低溫報警燈(綠色),報警器發出長音報 警單片機控制加熱電阻進行加熱。若溫度高於 900℃(溫度上限值),則亮高溫報 警燈(黃色),報警器發出短音報警並兆攜且風機開始旋轉降溫。若溫度值處於正仿氏常 狀態(600℃~900℃),則既不亮燈,也不響報警器。
9. 單片機控制溫度
#define KP 3.0 //比例系數
#define KI 0.3 //積分系數
#define KD 200.0 //微分系數
#define KC 0.1 //維持功率系數
#define T_c 16 //采樣周期(單位:秒)
sbit pid_port=P3^5; /伏余/控制輸出埠
float T_target=0; //目標溫度
float T_real=0; //當前溫度
float PWM=0; //輸出控制量
bit read_AD_enable=0; //PID運算允許標志位
//T0定時器初始化
void Timer0_Init()
{
TMOD|=0x01;
TF0 =0;
TR0 =1;
IE |=0x02;
}
//讀取AD 轉換值並刻度
void read_AD(void)
{
int delta_ad;
unsigned char ad[3];
ad[0]=ADRESH;
ad[1]=ADRESM;
ad[2]=ADRESL;
delta_ad=ad[0]*0x100+ad[1]-0x23cb;
if(delta_ad<=0)delta_ad=0;
T_real=(float)delta_ad/70;
}
//*--------PID運算函數
void pid(void)
{
static float diff[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
static float sum_diff=0; //Σ(diff)
static int curr_=0;
float p_out,i_out,d_out,temp;
float pwm_0;
temp=diff[curr_];
if(curr_+1>=20)curr_=0;
else curr_+=1;
sum_diff-=diff[curr_];
diff[curr_]=T_target-T_real;
sum_diff+=diff[curr_];
p_out=KP*diff[curr_]; //比例項輸出
i_out=KI*sum_diff; //積分項輸出
d_out=KD*(diff[curr_]-temp); //微分項輸出
pwm_0=KC*T_target; //維持功率項
if(i_out>100)i_out=100; //積分分離
if(i_out<-100)i_out=-100;
PWM=p_out+i_out+d_out+pwm_0; //總輸出量
if(PWM<0)PWM=0;
else if(PWM>=100)PWM=100;
}
// 輸出函數
void PWM_OUT(float PWM)
{
static unsigned char t=1; //t=(1--100)周期為4秒
unsigned char limit; //pid_value輸出百分比
limit=(unsigned char)PWM;
if(t<=limit)pid_port=0; //加熱
else pid_port=1; //停止加熱
t++;
if(t>100)t=1;
}
/**************************************************/
//T0中斷服務程序
void Timer0_ISR() interrupt 1 using 1
{
static unsigned int x=0;
TH0=(28672)>>8; // 11.0592MHz,interval 40mS
TL0=(28672+20)&0xff; // +20 compensate
TF0=0;
if((x++)>(T_c*25))
{
x=0;
read_AD_enable=1;
}
PWM_OUT(PWM); //可控硅輸出
}
/****************************************************
主程序拍廳巧
----------------------------------------------------*/
void main (void)
{
//-------程序初始化(略)
while (1)
{
if(read_AD_enable==1)
{
read_AD_enable=0;
read_AD();
pid();
}
}
}
大致的參考程序就是這樣了 具體的話需要襲鍵你自己看了
10. 單片機為什麼有環境溫度限制
按理說單片機就是一些晶元、金屬板、導線的組合,主要是通電使用,電和溫度也沒關系啊電和溫度有關系有很大關系材料的導電性能在不同溫度下會不同最極端情況比如接近0K的時候會有著名的超導現象。另外溫度過高導線的絕緣皮什麼的很可能會被破壞或者晶元本身的結構也會被破壞我確實口氣有問題,在這里道歉,原句編輯掉好了。
滿意請採納