• 方案介紹
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

20.2-電磁桿在磁軌道的測(cè)試 零基礎(chǔ)入門智能車競(jìng)賽 電磁桿原理圖 電磁循跡小車 STM32電磁小車

2024/08/23
3053
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

功能介紹放開頭, 使用便捷無需愁。
這是全網(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庫開發(fā)、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺控制、電磁循跡、RTOS等功能。

使用示波器調(diào)試(如果沒有示波器可以不跟著做這節(jié))

  1. 先燒錄**“20-2_LED”**程序到單片機(jī)放置之前程序控制了四個(gè)引腳 導(dǎo)致影響 電磁桿電平,拔掉板子上的紅外對(duì)管線。

使用萬用表調(diào)試(如果沒有萬用表可以不跟著做這節(jié))

  1. 先燒錄**“20-2_LED”**程序到單片機(jī)

? 放置之前程序控制了四個(gè)引腳 導(dǎo)致影響 電磁桿電平,拔掉板子上的紅外對(duì)管線。

使用單片機(jī)測(cè)量電壓調(diào)試

需要準(zhǔn)備的東西: 新版的沒有調(diào)試過的電磁桿、螺絲刀、小車、底板、杜邦線四根、6P的XH2.54線、攝像頭支架。

正式內(nèi)容:

這里我們先用最簡(jiǎn)單通過完全輪詢的方式實(shí)現(xiàn)(輪詢的速度足夠普通循跡小車場(chǎng)景使用)

如果想通過其他方式實(shí)現(xiàn)可以參考這幾篇文章:

STM32CubeMX | HAL庫的ADC多通道數(shù)據(jù)采集(輪訓(xùn)、DMA、DMA+TIM)、讀取內(nèi)部傳感器溫度_tim+adc+dma采集-CSDN博客

【STM32】HAL庫—快速使用ADC_stm32hal庫adc輪詢-CSDN博客

采樣時(shí)間和采樣頻率的計(jì)算

ADC采樣兩點(diǎn)間隔的時(shí)間一定要大于ADC的轉(zhuǎn)換時(shí)間!

需要等待ADC完成一次轉(zhuǎn)換后,再進(jìn)行下一次采樣。如果采樣間隔時(shí)間小于ADC的轉(zhuǎn)換時(shí)間,那么你可能在一個(gè)轉(zhuǎn)換還沒有完成的情況下就開始了下一個(gè)采樣,這樣會(huì)導(dǎo)致數(shù)據(jù)丟失或者錯(cuò)誤。

STM32F103 一般將時(shí)鐘配置主頻為72M、APB2為72M。ADC掛在APB2時(shí)鐘總線上,且ADC的時(shí)鐘不能超過14M。所以一般將ADC的分頻設(shè)置為6,ADC的時(shí)鐘主頻就為72/6=12MHz。那么一個(gè)周期就是:1/12MHz=0.0833us。

以下截圖為STM32F1參考手冊(cè)(手冊(cè)編號(hào)RM0008,可在ST官網(wǎng)直接搜索下載):
在這里插入圖片描述
上圖的意思是:ADC對(duì)輸入電壓采樣若干個(gè)ADC_CLK周期,這些周期可通過ADC_SMPR1和ADC_SMPR2寄存器中的SMP[2:0]位進(jìn)行修改。每個(gè)通道都可以用不同的采樣時(shí)間進(jìn)行采樣。

ADC轉(zhuǎn)換時(shí)間 = 采樣時(shí)間 + 12.5個(gè)周期

示例:
當(dāng)ADC時(shí)鐘主頻為14MHz并且采樣時(shí)間為1.5個(gè)周期時(shí):采樣時(shí)間 = 1.5 + 12.5 = 14個(gè)周期;一個(gè)周期的時(shí)間為1/14MHz,一共14個(gè)周期,1 / 14MHz * 14個(gè)周期 = 1us,那么此時(shí)ADC的采樣頻率就是1/1us=1000KHz=1MHz,這也是理論上ADC的最大采樣頻率。

STM32F1系列的時(shí)鐘主頻一般設(shè)置為了12M,采樣時(shí)間的設(shè)置所對(duì)應(yīng)采樣頻率如下圖所示:
在這里插入圖片描述
知道了最短時(shí)間后,當(dāng)ADC時(shí)鐘主頻為12M并且采樣時(shí)間為1.5個(gè)周期時(shí),ADC采樣兩點(diǎn)的時(shí)間必須大于1.17us。

這個(gè)對(duì)我們現(xiàn)在編寫的循跡方式基本沒有影響,因?yàn)槲覀兪敲看螠y(cè)量完一組ADC,就進(jìn)行計(jì)算處理、電機(jī)控制、OLED顯示等操作,這些操作時(shí)間肯定大于采樣時(shí)間

