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

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

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

PID到底是什么PID的本質(zhì)詳細(xì)分析

Wildesbeast ? 來源:未知 ? 作者:遛電子的老李 ? 2020-02-06 14:43 ? 次閱讀

入住頭條有1年多了,第一次發(fā)文。我是一只在無人機(jī)領(lǐng)域的嵌入式工程獅,看了頭條上很多的對PID解說的專業(yè)文章,幾乎都是從控制上切入的,這里我從不同的角度來分析PID。

先說結(jié)論:PID的本質(zhì)是跟隨器,用于跟蹤給定信號(hào)

很多朋友在這里又會(huì)發(fā)問了,PID不是控制器嗎?在某權(quán)威百科上面的解釋就是:比例(P)積分(I)微分(D)控制,簡稱PID控制。這是沒錯(cuò)的,PID算法從100年前開始出現(xiàn),就開始廣泛的用于工業(yè)控制,PID的起源就是用于做控制器??雌饋鞵ID和控制是分不開的,實(shí)則不然。

從PID的公式也可以看出,e是目標(biāo)量和輸出量的偏差,當(dāng)誤差e趨近0時(shí),輸出u將收斂到一個(gè)固定值。最終PID實(shí)現(xiàn)的效果就是將目標(biāo)量和輸出量兩者的偏差歸零,當(dāng)目標(biāo)量變化時(shí),輸出量也會(huì)跟隨著目標(biāo)量變化,也就是說輸出量通過PID來跟隨目標(biāo)量。

下面我從兩個(gè)例子來說明PID分別作為控制器使用和信號(hào)跟隨器的使用。

PID作為控制器——水箱液位控制

這里水箱的液位我們假設(shè)沒有延遲,設(shè)計(jì)一個(gè)PID控制器來控制液位,誤差e為目標(biāo)液位和輸出量為液位之差。u為執(zhí)行器輸出,這里是閥門開度,大于0為注水,小于0為放水。具體代碼不在此贅述。

剛開始的時(shí)候,把液位設(shè)置到5米,2秒后實(shí)際液位基本到達(dá)5米。在50s的時(shí)候,把目標(biāo)液位設(shè)置為2米,液位下降,2秒后穩(wěn)定到2米。說明PID完成了它原始的使命——作為控制器使用。

PID作為信號(hào)跟隨器——傾角傳感器的設(shè)計(jì)

這里傾角傳感器的設(shè)計(jì)就不涉及到任何控制了。我們的目標(biāo)是測量角度,硬件選用加速度計(jì)和陀螺儀構(gòu)成。為了方便,我們只測量單軸角度,這里用2軸微電子加速度計(jì)和1軸微電子陀螺儀。

陀螺儀的輸出量是角速度,角速度積分就是角度,這不是用陀螺儀就能解決了嗎?為什么還要加速度計(jì)呢?是因?yàn)橥勇輧x輸出的角速度包含有各種噪聲,積分得到的角度會(huì)隨著時(shí)間誤差越來越大。具體的可以看下面的圖像分析。

上面左圖是以1度/秒的角速度運(yùn)動(dòng)10秒,右圖在角速度1度/秒的基礎(chǔ)上加了±0.5度/秒的隨機(jī)噪聲,可以發(fā)現(xiàn)在10秒后角度值為106度(圖可能看不清),這是因?yàn)榻嵌戎档墨@取是通過角速度積分得到的,存在累計(jì)誤差。而加速度計(jì)具備良好的穩(wěn)定性,測量的偏移也很小,最重要的是它測量的角度沒有累計(jì)誤差。

θacc是加速度計(jì)測量的傾角。定義當(dāng)測量角為0時(shí),az沿著重力方向豎直向下,和重力加速度的關(guān)系是az=g*cos(θacc),ax垂直于az,和重力加速度的關(guān)系是az=g*sin(θacc)。這就是加速度計(jì)測量傾角的原理。

那既然加速度計(jì)沒有累計(jì)誤差,測量比陀螺儀更好,用加速度計(jì)就夠了嘛,為什么一定要用陀螺儀呢?因?yàn)榧铀俣扔?jì)測量的物理量是比力,而非加速度,加速度是通過比力計(jì)算得到的。加速度計(jì)不能分辨出是地球引力還是運(yùn)動(dòng)外力。所以在被測量物體運(yùn)動(dòng)的時(shí)候?qū)o法得到準(zhǔn)確的傾角。這個(gè)時(shí)候陀螺儀就起作用了,因?yàn)橥勇輧x對運(yùn)動(dòng)加速度不敏感。

陀螺儀短時(shí)間內(nèi)計(jì)算的角度很準(zhǔn)確,但時(shí)間長了會(huì)產(chǎn)生累計(jì)誤差,加速度計(jì)長時(shí)間內(nèi)的穩(wěn)定彌補(bǔ)了陀螺儀的短缺。加速度計(jì)在運(yùn)動(dòng)的情況下測量有誤差,陀螺儀對運(yùn)動(dòng)不敏感。

所以可以用兩者的互補(bǔ)關(guān)系,來設(shè)計(jì)一個(gè)傾角傳感器。那這里面怎么用到PID的性質(zhì)呢?

我們把加速度求得的角度θacc作為目標(biāo)量,我們把陀螺儀積分角度θgyro作為輸出量。讓陀螺儀角度跟隨著加速度角度。設(shè)計(jì)PI跟隨器,調(diào)節(jié)參數(shù),讓陀螺儀積分角度θgyro慢慢跟隨加速度計(jì)算的角度θacc。下圖是計(jì)算周期為50ms時(shí),kp=0.2,ki=0.005時(shí)的效果圖像。角速度噪聲±0.5度/秒。加速度受到運(yùn)動(dòng)的影響,角度噪聲為±2度。

