在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

第九章-PID整定方法 STM32PID驅動編碼器 STM32PID控制電機轉速

STM32智能小車V1.5 ? 來源:STM32智能小車V1.5 ? 作者:STM32智能小車V1.5 ? 2024-08-21 16:37 ? 次閱讀

功能介紹放開頭, 使用便捷無需愁

這是全網最詳細、性價比最高的STM32實戰項目入門教程,通過合理的硬件設計和詳細的視頻筆記介紹,硬件使用STM32F103主控資料多方便學習,通過3萬字筆記、12多個小時視頻、20多章節代碼手把手教會你如何開發和調試。讓你更快掌握嵌入式系統開發。

V3.3.0-STM32智能小車

視頻: https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click

V3:HAL庫開發、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺控制、電磁循跡、RTOS等功能。

第九章-PID整定方法

9.1-調整合適的采樣周期和PID調參方法

正如之前所說,現在我們PID控制函數是在主函數中循環調用,這樣的調用方式并不能保證實時性,不能保證周期得到調用

所以我們要把PID控制函數放到中斷里面定時執行,那么如何放到中斷里面執行,執行的周期是多少合適那?
在這里插入圖片描述
在這里插入圖片描述

if(TimerCount %10 ==0)//每20ms一次
		{
			Motor_Set(PID_realize(&pidMotor1Speed,Motor1Speed),0);
		    TimerCount=0;
		}
	}

燒錄測試一下,是否可以改變波形和調整參數
在這里插入圖片描述
借助上位機調節PID

  1. 調節P 把I=0、D=0先給正值或負值值測試P 正負、然后根據PID函數輸入和輸出估算P 大小,然后I=0 D=0去測試,調節一個較大值
  2. 調節I 把P等于前面的值 然后測試I給較大正值和負值 測試出I正負,然后I從小值調節,直到沒有偏差存在
  3. 一般系統不使用D
    在這里插入圖片描述
    然后當前系統特點 :I 對于系統更重要

下面我們調節I
在這里插入圖片描述
給一個較小的i 發現 有一個大的超調,我們就減少p 、減小一半p

下面是減少一半p 的效果
在這里插入圖片描述
這個效果還可以

整理雙電機速度控制

首先我們的需要是控制兩個電機,那么這兩個電機的特點不同,他們的P I D 參數不同,要控制不同的目標速度,那么他們的目標值、實際值、偏差等都會不同,所以我們的PID函數就要能夠根據輸入參數控制電機

我們增加tPid 類型函數的定義用于控制電機
在這里插入圖片描述

tPid pid1_speed;//電機1的轉速控制
tPid pid2_speed;//電機2的轉速控制

//初始化PID參數
void PID_init()
{
	pid1_speed.actual_val=0.0;//初始化電機1轉速PID 結構體
	pid1_speed.target_val=0.0;
	pid1_speed.err=0.0;
	pid1_speed.err_last=0.0;
	pid1_speed.err_sum=0.0;
	pid1_speed.Kp=0.0;
	pid1_speed.Ki=0.0;
	pid1_speed.Kd=0.0;
	
	pid2_speed.actual_val=0.0;//初始化電機2轉速PID 結構體
	pid2_speed.target_val=0.0;
	pid2_speed.err=0.0;
	pid2_speed.err_last=0.0;
	pid2_speed.err_sum=0.0;
	pid2_speed.Kp=0.0;
	pid2_speed.Ki=0.0;
	pid2_speed.Kd=0.0;
}

更改一下PID函數,這里我們使用結構體作為函數地址

訪問因為是地址,訪問結構體變量要用->

