欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4057|回復(fù): 1
收起左側(cè)

溫控PID算法

[復(fù)制鏈接]
ID:404701 發(fā)表于 2018-10-10 19:43 | 顯示全部樓層 |閱讀模式

溫度控制與PID算法
    溫度控制與PID算法j較為復(fù)雜,下面結(jié)合實際淺顯易懂的闡述一下PID控制理論,將溫度控制及PID算法作一個簡單的描述。


1.溫度控制的框圖

   file:///C:/Users/18120/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg     這是一個典型的閉環(huán)控制系統(tǒng),用于控制加熱溫區(qū)的溫度(PV)保持在恒定的溫度設(shè)定值(SV)。系統(tǒng)通過溫度采集單元反饋回來的實時溫度信號(PV)獲取偏差值(EV),偏差值經(jīng)過PID調(diào)節(jié)器運算輸出,控制發(fā)熱管的發(fā)熱功率,以克服偏差,促使偏差趨近于零。例如,當某一時刻爐內(nèi)過PCB板較多,帶走的熱量較多時,即導(dǎo)致溫區(qū)溫度下降,這時,通過反饋的調(diào)節(jié)作用,將使溫度迅速回升。其調(diào)節(jié)過程如下:

     file:///C:/Users/18120/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg    溫度控制的功率輸出采用脈寬調(diào)制的方法。固態(tài)繼電器SSR的輸出端為脈寬可調(diào)的電壓UOUT  。  SSR的觸發(fā)角觸發(fā)時,電源電壓UAN通過SSR的輸出端加到發(fā)熱管的兩端;當SSR的觸發(fā)角沒有觸發(fā)信號時,SSR關(guān)斷。因此,發(fā)熱管兩端的平均電壓為

      Ud(t/T)* UAN=K* UAN

  其中K= t/T,為一個周期T中,SSR觸發(fā)導(dǎo)通的比率,稱為負載電壓系數(shù)或是占空比,K的變化率在01之間。一般是周期T固定不便,調(diào)節(jié)t, t0T的范圍內(nèi)變化時,發(fā)熱管的電壓即在0UAN之間變化,這種調(diào)節(jié)方法稱為定頻調(diào)寬法。下面將要描述的PID調(diào)節(jié)器的算式在這里的實質(zhì)即是運算求出一個實時變化的,能夠保證加熱溫區(qū)在外界干擾的情況下仍能保持溫度在一個較小的范圍內(nèi)變化的合理的負載電壓系數(shù)K。

   file:///C:/Users/18120/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg



file:///C:/Users/18120/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg



2.溫度控制的兩個階段

      溫度控制系統(tǒng)是一個慣性較大的系統(tǒng),也就是說,當給溫區(qū)開始加熱之后,并不能立即觀察得到溫區(qū)溫度的明顯上升;同樣的,當關(guān)閉加熱之后,溫區(qū)的溫度仍然有一定程度的上升。另外,熱電偶對溫度的檢測,與實際的溫區(qū)溫度相比較,也存在一定的滯后效應(yīng)。

  這給溫度的控制帶來了困難。因此,如果在溫度檢測值(PV)到達設(shè)定值時才關(guān)斷輸出,可能因溫度的滯后效應(yīng)而長時間超出設(shè)定值,需要較長時間才能回到設(shè)定值;如果在溫度檢測值(PV)未到設(shè)定值時即關(guān)斷輸出,則可能因關(guān)斷較早而導(dǎo)致溫度難以達到設(shè)定值。為了合理地處理系統(tǒng)響應(yīng)速度(即加熱速度)與系統(tǒng)穩(wěn)定性之間地矛盾,我們把溫度控制分為兩個階段。


  file:///C:/Users/18120/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg

(1)      PID調(diào)節(jié)前階段

在這個階段,因為溫區(qū)的溫度距離設(shè)定值還很遠,為了加快加熱速度,SSR與發(fā)熱管處于滿負荷輸出狀態(tài),只有當溫度上升速度超過控制參數(shù)“加速速率”,SSR才關(guān)閉輸出。“加速速率”描述的是溫度在單位時間的跨度,反映的是溫度升降的快慢,如上圖所示。用“加速速率”限制溫升過快,是為了降低溫度進入PID調(diào)節(jié)區(qū)的慣性,避免首次到達溫度設(shè)定值(SV)時超調(diào)過大。

