right_angle?right_angle: angle ; angle = angle angle ; PWM_SetSteer((int) angle ); lasterror=error; } 另外,如果想使舵機更順滑,可以對偏差error的計算進行處理,如將歸一" />

那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PID算法的代碼實現

麥辣雞腿堡 ? 來源:古月居 ? 作者:Carry_qing ? 2023-11-28 15:57 ? 次閱讀

PID算法的代碼實現

舵機控制

在對舵機的控制中,我采用的是位置式PD算法。

將左右電感的偏差值賦給error,再代入公式進行解算,最后傳給舵機輸出子函數,控制舵機正確打角。

void steer_control()  
{
    error=AD_M_Left[0]-AD_M_Right[0];
    
    direction_controlout=dirP*error+dirD*(error-lasterror);
    angle=mid_angle+direction_controlout;
    
    angle=angle >right_angle?right_angle:angle;
    angle=angle< left_angle?left_angle:angle;
    
    PWM_SetSteer((int)angle); 
    lasterror=error;
    
}

另外,如果想使舵機更順滑,可以對偏差error的計算進行處理,如將歸一化后的值開方處理等。

電機控制

在對電機的控制中,我采用的是增量式PID算法。

首先要設定一個目標速度set_speed,再將當前速度與其比較,得出的差值代入公式計算,得到最終需要輸出的電機占空比,從而控制電機轉速。

需要注意的是,電機PID控制作為閉環控制,最好將其放入PIT定時器中斷,同時在中斷中用左右兩個編碼器分別測出實時速度,這樣可以使其控制的更精確。

