亚洲成人久久一区_日韩视频三区_亚洲黄色三级_日本电影一区二区


當(dāng)前位置:底盤 >> 行業(yè)資訊    

機器人控制電機串口通信的數(shù)據(jù)協(xié)議

編輯:創(chuàng)澤底盤      發(fā)布時間:2022/9/1      來源:COONEO

在機器人控制中,單片機(Arduino/STM32)與上位機(Raspberry Pi/NVIDIA Jetson nano)之間的通信經(jīng)常采用串口通信的方式,那應(yīng)該如何使用STM32的串口通信以及根據(jù)自己定義的協(xié)議來完成數(shù)據(jù)的接收與發(fā)送呢?

確定串口的數(shù)據(jù)協(xié)議

"e" 反饋兩個電機的編碼器脈沖計數(shù)值,該計數(shù)值達到Z大值或Z小值時自動清零。

"m" l_speed r_speed "m"為控制標(biāo)志,l_speed為左輪的速度值,r_speed為右輪的速度值,該值單位為 cm/s

配置串口

為了提G串口通信的效率,減少因為字節(jié)傳輸而不斷引起中斷導(dǎo)致資源的浪費,可以采用DMA+串口空閑中斷的方式對數(shù)據(jù)進行接收。

DMA

DMA:Direct Memory Access,可以實現(xiàn)一個數(shù)據(jù)從一個地址空間拷貝到另一個地址空間,并且在數(shù)據(jù)拷貝過程中無需CPU的干預(yù),在數(shù)據(jù)拷貝結(jié)束后才告知CPU進行處理。因此使用DMA功能可以釋放CPU資源。

串口空閑中斷

普通的串口處理數(shù)據(jù)方式為單字節(jié)接收,并且接收一幀數(shù)據(jù)時,需要自行判斷幀頭幀尾確定是否為一幀完整數(shù)據(jù),并且當(dāng)數(shù)據(jù)量大會導(dǎo)致頻繁進入中斷。而采用串口空閑中斷,在串口空閑時(發(fā)送完一幀數(shù)據(jù))產(chǎn)生中斷,并且可以在中斷服務(wù)函數(shù)中計算得到的數(shù)據(jù)長度,對整幀數(shù)據(jù)進行處理。

STM32CubeMX中的配置

在串口1配置中打開DMA功能,其余配置可參考之前的工程

推薦信息
»STM32CubeMX配置及測速驅(qū)動代碼
»兩輪四輪差速及阿克曼移動底盤設(shè)計轉(zhuǎn)向機器人/小車
»動手實現(xiàn)一臺阿克曼ROS小車
»四輪驅(qū)動機器人的轉(zhuǎn)向方式是什么
»全向輪運動模型規(guī)律-量化分析三個全向輪轉(zhuǎn)速與移動平臺中心點運動速度的關(guān)系
»三輪全向輪移動平臺坐標(biāo)系說明示意圖
»麥克納姆輪運動速度分解-麥輪平臺運動學(xué)模型分析
»麥克納姆輪受力分析-受力方向為輪轂坐標(biāo)系y軸正方向
產(chǎn)品中心
 
 
 
 
版權(quán)所有 © 北京創(chuàng)澤智慧機器人科技有限公司       地址:北京 清華科技園C座五樓       電話:4006-937-088       京ICP備20010582號-2