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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 38049|回復: 19
收起左側

初次調試速度PID全過程(分享PID函數)

  [復制鏈接]
ID:102668 發表于 2016-1-16 04:49 | 顯示全部樓層 |閱讀模式

所謂PID指的是Proportion-Integral-Differential。翻譯成中文是比例-積分-微分。


記住兩句話:
1、PID是經典控制(使用年代久遠) 2、PID是誤差控制()
對直流電機速度進行定速控制:
1、L293作為電機驅動;2、光電傳感器-作為輸出反饋;3、PWM做為輸入控制。 PID怎么對誤差控制,聽我細細道來:
所謂“誤差”就是命令與輸出的差值。比如你希望控制轉速為4轉/s(PWM波占空比=80%),而事實上控制轉速只有3.5轉/s,則誤差: e=0.5轉,如果實際轉速為4.5轉,則誤差e=-0.5轉(注意正負號)。
該誤差值送到PID控制器,作為PID控制器的輸入。PID控制器的輸出為:誤差乘比例系數Kp+Ki*誤差積分+Kd*誤差微分。
Kp*e + Ki*∫edt + Kd*(de/dt) (式中的t為時間,即對時間積分、微分) 上式為三項求和(希望你能看懂),PID結果后送入電機驅動器。 從上式看出,如果沒有誤差,即e=0,則Kp*e=0;Kd*(de/dt)=0;而Ki*∫edt 不一定為0。三項之和不一定為0。
總之,如果“誤差”存在,PID就會對電機驅動作調整,直到誤差=0。 評價一個控制系統是否優越,有三個指標:快、穩、準。
所謂快,就是要使壓力能快速地達到“命令值”(不知道你的系統要求多少時間) 所謂穩,就是要壓力穩定不波動或波動量小(不知道你的系統允許多大波動) 所謂準,就是要求“命令值”與“輸出值”之間的誤差e小(不知道你的系統允許多大誤差)
對于你的系統來說,要求“快”的話,可以增大Kp、Ki值 要求“準”的話,可以增大Ki值
要求“穩”的話,可以增大Kd值,可以減少壓力波動 仔細分析可以得知:這三個指標是相互矛盾的。 如果太“快”,可能導致不“穩”; 如果太“穩”,可能導致不“快”;
只要系統穩定且存在積分Ki,該系統在靜態是沒有誤差的(會存在動態誤差); 所謂動態誤差,指當“命令值”不為恒值時,“輸出值”跟不上“命令值”而存在的誤差。不管是誰設計的、再好的系統都存在動態誤差,動態誤差體現的是系統的跟蹤特性,比如說,有的音響功放對高頻聲音不敏感,就說明功放跟蹤性能不好。 調整PID參數有兩種方法:1、仿真法;2、“試湊法” 仿真法我想你是不會的,介紹一下“試湊法” “試湊法”設置PID參數的建議步驟:
1、把Ki與Kd設為0,不要積分與微分;
2、把Kp值從0開始慢慢增大,觀察壓力的反應速度是否在你的要求內; 3、當壓力的反應速度達到你的要求,停止增大Kp值; 4、在該Kp值的基礎上減少10%; 5、把Ki值從0開始慢慢增大;
6、當壓力開始波動,停止增大Ki值;
7、在該Ki值的基礎上減少10%;
8、把Kd值從0開始慢慢增大,觀察壓力的反應速度是否在你的要求內

P、I、D參數整定口訣: 參數整定找最佳,從小到大順序查

先是比例后積分,最后再把微分加

曲線振蕩很頻繁,比例度盤要放大

曲線漂浮繞大灣,比例度盤往小扳

曲線偏離回復慢,積分時間往下降

曲線波動周期長,積分時間再加長

曲線振蕩頻率快,先把微分降下來

動差大來波動慢微分時間應加長

這是我在STM32F103RB上做速度PID的PID函數,當然也可以利用ST公司自帶的DSP庫,
//======================================================================
//Adjust these three factor ,to achieve the best control effect
//P:1~10之間 I:0-5之間 D:0.1~1
float P_Coefficient=4.75;
float I_Coefficient=0.55;
float D_Coefficient=0.2;
#define Diff_Order 4 /* Differential order*/
int Temp,DestTemp,HeatPower;
int Set_Distant;
long int Integral=5; // Points accumulated
float Prev_Error[10]; // Record ten times before the error
float P,I,D;
float Ek,E;
unsigned char FirstFlag=1;
/*******************************************************************************
* Funtion name:PID Control
* Time:2013/3/5
* Author:zhuhao
*******************************************************************************/
float PID_Control(float Error)
{
int i;
float Output;
float Ture;
if(FirstFlag)//The first execution
{
FirstFlag=0;
for(i=0;i<10;i++)
Prev_Error=Error;
}
for(i=0;i<10;i++)
Prev_Error[i+1]=Prev_Error;// Buffer queue
Prev_Error[0]=Error;//
Ek=Error-Prev_Error[Diff_Order];//
E=0.8+Ek*0.2;//IIR
P=P_Coefficient*Error;// Calculate the proportional component
I=I_Coefficient*Integral;// Calculate the integral component
D=D_Coefficient*E;//Calculate the derivative component
Output=(P+I+D);
if(Output>0)
{
Ture=Output;
}
if(Output>=100||Output<=0||Error<-40||Error>40)//Saturated or large deviation integral
{
if(Integral>0&&Error<0)
Integral+=Error;
if(Integral<0&&Error>0)
Integral+=Error;
}
else
Integral+=Error;
if(Integral<-10) Integral=-10;
if(Integral>10) Integral=10;
if (Output>=100)
Output=99;
else if(Output<=0)
Output=Ture;
return Output;
}
經過試驗發現通過PID函數的調節,設定轉速與實際轉速相差無幾,一般在0;01~0.05轉左右,抗干擾好

