wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10718|回復: 4
收起左側

飛思卡爾智能小車PID控制的通俗理解

[復制鏈接]
ID:283869 發表于 2018-2-27 01:11 | 顯示全部樓層 |閱讀模式
很多同學都不清楚PID是個什么東西,因為很多不是自動化的學生。他們開口就要資料,要程序。
這是明顯的學習方法不對,起碼,首先,你要理解PID是個什么東西。
本文以通俗的理解,以小車縱向控制舉例說明PID的一些理解。
首先,為什么要做PID?
由于外界原因,小車的實際速度有時不穩定,這是其一,
要讓小車以最快的時間達達到既定的目標速度,這是其二。
速度控制系統是閉環,才能滿足整個系統的穩定要求,必竟速度是系統參數之一,這是其三.
    小車調速肯定不是線性的,外界因素那么多,沒人能證明是線性的。如果是線性的,直接用P就可以了。
比如在PWM=60%時,速度是2M/S,那么你要它3M/S,就把PWM提高到90%。因為90/60=3/2,這樣一來太完美了。
完美是不可能的。
    那么不是線性的,要怎么怎么控制PWM使速度達到即定的速度呢?即要快,又要準,又要狠。(即快準狠
)系統這個速度的調整過程就必須通過某個算法調整,一般PID就是這個所用的算法。
    可能你會想到,如果通過編碼器測得現在的速度是2.0m/s,要達到2.3m/s的速度,那么我把pwm增大一點不
就行了嗎?是的,增大pwm多少呢?必須要通過算法,因為PWM和速度是個什么關系,對于整個系統來說,誰也
不知道。要一點一點的試,加個1%,不夠,再加1%還是不夠,那么第三次你還會加1%嗎?很有可能就加2%了。
通過PID三個參數得到一個表達式:△PWM=a *△V1+b *△V2+c *△V3,a b c是通過PID的那個長長的公式展開
,然后約簡后的數字,△V1 ,△V2 ,△V3 此前第一次調整后的速度差 ,第二次調整后的速度差,第三次。。
。。。一句話,PID要使當前速度達到目標速度最快,需要建立如何調整pwm和速度之間的關系。

輸入輸出是什么:
輸入就是前次速度,前前次速度,前前前次速度。
輸出就是你的PWM應該增加或減小多少。

為了避免教科書公式化的說明,本文用口語化和通俗的語言描述。雖然不一定恰當,但意思差不多,就是那個事。如果要徹頭徹尾地弄PID,建議多調試,寫幾個仿真程序。
      PID一般有兩種:位置式PID和增量式PID。在小車里一般用增量式,為什么呢?位置式PID的輸出與過去的所有狀態有關,計算時要對e(每一次的控制誤差)進行累加,這個計算量非常大,而明沒有必要。而且小車的PID控制器的輸出并不是絕對數值,而是一個△,代表增多少,減多少。換句話說,通過增量PID算法,每次輸出是PWM要增加多少或者減小多少,而不是PWM的實際值。
下面均以增量式PID說明。
  這里再說一下P、I、D三個參數的作用。P=Proportion,比例的意思,I是Integral,積分,D是Differential微分。
打個比方,如果現在的輸出是1,目標輸出是100,那么P的作用是以最快的速度達到100,把P理解為一個系數即可;而I呢?大家學過高數的,0的積分才能是一個常數,I就是使誤差為0而起調和作用;D呢?大家都知道微分是求導數,導數代表切線是吧,切線的方向就是最快到至高點的方向。這樣理解,最快獲得最優解,那么微分就是加快調節過程的作用了。
公式本來需要推導的,我就不來這一套了。直接貼出來: 353091_12602736555q5o.jpg


看看最后的結果:
△Uk=A*e(k)+B*e(k-1)+C*e(k-2)
這里KP是P的值,TD是D的值,1/Ti是I的值,都是常數,哦,還有一個T,T是采樣周期,也是已知。而A  B  C是由P I D換算來的,按這個公式,就可以簡化計算量了,因為 P I D 是常數,那么A B C可以用一個宏表示。這樣看來,只需要求e(k) e(k-1) e(k-2)就可以知道△Uk的值了,按照△Uk來調節PWM的大小就OK了。PID三個參數的確定有很多方法,不在本文討論范圍內。采樣周期也是有據可依的,不能太大,也不能太小。
   ........................
   ........................
   寫著寫著成了老太婆的裹腳了,本來說拿個程序來說明一下,看來只能在下一文中了。


