<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>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 自制高精度控制電熱水瓶

自制高精度控制電熱水瓶

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò ) 收藏
最近因需要買(mǎi)了一個(gè)電熱水瓶,使用中發(fā)現,水溫根本上沒(méi)有達到沸騰,里面溫控器就跳開(kāi)了,而且水溫稍一下降,溫控器又很快閉合,再次進(jìn)入煮水狀態(tài),這樣水不斷處于冷卻-加熱-冷卻狀態(tài),這樣不但浪費電,長(cháng)期飲用此水,對身體也是有害的。剛好最近在學(xué)單片機編程,于是打算自己寫(xiě)個(gè)程序,用單片機來(lái)控制水溫,可以達到十分精確的沸騰溫度。說(shuō)干就干,馬上拆開(kāi)電熱水瓶,發(fā)現里面電路極其簡(jiǎn)單,只是用個(gè)KSD301溫控器來(lái)控制水溫,仔細觀(guān)察發(fā)現電源還直接加到另一組加熱絲,測量其阻值有600歐左右,粗略計算達到80W,也就是說(shuō),在溫控器跳開(kāi)后,此加熱絲仍耗電80W來(lái)保持水溫,這樣是很浪費電的。于是把原電路拆掉,接通電源到主加熱絲,加入1/3水,直接通電加熱到水沸騰,用溫度計測量底部原溫控器感溫點(diǎn),溫度有96度,一直沸騰下去,還是96度,也就是說(shuō),只要水沸騰,此處溫度就是96度了。于是,根據此數據寫(xiě)了一個(gè)溫控程序,設定下限溫度50度,上限溫度96度,并且具備提示功能,就是水要是沸騰了,熱水瓶會(huì )”滴“一聲提醒我們水已經(jīng)煮好,這個(gè)就是單片機的優(yōu)勢,可以實(shí)現智能控制!上面我還采用三個(gè)數碼管直接顯示水溫,在水溫達到設定時(shí),繼電器跳開(kāi),常閉觸點(diǎn)接通副加熱器進(jìn)行恒溫加熱,不過(guò)這次不是連續通電,而是加熱3秒,停止1秒,并且是半波交流電,這樣耗電是很低的,又可以進(jìn)行保溫,同時(shí)使熱水瓶耗電降到最低,真正環(huán)保??!好了,下面附上C程序,監于時(shí)間關(guān)系,我就先不傳上電路圖了,其實(shí)電路倒是 簡(jiǎn)單,不會(huì )很復雜!單片機采用AT89C2051,水溫傳感用DS18B20,用DS18B20成本稍高,但程序容易設計,而且也比較準確!
#include #include #define uchar unsigned char#define uint unsigned intsbit GW=P3^0;sbit SW=P3^1;sbit BW=P3^2;sbit DQ=P3^3;sbit JDQ=P3^4;sbit BAW=P3^5;sbit FMQ=P3^7;bit K;code uchar NUM[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};uchar temp_value;uchar sec;uchar TH=96,TL=50;void delay(uchar a){while(a--);}void INIT(){TMOD=0x01;TH0=0x3c;TL0=0xb0;TR0=1;}void init_DS18B20(){uchar b=0;DQ=1;delay(8);DQ=0;delay(100);DQ=1;delay(14);b=DQ;delay(20);}uchar read(){uint i, dat=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();dat>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_();DQ=1;_nop_();_nop_();_nop_();_nop_();if(DQ)dat|=0x80;delay(12);}DQ=1;return(dat);}void write(uchar dat){uchar d=0;for(d=8;d>0;d--){DQ=1;_nop_();_nop_();DQ=0;delay(1);DQ=dat&0x01;delay(12);dat=dat/2;}DQ=1;delay(2);}void ReadTemp(){uint a=0;uint b=0;init_DS18B20();write(0xCC);    write(0x44); delay(100); init_DS18B20();write(0xCC);  write(0xBE);  delay(100);a=read(); b=read(); temp_value=((b<<8)|a)*0.0625;          }void display (uchar num0,uchar num1,uchar num2){ P1=NUM[num0];GW=0;delay(200);GW=1;P1=NUM[num1];SW=0;delay(200);SW=1;P1=NUM[num2];BW=0;delay(200);BW=1;}void wenkong(){if(temp_value=TH){JDQ=0;}}main() { uchar a,b,c,t;INIT();K=0;if(sec==0)FMQ=0;BZ: if(sec>=1)FMQ=1;if(temp_value>=TH&K==0){sec=0;FMQ=0;if(sec==3)FMQ=1;K=!K;}while(1){if(TF0==1){TF0=0;TH0=0x3c;TL0=0xb0;t++;}if(t==20){t=0;sec++;BAW=0;}if(sec==4){sec=0;BAW=1;}ReadTemp();a=temp_value%10; b=temp_value/10%10;c=temp_value/100%10;display(a,b,c);wenkong();goto BZ;}}


關(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>