色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

    文章

    3638

    瀏覽量

    134426
  • PID
    PID
    +關注

    關注

    35

    文章

    1472

    瀏覽量

    85478
  • 電機轉速
    +關注

    關注

    0

    文章

    63

    瀏覽量

    11367
收藏 人收藏

    評論

    相關推薦

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

    前面完成了基于STM32F103C8T6+L298N+MG513P30直流電機的PWM控制和兩種方法編碼器實時速度反饋,拿到這個反饋值后我
    的頭像 發表于 06-15 16:52 ?5002次閱讀
    <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 ?42次下載

    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 ?95次下載
    【<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>讀取(超詳解)

    QT上位機控制stm32,并利用PID控制編碼電機旋轉

    由于最近在學習電機控制算法之類的東西,看到論文大多使用PID、或以PID衍生的ADRC作為電機的主流控制
    發表于 05-06 10:02 ?18次下載
    QT上位機<b class='flag-5'>控制</b><b class='flag-5'>stm32</b>,并利用<b class='flag-5'>PID</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级韩国乱理伦片在线观看| 无码射肉在线播放视频| 欧美乱码卡一卡二卡四卡免费| 麻豆国产成人AV在线| 牛牛超碰 国产| 日本久久网站| 无限资源在线看影院免费观看| 幸福草电视剧演员表介绍| 亚洲欧美在无码片一区二区| 用快播看av的网站| av在线观看网站免费| 高中生被C到爽哭视频免费| 国产午夜视频| 久久亚洲精品无码A片大香大香| 女人一级毛片免费观看| 熟女久久久久久久久久久| 亚洲欧洲久久| china chinese中国人玩| 国产精品99久久久久久人韩国| 精品无码国产AV一区二区三区| 免费国产午夜理论不卡| 日韩娇小性hd| 亚洲视频中文字幕在线观看| 99精品免费观看| 闺蜜撬开我的腿用黄瓜折磨我| 好大的太粗好深BL| 男人私gay挠脚心vk视频| 无修肉动漫在线观看影片| 最近高清中文字幕无吗免费看| 超碰在线视频 免费| 韩国伦理三级| 人妻精品久久无码专区| 亚洲裸舞 hd| 波多野结衣教师系列6| 精品一区二区免费视频蜜桃网| 翘臀少妇被扒开屁股日出水爆乳| 小莹的性荡生活| bl撅高扒开臀缝哦| 狠狠狠色丁香婷婷综合久久| 欧美色图天堂网| 一攻多受h嗯啊巨肉bl巨污|