float PID_realize(tPid * pid,float actual_val)
{
	pid- >actual_val = actual_val;//傳遞真實值
	pid- >err = pid- >target_val - pid- >actual_val;//目標值減去實際值等于誤差值
	pid- >err_sum += pid- >err;//誤差累計求和
	//使用PID控制
	pid- >actual_val = pid- >Kp*pid- >err + pid- >Ki*pid- >err_sum + pid- >Kd*(pid- >err - pid- >err_last);
	//保存上次誤差:最近一次 賦值給上次
	pid- >err_last = pid- >err;
	
	return pid- >actual_val;
}

更改主函數,對PID函數的使用
在這里插入圖片描述

然后可以分別調節電機1的參數和電機二的參數

把測試好的PID 參數分別寫在PID_init里面

以上是入門篇

通過上面的學習與實操,大家對:PWM、電機驅動、PID閉環控制、串口通信等有了一定掌握,如果上面那個章節掌握不好,一定要多看兩遍視頻,多敲邊代碼,還有疑惑可以百度查找或者留言問題。

后面的內容就是偏應用比較簡單了。

這樣咱們第九章就結束了,PID就完成了,后面的章節利用PID做小車控制。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編碼器
    +關注

    關注

    45

    文章

    3737

    瀏覽量

    136315
  • PID
    PID
    +關注

    關注

    37

    文章

    1478

    瀏覽量

    86748
  • 電機轉速
    +關注

    關注

    0

    文章

    67

    瀏覽量

    11548
