大佬們好,最近在看匿名的飛控程式,用的是串級pid控制,外環:輸入角度,輸出:角速度。 內環輸入角速度,輸出PWM波。對于這里的外環輸出我特別不理解,怎么連單位都變了呢? 比如做一個單級的pid爐溫控制,輸入輸出肯定都是溫度,量綱怎么也會變了呢?網上的資料看了看也沒有能開導我的。我個人覺得這個內外環的控制器之間要加個微分環節,這樣角度微分就是角速度了呀...
我找了一張圖比較符合 ,可以看看。
uj5u.com熱心網友回復:
0.000000uj5u.com熱心網友回復:
你可以這樣理解,根據期望角度與測得的當前角度算出期望的角速度,期望的角速度與當前的角速度計算出期望的PWM驅動四軸,完成反饋,這兩個反饋環輸入引數一個是角度,一個是角速度。uj5u.com熱心網友回復:
這個期望的pwm怎么和角速度環的輸出角速度對應起來啊?
uj5u.com熱心網友回復:
在PWMx4的位置輸出PWM波到電機就是uj5u.com熱心網友回復:
外環輸出是角速度期望值,角度有偏差,外環輸出有偏差,內環就以外環的輸出值做期望值,這樣可以達到反應速度快,控制達到很硬的效果uj5u.com熱心網友回復:
這個牽扯pwm與輸出角速度之間的物理關系,要做一些實驗才能得到。
uj5u.com熱心網友回復:
你可以這樣理解,根據期望角度與測得的當前角度算出期望的角速度,期望的角速度與當前的角速度計算出期望的PWM驅動四軸,完成反饋,這兩個反饋環輸入引數一個是角度,一個是角速度。
這個期望的pwm怎么和角速度環的輸出角速度對應起來啊?
這個牽扯pwm與輸出角速度之間的物理關系,要做一些實驗才能得到。
不需要知道物理關系,只要合適的調整 K、I、D引數就可以(D引數一般為0即可)
uj5u.com熱心網友回復:
你可以這樣理解,根據期望角度與測得的當前角度算出期望的角速度,期望的角速度與當前的角速度計算出期望的PWM驅動四軸,完成反饋,這兩個反饋環輸入引數一個是角度,一個是角速度。
這個期望的pwm怎么和角速度環的輸出角速度對應起來啊?
這個牽扯pwm與輸出角速度之間的物理關系,要做一些實驗才能得到。
不需要知道物理關系,只要合適的調整 K、I、D引數就可以(D引數一般為0即可)
K、I、D引數是用戶輸入的,你在編制程式演算法時是不知道的,因此程式演算法是通過物理實驗得到的。
uj5u.com熱心網友回復:
你可以這樣理解,根據期望角度與測得的當前角度算出期望的角速度,期望的角速度與當前的角速度計算出期望的PWM驅動四軸,完成反饋,這兩個反饋環輸入引數一個是角度,一個是角速度。
這個期望的pwm怎么和角速度環的輸出角速度對應起來啊?
這個牽扯pwm與輸出角速度之間的物理關系,要做一些實驗才能得到。
不需要知道物理關系,只要合適的調整 K、I、D引數就可以(D引數一般為0即可)
K、I、D引數是用戶輸入的,你在編制程式演算法時是不知道的,因此程式演算法是通過物理實驗得到的。
編程也不需要知道,你要仔細研究的是演算法模型
uj5u.com熱心網友回復:
你可以這樣理解,根據期望角度與測得的當前角度算出期望的角速度,期望的角速度與當前的角速度計算出期望的PWM驅動四軸,完成反饋,這兩個反饋環輸入引數一個是角度,一個是角速度。
這個期望的pwm怎么和角速度環的輸出角速度對應起來啊?
這個牽扯pwm與輸出角速度之間的物理關系,要做一些實驗才能得到。
不需要知道物理關系,只要合適的調整 K、I、D引數就可以(D引數一般為0即可)
K、I、D引數是用戶輸入的,你在編制程式演算法時是不知道的,因此程式演算法是通過物理實驗得到的。
編程也不需要知道,你要仔細研究的是演算法模型
問題是你演算法模型怎么得到。比如角速度變一個單位,PWM應該變多少你怎么得到。
uj5u.com熱心網友回復:
+Daim--->(SUM)--->e-----------Ke---- -->SUM -->PWM--->motor
_ ^ | ^ |
| |______Se----------| |
| | ^ |
| |______de _________| |
| |
| \/
|________________________________________________DReal
uj5u.com熱心網友回復:
Se 積分De微分
uj5u.com熱心網友回復:
你要明白,串級PID控制的目的是為了消除外部擾動。串級PID控制的第一級PID為內環,內環設計原則為:必須把主要干擾都包含在內環回路中。
因此內環和外環控制的物件不同。
內環是干擾物件的控制,外環才是你最終控制的物件。
uj5u.com熱心網友回復:
就像你用變頻器控制連接管道的水池中的液位,PID控制變頻器功率時,如果你直接根據水池液位做PID,則你不可能穩定的控制住水池中的液位,
你需要根據水流量等其它外部擾動因此來提前預判,如果水流量比較大,就改變頻繁慢一點;如果水流量比較小,就改變頻繁快一點。
控制的水流量就是外部干擾因素。
控制水流量做為串級PID的內環,控制水池液位做為串級PID的外環。
uj5u.com熱心網友回復:
就像你用變頻器控制連接管道的水池中的液位,
PID控制變頻器功率時,如果你直接根據水池液位做PID,則你不可能穩定的控制住水池中的液位,
你需要根據水流量等其它外部擾動因此來提前預判,如果水流量比較大,就改變頻繁慢一點;如果水流量比較小,就改變頻繁快一點。
控制的水流量就是外部干擾因素。
控制水流量做為串級PID的內環,控制水池液位做為串級PID的外環。
這樣我理解,就像是小車要到達目標位置,離的遠的時候速度快點,近了速度慢點,而不是直接根據位置來。但是放到這個框圖里面,位置資訊直接輸入進了速度環,這兩個量的量綱都不一樣
uj5u.com熱心網友回復:
就像你用變頻器控制連接管道的水池中的液位,
PID控制變頻器功率時,如果你直接根據水池液位做PID,則你不可能穩定的控制住水池中的液位,
你需要根據水流量等其它外部擾動因此來提前預判,如果水流量比較大,就改變頻繁慢一點;如果水流量比較小,就改變頻繁快一點。
控制的水流量就是外部干擾因素。
控制水流量做為串級PID的內環,控制水池液位做為串級PID的外環。
這樣我理解,就像是小車要到達目標位置,離的遠的時候速度快點,近了速度慢點,而不是直接根據位置來。但是放到這個框圖里面,位置資訊直接輸入進了速度環,這兩個量的量綱都不一樣
第一級PID輸出的值輸出范圍為第二級的量程
即:第一級PID的輸出結果作為第二級PID的給定值(SP)
uj5u.com熱心網友回復:
第一級PID的輸出值的范圍必須第二級反饋信號的量程零位和量程幅值之間即:第一級PID的輸出結果作為第二級PID的給定值(SP)
uj5u.com熱心網友回復:
去網上搜集一下汽包水位三沖量、送風機含氧量控制以及噴水減溫串級控制都是典型的串級控制uj5u.com熱心網友回復:
你可以這樣理解,根據期望角度與測得的當前角度算出期望的角速度,期望的角速度與當前的角速度計算出期望的PWM驅動四軸,完成反饋,這兩個反饋環輸入引數一個是角度,一個是角速度。
這個期望的pwm怎么和角速度環的輸出角速度對應起來啊?
一般是要做一些測驗來確定一些系數,比如把pwm數變一個百分單位,看角速度的變化數找出他們的關系。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/70319.html
標籤:單片機/工控
