色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 一種開關(guān)量控制的水浴恒溫控制器設(shè)計

          一種開關(guān)量控制的水浴恒溫控制器設(shè)計

          作者: 時間:2012-09-05 來源:網(wǎng)絡(luò) 收藏

          2.5 溫度曲線顯示模塊
           溫度曲線顯示模塊是本編程的難點之一。本文選擇的液晶屏點數(shù)為128×160,真正顯示曲線部分如圖6所示。由圖6可知,可顯示的橫坐標(biāo)點共121個點。若在while循環(huán)中,每次循環(huán)都在液晶屏上顯示一個點,則121個橫坐標(biāo)表示的點只能覆蓋很短的時間。若能實現(xiàn)每隔1 s讀取一次溫度值,則整個屏幕可以覆蓋2 min內(nèi)的數(shù)據(jù),也就是說足可以顯示2 min內(nèi)的溫度變化的趨勢。本文實現(xiàn)的方法如下:
           cur_sec=date_r[0]; //讀出當(dāng)前的秒數(shù),為BCD碼
          if (cur_sec!=last_sec)
          //當(dāng)前的秒數(shù)與上一次不相等,則過了1 s了
          {
          ……//此部分代碼1 s執(zhí)行一次
          last_sec=cur_sec;
          count++;//用于斷續(xù)加熱
          }

          本文引用地址:http://cafeforensic.com/article/159976.htm

           畫點函數(shù)與畫直線函數(shù)原型為:
           void LCD_draw_point(uchar x,uchar y,uint color);
           //畫點函數(shù)
           void LCD_draw_line(uchar xStart,uchar yStart,uchar xEnd,uchar yEnd, uint color)//畫直線函數(shù)
          在曲線顯示時,希望溫度曲線始終在屏幕的中間部分顯示,以全面反映溫度的上下波動。而且畫直線時,需要知道上一個溫度點的縱坐標(biāo)和當(dāng)前溫度點的縱坐標(biāo)。本系統(tǒng)中,曲線顯示部分中間那條標(biāo)尺縱坐標(biāo)為115,于是計算當(dāng)前溫度點的縱坐標(biāo)和上一次溫度點的縱坐標(biāo)方法為:
           a=115+(TargetTemSet-Temperature);
              //溫度變化后的Y坐標(biāo)
           b=115+(TargetTemSet-Temperature_last);
              //溫度變化前的Y坐標(biāo)
           其中,TargetTemSet為當(dāng)前設(shè)定的溫度值,Temperature為當(dāng)前檢測到的溫度值,Temperature_last為上一秒檢測到的溫度值。假設(shè)設(shè)定溫度TargetTemSet=200(即20.0℃),上一次溫度Temperature_last=200,當(dāng)前溫度為Temperature=210,則變化后的溫度點縱坐標(biāo)a=105,溫度變化前的溫度點縱坐標(biāo)b=115。由此可以畫一條豎線,就可以達到要求。在使用畫直線函數(shù)前,還需要將a、b限幅,即{a,b}?奐[75,155]。
          在本中,共畫出了9條標(biāo)尺,每個標(biāo)尺間距為10個像素點,代表溫度相差1℃。
          2.6 溫度調(diào)節(jié)模塊
           本要求實現(xiàn)溫度值與設(shè)定值相差大于3℃時,連續(xù)加熱;小于3℃時,斷續(xù)加熱;大于設(shè)定值時,斷開繼電器;斷續(xù)加熱時,繼電器交替通斷。關(guān)鍵代碼如下:
          if(Temperature(TargetTemSet-30))
          //溫度較低,直接加熱
          {
          if (Temperature!=0) RELAY=RelayOn;
          }
          else if(TemperatureTargetTemSet)
          //溫度接近設(shè)定溫度,斷續(xù)加熱
          {
          if (count>= TargetTimeInterval)
          //讀出秒數(shù),需加熱時,加熱幾秒,停幾秒
           { count=0; RELAY=!RELAY;}
           }
           else RELAY=RelayOff;//大于設(shè)定值, 斷電
          3 實驗效果
           針對本進行相關(guān)的實驗,實驗原理圖如圖10所示。實驗中,設(shè)定了3個溫度檔次,即30 ℃、35 ℃、40 ℃分時進行。

           當(dāng)設(shè)定為30℃時,通過實驗發(fā)現(xiàn)加熱過程溫度過沖為0.3℃,過程波動為±0.1℃,控制過程運行良好。
          當(dāng)溫度設(shè)定為35℃時,發(fā)現(xiàn)過沖比較大,說明傳感器與加熱體相隔距離太遠,不合理,需要重新調(diào)整。但過程比較滿意。
           于是調(diào)整傳感器與加熱體的距離(減?。?,使之更加合理。設(shè)定為40℃時,水槽水溫上升曲線可知基本上無過沖,恒溫效果比較滿意。在恒溫過程中將時間清零了一次,所以運行時間比加溫時間小。
          實驗中發(fā)現(xiàn):溫度是否恒定、過沖是否小與許多因素有關(guān),如:加熱體和傳感器之間的距離、水槽是否密封、水槽材質(zhì)散熱性等。當(dāng)溫度設(shè)定較高時,水槽周邊散熱較大,同一水槽中,不同位置水的溫度不同,水槽中的水溫呈一定的梯度分布。要提高恒溫效果,除了從本身入手外,還可以進行如下方面的考慮:
          ?。?)保持加熱體與傳感器之間處于合適的距離。
          ?。?)有條件的話,在加熱體附近增加一個小的螺旋槳,使水在水槽內(nèi)溫度更加均勻。
           (3)保持水槽密封,根據(jù)水槽裝水的多少,選擇合適功率的加熱體。
           (4)增大加熱體加熱面積,使水槽整體升溫,減小局部溫度過高的可能。
           本文設(shè)計了一種恒溫控制器,介紹了其硬件與軟件設(shè)計過程,并進行了相關(guān)實驗,結(jié)果表明其升溫與恒溫效果均比較滿意。本設(shè)計的一大亮點在于通過TFT液晶屏實時顯示了當(dāng)前溫度值、設(shè)定值、當(dāng)前運時間等,還能通過彩色曲線顯示2 min內(nèi)溫度變化趨勢。文中提出的實時時鐘編程思想,可在高速微處理器上實現(xiàn)長時間定時,對其他大慣性控制系統(tǒng)的設(shè)計具有一定的借鑒意義。
          參考文獻
          [1] 賀艷秋,黃大貴.電阻爐FuZZy_PID溫度控制系統(tǒng)[J]. 橡膠工業(yè),2006(53):109-109.
          [2] 宏晶公司.單片機器件手則:STC89C51RC-RD+GUIDE-CHINESE.2006:42-43.
          [3] 杜克銘,姚燕,李景涌.基于STC89C52的多路溫度傳感器標(biāo)定系統(tǒng)[J].電子技術(shù)應(yīng)用,2009(4):152-155.
          [4] 王節(jié)旺.一種基于STC89C52RC單片機的計時系統(tǒng)的設(shè)計方案[J].微型機與應(yīng)用,2011(6):28-30.


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