開啟完全輪詢

將代碼文件夾"MyCode_V3.3.0" 復(fù)制到桌面或者其他沒有中文字符的路徑。

然后我們復(fù)制一份19-5_LED命名 20-2_LED 在這個(gè)上面進(jìn)行修改

打開"‘LED.ioc’" 我們把之前紅外循跡的四個(gè)GPIO做修改,改為ADC1的對(duì)應(yīng)通道。
在這里插入圖片描述
設(shè)置ADC采集
在這里插入圖片描述
然后點(diǎn)擊生成代碼

用keil 打開項(xiàng)目工程

先編譯一下,因?yàn)橹鞍鸭t外對(duì)管四個(gè)更改了,所以有些報(bào)錯(cuò)。

需要把錯(cuò)誤的注釋掉。
在這里插入圖片描述
這里
在這里插入圖片描述
如果還有錯(cuò)誤,這個(gè)需要?jiǎng)h掉
在這里插入圖片描述
然后編譯確定沒有錯(cuò)誤
在這里插入圖片描述
增加用于保存ADC變量值的
在這里插入圖片描述

float g_fVoltage[4];//ADC電壓采集值 值對(duì)應(yīng)的四個(gè)通道和引腳分別是 ADC1_NI5 PA5 、ADC1_NI7 PA7、ADC1_NI8 PB0、ADC1_NI9 PB1

我們把模式0顯示6050的代碼注釋掉
在這里插入圖片描述
然后我們添加代碼,把采集的數(shù)據(jù)顯示在屏幕上
在這里插入圖片描述

	//采集四個(gè)通道電壓值  
	for(int i=0;i<4;i++)
	{
		HAL_ADC_Start(&hadc1);
		HAL_ADC_PollForConversion(&hadc1,50);
		g_fVoltage[i]=(float)HAL_ADC_GetValue(&hadc1)/4096*3.300; 計(jì)算測(cè)量的電壓值 /4069是因?yàn)?096是12位ADC的最大值(即2^12)、*3.300 是將歸一化的數(shù)值乘以參考電壓
	}
	  
	sprintf((char *)OledString,"v1:%.2f v2:%.2f rn",g_fVoltage[0],g_fVoltage[1]);//顯示 1、2 電壓值
	OLED_ShowString(0,4,OledString,12);//這個(gè)是oled驅(qū)動(dòng)里面的,是顯示位置的一個(gè)函數(shù),
	
	sprintf((char *)OledString,"v3:%.2f v4:%.2f rn",g_fVoltage[2],g_fVoltage[3]);//顯示3、4 電壓值
	OLED_ShowString(0,5,OledString,12);//這個(gè)是oled驅(qū)動(dòng)里面的,是顯示位置的一個(gè)函數(shù),

然后代碼燒錄一下,可以用一根杜邦線,把3.3和其中一個(gè)引腳B0接到一起(注意不要把GND和3.3J接到一起)。

然后OLED對(duì)V3就會(huì)顯示3.30左右

注意:

  1. 不要把3.3和GND引腳用杜邦線插一起。
  2. 把四個(gè)紅外對(duì)管都要拔掉。
    在這里插入圖片描述
    然后我們把電磁循跡桿 放置到已經(jīng)通有正弦交流信號(hào)的上方,將電磁桿使用連接線,連接到底板上。

電磁桿連接線插入底板的方向如下:
在這里插入圖片描述
插上之后是這樣的不要插反了。
在這里插入圖片描述
擰動(dòng)螺絲的同時(shí)觀察 四個(gè)通道電壓測(cè)量值的變化。

因?yàn)橥饷娴膬蓚€(gè)電感是和軌道垂直的,所以外面使用外面 兩個(gè)進(jìn)行循跡。
在這里插入圖片描述
另一個(gè)通道的
在這里插入圖片描述
然后把小車放置到中間,小車的v1電壓和V4電壓應(yīng)該測(cè)量值大致相同

在這里插入圖片描述

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
AT24CM01-XHM-T 1 Atmel Corporation EEPROM, 128KX8, Serial, CMOS, PDSO8, 4.40 MM, GREEN, PLASTIC, MO-153AA, TSSOP-8

ECAD模型

下載ECAD模型
$1.46 查看
SST25VF080B-50-4I-S2AE-T 1 Microchip Technology Inc IC FLASH 2.7V PROM, Programmable ROM

ECAD模型

下載ECAD模型
$1.45 查看
HFBR-1521ETZ 1 Foxconn Transmitter, 5Mbps, Through Hole Mount, ROHS COMPLIANT, 6 PIN
$17.77 查看
意法半導(dǎo)體

意法半導(dǎo)體

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

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

查看更多

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!