找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3842|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

鍋爐液位控制系統(tǒng)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:674983 發(fā)表于 2019-12-26 22:32 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基于單片機鍋爐液位控制系
1設(shè)計目的
首先采用液體的導(dǎo)電性,以按鍵模擬液位,這樣可以很精確的檢測到液位系統(tǒng),同樣達(dá)到預(yù)期的目的,通過單片機系統(tǒng)使數(shù)碼管顯示相應(yīng)的數(shù)字。
系統(tǒng)采用5個按鈕模擬液位來進(jìn)行由下自上的液位檢測。上電復(fù)位后,各部分均初始化,P2.0P3.5、P3.6P3.7置高電平,報警器不發(fā)聲,電機不轉(zhuǎn)動LED顯示燈不亮。顯示器顯示0時為復(fù)位情況,當(dāng)液位到達(dá)規(guī)定高度時由液體導(dǎo)通電路,實現(xiàn)按鈕的閉合后,再通過1位七段LED數(shù)碼管顯示液位位置,做出相應(yīng)的報警提示,提醒工作人員在接到自動上液報警后按時手工恢復(fù),保證液體供應(yīng)充足以及設(shè)備的安全。當(dāng)液位為最低液位時顯示黃燈并報警,按下復(fù)位鍵報警器不響,當(dāng)液位為5時報警器響,提醒工作人員液位已滿,此時電機停止工作,按下復(fù)位鍵報警器不響。
2設(shè)計方案
2.1單片機類型:AT89C51
AT89C51:AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機。AT89C51是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中。
2.2晶體振蕩電路
晶體振蕩電路有一個晶體振蕩器和兩個30pf的瓷片電容組成。晶振是改單片機提供工作信號脈沖的,為了穩(wěn)定,在晶振的兩端接入了10pf-50pf的瓷片電容接地來消減諧波對電路的穩(wěn)定性的影響。晶振與單片機的引腳XTAL0和引腳XTAL1構(gòu)成的振蕩電路中會產(chǎn)生諧波,但會降低電路穩(wěn)定性。電路圖如圖2.1所示。

file:///C:/Users/%E6%AD%A6%E7%A6%8F%E7%94%9F/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg
   圖4.1  低液位仿真電路圖

4.2總結(jié)。
該系統(tǒng)設(shè)計是基于在單片機嵌入式系統(tǒng)而設(shè)計的,充分利用單片機強大控制功能和方便通信接口,該檢測控制系統(tǒng)實現(xiàn)液位檢測、電機故障檢測、處理和報警等功能,提高了實驗的自動控制能力。因此,該系統(tǒng)在鍋爐工廠等冶煉領(lǐng)域有著廣闊的應(yīng)用前景。
課設(shè)初期,在選題上老師強調(diào)要找自己感興趣有了解的課題,然后上網(wǎng)查資料,了解與自己選題有關(guān)的電器元件。
在課設(shè)中期,在連接電機的電路中遇到了問題,后經(jīng)查詢,選定AJC--1000動態(tài)繼電器作為電機的開關(guān),在電路中又加入了PNP型三極管,作為控制繼電器的開關(guān)。
后期,在實驗仿真過程中遇到調(diào)試與程序不符的情況,后經(jīng)改正程序中的置位接口電平高低使調(diào)試順利進(jìn)行。

參考文獻(xiàn)
[1] 陳海宴.51單片機原理及其應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2010.3
[2] 何希才.傳感器及其應(yīng)用實例[M].北京:機械工業(yè)出版社,2004.9
[4] 童詩白.數(shù)字電子技術(shù)[M].北京:高等教育出版社,2001.6                  
[5] 王思明,張金敏,茍軍年等.單片機原理及應(yīng)用[M].北京:科學(xué)出版社,2012.

附錄1
#include<reg51.h>//定義51單片機頭文件
unsigned char codetable[]={0x3f,0x06,0x5b,0x4f,0x66,
                           0x6d,0x7d,0x07,0x7f,0x6f};