在這個階段,要么占空比K=0, SSR關(guān)閉;要么占空比K=100, SSR全速輸出。PID調(diào)節(jié)器不起作用,僅由“加速速率”控制溫升快慢。


2 PID調(diào)節(jié)階段

在這個階段,PID調(diào)節(jié)器調(diào)節(jié)輸出,根據(jù)偏差值計算占空比(0100%),保證偏差(EV)趨近于零,即使系統(tǒng)受到外部干擾時,也能使系統(tǒng)回到平衡狀態(tài)。


3. PID算法

          PID控制的原理是基于下面的算式:輸出M(t)是比例項,積分項和微分項的函數(shù)。

file:///C:/Users/18120/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg       其中:

            M(t)     PID回路的輸出,是時間的函數(shù)

             Kc       PID回路的比例增益

            e        PID回路的偏差(設(shè)定值(SV)與過程變量(PV)之差)

            Minitial  PID回路的靜態(tài)輸出值

      

            為了能讓數(shù)字計算機處理這個算式,連續(xù)算式必須離散化為周期采樣偏差算式,才能用來計算輸出值。數(shù)字計算機處理的算式如下:

file:///C:/Users/18120/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg    從這個公式可以看出,積分項是從第一個采樣周期到當前采樣周期所有誤差   項的函數(shù),微分項是當前采樣和前一次采樣的函數(shù),比例項僅是當前采樣的函數(shù)。在數(shù)字計算機中,不保存所有的誤差項,其實也不必要。由于計算機從第一次采樣開始,每有一個過程采樣值必須計算一次輸出值,只需要保存前一次過程值(PVn-1)和積分項前值。利用計算機處理的重復(fù)性,可以將以上算式變換為:



file:///C:/Users/18120/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg   其中:

       Mn      在第n 采樣時刻,PID回路的輸出計算值

       SV      PID 回路設(shè)定值

       PVn     在第n 采樣時刻的過程變量值

       PVn-1   在第n1 采樣時刻的過程變量值

       MX     積分前項值

      Mintial   PID回路的靜態(tài)輸出值

Kc      PID回路的比例增益

KI       積分項的比例常數(shù) KI=Kc * Ts / Ti   

         Ts是離散化時的采樣時間間隔  Ti是積分時間參數(shù);

KD      微分項的比例常數(shù) KD=Kc * Td / Ts

         Ts是離散化時的采樣時間間隔  Td是微分時間參數(shù);


從上面PID的算式,可以分析三個基本參數(shù)Kc, KI, KD在實際控制中的作用:


(1)      比例調(diào)節(jié)作用:比例項按比例反應(yīng)系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用用以減少偏差。比例作用大,可以加快調(diào)節(jié),減少偏差。但是過大的比例調(diào)節(jié),使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)定。

(2)      積分調(diào)節(jié)作用:積分項消除系統(tǒng)的穩(wěn)態(tài)誤差,提高無差度。只要有偏差,積分就進行,直到無偏差時,積分運算才停止,積分調(diào)節(jié)項輸出一常數(shù)值。積分作用的強弱取決于積分時間常數(shù)Ti,Ti越小,積分作用越強。積分控制可提高系統(tǒng)的無差度,但積分項輸出響應(yīng)緩慢,使得系統(tǒng)調(diào)節(jié)時間增長。

