欧美一区不卡二区不卡三区,欧美另类日韩,日韩中文字幕免费版,亚洲一区二区免费看,欧美天天,亚洲欧美另类专区


當前位置:底盤 >> 行業資訊    

機器人控制電機串口通信的數據協議

編輯:創澤底盤      發布時間:2022/9/1      來源:COONEO

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

確定串口的數據協議

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

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

配置串口

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

DMA

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

串口空閑中斷

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

STM32CubeMX中的配置

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

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