0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

pid值如何轉(zhuǎn)化成pwm占空比 pid輸出是怎么計(jì)算出來(lái)的

要長(zhǎng)高 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2023-11-10 17:11 ? 次閱讀

pid值如何轉(zhuǎn)化成pwm占空比

將PID控制算法的輸出轉(zhuǎn)化為PWM占空比的具體方法取決于具體的應(yīng)用和硬件平臺(tái)。下面是一般常用的思路和步驟:

1. **確定PWM范圍和輸出方式**:

- 確定PWM的輸出范圍,例如0%到100%的占空比。

- 確定PWM輸出的方式,如利用硬件定時(shí)器模塊或軟件實(shí)現(xiàn)。

2. **設(shè)定PID輸出范圍和映射關(guān)系**:

- 根據(jù)具體應(yīng)用需求,設(shè)定PID控制算法的輸出范圍,通常與PWM的占空比范圍對(duì)應(yīng)。

- 將PID輸出映射到PWM占空比范圍,建立一個(gè)映射函數(shù)或映射表來(lái)實(shí)現(xiàn)。

3. **線性映射**(可選):

- 如果PID輸出范圍與PWM占空比范圍不完全一致,可以進(jìn)行線性映射,將PID輸出進(jìn)行放大或縮小,以適應(yīng)PWM占空比范圍。

4. **輸出PWM占空比**:

- 使用編程語(yǔ)言或相關(guān)庫(kù)函數(shù),通過(guò)設(shè)置相應(yīng)的寄存器或調(diào)用相應(yīng)的函數(shù),將PID輸出轉(zhuǎn)化為PWM占空比。

- 根據(jù)具體的單片機(jī)和開(kāi)發(fā)平臺(tái),具體的實(shí)現(xiàn)方式可能有所不同,可以參考相關(guān)的文檔或開(kāi)發(fā)者資源。

PID控制輸出通常是連續(xù)的,而PWM占空比是離散的。因此,在每個(gè)PID更新周期內(nèi),需要將連續(xù)的PID輸出轉(zhuǎn)化為離散的PWM占空比,可以通過(guò)取整操作(如四舍五入)或舍入操作來(lái)實(shí)現(xiàn)。

此外,輸出的PWM占空比還可以受限制于硬件限制(如PWM模塊的精度和頻率范圍)、電源限制和控制對(duì)象的響應(yīng)特性等。因此,在實(shí)際應(yīng)用中,可能需要進(jìn)行實(shí)驗(yàn)和調(diào)試,逐步微調(diào)PID參數(shù)和PWM設(shè)置,以達(dá)到較好的控制效果。

PID計(jì)算怎么調(diào)節(jié)PWM波占空比

最適中的解決辦法 就是 從實(shí)際(項(xiàng)目應(yīng)用)出發(fā),PID的計(jì)算結(jié)果X,從而引起 PWM 100%輸出的時(shí)候。相反 PID的計(jì)算結(jié)果Y,從而引起 PWM 0%輸出的時(shí)候。 確定這個(gè)后, 你就清楚 PID 結(jié)果 (X:Y )就對(duì)應(yīng) PWM(100%:0%)。 可以認(rèn)為他們純比例關(guān)系了。

說(shuō)的通俗一點(diǎn),你看下pid的計(jì)算公式,三個(gè)線性部分的參數(shù)都是你自己調(diào)的,因此pid的計(jì)算結(jié)果完全由參數(shù)的給定而確定,你可以自己規(guī)定一個(gè)輸出范圍,比如0~100,設(shè)定計(jì)算結(jié)果超過(guò)100就置100,小于0就置0,再來(lái)根據(jù)你想要的輸出范圍來(lái)進(jìn)行參數(shù)確定。

pid輸出是怎么計(jì)算出來(lái)的

PID(Proportional-Integral-Derivative,比例-積分-微分)控制器的輸出是根據(jù)PID算法計(jì)算得出的,它綜合考慮了誤差的比例、積分和微分部分,以調(diào)節(jié)控制對(duì)象的控制量。下面是標(biāo)準(zhǔn)的PID算法計(jì)算公式:

