pid以及串級pid在實際生產中使用廣泛,今天看了這篇文章,並結合過往經驗做個筆記。
1、串級pid的基礎是pid,所以在此之前需要了解差分、積分和微分的具體含義。
2、串級pid是按照從裡向外,一層一層進行除錯的。在確定好了內層kp、ki、kd的數值後,再進一步確定外層的引數。
3、串級pid內外層更新的週期是不一樣的,拿兩級pid舉例,內部的輸出是5ms一次,而外部的數值更新則是25ms一次。
4、串級pid是有具體物理含義的,一般都是電流、速度和距離。
5、串級pid需要考慮最小電流、最大電流、最小速度、最大速度。
6、串級pid多用mcu實現,當然也可以用現成的plc,一般來說plc在emc方面要做的好一些。
7、串級pid需要配合開關量輸入輸出、模擬量輸入輸出和頻率量輸入一起處理。
8、除了串級pid控制之外,工控程式需要做的另外一項重要工作,就是異常檢查和故障處理。
9、沒有特殊情況,可以只使用時間中斷來處理所有邏輯,又簡潔又健壯。io感測器處理不及時,引入fpga。
實際生產中,pid是非常魯棒的乙個演算法,它的物理意義也比較清晰。然而怎麼除錯kp、ki、kd卻是乙個重要的技術活,還是要多看、多實踐、多總結,這樣效果都不會太差。
注:用多級控制代替單級控制,是為了穩定性需要。試想只有單級控制,那就相當於用加速度控制距離了,這是不合理的。
電流環給電流、採電流,速度環給速度、採速度,位置環給位置、採位置。
ps:知道原理是一方面,實際應用中如果有驅動器的,最好可以使用驅動器,這樣比較穩定、也可以節省很多任務作量。
隨想錄(zynq學習)
最近學習zynq較多,這裡做乙個筆記,供日後參考使用。zynq是xilinx公司出的一款soc,上面包含有雙核arm9 fpga,arm9可以執行裸機程式或者是linux,fpga可以做一些定製化的硬體開發,比如說10個以上的串列埠等等。1 開發板 目前學習zynq使用zedboard較多,上可以購...
隨想錄(uclibc的學習)
對於交叉工具鏈來說,uclibc一般都是包括在工具鏈裡面的。通過uclibc,大家可以像開發x86使用者程式一樣,開發其他cpu上的應用程式。uclibc相比較glibc而言,包含的檔案較少,功能也有刪減,且每乙個目錄代表乙個動態庫,閱讀起來基本不會遇到什麼問題。1 uclibc的 怎麼看?建議直接...
隨想錄(學習使用virtualbox軟體)
就我個人認為,虛擬軟體是乙個偉大的發明。無論是學習 應用方面,虛擬軟體為這個社會創造了巨大的價值。目前市場上面,虛擬化軟體種類挺多的,但是真正使用比較廣泛的也就是那麼兩三款,其實分別是vmware virtualbox和virtual pc。這其中vmare是純虛擬軟體公司,virtual pc是微...