串口數據波形分析儀軟件可以到51黑搜索


回復

使用道具 舉報

ID:164569 發表于 2017-2-14 11:40 | 顯示全部樓層
非常棒的入門介紹。
回復

使用道具 舉報

ID:164250 發表于 2017-2-15 10:19 來自手機 | 顯示全部樓層
棒棒的
回復

使用道具 舉報

ID:92231 發表于 2017-2-16 07:47 來自手機 | 顯示全部樓層
很好的教程,長知識了
回復

使用道具 舉報

ID:165114 發表于 2017-3-1 14:44 | 顯示全部樓層
有51的代碼嗎?
回復

使用道具 舉報

ID:153706 發表于 2017-4-5 15:10 | 顯示全部樓層
樓主無私
回復

使用道具 舉報

ID:186620 發表于 2017-4-6 11:50 來自手機 | 顯示全部樓層
可以很強勢,可以學習
回復

使用道具 舉報

ID:206025 發表于 2017-7-20 17:35 | 顯示全部樓層
厲害啊大神帶帶我
回復

使用道具 舉報

ID:144138 發表于 2017-8-3 10:30 | 顯示全部樓層
樓主可以發一下波形分析軟件和整個的工程嗎?
回復

使用道具 舉報

ID:205044 發表于 2017-8-3 17:38 | 顯示全部樓層
很好的教程,長知識了
回復

使用道具 舉報

ID:209158 發表于 2017-12-17 11:25 | 顯示全部樓層
bangbangde
回復

使用道具 舉報

ID:163950 發表于 2017-12-18 13:03 | 顯示全部樓層
看著還不錯,樓主,這是屬于位置式的PID吧?
回復

使用道具 舉報

ID:127591 發表于 2018-8-10 10:38 | 顯示全部樓層
感謝分享!
回復

使用道具 舉報

ID:384932 發表于 2018-8-10 11:56 | 顯示全部樓層
謝謝分享,受用
回復

使用道具 舉報

ID:380280 發表于 2018-8-22 17:35 | 顯示全部樓層
摟住能把串口數據波形分析儀軟件這個軟件共享出來嗎?萬分感謝,一直在找這樣的軟件
回復

使用道具 舉報

ID:473730 發表于 2019-3-13 11:35 | 顯示全部樓層
跪求樓主的串口數據波形分析儀
回復

使用道具 舉報

ID:605886 發表于 2019-9-10 14:43 | 顯示全部樓層
很棒啊,謝謝分享
回復

使用道具 舉報

ID:730649 發表于 2020-9-17 20:36 | 顯示全部樓層
真心感謝樓主的分享
回復

使用道具 舉報

ID:613705 發表于 2021-9-22 08:30 | 顯示全部樓層
串口數據波形分析儀
回復

使用道具 舉報

ID:796915 發表于 2022-2-7 20:34 | 顯示全部樓層

同志這個代碼51運行不起來
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲天堂一区二区 | 日韩精品一区二区三区中文在线 | 日韩毛片 | 日韩中文字幕在线观看 | 红桃视频一区二区三区免费 | 久久人| 欧美1页 | 国产一区 在线视频 | 国产日韩欧美一区二区 | 日韩中文字幕在线观看 | 欧美mv日韩mv国产网站91进入 | 91精品成人久久 | 搞黄网站在线观看 | 亚洲精品成人av | zzzwww在线看片免费 | 亚洲国产欧美日韩 | 亚洲精品无 | a在线视频 | 一级片在线免费看 | 亚洲精品久久区二区三区蜜桃臀 | 福利成人 | 午夜看电影在线观看 | 日一区二区| 欧美日韩久久精品 | 亚洲精品久久久9婷婷中文字幕 | 婷婷综合色 | 99精品欧美一区二区三区综合在线 | 中文字幕 在线观看 | 亚洲免费在线观看 | 天天拍天天色 | 孕妇一级毛片 | 国产东北一级毛片 | 国内精品久久影院 | 国产一区在线免费 | 亚洲电影第1页 | 午夜精品久久久久久久久久久久 | 三级免费av | 国产美女免费视频 | 天天干夜夜| 国产精品久久久久久久久久久久久 | 久久久精|