找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10089|回復(fù): 11
打印 上一主題 下一主題
收起左側(cè)

PID算法與pwm占空比對應(yīng)問題

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:296794 發(fā)表于 2018-8-21 15:07 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
通過PID算法算出來的結(jié)果怎樣與pwm的占空比相對應(yīng)?求解答

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:98526 發(fā)表于 2018-8-21 16:21 | 只看該作者
線性對應(yīng)
回復(fù)

使用道具 舉報

板凳
ID:89515 發(fā)表于 2018-8-21 16:57 | 只看該作者
這個是不需要對應(yīng)的,只是算出的PID值做極限設(shè)定就可以。比如你的PWM值最大是200;那么你的PID值如果大于等于200就是200.如果PID值小于0可以讓它等于0;這樣PID值最終被限定在0到200間變化。當(dāng)然你肯定不希望PID值常常超出界限,這樣不好控制,所以要確定一下你的PID值達到了哪一個量級,然后PWM也能達到這個量級就更好。

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

地板
ID:388614 發(fā)表于 2018-8-21 17:04 | 只看該作者
PID輸出范圍限定為PWM的范圍。
回復(fù)

使用道具 舉報

5#
ID:346116 發(fā)表于 2018-10-1 00:15 | 只看該作者
很多剛開始接觸pid的人,都不知道如何利用pid計算后的結(jié)果,我見過的教材也沒有說,網(wǎng)上的資料也很少詳細的介紹。其實pid并沒有規(guī)定輸出域,換句話說pid是個沒有單位的東西,既然如此你想怎么用就怎么用,所以它才能應(yīng)用在不同的領(lǐng)域,控制速度、控制水位、控制溫度、控制角度等等。二樓說得已經(jīng)很好了。我補充一下,現(xiàn)在很多單片機都帶有pwm模塊,假如pwm模塊現(xiàn)在設(shè)置的頻率是1000Hz,其控制寄存器寫入0xffff就是1000Hz,寫入0就是0Hz。你把計算出來的pid結(jié)果寫入pwm模塊的控制寄存器就可以了。當(dāng)然具體的操作還得做些限值處理,計算結(jié)果不要超過控制寄存器的值。對于沒有pwm模塊的單片機,那只能軟件模擬了,這個也不難。總體來說基礎(chǔ)型的pid是很簡單的,簡單得不得了,pid控制的難點就在參數(shù)的整定。

評分

參與人數(shù) 1黑幣 +60 收起 理由
admin + 60 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

6#
ID:416383 發(fā)表于 2018-10-27 17:38 | 只看該作者
問一下PID是什么意思
回復(fù)

使用道具 舉報

7#
ID:456588 發(fā)表于 2019-5-29 21:48 | 只看該作者
51heidzi 發(fā)表于 2018-10-27 17:38
問一下PID是什么意思

比例積分微分
回復(fù)

使用道具 舉報

8#
ID:613834 發(fā)表于 2020-9-5 16:16 | 只看該作者
mengzhixinheng 發(fā)表于 2018-8-21 16:57
這個是不需要對應(yīng)的,只是算出的PID值做極限設(shè)定就可以。比如你的PWM值最大是200;那么你的PID值如果大于等 ...

您好,請問誤差=實際值-設(shè)定值,實際值是轉(zhuǎn)速可以測得,那么設(shè)定值怎么給?是通過占空比來算出來的嗎?
回復(fù)

使用道具 舉報

9#
ID:89515 發(fā)表于 2020-9-5 22:11 來自手機 | 只看該作者
gaoyan 發(fā)表于 2020-9-5 16:16
您好,請問誤差=實際值-設(shè)定值,實際值是轉(zhuǎn)速可以測得,那么設(shè)定值怎么給?是通過占空比來算出來的嗎?

把PID算法看做黑匣子。你給什么他就出什么。如果你要控制轉(zhuǎn)速,當(dāng)然要給轉(zhuǎn)速。要控制溫度就給溫度!你得給啊,你不給,它怎么曉得你要干嘛。要用什么方法控制與算法沒什么關(guān)系。所以你要設(shè)定想要的轉(zhuǎn)速與占空比也沒什么關(guān)系,占空比變化是你關(guān)聯(lián)算法后算法自動控制的。
回復(fù)

使用道具 舉報

10#
ID:478514 發(fā)表于 2020-9-7 08:03 | 只看該作者

PID輸出時范圍限定為PWM的范圍。
回復(fù)

使用道具 舉報

11#
ID:816586 發(fā)表于 2020-9-7 08:43 | 只看該作者
線性對應(yīng)
回復(fù)

使用道具 舉報

12#
ID:833190 發(fā)表于 2020-10-27 08:58 | 只看該作者
gaoyan 發(fā)表于 2020-9-5 16:16
您好,請問誤差=實際值-設(shè)定值,實際值是轉(zhuǎn)速可以測得,那么設(shè)定值怎么給?是通過占空比來算出來的嗎?

負反饋的誤差一般是設(shè)定值(給定值)減去實際值(反饋值),實際值可以通過傳感器測量得到,給定值是你想讓他輸出多少,比如你說的轉(zhuǎn)速,你想讓轉(zhuǎn)速輸出多少,給定值就設(shè)置多少,然后誤差通過PID計算,得到結(jié)果作為PWM輸入值。最好是PID輸出范圍控制在PWM輸入范圍(這個范圍與PWM周期以及PWM的具體設(shè)置有關(guān))之內(nèi)。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表