PID是自控中非常重要也是非常常用的一個算法,很多地方都會用到,如果能將pid理解並且加以熟練應用的話可以做到非常好的控制效果。
本篇文章會帶大家粗略的認識一下開閉環的概念
從一個栗子入手
想不出啥更好的例子了,這里就用之前看見別人舉的例子吧。
如下圖:
下面是一根水管,方塊可以理解為水閥,人手里的拉桿可以改變電車方向操縱水閥的開合程度。
這個小人的任務是控制輸出的水流到某一個設定的流量
根據這個小人的擺爛程度,我們可以將他的工作情況作兩種划分
開環控制
這里的小人想擺爛了,他只會根據設定的水流量進行拉動拉桿的操作,其他任何事件都不歸他管
為了顯得稍微專業點我准備了下面這張圖:
上面就是一個最簡單的開環控制系統了
控制器即小人的腦袋及小人手里的拉桿,控制器可以通過輸入來調整自己的輸出
執行器即閥門
可以看到這個系統其實不是非常可靠,我們並不知道這個實際輸出到底有沒有達到我們的預期值。
打個比方說,如果設定需要1L/s的流量,小人就會拉動拉桿10度,但是實際上可能會因為水閥的誤差、輸入水流的變化導致輸出水流並不能達到我們的預期值。
因此萬不得已千萬別用開環除非你足夠自信或者想擺爛
閉環控制
這人終於有那么點干活的樣子了
他現在可以用他的眼睛去看水流的輸出!
小人通過水流的輸出和設定的任務值兩方面去調節這個拉桿
同樣的,我這里也畫張稍微專業點的圖:
上圖就是一個簡單的閉環了
通過傳感器的采樣,將實際輸出值也作為輸入值給控制器,這樣一來控制器就有兩個輸入。
我們可以通過控制器里面的算法去輸出,最終也就可以達到一個比較理想的結果。
講了那么多其實也不是很多,那么PID究竟是個啥呢?其實PID就是在控制器里面跑的一個非常經典的算法了。關於PID的內容,我會在下篇文章中介紹。