text{PID輸出} = K_p times text{Error} + K_i times int text{Error} , dt + K_d times frac{d text{Error}}{dt} ]

其中:

- ( K_p )、( K_i )、( K_d ) 分別是比例系數(shù)、積分系數(shù)和微分系數(shù),它們是根據(jù)系統(tǒng)特性和控制要求設(shè)置的常數(shù);

- ( text{Error} ) 表示當(dāng)前時(shí)刻的誤差,通常定義為設(shè)定值(期望值)與反饋值的差;

- ( int text{Error} , dt ) 表示誤差的積分,表示誤差隨時(shí)間的累積;

- ( frac{d text{Error}}{dt} ) 表示誤差的微分,表示誤差隨時(shí)間的變化率。

具體地,PID算法的計(jì)算過(guò)程可以簡(jiǎn)述如下:

1. **測(cè)量反饋值**:首先,從控制對(duì)象或傳感器中獲取實(shí)際的反饋值。

2. **計(jì)算誤差**:將設(shè)定值(期望值)與實(shí)際反饋值相減,得到誤差值(Error)。

3. **計(jì)算PID輸出**:根據(jù)上述公式,將比例、積分和微分部分的計(jì)算結(jié)果加權(quán)求和,得到最終的PID輸出值。具體而言:

- 比例部分 ( K_p times text{Error} ) 表示根據(jù)當(dāng)前誤差直接計(jì)算得到的輸出;

- 積分部分 ( K_i times int text{Error} , dt ) 表示根據(jù)誤差隨時(shí)間的累積計(jì)算得到的輸出;

- 微分部分 ( K_d times frac{d text{Error}}{dt} ) 表示根據(jù)誤差隨時(shí)間的變化率計(jì)算得到的輸出。

4. **輸出PID控制量**:將計(jì)算得到的PID輸出值作為控制量,輸出給執(zhí)行機(jī)構(gòu)或控制對(duì)象,以實(shí)現(xiàn)控制調(diào)節(jié)。

這樣,PID控制器根據(jù)當(dāng)前誤差和過(guò)去誤差的積分和微分來(lái)動(dòng)態(tài)調(diào)整輸出,以實(shí)現(xiàn)對(duì)控制對(duì)象的精確控制。在實(shí)際應(yīng)用中,PID參數(shù)的選擇和調(diào)整對(duì)控制效果有重要影響,通常需要基于實(shí)際系統(tǒng)的特性進(jìn)行優(yōu)化和調(diào)試。

pid輸出和pwm占空比怎么聯(lián)系

PID輸出和PWM占空比之間的聯(lián)系通常是通過(guò)簡(jiǎn)單的映射關(guān)系來(lái)實(shí)現(xiàn)。在控制系統(tǒng)中,PID控制器的輸出通常代表著控制對(duì)象需要的調(diào)節(jié)量,而PWM(脈沖寬度調(diào)制)信號(hào)則是一種常用的控制執(zhí)行方式,通過(guò)調(diào)節(jié)高電平的持續(xù)時(shí)間來(lái)實(shí)現(xiàn)對(duì)執(zhí)行器(如電機(jī)、閥門等)的控制。

一般來(lái)說(shuō),將PID輸出轉(zhuǎn)化為PWM占空比可以按照下面的步驟來(lái)進(jìn)行:

1. **確定輸出范圍和映射關(guān)系**:首先,需要確定PID控制器的輸出范圍(通常是一個(gè)實(shí)數(shù)范圍)以及PWM信號(hào)的占空比范圍(通常是一個(gè)百分比)。然后建立一個(gè)映射關(guān)系,將PID輸出值映射到PWM占空比范圍。