PID實際編程的過程的,要注意的東西還是有幾點的。PID這東西可以做得很深。
1 PID的診定。湊試法,臨界比例法,經驗法。
2 T的確定,采樣周期應遠小于過程的擾動信號的周期,在小車程序中一般是ms級別。
3 目標速度何時賦值問題,如何更新新的目標速度?這個問題一般的人都乎略了。目標速度肯定不是個恒定的,那么何時改變目標速度呢?
4 改變了目標速度,那么e(k) e(k-1) e(k-2)怎么改變呢?是賦0還是要怎么變?
5 是不是PID要一直開著?
6 error為多少時就可以當速度已達到目標?
7 PID的優先級怎么處理,如果和圖像采集有沖突怎么辦?
8 PID的輸入是速度,輸出是PWM,按理說PWM產生速度,但二者不是同一個東西,有沒有問題?
9 PID計算如何優化其速度?指針,匯編,移位?都可以試!
//*****************************************************
//定義PID結構體
//*****************************************************
typedef struct PID
{
    int SetPoint; //設定目標 Desired Value
    double Proportion; //比例常數 Proportional Const
    double Integral; //積分常數 Integral Const
    double Derivative; //微分常數 Derivative Const
    int LastError; //Error[-1]
    int PrevError; //Error[-2]
} PID;
//*****************************************************
//定義相關宏
//*****************************************************
#define P_DATA 100
#define I_DATA  0.6
#define D_DATA  1
#define HAVE_NEW_VELOCITY 0X01
//*****************************************************
//聲明PID實體
//*****************************************************
static PID sPID;
static PID *sptr = &sPID;
//*****************************************************
//PID參數初始化
//*****************************************************
void IncPIDInit(void)
{
sptr->LastError = 0; //Error[-1]
sptr->PrevError = 0; //Error[-2]
sptr->Proportion = P_DATA; //比例常數 Proportional Const
sptr->Integral = I_DATA; //積分常數Integral Const
sptr->Derivative = D_DATA; //微分常數 Derivative Const
sptr->SetPoint =100;  目標是100
}
//*****************************************************
//增量式PID控制設計
//*****************************************************
int IncPIDCalc(int NextPoint)
{
   int iError, iIncpid; //當前誤差
   iError = sptr->SetPoint - NextPoint; //增量計算
   iIncpid = sptr->Proportion * iError //E[k]項
             - sptr->Integral * sptr->LastError //E[k-1]項
             + sptr->Derivative * sptr->PrevError; //E[k-2]項
    sptr->PrevError = sptr->LastError;   //存儲誤差,用于下次計算
    sptr->LastError = iError;
    return(iIncpid);                          //返回增量值
}
Int g_CurrentVelocity;
Int g_Flag;
void main(void)
{
    DisableInterrupt
InitMCu();
    IncPIDInit();
g_CurrentVelocity=0;   //全局變量也初始化
g_Flag=0;                //全局變量也初始化
EnableInterrupt;
     While(1)
{
   if (g_Flag& HAVE_NEW_VELOCITY)
      {
          PWMOUT+= IncPIDCalc(CurrentVelocity);
            g_Flag&=~ HAVE_NEW_VELOCITY;
}
}
}
//****************************************
//采樣周期T
//****************************************
Interrrupt TIME void
{
   CurrentVelocity =GetCurrentVelocity;
   g_Flag|= HAVE_NEW_VELOCITY;
}


完整的pdf格式文檔51黑下載地址(共5頁):
飛思卡爾小車PID控制的通俗理解.pdf (249.29 KB, 下載次數: 110)


回復

使用道具 舉報

ID:290612 發表于 2018-6-1 19:30 | 顯示全部樓層
樓主厲害啊
回復

使用道具 舉報

ID:337808 發表于 2018-6-2 07:07 | 顯示全部樓層
學習了。仔細看了半天,sptr->LastError = 0;語句的sptr->的前綴第1次遇到,可能是C語言的知識太欠缺了。而這個sptr->的前綴應用的地方還挺多。
回復

使用道具 舉報

ID:706460 發表于 2020-5-1 17:57 | 顯示全部樓層
樓主感覺你的PID不像是增量式啊?
回復

