• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: 請問PID程式問題
#20
高級會員
高級會員


查看用戶資訊
引言:

cheece1123 寫道:


可是我有一個想法

假設我用最簡單的p控制來說 假如我控制命令減去回授

得到的誤差為0 代表此時輸出與輸入控制相等 達到控制

我有一個疑問就是那誤差為0時 我的p控制輸出為0

那p後面的輸出不就沒有動作? 譬如說控制命令6度

回授6度 相減得到0度 代表沒有誤差 此時p控制輸出為0

那輸出怎麼還會維持在6度??

還是說我少寫一些程式判別??



在你的程式中 AD_GET() 內會設 PWM輸出為 command ,
在PWM_OUT() 中又會變更為u , 這樣就會出現你自己發現的問題 "那輸出怎麼還會維持在6度??"

Eigen大大問的問題提示了如何修改你的PWM輸出 , 你有想通了嗎 ??

以下的公式給你參考:
PWM OUT = command + kp * error + ki * sum(error) + kd * (new error - old error)

發表於: 2008/11/6 0:05
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PID程式問題
#19
資深會員
資深會員


查看用戶資訊
假設
pwm輸出 10% capture 周期 100

pwm輸出 20% capture 周期 200

pwm輸出 30% capture 周期 300

pwm輸出 40% capture 周期 400



現在周期是 100 ,目標周期是 500

你要怎麼做?

一、直接輸出到 50%

二、一次增加 『10%』 『慢慢』加到 『50%』

三、『慢慢地』增加 『1%』 『慢慢地』加到 『50%』

這就是 p ,也是最簡單的模型

又會產生什麼問題呢?建議你上網多多 surf 相關 pid 的資料


一、的做法會如何

二、的做法又會如何

三、的做法又會如何

想一想吧


重點: 多久輸出、輸出多少

發表於: 2008/11/5 14:54
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PID程式問題
#18
中級會員
中級會員


查看用戶資訊
如Eigen大大所說的

那我是不是該把控制命令與回授訊號還有誤差值

甚至其他定義都改為unsigned int 來處理呢??


另外 我覺得我有一個模糊的觀念

在控制上我可以透過書本去計算得到kp ki kd值

也知道他們是比例積分微分關係


可是我有一個想法

假設我用最簡單的p控制來說 假如我控制命令減去回授

得到的誤差為0 代表此時輸出與輸入控制相等 達到控制

我有一個疑問就是那誤差為0時 我的p控制輸出為0

那p後面的輸出不就沒有動作? 譬如說控制命令6度

回授6度 相減得到0度 代表沒有誤差 此時p控制輸出為0

那輸出怎麼還會維持在6度??

還是說我少寫一些程式判別??

發表於: 2008/11/5 13:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PID程式問題
#17
資深會員
資深會員


查看用戶資訊
最早在電力系統計算時, 因為線路變壓器太多, 發展出一套標么值(pu)系統, 所有參數都要正規化, 計算過程中只有-1~+1, 再任何一側計算的結果, 都可直接映射到任一側.

對應到現在的Q格式, 就好比Q15, 原理一模一樣, 但是Q格式是專為數位所產出, 因此才又有Q0~Qxx, 那麼出個習題:

Q1 +Q15 = Q?
Q15+Q15 = Q?
Q15*Q15 + Q15+Q15 = Q?
Q1 *Q15 + Q2 +Q8 = Q?

發表於: 2008/11/5 13:19

Edited by edwardlee on 2008年11月05日 13:40:58
Thanks,
Edward Lee
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PID程式問題
#16
中級會員
中級會員


查看用戶資訊
我是用來控制風扇馬達的

發表於: 2008/11/5 13:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PID程式問題
#15
資深會員
資深會員


查看用戶資訊
你到底要用 pid 控制什麼東西?

發表於: 2008/11/5 12:56
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PID程式問題
#14
資深會員
資深會員


查看用戶資訊
在此之前我從未聽過 什麼叫做 q 格式

不過我們在處理 pid 的手法卻和 q格式一樣

我們會將參數、輸出、變數 放大 2^16

ex: kp = 0.5441;

我會改成 kp = 35658

不要用 浮點數,8bit mcu 會做死,你也會做死

不能用一般 pc的想法來實作 mcu

8bit mcu 帶 c compiler 只是讓初學者看似容易入門罷了

真的要實作出產品,還是需要有組合語言的基礎

發表於: 2008/11/5 12:55
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PID程式問題
#13
資深會員
資深會員


查看用戶資訊
網路上抄下來的:

Q格式:小數點位於第 n 位元之右側,稱為Qn 格式。例如;
16 位元二進位無號數:0100 0010 1000 0001
a在Q0格式下其表示的是:2^14+2^9+2^7+2^0=17025(d)
a在Q8格式下其表示的是:2^6+2^1+2^-1+2^-8=66.50390~(d)
a在Q16格式下其表示的是:2^-2+2^-7+2^-9+2^-16=0.25978~(d)
進行加法或減法時,Q格式並不會影響運算法則,兩個Q8 格式的小數相
加,所得到的數值仍是Q8格式。兩個Q6格式相減,所得到的數值仍是Q6格
式。因此在定點數之加減運算並不因Q格式不同而有差異。不過可能會產生溢位(overflow),而且不同格式的數值不能直接相加減。
乘法時,Q格式便會影響運算結果。兩個16 位元數做乘法,會得到32 位元數。此時只能取16位元。
aQ0 格式:取運算結果最低的16 位元,刪除較高的16 位元。
aQ16 格式:取運算結果最高的16 位元,刪除較低的16 位元。
3
處理有數號是採Q15格式來表示定點數,因為MSB被用來表示正負號。且在乘法運算不考慮溢位的問題。
舉例:+0.5 × (-0.5) = -0.25
1.100 0000 0000 0000× 0.100 0000 0000 0000
s⊕s.11 0000 0000 0000 0000 0000 0000 0000
得到的結果MSB 為兩數的MSB 做XOR 求得,並取上面畫底線Q15 的部分
可得1.110 0000 0000 0000 (16bit)。為了使結果也是Q15 格式,由於最高兩位元
僅是表示正負號,所以DSP會自行將結果的最高位元捨棄。

發表於: 2008/11/5 12:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PID程式問題
#12
中級會員
中級會員


查看用戶資訊
另外一提

葛大哥說用MATLAB跑出來的KP KI KD值

並不能拿來用在我的PIC16F917使用

他說KP KI KD值 只能用測試法來調了


請問有經驗的 是這樣??

發表於: 2008/11/5 11:44
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問PID程式問題
#11
資深會員
資深會員


查看用戶資訊
大家好:
個人也想了解何謂Q格式,煩請告知.
Thanks.

發表於: 2008/11/5 11:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------