久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3001|回復: 1
打印 上一主題 下一主題
收起左側

第十課_STM32的PID程序案例講解

[復制鏈接]
跳轉到指定樓層
樓主
ID:680841 發表于 2020-1-4 09:47 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
學習目的:
    1.掌握PID編程
    2.學會兩種PID控制的程序
    3. 了解溫度控制曲線、阻尼系數等專業術語

學習重點和難點
    1.溫度控制中的熱慣性問題
    2. 傳感器延遲等問題的系統分析

學習練習過程:
一.理論基礎
1.什么是PID
Proportional-Integral-Derivative control的縮寫
比例積分微分控制,簡稱PID控制,是最早發展起來的控制策略之一,由于其算法簡單、魯棒性好(Robust即強健穩定)和可靠性高,被廣泛應用于工業過程控制,至今仍有90%左右的控制回路具有PID結構。
簡單的說,根據給定值和實際輸出值構成控制偏差,將偏差按比例、積分和微分通過線性組合構成控制量,對被控對象進行控制。常規PID控制器作為一種線性控制器。
Proportional比例即實際輸出和設定值之間的差值乘上一個比例來控制輸出調整量。
Integral積分,當實際輸出正好等于設定值時仍需給出一個調整量,即殘差,由積分來給出。
Derivative抑制達到設定值后過多的在設定點上下振蕩。

2.增量式PID
增量式PID控制,數字PID控制算法的一種基本形式,是通過對控制量的增量(本次控制量和上次控制量的差值)進行PID控制的一種控制算法。
  實例:有一直流減速電機裝有編碼器,現在用PID進行速度控制,已知每10ms讀取一次編碼值,每次讀到的編碼值減去上一次的編碼值(除以時間)可以反映出速度的快慢。也就是每次的增量就是反映實際的輸出值。

3.位置式PID
  直線電機或者導軌電機,需移動到某一個位置,這個位置可以用相對的脈沖數來表示,當然這個數相對于絕對零位開關是個固定數。

二.具體編程步驟
1.增量式PID
①設定三個值kp、ki、kd即比例量、積分量、微分量
②增量=本次采集值-上次采集值
③增量與設定值算出當時差值dif
④積分量=累加dif*ki
⑤輸出量=kp*dif+∑dif*ki+kd*((dif- lastdif)-( lastdif - prevdif))
        = kp*dif+∑dif*ki+kd*(dif+d prevdif -2* lastdif)
⑥上次lastdif再前次prevdif, 本次dif送上次lastdif。

說明:(dif-lastdif)-(lastdi-prevdif)反映被控值變化的快慢,抑制過快的變化。
float kp=50,ki=0.01,kd=2,sumi=0;
float dif,lastdif,prevdif,ks=132;           //ks是設定值與采集增量之間的系數
float scan,scan0,setnum=80,adjnum;
while(1)
{
  scan=TIM1->CNT;                                          //采集
  dif=(scan-scan0)*ks-setnum;                              //算出與設定值的差值
  scan0=scan;                                              //保存本次采集值
  sumi+=ki*dif;                                            //算出積分和
  adjnum=kp*dif+sumi+kd*(dif+ prevdif -2*lastdif);         //算出調整量
  TIM3->CCR3=adjnum;                                       //送出PWM調整
  prevdif = lastdif;                                       //上一次送前一次
  lastdif =dif;                                            //本次送上一次
  delay(10);                                     //時間為10ms采集和發出控制值,
}                                                          //建議用定時器做

另外可以做出限幅控制
  if (adjnum>2000) adjnum=2000;
if (adjnum<0)    adjnum=0;
比例及積分和的限幅和清零也可同上處理

