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