2. **線性映射**:通常,PID控制器的輸出是一個(gè)連續(xù)的實(shí)數(shù)值,而PWM占空比是離散的、有限的取值。因此,可能需要進(jìn)行線性映射,將PID輸出通過(guò)一定的比例映射到PWM占空比范圍內(nèi)。例如,可以通過(guò)簡(jiǎn)單的比例關(guān)系將PID輸出乘以一個(gè)系數(shù)(通常是一個(gè)常數(shù)),以得到對(duì)應(yīng)的PWM占空比。

3. **離散化處理**:由于PWM信號(hào)是離散的,通常需要將連續(xù)的PID輸出值離散化為符合PWM的占空比取值。這可能涉及到取整或四舍五入等操作,以得到最終的PWM占空比值。

4. **輸出PWM信號(hào)**:最后,根據(jù)計(jì)算得到的PWM占空比值,生成相應(yīng)的PWM信號(hào),并輸出給執(zhí)行器,以實(shí)現(xiàn)對(duì)控制對(duì)象的調(diào)節(jié)。

在實(shí)際應(yīng)用中,可能還需要考慮到PWM信號(hào)的頻率、占空比變化的平滑性等問(wèn)題。另外,一些硬件平臺(tái)可能會(huì)提供相應(yīng)的庫(kù)函數(shù)或驅(qū)動(dòng)來(lái)簡(jiǎn)化PWM的生成和輸出過(guò)程,開(kāi)發(fā)者可以根據(jù)具體的硬件平臺(tái)和開(kāi)發(fā)環(huán)境選擇合適的方法來(lái)實(shí)現(xiàn)PID輸出到PWM占空比的轉(zhuǎn)換。

