加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

20.4-使用兩個(gè)通道進(jìn)行PID電磁循跡 電磁循跡算法 零基礎(chǔ)入門智能車競(jìng)賽 STM32電磁小車

08/23 08:56
1435
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 20.4-使用兩個(gè)通道進(jìn)行PID電磁循跡
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

20.4-使用兩個(gè)通道進(jìn)行PID電磁循跡 電磁循跡小車 電磁循跡算法 智能車環(huán)島 智能車比賽規(guī)則 零基礎(chǔ)入門智能車競(jìng)賽 智能車競(jìng)賽 電磁桿原理圖 電磁循跡小車 智能車電磁組 STM32電磁小車

功能介紹放開頭, 使用便捷無需愁。
這是全網(wǎng)最詳細(xì)、性價(jià)比最高的STM32實(shí)戰(zhàn)項(xiàng)目入門教程,通過合理的硬件設(shè)計(jì)和詳細(xì)的視頻筆記介紹,硬件使用STM32F103主控資料多方便學(xué)習(xí),通過3萬字筆記、12多個(gè)小時(shí)視頻、20多章節(jié)代碼手把手教會(huì)你如何開發(fā)和調(diào)試。讓你更快掌握嵌入式系統(tǒng)開發(fā)。

V3.3.0-STM32智能小車
視頻: https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click
V3:HAL庫(kù)開發(fā)、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺控制、電磁循跡、RTOS等功能。

20.4-使用兩個(gè)通道進(jìn)行PID電磁循跡

面我們沒有使用PID完成了循跡

循跡部分代碼如下、我們是利用計(jì)算的差比和值 根據(jù)差比和大小和正負(fù)數(shù)控制電機(jī),那么我們用PID循跡也是利用這個(gè)值,非PID循跡中我們目標(biāo)是讓g_fVoltageOuter 值等于零 ,所以我們每當(dāng) g_fVoltageOuter 大于0.5或者小于-0.5時(shí)候電機(jī)就會(huì)發(fā)生反應(yīng),想做或者右邊運(yùn)動(dòng),

PID中也是我們的

目標(biāo): 讓g_fVoltageOuter變量等于零

輸入: 當(dāng)前g_fVoltageOuter 值

輸出: 兩個(gè)輪子的要控制速度 這里輸出一個(gè)差速值,兩個(gè)電機(jī)一個(gè)加 另一個(gè)電機(jī)減 這個(gè)差速值 就可以控制電機(jī)趨向 正確方向運(yùn)動(dòng)。

先按照筆記講解說明,然后按照講解已經(jīng)改好的代碼,然后教一下如何改代碼。比較難理解,大家結(jié)合之前篇章多理解學(xué)習(xí)。

在這里插入圖片描述
復(fù)制一下20.3 的代碼 然后再這基礎(chǔ)修改。

定義保存PID計(jì)算結(jié)果的變量

float g_fVoltagePidOut;//電磁循跡PID計(jì)算輸出

在這里插入圖片描述
定義一個(gè)用于電磁循跡PID參數(shù)的結(jié)構(gòu)體

tPid pidVoltage;//電磁循跡PID代碼

在這里插入圖片描述
然后初始化一下PID的參數(shù),給PID參數(shù)賦值。這里說一下如何計(jì)算PID參數(shù)

首先我們先看P I D 的計(jì)算函數(shù),這個(gè)是我們?cè)?a class="article-link" target="_blank" href="/tag/%E7%94%B5%E6%9C%BA%E6%8E%A7%E5%88%B6/">電機(jī)控制時(shí)候?qū)懙?br /> 在這里插入圖片描述
我們做電磁循跡 ,循跡不需要關(guān)歷史累計(jì)誤差結(jié)果,所以我們只用 P D 參數(shù) I=0可以

然后我們做一個(gè)假設(shè),假設(shè)兩次程序第一次g_fVoltageOuter 值是0 、第二次g_fVoltageOuter 是0.5 并且我們知道我們的目標(biāo)值是零。

然后分析先定P -3 、D 比P 小很多定 -1 。后面我們?cè)谡{(diào)整。
在這里插入圖片描述
所以我們的PID初始化先這么寫

	pidVoltage.actual_val=0.0;
	pidVoltage.target_val=0.00;//電磁循跡PID 的目標(biāo)值為0
	pidVoltage.err=0.0;
	pidVoltage.err_last=0.0;
	pidVoltage.err_sum=0.0;
	pidVoltage.Kp=-3.00;
	pidVoltage.Ki=0;
	pidVoltage.Kd=-1.00;

在這里插入圖片描述
聲明一下變量

extern tPid pidVoltage;//電磁循跡PID代碼

在這里插入圖片描述
編寫PID控制部分代碼
在這里插入圖片描述
PID輸出控制部分代碼

	g_fVoltagePidOut = PID_realize(&pidVoltage,g_fVoltageOuter);//PID計(jì)算輸出偏差目標(biāo)速度 這個(gè)速度,會(huì)和基礎(chǔ)速度加減

	g_fHW_PID_Out1 = 1 + g_fVoltagePidOut;//電機(jī)1速度=基礎(chǔ)速度+電磁PID輸出速度
	g_fHW_PID_Out2 = 1 - g_fVoltagePidOut;//電機(jī)1速度=基礎(chǔ)速度-電磁PID輸出速度
	if(g_fHW_PID_Out1 >5) g_fHW_PID_Out1 =5;//進(jìn)行限幅 限幅速度在0-5之間
	if(g_fHW_PID_Out1 <0) g_fHW_PID_Out1 =0;
	if(g_fHW_PID_Out2 >5) g_fHW_PID_Out2 =5;//進(jìn)行限幅 限幅速度在0-5之間
	if(g_fHW_PID_Out2 <0) g_fHW_PID_Out2 =0;
	
	motorPidSetSpeed(g_fHW_PID_Out1,g_fHW_PID_Out2);//通過計(jì)算的速度控制電機(jī)

在這里插入圖片描述
搖擺十分嚴(yán)重 我們把PD 縮小一些,然后提高基礎(chǔ)速度到1.5

PID參數(shù)調(diào)整如下

	pidVoltage.actual_val=0.0;
	pidVoltage.target_val=0.00;//電磁循跡PID 的目標(biāo)值為0
	pidVoltage.err=0.0;
	pidVoltage.err_last=0.0;
	pidVoltage.err_sum=0.0;
	pidVoltage.Kp=-1.0;  //電磁循跡P參數(shù)
	pidVoltage.Ki=0;
	pidVoltage.Kd=-0.2;//電磁D參數(shù)

如果更改了電感,電感的最大電壓值可能會(huì)變化,需要修改

這個(gè)變量

float g_fVoltageMax[4]={2.89,2.89,2.89,2.89};//用于歸一化的最大ADC電壓采集值 不同賽道要獲得更好循跡效果 需要重新采集這個(gè)值

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
SN74LVC1G08DCKT 1 Rochester Electronics LLC LVC/LCX/Z SERIES, 2-INPUT AND GATE, PDSO5, GREEN, PLASTIC, SC-70, 5 PIN
$0.94 查看
ASFL1-12.000MHZ-ERS-T 1 Abracon Corporation XTAL OSC XO 12.0000MHZ HCMOS TTL
$1.28 查看
ECS-.327-12.5-12QS-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 2 PIN

ECAD模型

下載ECAD模型
$1.31 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