收藏 人收藏

    評論

    相關推薦

    STM32F103C8T6實現直流電機速度PID控制

    前面完成了基于STM32F103C8T6+L298N+MG513P30直流電機的PWM控制和兩種方法編碼器實時速度反饋,拿到這個反饋值后我
    的頭像 發表于 06-15 16:52 ?5612次閱讀
    <b class='flag-5'>STM32</b>F103C8T6實現直流<b class='flag-5'>電機</b>速度<b class='flag-5'>PID</b><b class='flag-5'>控制</b>

    電機控制PID的問題

    在實際使用電機驅動器控制電機的時候,PID
    發表于 11-17 17:45

    stm32電機驅動編碼器讀取

    系列文章目錄第一節stm32電機驅動編碼器讀取反饋 第二節 stm32電機
    發表于 09-01 08:35

    單級PID控制編碼器的直流減速電機速度

    STM32 Cubemax(七) —— 單級PID控制編碼器的直流減速電機速度文章目錄系列文章目錄前言一、pandas是什么?二、使用步驟
    發表于 09-03 08:01

    STM32電機PID參數

    如何去實現STM32電機PID參數?如何去編寫STM32
    發表于 09-23 08:07

    PID控制器設計與參數方法綜述

    PID控制器設計與參數方法綜述-2005
    發表于 03-31 17:46 ?25次下載

    PID控制最通俗的解釋與PID參數的方法

    PID控制最通俗的解釋與PID參數的方法
    發表于 01-04 14:47 ?43次下載

    基于MATLAB的PID\PID參數自方法概述

    PID控制是最早發展起來的控制策略之一,因為它所涉及的設計算法和控制結構都很簡單,因此,被廣泛應用于過程控制和運動
    發表于 11-24 16:42 ?3.8w次閱讀
    基于MATLAB的<b class='flag-5'>PID</b>\<b class='flag-5'>PID</b>參數自<b class='flag-5'>整</b><b class='flag-5'>定</b><b class='flag-5'>方法</b>概述

    PID控制參數的原理和的的計算方法PID參數的方法和概述

    PID是比例、積分、微分的簡稱,PID控制的難點不是編程,而是控制器的參數。參數
    發表于 05-31 08:40 ?45次下載
    <b class='flag-5'>PID</b><b class='flag-5'>控制</b>參數的原理和<b class='flag-5'>整</b><b class='flag-5'>定</b>的的計算<b class='flag-5'>方法</b><b class='flag-5'>整</b><b class='flag-5'>定</b><b class='flag-5'>PID</b>參數的<b class='flag-5'>方法</b>和概述

    PID控制的理論和PID控制器設計的及PID控制器參數的以及分析

    深入研究了PID控制理論,運用了多種方法設計了PID控制器。內容包括兩個部分,其中第一部分為前四
    發表于 12-04 08:00 ?26次下載
    <b class='flag-5'>PID</b><b class='flag-5'>控制</b>的理論和<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>設計的及<b class='flag-5'>PID</b><b class='flag-5'>控制器</b>參數<b class='flag-5'>整</b><b class='flag-5'>定</b>的以及分析

    PID控制中如何PID參數

    可以得到各種輸出響應特性,也就是說,通過適當給定PID參數,大多數的控制任務都可以由PID完成。本文根據經典PID控制理論,結合玖陽自動化科
    發表于 06-01 10:28 ?67次下載

    STM32】HAL庫 PWM控制電機轉速編碼器讀取(超詳解)

    小伙伴對于電機驅動編碼器不懂的話請看:電機驅動講解:【平衡小車制作】(二)電機
    發表于 01-14 12:39 ?96次下載
    【<b class='flag-5'>STM32</b>】HAL庫 PWM<b class='flag-5'>控制</b><b class='flag-5'>電機</b><b class='flag-5'>轉速</b>與<b class='flag-5'>編碼器</b>讀取(超詳解)

    基于stm32的半實物仿平臺開發——FreeRTOS、PID控制電機

    、傳送帶、編碼器電機、L298N驅動模塊、蜂鳴器、OLED顯示屏、LED燈一起構成滑塊運動狀態與電機速度分配的雙閉 環調速系統。單片機輸出占空比可變的PWM波給
    發表于 05-16 15:49 ?9次下載
    基于<b class='flag-5'>stm32</b>的半實物仿平臺開發——FreeRTOS、<b class='flag-5'>PID</b><b class='flag-5'>控制</b><b class='flag-5'>電機</b>

    單級PID控制編碼器的直流減速電機速度

    STM32 Cubemax(七) —— 單級PID控制編碼器的直流減速電機速度目錄 STM32
    發表于 05-16 15:51 ?9次下載
    單級<b class='flag-5'>PID</b><b class='flag-5'>控制</b>帶<b class='flag-5'>編碼器</b>的直流減速<b class='flag-5'>電機</b>速度

    第九章 數模和模數轉換

    電子發燒友網站提供《第九章 數模和模數轉換.ppt》資料免費下載
    發表于 11-18 09:14 ?0次下載
    <b class='flag-5'>第九章</b> 數模和模數轉換
    主站蜘蛛池模板: 人人上人人干 | 免费人成激情视频在线观看冫 | 亚洲一区日韩一区欧美一区a | 国产日本三级在线播放线观看 | 五月婷婷六月合 | 爱婷婷视频在线观看 | 在线永久免费播放视频 | 鸥美毛片| 黄色三级网站免费 | 美女流白浆网站 | 天堂影院jav成人天堂免费观看 | 三级欧美在线 | 天堂在线观看免费视频 | 国产美女亚洲精品久久久久久 | 伦理片第一页 | 天天夜夜狠狠 | 欧美123区 | 久久夜色撩人精品国产 | 看片地址| 国产又大又黄又粗又爽 | 色老板女色狠xx网 | 一级做a爱片在线播放 | 欧美一区二区影院 | ww欧洲ww在线视频看ww | 免费的三及片 | 免费精品视频在线 | 国产精品1区2区3区 国产精品1区2区3区在线播放 | 亚洲美女激情视频 | 亚洲精品一区二区中文 | 人人爱人人艹 | 亚洲一区二区三区播放在线 | 中文字幕va | 日本不卡毛片一二三四 | 欧美无遮挡一区二区三区 | 国产色婷婷免费视频 | 无遮挡很爽很污很黄在线网站 | 中国业余老太性视频 | 国产色片 | 亚洲午夜视频在线观看 | 91视频看看 | 免费理论片在线观看播放 |