加入星計(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)期合作伙伴
立即加入

19.5-【星曈科技】STM32接收openmv數(shù)據(jù)-根據(jù)狀態(tài)控制電機(jī)

06/25 09:41
2796
服務(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)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜
19.5-【星曈科技】STM32接收openmv數(shù)據(jù)-根據(jù)狀態(tài)控制電機(jī) 超詳細(xì)OpenMV與STM32單片機(jī)通信 (有完整版源碼) OPENMV和STM32的識(shí)別追蹤小車 STM32循跡小車系列教程
這個(gè)是全網(wǎng)最詳細(xì)的STM32項(xiàng)目教學(xué)視頻。
第一篇在這里:
視頻在這里


STM32智能小車V3-STM32入門教程-openmv與STM32循跡小車-stm32f103c8t6-電賽 嵌入式學(xué)習(xí) PID控制算法 編碼器電機(jī) 跟隨

19.5-STM32接收數(shù)據(jù)-根據(jù)狀態(tài)控制電機(jī)

前面我們測(cè)試了openmv能夠正確識(shí)別,正確發(fā)送數(shù)據(jù)、STM32能夠正確接收、那么下面STM32單片機(jī)就要開(kāi)始控制電機(jī)了。

這里控制電機(jī)其實(shí)和我們紅外循跡PID基本一致。

需要注意的 因?yàn)槲覀兊?a class="article-link" target="_blank" href="/baike/482292.html">攝像頭更加前瞻,距離車輪更遠(yuǎn),所以電機(jī)同樣的擺動(dòng)幅度,攝像頭擺動(dòng)更大。

先分析一下之前的代碼,然后明白我們要改什么了就
在這里插入圖片描述
所以我們需要上面紅色減藍(lán)色 的部分

這里我們先定義一個(gè)結(jié)構(gòu)體,這個(gè)是攝像頭PID循跡,仿造那個(gè)紅外對(duì)管的就可以。

tPid pidOpenmv_Tracking;//openmv攝像頭的PID結(jié)構(gòu)體類型變量

在這里插入圖片描述

	pidOpenmv_Tracking.actual_val=0.0;
	pidOpenmv_Tracking.target_val=0.00;//攝像頭PID 的目標(biāo)值為0
	pidOpenmv_Tracking.err=0.0;
	pidOpenmv_Tracking.err_last=0.0;
	pidOpenmv_Tracking.err_sum=0.0;
	pidOpenmv_Tracking.Kp=-0.4;//攝像頭循跡PID的K和d先調(diào)整的小一些
	pidOpenmv_Tracking.Ki=0;
	pidOpenmv_Tracking.Kd=0.10;

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

extern tPid pidOpenmv_Tracking;//攝像頭的PID

在這里插入圖片描述

		sprintf((char*)OledString, "lHW:%d  ", g_lHW_State);//視覺(jué)識(shí)別結(jié)果
		OLED_ShowString(0,0,OledString,12);//這個(gè)是oled驅(qū)動(dòng)里面的,是顯示位置的一個(gè)函數(shù),
		
		g_fHW_PID_Out = PID_realize(&pidOpenmv_Tracking,g_cThisState);//PID計(jì)算輸出目標(biāo)速度 這個(gè)速度,會(huì)和基礎(chǔ)速度加減

		g_fHW_PID_Out1 = 0.5 + g_fHW_PID_Out;//電機(jī)1速度=基礎(chǔ)速度+循跡PID輸出速度
		g_fHW_PID_Out2 = 0.5 - g_fHW_PID_Out;//電機(jī)1速度=基礎(chǔ)速度-循跡PID輸出速度
		if(g_fHW_PID_Out1 >1.2) g_fHW_PID_Out1 =1.2;//進(jìn)行限幅 限幅速度在0-1.2之間
		if(g_fHW_PID_Out1 <0) g_fHW_PID_Out1 =0;
		if(g_fHW_PID_Out2 >1.2) g_fHW_PID_Out2 =1.2;//進(jìn)行限幅 限幅速度在0-1.2之間
		if(g_fHW_PID_Out2 <0) g_fHW_PID_Out2 =0;
		if(g_cThisState != g_cLastState)//如何這次狀態(tài)不等于上次狀態(tài)、就進(jìn)行改變目標(biāo)速度和控制電機(jī)、在定時(shí)器中依舊定時(shí)控制電機(jī)
		{
			motorPidSetSpeed(g_fHW_PID_Out1,g_fHW_PID_Out2);//通過(guò)計(jì)算的速度控制電機(jī)
		}
		
		g_cLastState = g_cThisState;//保存上次紅外對(duì)管狀態(tài)

在這里插入圖片描述
注意攝像頭不能仰角太大
在這里插入圖片描述

聯(lián)系:Q,1930299709

  • 聯(lián)系方式.txt

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
LTC6991HS6#TRPBF 1 Linear Technology LTC6991 - TimerBlox: Resettable, Low Frequency Oscillator; Package: SOT; Pins: 6; Temperature Range: -40&deg;C to 125&deg;C
$15.23 查看
AD9361BBCZ 1 Analog Devices Inc RF Agile Transceiver

ECAD模型

下載ECAD模型
$269.47 查看
NC7S14M5X 1 onsemi TinyLogic HS Inverter with Schmitt Trigger Input, 3000-REEL

ECAD模型

下載ECAD模型
$0.28 查看

相關(guān)推薦

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