//定義一個數(shù)組,使數(shù)碼管顯示的數(shù)字和數(shù)組元素的下標(biāo)相等
sbit yeman=P1^0;//液體自動充滿
sbit yw5=P1^1;//液位充滿
sbit yw4=P1^2;//液位4
sbit yw3=P1^3;//液位3
sbit yw2=P1^4;//液位2
sbit yw1=P1^5;//液位1
sbitshougong=P1^6;//手工填液
sbitdianji=P1^7;//電機控制位
sbitstate1=P3^7;//紅燈顯示
sbitstate2=P2^0;//蜂鳴器
sbitstate3=P3^6;//電機工作指示燈綠燈開啟
sbit state4=P3^5;//黃燈顯示
/*延時程序*/
voiddelay02s(void)
{
  unsigned char i,j,k;
  for(i=100;i>0;i--)
  for(j=100;j>0;j--)
  for(k=200;k>0;k--);
}
main()
{
       P0=0;
    P2=1;
       while(1)
              {
             if(shougong==0)    //當(dāng)按手動回復(fù)按鈕時
                     { state1=0;          //手動控制亮紅燈
                     dianji=0;         //開電機
              state2=0;         //報警器響
              state3=0;         //液位顯示燈
              state4=1;
                       P0=table[0];      //數(shù)碼管顯示
                       delay02s();       //延時
                     }

           if(yeman==1&&yw5==1&&yw4==1&&yw3==1&&yw2==1&&yw1==0)//當(dāng)唯一的閉合一個傳感器單元:水位1時發(fā)生
                     {
                            dianji=0;//開電機
                            state1=1;//紅燈亮
              state2=1; //報警不響
              state3=0; //電機工作指示燈打開
                       state4=0; //液位為1時亮黃燈
              P0=table[1]; //顯示液位深度:1
                     }
           if(yeman==1&&yw5==1&&yw4==1&&yw3==1&&yw2==0&&yw1==1)//當(dāng)唯一的閉合一個傳感器單元:水位2時發(fā)生
                     {
                            P0=table[2];//顯示液位深度:2
                state1=1; //紅燈不亮
                            dianji=0; //電機顯示亮
                            state2=1;
                            state3=0;
                state4=1; //黃燈不亮
                     }
          if(yeman==1&&yw5==1&&yw4==1&&yw3==0&&yw2==1&&yw1==1)//當(dāng)唯一的閉合一個傳感器單元:水位3時發(fā)生
                     {
                          P0=table[3]; //顯示液位深度:3
                state1=1;
                            state2=1;
                            dianji=0;
                            state3=0;
                state4=1;
                     }
          if(yeman==1&&yw5==1&&yw4==0&&yw3==1&&yw2==1&&yw1==1)//當(dāng)唯一的閉合一個傳感器單元:水位4時發(fā)生
                     {
                            P0=table[4];
                        state1=1;
                            state2=1;
                            dianji=0;
                state3=0;
                state4=1;
                     }
         if(yeman==1&&yw5==0&&yw4==1&&yw3==1&&yw2==1&&yw1==1)//當(dāng)唯一的閉合一個傳感器單元:水位5時發(fā)生
                     {
                     dianji=1; //關(guān)電機
                            state1=0; //紅燈開
                            state2=0;
                state3=1; //電機工作指示燈熄滅
                state4=1;
                P0=table[5]; //顯示水位深度已滿
                            delay02s();   
                     }
if(yeman==0&&yw5==1&&yw4==1&&yw3==1&&yw2==1&&yw1==1)                   {
                             
                            P0=table[1];
                        dianji=0;  
                            state1=1;
              state2=1;
              state3=0;
                        state4=0;
                            delay02s();
                            P0=table[2];
                            delay02s();
                            P0=table[3];
                            delay02s();
                            P0=table[4];
                            delay02s();
                            P0=table[5];
                            dianji=1;
                            state1=0;
                            state2=0;
              state3=1;
              state4=1;
                     }
   }
        
}



課程設(shè)計報告.doc

134 KB, 下載次數(shù): 49, 下載積分: 黑幣 -5

液位控制系統(tǒng)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:942389 發(fā)表于 2021-7-3 18:33 | 只看該作者
大佬你這個最終完成點電路,為什么按 復(fù)位鍵 喇叭還在響啊
回復(fù)

使用道具 舉報

板凳
ID:942389 發(fā)表于 2021-7-3 18:35 | 只看該作者
大佬為什么按照這個電路圖,最后按 復(fù)位鍵 喇叭還是在響啊,大佬可以發(fā)一下電路圖嗎
回復(fù)

使用道具 舉報

地板
ID:161164 發(fā)表于 2021-7-3 23:54 | 只看該作者
yunxiaowusan 發(fā)表于 2021-7-3 18:33
大佬你這個最終完成點電路,為什么按 復(fù)位鍵 喇叭還在響啊
  1.                 if(shougong==0)    //當(dāng)按手動回復(fù)按鈕時
  2.                 {
  3.                         state1=0;          //手動控制亮紅燈
  4.                         dianji=0;         //開電機
  5.                         state2=0;         //報警器響
  6.                         state3=0;         //液位顯示燈
  7.                         state4=1;
  8.                         P0=table[0];      //數(shù)碼管顯示
  9.                         delay02s();       //延時
  10.                 }
復(fù)制代碼
沒錯?
如果只想響一下
可以在delay02s(); //延時
加下一句:state2=1; //報警器關(guān)

回復(fù)

使用道具 舉報

5#
ID:282869 發(fā)表于 2021-7-4 09:28 | 只看該作者
下載研究參考看看 謝謝
回復(fù)

使用道具 舉報

6#
ID:942389 發(fā)表于 2021-7-4 14:10 | 只看該作者
lkc8210 發(fā)表于 2021-7-3 23:54
沒錯?
如果只想響一下
可以在delay02s(); //延時

大佬我可以把電路圖發(fā)給你看看是什么問題嘛
回復(fù)

使用道具 舉報

7#
ID:942389 發(fā)表于 2021-7-4 14:29 | 只看該作者
lkc8210 發(fā)表于 2021-7-3 23:54
沒錯?
如果只想響一下
可以在delay02s(); //延時

大佬我用你帖子里的這個代碼,燒不出程序,說代碼有問題,然后用word里的附錄代碼,可以燒出程序,可是就是會按 復(fù)位鍵 ,喇叭還在響,大佬要不看看帖子里的這個代碼唄
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表