編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628315
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15879

    瀏覽量

    175348
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    114

    文章

    5057

    瀏覽量

    212178
  • PID
    PID
    +關(guān)注

    關(guān)注

    35

    文章

    1466

    瀏覽量

    84832
  • PID控制
    +關(guān)注

    關(guān)注

    10

    文章

    449

    瀏覽量

    39929
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    IcalibrationFSP 0.0002這個(gè)是怎么計(jì)算出來(lái)的?

    如上述截圖(UG-1098 51頁(yè)),有以下幾點(diǎn)不明白: 1)IcalibrationFSP 0.0002這個(gè)是怎么計(jì)算出來(lái)的,最好說(shuō)明下推導(dǎo)過(guò)程,這個(gè)和ADE9000的動(dòng)態(tài)范圍及互感器的比值
    發(fā)表于 12-25 08:14

    LTSR 25-NP計(jì)算出來(lái)的電流誤差特別大,為什么?

    大家好,我現(xiàn)在使用的電流傳感器是lem的LTSR 25-NP,其中電流和輸出電壓關(guān)系是:v=2.5+0.025*I,現(xiàn)在的AD采樣輸入范圍是0-3V,中間有一個(gè)放大倍數(shù),但是即使這樣,電壓稍微波動(dòng)一些,計(jì)算出來(lái)的電流誤差就特別大,請(qǐng)大家支招,謝謝!
    發(fā)表于 09-03 08:18

    功率設(shè)定問(wèn)題:這個(gè)電路輸出為7W是如何計(jì)算出來(lái)的呢?

    【不懂就問(wèn)】圖中,是一個(gè)輸出為7W的低頻功率放大器【1】這個(gè)電路輸出為7W是如何計(jì)算出來(lái)的呢?【2】VD1,VD2,VD3所在縱向這一條支路上的器件有什么作用?(VD2和VD3之間是有節(jié)點(diǎn)
    發(fā)表于 07-13 08:42

    使用ADISIMPLL設(shè)計(jì)環(huán)路濾波器時(shí)計(jì)算出來(lái)的電容太大如何解決?

    在使用ADISIMPLL時(shí)遇到一個(gè)問(wèn)題,由于選用OCXO, Kv很小1E-7左右,設(shè)計(jì)環(huán)路濾波器時(shí)計(jì)算出來(lái)的電容太大,請(qǐng)問(wèn)如何解決?
    發(fā)表于 09-13 11:02

    請(qǐng)問(wèn)信噪比是怎么計(jì)算出來(lái)

    我看到《ADI模數(shù)轉(zhuǎn)換器應(yīng)用筆記》中第137頁(yè)中說(shuō) 這個(gè)信噪比是怎么計(jì)算出來(lái)的呢?
    發(fā)表于 09-13 10:54

    這個(gè)電阻2.2如何計(jì)算出來(lái)的,oa ob 的最大電流是多少?

    這個(gè)電阻2.2如何計(jì)算出來(lái)的,oa ob 的最大電流是多少》
    發(fā)表于 10-14 00:32

    典型射極跟隨器設(shè)計(jì)中的電容是怎么計(jì)算出來(lái)的?

    PS:圖片上有圖,下面的文字是設(shè)計(jì)過(guò)程。已知:音頻信號(hào)為20Hz~20kHz。靜態(tài)電流為1mAVcc=+15VVe=+7.5VRe=7.5kΩVb=8.1VR1=130kΩR2=150kΩ問(wèn):C1的阻抗Zc=? , C1=? , 是如何計(jì)算出來(lái)的?
    發(fā)表于 05-21 14:53

    直流無(wú)刷電機(jī)的定子繞組繞多少匝是用什么公式計(jì)算出來(lái)的?

    請(qǐng)問(wèn)哪位大神知道直流無(wú)刷電機(jī)的定子繞組繞多少匝?是用什么公式計(jì)算出來(lái)的呢?分享一下!
    發(fā)表于 04-21 14:47

    PWM占空比是怎么計(jì)算出來(lái)的?

    逆變器要使用PWM來(lái)控制IGBT生成交流。其他PWM占空比是怎么計(jì)算出來(lái)的。
    發(fā)表于 08-04 06:53

    請(qǐng)問(wèn)Calibre電路版圖W L是怎么各自計(jì)算出來(lái)的?

    請(qǐng)問(wèn)Calibre電路版圖W L是怎么各自計(jì)算出來(lái)的?
    發(fā)表于 06-23 08:03

    求累加器B的結(jié)果是怎么計(jì)算出來(lái)的?

    各位大佬,請(qǐng)問(wèn)圖中兩個(gè)列子中累加器B的結(jié)果是怎么計(jì)算出來(lái)的?
    發(fā)表于 10-22 22:35

    op1177運(yùn)放輸入阻抗是怎么計(jì)算出來(lái)的啊?

    上面的電路中,反相輸入阻抗為100K,而同相輸入阻抗為200K,是怎么計(jì)算出來(lái)的啊?
    發(fā)表于 11-28 06:58

    電路是計(jì)算出來(lái)

    電路教程相關(guān)知識(shí)的資料,關(guān)于電路是計(jì)算出來(lái)
    發(fā)表于 10-10 14:17 ?0次下載

    Apollo的三個(gè)問(wèn)題和解答控制命令計(jì)算出來(lái)是發(fā)布給誰(shuí)呢?

    控制命令計(jì)算出來(lái)是發(fā)布給誰(shuí)呢?ROS嗎? 很好的問(wèn)題,Control_command經(jīng)過(guò)控制模塊輸出為車輛的控制信息之后,作為與車輛交互的指令,傳遞給CANBUS模塊,由該模塊解析為CAN協(xié)議報(bào)文
    的頭像 發(fā)表于 07-15 09:54 ?4237次閱讀

    dd馬達(dá)偏差量怎么計(jì)算出來(lái)

    反映了電機(jī)的實(shí)際位置與期望位置之間的差異。 計(jì)算DD馬達(dá)偏差量的基本步驟如下: 確定期望位置:期望位置是系統(tǒng)希望電機(jī)達(dá)到的目標(biāo)位置。這可以是用戶輸入的,也可以是系統(tǒng)根據(jù)某種算法計(jì)算出來(lái)
    的頭像 發(fā)表于 07-11 15:05 ?338次閱讀