• 方案介紹
  • 附件下載
  • 推薦器件
  • 相關推薦
申請入駐 產業(yè)圖譜

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

2024/06/25
3601
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

聯(lián)系方式.txt

共1個文件

19.5-【星曈科技】STM32接收openmv數(shù)據(jù)-根據(jù)狀態(tài)控制電機 超詳細OpenMV與STM32單片機通信 (有完整版源碼) OPENMV和STM32的識別追蹤小車 STM32循跡小車系列教程
這個是全網最詳細的STM32項目教學視頻。
第一篇在這里:
視頻在這里


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

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

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

這里控制電機其實和我們紅外循跡PID基本一致。

需要注意的 因為我們的攝像頭更加前瞻,距離車輪更遠,所以電機同樣的擺動幅度,攝像頭擺動更大。

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

這里我們先定義一個結構體,這個是攝像頭PID循跡,仿造那個紅外對管的就可以。

tPid pidOpenmv_Tracking;//openmv攝像頭的PID結構體類型變量

在這里插入圖片描述

	pidOpenmv_Tracking.actual_val=0.0;
	pidOpenmv_Tracking.target_val=0.00;//攝像頭PID 的目標值為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先調整的小一些
	pidOpenmv_Tracking.Ki=0;
	pidOpenmv_Tracking.Kd=0.10;

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

extern tPid pidOpenmv_Tracking;//攝像頭的PID

在這里插入圖片描述

		sprintf((char*)OledString, "lHW:%d  ", g_lHW_State);//視覺識別結果
		OLED_ShowString(0,0,OledString,12);//這個是oled驅動里面的,是顯示位置的一個函數(shù),
		
		g_fHW_PID_Out = PID_realize(&pidOpenmv_Tracking,g_cThisState);//PID計算輸出目標速度 這個速度,會和基礎速度加減

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

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

聯(lián)系:Q,1930299709

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

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
HC49US-FF5F18-6.000MHZ 1 ILSI America LLC Parallel - Fundamental Quartz Crystal,
暫無數(shù)據(jù) 查看
AT17F16A-30CU 1 Atmel Corporation Configuration Memory, 16MX1, Serial, CMOS, 6 X 6 MM, 1.04 MM HEIGHT, 1.27 MM PITCH, GREEN, LAP-8
$29.47 查看
KSZ9893RNXI-TR 1 Microchip Technology Inc Ethernet Transceiver
$79.88 查看
意法半導體

意法半導體

意法半導體(ST)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導體有限公司。意法半導體是世界最大的半導體公司之一,公司銷售收入在半導體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(17%),計算機(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計數(shù)據(jù),意法半導體是全球第五大半導體廠商,在很多市場居世界領先水平。例如,意法半導體是世界第一大專用模擬芯片和電源轉換芯片制造商,世界第一大工業(yè)半導體和機頂盒芯片供應商,而且在分立器件、手機相機模塊和車用集成電路領域居世界前列.

意法半導體(ST)集團于1987年6月成立,是由意大利的SGS微電子公司和法國Thomson半導體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱改為意法半導體有限公司。意法半導體是世界最大的半導體公司之一,公司銷售收入在半導體工業(yè)五大高速增長市場之間分布均衡(五大市場占2007年銷售收入的百分比):通信(35%),消費(17%),計算機(16%),汽車(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計數(shù)據(jù),意法半導體是全球第五大半導體廠商,在很多市場居世界領先水平。例如,意法半導體是世界第一大專用模擬芯片和電源轉換芯片制造商,世界第一大工業(yè)半導體和機頂盒芯片供應商,而且在分立器件、手機相機模塊和車用集成電路領域居世界前列.收起

查看更多

相關推薦