[問題] pid程式問題(取樣時間)

看板Electronics作者 (Fan)時間13年前 (2012/06/07 09:53), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
我寫一個PID程序,但是卻控不到,PID那列為 ControlInput=Kp*err + Ki*errsum + Kd*errdelta; 後來感覺就是err_sum會累加的很快,導致控制力暴增 但是我用Matlab模擬時又可以控 google了一下網路有些人在程式還會加入取樣時間Ts, 我在懷疑是不是這個問題,我照著他們的方法改成 ControlInput=Kp*err + Ki*Ts*errsum + Kd/Ts*errdelts 但是我不曉得Ts要設多少, 設過Ts=0.1,0.01,0.001,0.0001,0.0000000000000000001....... 亂踹以後還是不行 譬如我取樣時間Ts如果是1ms那我就是設Ts=0.001這樣嗎?? 徴詢有經驗的同學!! 感激 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 134.208.1.29 ※ 編輯: Fan383 來自: 134.208.1.29 (06/07 09:55)

06/07 11:48, , 1F
Sampling Time,取樣時間,通常以Ts表示
06/07 11:48, 1F

06/07 12:44, , 2F
如果不可控原因多半在參數調不好或者修正方向寫反
06/07 12:44, 2F

06/07 14:29, , 3F
你有去推導負回授的transfer function嗎
06/07 14:29, 3F
文章代碼(AID): #1Fq0c4B4 (Electronics)