2.位置式PID
基本與增量式相似。
差值dif就是實際值與設定值的差
Lastdif同樣也是保存上一次的差值
積分和也同樣算法,不同在于微分項,直接用本次差與上次差來計算。參考以下代碼
float kp=50,ki=0.01,kd=2,sumi=0;
float dif,lastdif;                  //ks是設定值與采集增量之間的系數
float scan,setnum=80,adjnum;
while(1)
  {
scan=readencode(1);                      //讀取1號導軌滑臺現在位置值
dif=scan-setnum;
sumi +=dif*ki;
    if (sumi >100) sumi =100;
if (sumi <-100) sumi =-100;
adjnum=dif*kp+sumi+(dif-lastdif)*kd;
TIM3->CCR3=adjnum;                        //通過TIM3的PWM來輸出控制  
if (dif==0) sumi=0;
lastdif = dif;
delay(10);                                //同樣只有教學才能用消耗性延時
}

3.溫度控制中的問題
①熱慣性,熱電偶作為一種測溫傳感元件,被廣泛地應用在工業現場及實驗室。由于熱接點具有一定的熱容量,熱接點從介質中吸熱量后,加熱自身、使溫度提高到穩定值需要一定的時間。即熱接點的溫度變化,在時間上總是滯后于被測介質的溫度變化。熱電偶的這種現象稱為熱慣性。
②阻尼曲線
由于存在傳感器滯后,和輸出變化及系統響應上也存在一定的時間差,因為電生熱,熱要傳導都需要時間,往往會在設定目標點上下振動,逐漸趨于穩定。
這是理想中的溫度曲線,加入PID目標就快速到達設定值,并盡量減少目標點上下的振蕩。

③測溫傳感器的選用,常用的有半導體測溫、熱電偶兩大種類,另外還有非接觸式紅外測溫,一般來說半導測溫靈敏度高,缺點溫度范圍較小即量程小,熱電偶線性度也不太好,但溫度測量范圍大。

4.參數設定
  ①確定比例系數
     以系統不振蕩為準、最快達到設定值為依據。
  ②再確定積分和微分系數,從小到大的方法。
  ③控制方式,由于烤箱是單相交流供電,所以輸出以準PWM方式,因為SSR(固態繼電器)開關時間<10ms,所以用10ms周期的PWM方式。
  ④光電隔離
      因為涉及到單相市電,所以SSR雖然已經是光電耦合式,不過還是建議再用一級光耦來隔離,練習一下光耦的應用。

   12是光電輸入,各光耦的輸入電流有所區別,一般設計在5-10ma之間,34為輸出的光敏三極管,輸出驅動電流可以設計在10-30ma之間。

5.系統控制設計

輸入有兩路:
①熱電偶溫度傳感器
②設定值(簡單的話可以做個電位器AD轉成溫度設定),做一個按鍵設定程序

控制程序
   每隔10ms掃描一次,進行PID數據采集,經過計算后輸出控制信號,做一個100分辨度的PWM,以1秒為單位,輸出1,就是開10ms,停990ms,輸出95,即開950ms,停50 ms。
   在選用SSR時一定要開關時間小于10ms的產品。







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

使用道具 舉報

沙發
ID:85865 發表于 2020-2-26 14:05 | 只看該作者
先收著,有空時測試下
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 97视频网站| 中文在线观看视频 | 97精品国产| 99久久免费精品视频 | 精品国产色| 成人久久18免费网站 | 99re6在线视频精品免费 | 日韩中文字幕一区 | 亚洲高清免费观看 | 在线免费观看黄色 | 麻豆av电影网 | 精品欧美一区二区三区久久久 | avtt国产 | 一本大道久久a久久精二百 欧洲一区二区三区 | 国精产品一品二品国精在线观看 | 久久一区二区av | 在线激情视频 | 国产精品综合一区二区 | 国产一区二区三区四区在线观看 | 亚洲国产在 | 中文字幕国产一区 | 久草免费在线视频 | 在线一级片 | 欧美一区视频 | 四虎在线视频 | 国产在线精品一区 | 黄色毛片大全 | 国产在线观看一区二区三区 | 日韩在线一区二区 | 国产精品久久欧美久久一区 | a免费视频| 亚洲精品久久久久久久久久吃药 | 精品一区二区三区在线观看 | 欧美一区二区大片 | 国内自拍偷拍 | 日韩一区二区三区在线 | 亚洲欧洲精品成人久久奇米网 | 欧美日韩国产三级 | 国产精品久久久久久久久久免费看 | 免费福利视频一区二区三区 | 日韩中出 |