在0秒時(shí)以角速度10度/秒運(yùn)動(dòng)2秒,在2秒時(shí)角速度以-10度/秒運(yùn)動(dòng)4秒。下面是6s到10s的放大圖。

真實(shí)角度(藍(lán)色)為-21度,陀螺儀積分角度(紫色)漂移了2度左右,加速度計(jì)計(jì)算角度(綠)噪聲為±2度,組合角度(紅,即陀螺儀積分角度跟隨加速度計(jì)計(jì)算角度的結(jié)果)保持在真實(shí)角度附近,誤差不到1度,說明PID完成了它的本質(zhì)工作——作為信號(hào)跟隨器使用。

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

    關(guān)注

    2545

    文章

    50446

    瀏覽量

    751076
  • 陀螺儀
    +關(guān)注

    關(guān)注

    44

    文章

    776

    瀏覽量

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

    關(guān)注

    35

    文章

    1469

    瀏覽量

    85193
收藏 人收藏

    評論

    相關(guān)推薦

    uboot代碼詳細(xì)分析

    [url=]uboot代碼詳細(xì)分析[/url]
    發(fā)表于 01-29 13:51

    labview pid 輸出的值,到底是個(gè)什么意思

    如題: labview pid 輸出的值,到底是個(gè)什么意思,求答
    發(fā)表于 11-23 09:09

    Labview PID工具包輸出的值到底是什么值

    PID輸出的值到底是什么含義啊
    發(fā)表于 05-02 20:25

    詳細(xì)分析一下USB協(xié)議

    本文跟大家一起詳細(xì)分析一下USB協(xié)議。
    發(fā)表于 05-24 06:16

    詳細(xì)分析stm32f10x.h

    每日開講---學(xué)習(xí)STM32不得不看的剖析(詳細(xì)分析stm32f10x.h)摘要: 學(xué)習(xí)STM32不得不看的剖析(詳細(xì)分析stm32f10x.h)。/**這里是STM32比較重要的頭文件*******************************************
    發(fā)表于 08-05 07:44

    PID控制器的作用到底是什么

    問題,控制器的作用到底是什么?相信不少同學(xué)在學(xué)習(xí)自動(dòng)控制原理的時(shí)候,接觸最多的是:直接對傳遞函數(shù)進(jìn)行分析,比如研
    發(fā)表于 09-07 07:39

    PID控制算法到底是什么?

    PID控制算法到底是什么?
    發(fā)表于 10-11 07:14

    詳細(xì)分析了VTIM和VMIN的功能

    上一篇文章中,我們詳細(xì)分析了VTIM和VMIN的功能,《嵌入式Linux 串口編程系列2--termios的VMIN和VTIME深入理解》 也明白了這兩個(gè)參數(shù)設(shè)計(jì)的初衷和使用方法,接下來我們 就詳細(xì)
    發(fā)表于 11-05 07:09

    PID到底是什么

    了解PID1、所謂PID指的是Proportion-Integral-Differential。翻譯成中文是比例P-積分I-微分D。記住兩句話:1、PID是經(jīng)典控制(使用年代久遠(yuǎn))2、PID
    發(fā)表于 01-14 07:47

    Buck變換器原理詳細(xì)分析

    Buck變換器原理詳細(xì)分析
    發(fā)表于 09-15 17:26 ?30次下載
    Buck變換器原理<b class='flag-5'>詳細(xì)分析</b>

    詳細(xì)分析PID控制算法原理和調(diào)試口訣

    PID是一個(gè)閉環(huán)控制算法。因此要實(shí)現(xiàn)PID算法,必須在硬件上具有閉環(huán)控制,就是得有反饋。
    的頭像 發(fā)表于 08-13 14:18 ?2.2w次閱讀
    <b class='flag-5'>詳細(xì)分析</b><b class='flag-5'>PID</b>控制算法原理和調(diào)試口訣

    PID調(diào)節(jié)到底是什么?PID調(diào)節(jié)和PID控制原理的詳細(xì)資料說明

    經(jīng)??吹接嘘P(guān)PID調(diào)節(jié)問題書籍,看來看去看不懂他們再說什么。還有一些技術(shù)員一提起PID調(diào)節(jié),就搖頭,搞不懂呀!那么PID調(diào)節(jié)的實(shí)質(zhì)是什么?通俗的概念是什么?我們通過圖1進(jìn)行分析
    發(fā)表于 08-07 08:00 ?13次下載
    <b class='flag-5'>PID</b>調(diào)節(jié)<b class='flag-5'>到底是</b>什么?<b class='flag-5'>PID</b>調(diào)節(jié)和<b class='flag-5'>PID</b>控制原理的<b class='flag-5'>詳細(xì)</b>資料說明

    徹底搞懂PID到底是

    先來徹底搞懂PID到底是啥? PID,就是比例(proportional)、積分(integral)、微分(differential),是一種很常見的控制算法。在工程實(shí)際中,應(yīng)用最為廣泛的調(diào)節(jié)器控制
    的頭像 發(fā)表于 11-13 18:21 ?2.5w次閱讀

    PID到底是什么

    PID,就是“比例(proportional)、積分(integral)、微分(derivative)”,是一種很常見的控制算法。PID 已經(jīng)有 107 年的歷史了。它并不是什么很神圣的東西,大家
    發(fā)表于 12-18 09:06 ?20次下載
    <b class='flag-5'>PID</b><b class='flag-5'>到底是</b>什么

    正激有源鉗位的詳細(xì)分析

    正激有源鉗位的詳細(xì)分析介紹。
    發(fā)表于 06-16 16:57 ?61次下載