使用道具 舉報

ID:743585 發表于 2020-5-3 21:37 來自觸屏版 | 顯示全部樓層
zhangshanqiao 發表于 2018-6-2 07:07
學習了。仔細看了半天,sptr->LastError = 0;語句的sptr->的前綴第1次遇到,可能是C語言的知識太欠缺了。而 ...

結構體的用法
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
热久久最新地址| av观看在线免费| 国产一二三区在线播放| 2021国产精品视频| 欧美亚洲综合另类| 久久久国产午夜精品| 欧美日韩国产在线一区| 日韩精品中文字幕一区二区| 最新av网站在线观看| 日日干天夜夜| 99久久精品日本一区二区免费 | 99中文字幕| 美日韩精品视频免费看| 这里只有精品免费| 亚洲三级电影网站| 国产一区二区女| 欧美区一区二| 偷窥自拍亚洲色图精选| 日韩免费小视频| 最新国产在线观看| 天堂中文字幕| 免费福利电影| 在线亚洲精品自拍| 国产巨乳在线观看| 国产第100页| 国产三级黄色片| 国产裸体视频网站| 欧美日韩一区二区在线免费观看| 久久五月天婷婷| 91亚洲国产成人久久精品网站| 色综合男人天堂| 在线播放亚洲激情| 精品免费一区二区三区| 一本色道亚洲精品aⅴ| 中文字幕乱码久久午夜不卡| 国产最新精品免费| 日韩精品一区第一页| 国产精品99久久精品| 欧美jizz19性欧美| 欧美2区3区4区| 无人区在线高清完整免费版 一区二 | 亚洲精品美女在线| 欧美三级中文字| 欧美日韩在线免费观看| 亚洲色大成网站www久久九九| 成人免费av资源| 国内一区二区在线| 爽好多水快深点欧美视频| 狠狠入ady亚洲精品| 久久高清精品| 成人区精品一区二区婷婷| 超碰97久久| 日本一区二区三区电影免费观看| 男人皇宫亚洲男人2020| 蜜桃视频在线观看播放| 国产精品国精产品一二| av免费在线观看网址| 香蕉视频在线播放| av在线电影播放| h视频网站在线观看| 色猫av在线| 黄色av网址在线免费观看| 亚洲做受高潮| 男女av在线| 成人av电影观看| 自拍视频在线| 含羞草www国产在线视频| 阿v免费在线观看| 黄色大片在线播放| 精品精品导航| 欧美男男激情videos| 天堂电影一区| 精品国产黄a∨片高清在线| 欧美暴力调教| 人人玩人人添人人澡欧美| 欧美综合影院| 成人黄色av网址| 欧美日韩爱爱| 91精品啪在线观看国产18 | 青草影视电视剧免费播放在线观看| 思思99re6国产在线播放| 在线观看的av| 在线免费av导航| gogo高清在线播放免费| 丝袜诱惑一区二区| 亚洲精品一区二区在线播放∴| 亚洲日日夜夜| 亚洲精品进入| 91精品精品| 午夜一区不卡| 国产一区二区三区四区五区入口 | 欧美成人免费一级人片100| 久精品免费视频| 欧洲成人午夜免费大片| 国产日韩综合一区二区性色av| 97超级碰碰| 奇米影视首页 狠狠色丁香婷婷久久综合| 欧美午夜精品久久久久免费视| 亚洲一区二区三区免费观看| 国内精品在线观看视频| www.99在线| www男人天堂| 男人晚上看的视频| 无码人妻精品一区二区三区不卡 | 亚洲欧美电影| 伊人www22综合色| 天天影视天天精品| 理论片日本一区| 久久午夜国产精品| 亚洲一区二区在线免费看| 欧美日韩视频在线第一区| 日韩电影中文字幕在线| 午夜欧美不卡精品aaaaa| 91网站在线免费观看| 天天综合色天天综合色hd| www黄色日本| 国产日韩视频一区| 欧美性猛交xxxxx少妇| 怡红院成永久免费人全部视频| 熟妇人妻av无码一区二区三区| 软萌小仙自慰喷白浆| 天天av综合网| 国产精品迅雷| 成人激情免费视频| 麻豆视频观看网址久久| 中文字幕在线观看不卡| 欧美精品久久一区二区三区| 日韩在线观看免费高清| 92国产精品视频| 国产一线二线三线女| 麻豆av免费看| 成人免费视频毛片| 性18欧美另类| 日韩有码电影| 欧洲美女精品免费观看视频| 中文视频一区| 久久综合九色综合97_久久久 | 国产在线一区二区三区四区| 激情深爱综合网| 在线精品一区二区三区| 免费看毛片网站| 国产麻豆综合视频在线观看| 领导边摸边吃奶边做爽在线观看| 三级中文字幕在线观看| 91嫩草亚洲精品| 99在线精品观看| 欧美精三区欧美精三区 | 麻豆传媒在线看| 日本韩国欧美中文字幕| 国产欧美在线观看视频| 国产乱子伦三级在线播放| 国产一区2区在线观看| 在线亚洲成人| 一区二区三区在线视频免费| 亚洲性夜色噜噜噜7777| 国产欧美亚洲日本| 一级黄色高清视频| 懂色av蜜臀av粉嫩av喷吹| 日日干夜夜操| 里番在线播放| 五月开心六月丁香综合色啪| 99re亚洲国产精品| 日韩美女视频一区二区在线观看| 国产精品福利片| 欧美不卡在线播放| 亚洲国产成人精品综合99| 中文字幕jux大岛优香| 免费在线超碰| 亚洲成a人片77777在线播放| 风流少妇一区二区| 日韩欧美一区二区三区在线| 国产欧美精品在线| 高清一区二区视频| 久久久蜜桃一区二区| h视频在线观看免费完整版| 美女的胸无遮挡在线观看| 韩日成人av| 亚洲一区在线观看免费观看电影高清| 亚洲视频在线观看| 日韩在线三级| 91香蕉视频网| 99久久99热久久精品免费看| 激情图片在线观看高清国产| 亚洲一本视频| 欧美日韩国产一区在线| 78色国产精品| 亚州精品一二三区| 99久久久无码国产精品免费| 在线国产中文字幕| 欧洲杯什么时候开赛| 国产精品女人毛片| 九九热精品视频在线播放| 国产日韩欧美精品在线观看| 99精品在线播放| 香蕉视频色版| 蜜臀91精品国产高清在线观看| 国产午夜精品一区二区| 一个人www欧美| 人妻激情另类乱人伦人妻| 国产午夜福利片| 国产一级大片| 伊人久久大香线蕉综合网蜜芽| 中文字幕欧美激情一区| 欧美黄色三级网站| www亚洲成人| 天天操天天干天天插| 日本大胆在线观看| 免费欧美日韩| 欧美成人伊人久久综合网| 欧美日韩精品久久久免费观看| www.日本高清视频| 黄色免费电影网站| eeuss国产一区二区三区四区| 久久久精品2019中文字幕之3| 久久99精品久久久久久噜噜| 黄色片一级视频| 丰满人妻av一区二区三区| av在线免费网站| 日韩在线一二三区| 精品999久久久| 大桥未久一区二区三区| 一级一片免费看| 欧美性videos| 日韩精品视频网| 日韩不卡中文字幕| 国产黄页在线观看| 免费av网站在线播放| eeuss鲁一区二区三区| 韩国成人福利片在线播放| 国产一区二区三区三区在线观看 | 蜜桃视频久久一区免费观看入口| 青春草视频在线观看| 国产精品一区一区| 俺去了亚洲欧美日韩| 国内外免费激情视频| 在线亚洲色图| 深夜福利亚洲| 亚洲欧美aⅴ...| 国产乱码精品一区二区三区卡| 免费在线观看av网址| 在线成人一区| 久久一区中文字幕| 亚洲网在线观看| 超碰影院在线观看| 韩国专线一区二三区| 中文字幕一区二区三区四区久久| 亚洲日本va午夜在线影院| 2014国产精品| 日本道在线观看| 91精品久久久久久粉嫩| 大胆亚洲人体视频| 欧美亚洲伦理www| 一级二级黄色片| 五月激情在线| 理论电影国产精品| 久久久中精品2020中文| 国产熟妇久久777777| 男人的天堂在线播放| 日韩午夜高潮| 日日狠狠久久偷偷四色综合免费 | 久久精品国产一区二区三区日韩| 日韩欧美三级视频| 在线三级中文| 国产亚洲成aⅴ人片在线观看 | 在线天堂新版最新版在线8| 久久精品日产第一区二区三区高清版| 国产精品吊钟奶在线| 精品肉丝脚一区二区三区| 欧美成人hd| 久久久久国产精品免费免费搜索| 国产一区红桃视频| 日韩国产成人在线| 在线成人视屏| 岛国av在线不卡| 8x8x华人在线| 国产精品自产拍在线网站| 亚洲视频分类| 精品国产乱码久久久久久免费| av丝袜天堂网| free亚洲| 日韩国产成人精品| 欧洲日韩成人av| 国产精品9191| 高清不卡av| 色一情一乱一乱一91av| 欧美啪啪免费视频| 2019国内自拍| 久久国产麻豆精品| 国产在线98福利播放视频| 波多野结衣二区三区| 国产精品99精品一区二区三区∴| 欧美午夜精品久久久久久久| 大伊香蕉精品视频在线| 十大免费污污软件| 99国产成+人+综合+亚洲欧美| 欧美激情18p| 日本一区二区三区四区五区| free欧美| 欧美精品丝袜久久久中文字幕| 日本中文字幕高清| 高清视频在线www色| 国产一区二区三区免费播放 | 亚洲国产天堂久久综合网| 亚洲国产精品狼友在线观看| 狠狠狠综合7777久夜色撩人 | 国产精品白丝jk喷水视频一区| 五月天婷婷导航| 在线视频亚洲欧美中文| 欧美成人性福生活免费看| 艳妇乳肉豪妇荡乳xxx| 成人影视在线播放| 亚洲欧美区自拍先锋| 久无码久无码av无码| 成人网址大全| www.久久久久久久久| 免费在线国产精品| 韩国专线一区二三区| 亚洲综合日本| 91在线国产电影| 男女猛烈无遮挡| 激情91久久| 国产精品亚洲аv天堂网| 99在线无码精品入口| 日韩综合一区| 97精品国产97久久久久久免费| 国产无遮挡又黄又爽又色视频| 加勒比视频一区| 深夜福利一区二区| 日本中文字幕在线| 私拍精品福利视频在线一区| 一本色道久久88综合亚洲精品ⅰ| 欧美成欧美va| 亚洲午夜免费| 久久精品国产清自在天天线| 日本网站在线播放| 日韩精品欧美大片| 欧美激情二区三区| 国产精品久久久国产盗摄| 91精品国产乱码久久久久久久| 国产成人一区二区三区| 婷婷开心激情网| 亚洲女人av| 久久精品国产一区二区三区日韩 | 久久久久电影| 国产精品午夜国产小视频| 香港三日本三级少妇66| 国产欧美日韩亚洲一区二区三区| 91精品国产综合久久香蕉的用户体验 | 天堂av2020| 青草青在线视频| 日韩欧美国产综合一区| 精品国产国产综合精品| 91综合精品国产丝袜长腿久久| 美女av一区二区| 国产黄a三级三级三级| 性欧美精品高清| 日本欧美精品久久久| 国产精品久久久久久久久久尿 | 日韩三级在线播放| 天天草夜夜骑| 亚洲精品乱码久久久久久黑人| www激情五月| 亚洲十八**毛片| 国产亚洲欧美aaaa| 影音先锋国产资源| 在线视频亚洲| 极品校花啪啪激情久久| 播九公社成人综合网站| 一区二区三区在线观看视频| 午夜免费福利影院| 粉嫩一区二区三区在线观看| 久久影视免费观看| 黄色av免费观看| 国产精品18久久久久久久网站| 激情小视频网站| 国产丝袜在线| 亚洲欧美成人一区二区在线电影| 五月激情丁香网| 国产亚洲毛片| 久久久一二三四| 在线激情免费视频| 精品成人免费观看| 久久午夜鲁丝片| 久久婷婷久久| 国内自拍中文字幕| 97caopron在线视频| 国产视频精品xxxx| 亚洲黄色小说网| 成人免费看黄yyy456| 手机在线看福利| 免费视频成人| 国产精品免费视频xxxx| jizzjizzjizzjizzjizzjizzjizz| 亚洲一区二区三区中文字幕| 精品人妻无码一区| 久久久影院免费| 亚洲国产一区二区三区在线| 国产午夜视频在线观看| 亚洲国产黄色片| 蜜桃91麻豆精品一二三区|