国产乱人视频免费观看网站,九九精品视频在线观看,九九久re8在线精品视频,日韩久久精品五月综合

<menu id="zjelp"></menu>

    <th id="zjelp"><tbody id="zjelp"><form id="zjelp"></form></tbody></th>
    <small id="zjelp"><menuitem id="zjelp"></menuitem></small>
  • <small id="zjelp"></small>

    <address id="zjelp"></address>
    <address id="zjelp"></address>
    PID算法原理,PID源碼,自整定,及工具

    PID算法原理,PID源碼,自整定,及工具

    ID:41385247

    大?。?93.65 KB

    頁(yè)數(shù):5頁(yè)

    時(shí)間:2019-08-23

    PID算法原理,PID源碼,自整定,及工具_(dá)第1頁(yè)
    PID算法原理,PID源碼,自整定,及工具_(dá)第2頁(yè)
    PID算法原理,PID源碼,自整定,及工具_(dá)第3頁(yè)
    PID算法原理,PID源碼,自整定,及工具_(dá)第4頁(yè)
    PID算法原理,PID源碼,自整定,及工具_(dá)第5頁(yè)
    資源描述:

    《PID算法原理,PID源碼,自整定,及工具》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

    1、一、PID的數(shù)學(xué)模型在工業(yè)應(yīng)用中PID及其衍生算法是應(yīng)用最廣泛的算法之一,是當(dāng)之無(wú)愧的萬(wàn)能算法,如果能夠熟練掌握PID算法的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,對(duì)于一般的研發(fā)人員來(lái)講,應(yīng)該是足夠應(yīng)對(duì)一般研發(fā)問(wèn)題了,而難能可貴的是,在很多控制算法當(dāng)中,PID控制算法又是最簡(jiǎn)單,最能體現(xiàn)反饋思想的控制算法,可謂經(jīng)典中的經(jīng)典。經(jīng)典的未必是復(fù)雜的,經(jīng)典的東西常常是簡(jiǎn)單的,而且是最簡(jiǎn)單的。PID算法的一般形式:二、PID的C語(yǔ)言實(shí)現(xiàn)1.位置式PID的C語(yǔ)言實(shí)現(xiàn)上邊已經(jīng)抽象出了位置性PID和增量型PID的數(shù)學(xué)表達(dá)式,這里重點(diǎn)講解C語(yǔ)言

    2、代碼的實(shí)現(xiàn)過(guò)程。第一步:定義PID變量結(jié)構(gòu)體,代碼如下:structt_pid{floatSetSpeed;//定義設(shè)定值floatActualSpeed;//定義實(shí)際值floaterr;//定義偏差值floaterr_last;//定義上一個(gè)偏差值floatKp,Ki,Kd;//定義比例、積分、微分系數(shù)floatvoltage;//定義電壓值(控制執(zhí)行器的變量)floatintegral;//定義積分值}pid;第二部:初始化變量,代碼如下:voidPID_init(){pid.SetSpeed=0.

    3、0;pid.ActualSpeed=0.0;pid.err=0.0;pid.err_last=0.0;pid.voltage=0.0;pid.integral=0.0;pid.Kp=0.2;pid.Ki=0.015;pid.Kd=0.2;}統(tǒng)一初始化變量,尤其是Kp,Ki,Kd三個(gè)參數(shù),調(diào)試過(guò)程當(dāng)中,對(duì)于要求的控制效果,可以通過(guò)調(diào)節(jié)這三個(gè)量直接進(jìn)行調(diào)節(jié)。第三步:編寫(xiě)控制算法,代碼如下:floatPID_realize(floatspeed){pid.SetSpeed=speed;pid.err=pid.

    4、SetSpeed-pid.ActualSpeed;pid.integral+=pid.err;pid.voltage=pid.Kp*pid.err+pid.Ki*pid.integral+pid.Kd*(pid.err-pid.err_last);pid.err_last=pid.err;pid.ActualSpeed=pid.voltage*1.0;returnpid.ActualSpeed;}注意:這里用了最基本的算法實(shí)現(xiàn)形式,沒(méi)有考慮死區(qū)問(wèn)題,沒(méi)有設(shè)定上下限,只是對(duì)公式的一種直接的實(shí)現(xiàn),后面的介紹

    5、當(dāng)中還會(huì)逐漸的對(duì)此改進(jìn)。到此為止,PID的基本實(shí)現(xiàn)部分就初步完成了。下面是測(cè)試代碼:intmain(){PID_init();intcount=0;while(count<1000){floatspeed=PID_realize(200.0);printf("%f",speed);count++;}return0;}2.增量型PID的C語(yǔ)言實(shí)現(xiàn)上一節(jié)中介紹了最簡(jiǎn)單的位置型PID的實(shí)現(xiàn)手段,這一節(jié)講解增量式PID的實(shí)現(xiàn)方法。#include#includestru

    6、ctt_pid{floatSetSpeed;//定義設(shè)定值floatActualSpeed;//定義實(shí)際值floaterr;//定義偏差值floaterr_next;//定義上一個(gè)偏差值floaterr_last;//定義最上前的偏差值floatKp,Ki,Kd;//定義比例、積分、微分系數(shù)}pid;voidPID_init(){pid.SetSpeed=0.0;pid.ActualSpeed=0.0;pid.err=0.0;pid.err_last=0.0;pid.err_next=0.0;pid.K

    7、p=0.2;pid.Ki=0.015;pid.Kd=0.2;}floatPID_realize(floatspeed){pid.SetSpeed=speed;pid.err=pid.SetSpeed-pid.ActualSpeed;floatincrementSpeed=pid.Kp*(pid.err-pid.err_next)+pid.Ki*pid.err+pid.Kd*(pid.err-2*pid.err_next+pid.err_last);pid.ActualSpeed+=incrementSp

    8、eed;pid.err_last=pid.err_next;pid.err_next=pid.err;returnpid.ActualSpeed;}intmain(){PID_init();intcount=0;while(count<1000){floatspeed=PID_realize(200.0);printf("%f",speed);count++;}return0;}3.積分分離的PID控制算法在普通PID控制中,引入積分環(huán)

    當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

    此文檔下載收益歸作者所有

    當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
    溫馨提示:
    1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
    2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
    3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
    4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。