(3)      微分調(diào)節(jié)作用:微分項反映系統(tǒng)過程變量的變化率((PVn-1-PVn/ Ts),具有預(yù)見性,能預(yù)見變化的趨勢,因此,能產(chǎn)生超前的調(diào)節(jié)作用,在偏差還沒有形成之前,已被微分調(diào)節(jié)作用消除。因此,可以改善系統(tǒng)的動態(tài)性能。在微分時間參數(shù)Td選擇合適的情況下,可以減少超調(diào),減少調(diào)節(jié)時間。微分調(diào)節(jié)對干擾有放大效果,過強的微分調(diào)節(jié),對系統(tǒng)抗干擾不利。此外,微分項反映的是過程變量的變化率,而當過程變量沒有變化時,微分調(diào)節(jié)輸出為零。微分調(diào)節(jié)不能單獨使用,需要與另外兩種調(diào)節(jié)規(guī)律相結(jié)合,組成PDPID調(diào)節(jié)器。

以上面的推導(dǎo),C程序如下

/*   

pid算法C源程序,還有實現(xiàn)pid自動調(diào)整。51用于控制溫度26-100攝氏度。

TIME:2011-07-29 20:15:07

*/


#include <stdlib.h>

#include "global_varible.h"


/****************************************************************************

* 模塊名: PID

* 描述:   PID調(diào)節(jié)子程序

*        采用PID-PD算法。在偏差絕對值大于△e時,用PD算法,以改善動態(tài)品質(zhì)。

*        當偏差絕對值小于△e時,用PID算法,提高穩(wěn)定精度。

*PIDout=kp*e(t)+ki*[e(t)+e(t-1)+...+e(1)]+kd*[e(t)-e(t-1)]

*============================================================================

* 入口:   

* 出口:   

* 改變:   PID_T_Run=加熱時間控制

*****************************************************************************/

void PID_Math(void)

{

       signedlong ee1;                //偏差一階

       //signedlong ee2;             //偏差二階

       signedlong d_out; //積分輸出


       if(!Flag_PID_T_OK)

              return;

       Flag_PID_T_OK= 0;


       Temp_Set= 3700; //溫度控制設(shè)定值37.00


       PID_e0  = Temp_Set - Temp_Now; //本次偏差

       ee1 = PID_e0 - PID_e1;                    //計算一階偏差        

       //ee2= PID_e0-2*PID_e1+PID_e2;           //計算二階偏差

      

       //一階偏差的限制范圍

       if(ee1> 500)  ee1 = 500;

       if(ee1< -500) ee1 = -500;

       PID_e_SUM+= PID_e0;           //偏差之和

      

       //積分最多累計的溫差  

       if(PID_e_SUM> 200)   PID_e_SUM = 200;

       if(PID_e_SUM< -200)  PID_e_SUM = -200;

       PID_Out= PID_kp * PID_e0 + PID_kd * ee1;     //計算PID比例和微分輸出

       if(abs(PID_e0)< 200)                                      //如果溫度相差小于1.5度則計入PID積分輸出

       {

              if(abs(PID_e0)> 100){                              //如果溫度相差大于1度時積分累計限制

                     if(PID_e_SUM> 100)          PID_e_SUM = 100;

                     if(PID_e_SUM< -100)  PID_e_SUM = -100;

              }

              

              d_out= PID_ki * PID_e_SUM;                          //積分輸出

              if(PID_e0< -5){                                       //當前溫度高于設(shè)定溫度0.5度時積分累計限制

                     if(PID_e_SUM> 150)   PID_e_SUM = 150;

                     if(PID_e_SUM> 0)      d_out >>= 1;   //當前溫度高于設(shè)定溫度0.5度時削弱積分正輸出                        

              }

              PID_Out+= d_out;                                 //PID比例,積分和微分輸出

       }

       else

              PID_e_SUM=0;


       PID_Out/= 100;                                              //恢復(fù)被PID_Out系數(shù)放大的倍數(shù)

       if(PID_Out> 200)  PID_Out=200;

       if(PID_Out<0)       PID_Out=0;   

       if(PID_e0> 300)   PID_Out=200;              //當前溫度比設(shè)定溫度低3度則全速加熱  

       if(PID_e0< -20)    PID_Out=0;                         //當前溫度高于設(shè)定溫度0.2度則關(guān)閉加熱      


       Hot_T_Run= PID_Out;                                          //加熱時間控制輸出

              

//     PID_e2= PID_e1;                        //保存上次偏差

       PID_e1= PID_e0;                        //保存當前偏差

}

回復(fù)

使用道具 舉報

ID:140370 發(fā)表于 2020-6-14 04:40 | 顯示全部樓層
圖掛了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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