void PID_computer_newL(int left_speed_in)
{
    ec_left=set_speed-left_speed_in;
    
    pwm_L+=speedL_P*(ec_left)+speedL_I*(ec_left-eb_left)+speedL_D*(ec_left-2*eb_left+ea_left);
    if(pwm_L > 600)  pwm_L=600;  
    if(pwm_L< -600)  pwm_L=-600; 
    
    PWM_SetMotorL((int)pwm_L);  
    
    ea_left=eb_left;
    eb_left=ec_left;
    
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PID
    PID
    +關注

    關注

    35

    文章

    1473

    瀏覽量

    85826
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62978
  • 代碼
    +關注

    關注

    30

    文章

    4828

    瀏覽量

    69058
  • 控制算法
    +關注

    關注

    4

    文章

    166

    瀏覽量

    21797
收藏 人收藏

    評論

    相關推薦

    什么是PID,PID算法代碼實現

    在直流有刷電機的基礎驅動中,如果電機負載不變,我們只要設置固定的占空比(電壓),電機的速度就會穩定在目標范圍。
    發表于 03-23 12:32 ?1596次閱讀

    PID控制算法代碼 PID控制算法的原理

    算法的原理,然后帶大家使用FPGA來實現(C語言實現過程特別簡單)。 二. PID算法 PID
    的頭像 發表于 07-20 09:23 ?2888次閱讀
    <b class='flag-5'>PID</b>控制<b class='flag-5'>算法</b><b class='flag-5'>代碼</b> <b class='flag-5'>PID</b>控制<b class='flag-5'>算法</b>的原理

    C51實現PID算法代碼

    C51實現PID算法代碼真正要用PID算法的時候,發現書上的
    發表于 01-10 14:27

    什么是PID控制算法?PID控制算法C語言是如何實現的?

    什么是PID控制算法?PID控制算法C語言是如何實現的?特殊情況下的控制算法該如何去調整?比例、
    發表于 06-29 09:24

    PID算法代碼實現

    目錄一. 緒論二. 角度環串級PID原理1. PID基本算法2. 姿態角串級PID原理三. 如何用STM32實現角度-角速度的串級
    發表于 08-17 06:44

    使用C語言進行PID算法實現

    前文對PID算法離散化和增量式PID算法原理進行來探索,之后又使用Matlab進行了仿真實驗,對PID三個參數又有了更深入的認識,接下來我們
    發表于 09-15 09:20

    基于遺傳算法PID整定_源代碼

    基于遺傳算法PID整定_源代碼
    發表于 09-26 16:31 ?14次下載

    PID算法實現

    PID算法實現
    發表于 12-20 22:54 ?3次下載

    位置式PID算法的C語言代碼

    本文主要介紹位置式PID算法的C語言代碼以及它的寫法,具體的一起來了解一下。
    發表于 02-26 10:17 ?1.3w次閱讀
    位置式<b class='flag-5'>PID</b><b class='flag-5'>算法</b>的C語言<b class='flag-5'>代碼</b>

    PID控制算法原理是什么?pid控制算法的c語言實現介紹和測試代碼概述

    最近兩天在考慮一般控制算法的C語言實現問題,發現網絡上尚沒有一套完整的比較體系的講解。于是總結了幾天,整理一套思路分享給大家。 在工業應用中PID 及其衍生算法是應用最廣泛的
    發表于 08-23 08:00 ?46次下載
    <b class='flag-5'>PID</b>控制<b class='flag-5'>算法</b>原理是什么?<b class='flag-5'>pid</b>控制<b class='flag-5'>算法</b>的c語言<b class='flag-5'>實現</b>介紹和測試<b class='flag-5'>代碼</b>概述

    使用C語言實現51單片機中的PID算法代碼免費下載

    本文檔的主要內容詳細介紹的是使用使用C語言實現51單片機中的PID算法代碼免費下載。
    發表于 09-25 17:17 ?31次下載
    使用C語言<b class='flag-5'>實現</b>51單片機中的<b class='flag-5'>PID</b><b class='flag-5'>算法</b><b class='flag-5'>代碼</b>免費下載

    PID算法原理_調試經驗以及代碼總結

    PID算法原理_調試經驗以及代碼總結分享。
    發表于 05-25 15:59 ?16次下載

    PID算法原理、調試方法及源代碼

    PID算法原理、調試方法及源代碼
    發表于 07-06 10:25 ?17次下載

    PID算法原理、調試經驗以及代碼資料

    PID算法原理、調試經驗以及代碼資料
    發表于 11-21 10:25 ?15次下載

    PID控制算法的C語言實現

    PID算法C實現1、PID算法簡介1.1、各個環節的作用2、位置型PID
    發表于 01-13 13:39 ?45次下載
    <b class='flag-5'>PID</b>控制<b class='flag-5'>算法</b>的C語言<b class='flag-5'>實現</b>
    百家乐官网二号博彩正网| 最好的百家乐博彩网站| 516棋牌游戏下载| 百家乐官网娱乐代理| 大发888娱乐场下载删除| 最新百家乐官网双面数字筹码| KK百家乐娱乐城 | 百家乐官网赢家打法| 韩国百家乐的玩法技巧和规则 | tt百家乐的玩法技巧和规则 | 金矿百家乐的玩法技巧和规则| 任你博百家乐官网现金网| 澳门百家乐网上赌城| 广州百家乐官网酒店用品制造有限公司| 小孟百家乐的玩法技巧和规则| 百家乐官网视频游365| 澳门百家乐网上直赌| 百家乐官网星级游戏| 广州百家乐桌子| 百家乐官网桌| 大发888手机好玩吗| 百家乐官网猪仔路| 金彩娱乐城| 百家乐扫瞄光纤洗牌机扑克洗牌机扑克洗牌机| 体育| 汇丰百家乐的玩法技巧和规则| 什么百家乐官网九宫三路| 皇冠现金网址| 博彩百家乐网址| 百家乐官网投注限额| 大发888 df888| 单机百家乐官网在线小游戏| 大发888官方 黄埔网| 百家乐有作弊的吗| 玩百家乐官网技巧博客| 三亚百家乐的玩法技巧和规则 | 百家乐官网路子分析| 为什么百家乐玩家越来越多选择网上百家乐| 百家乐官网破解版| 金都国际娱乐| 赌场百家乐图片|