背景說明
最近調試一款機器人產品,用到了之前的伺服電機FOC控制,實現了幾個電機串聯,用來實現機器人手臂控制,現在做機器人的很多,覺得這套方案可以幫助更多的人,快速搭建控制系統,實現關節手臂的控制,以及路徑規劃,而不用被串聯、調參、電機驅動所束縛。所以把這套方案單獨拿出來,希望可以幫助大家。
因為我這邊努力實現***全覆蓋(很難,坑太多了),所以就把原來STM32上跑的程序全部移植在國產的MCU AT32F403當中,一看這個名稱大家也都明白,這個芯片跟STM32也是有淵源的。電源芯片我也用了國產的芯片,說實話,吃了不少虧,但想想幫著***廠家盡一份微薄之力,也就釋然了。寶貝淘寶店里面有上,也希望更多的開發者都支持***!開發不易也希望大家多多支持筆者!
在用戶調試過程中,筆者會指導和提供開發者級別的技術支持,如果改動工作不大,筆者會盡量滿足用戶的需求,并在線解決調參軟件以及代碼調試中遇到的各種各樣的坑!這一點絕對屏蔽網上各種惡意剽竊。所以價格高些,用戶多了也支持不過來,請大家理解,覺得貴的請繞道,提前謝了!
網上電機FOC控制有很多文章視頻,包括一些開發板。但是講解的也都不太好理解,程序分支也是比較多,最不能容忍的是動不動燒板子。所以我就來個簡潔明了,直接就是這款AT32F403+DRV8313實現多軸直流無刷電機BLDC的FOC控制,以及IMU以及磁編碼器調參。
嵌入式硬件
硬件主控芯片AT32F403A,240MHz主頻,但是因為功耗問題,我把主頻控制在140MHz,要跑IMU6050姿態解算的算法、電機控制、磁編碼器解算控制,以及和子板通信控制。
電機驅動還是用的DRV8313,磁編碼用的是AS5600,說實話沒找到比較滿意的替代芯片。
電源輸入采用的寬電壓輸入,9~36V,大家可以調整輸入電壓得到比較理想的電機驅動效果。好多市面上的FOC板子動不動就燒了,還是電源以及管子的導通開關沒有做好,我這個板子可以支持3A的電流,我用了這么多,調試了這么長時間還沒有燒板子燒電機的。當然,這個調試和使用習慣也有關系(筆者自己手欠欠的測量信號,導致IIC信號和輸入12V短路,一窩燒了串聯的3塊板子,心疼的不得了)。
主板和子板通過IIC鏈接,只有4根線,其他線備用。特殊場景下,走線可以穿軸,這樣更靈活。
配置使用說明
拿到板卡,和資料,先打開調參軟件,讓我們先來熟悉一下界面:
電機控制頁如下圖:
IMU控制頁如下圖:
磁編碼器控制頁如下圖:
升級頁面如下(新增功能):
1、第一步,設置BoardID:
所有的電機默認都是主板YAW軸控制板。通過PC調參軟件進行板卡ID的設置,使板卡可以配置成為子板。
接好線路,接通12V電源,接好串口,串口接在當前的板卡,設置當前的板卡BoardID。注意,BoardID不同其他參數設置,不同串行設置。
1、第二步,校準磁編碼器:
如果是多個板卡,請串行接好板卡,主板接好串口和電源。
之后電機磁編碼器控制頁面,進行如下步驟校準磁編碼器:
1、第三步,如果有IMU,開始校準IMU,方法同第二步類似。
2、第四步,調整電機參數:
調參前請先點擊“Read Parameters”按鈕,讀出板卡中的現有參數。
電機調參包括極對數、力矩、轉速、以及電機PID調整。
每一項都是拖動滑動條,進行調參,調參完成點擊“Write Parameters”按鈕,保存參數。調參完成點擊“Write Parameters”按鈕,保存參數。調參完成點擊“Write Parameters”按鈕,保存參數。重要的事情說三遍?。。?br /> 參數如下圖:
IMU參數:參考MPU-6050 Spec。
磁編碼器參數:參考AS5600 12-Bit Programmable Contactless Potentiometer Spec。
包裝如下圖:
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
17127瀏覽量
350996 -
機器人
+關注
關注
211文章
28381瀏覽量
206919 -
FOC
+關注
關注
20文章
322瀏覽量
42799 -
直流無刷電機
+關注
關注
15文章
299瀏覽量
23828
發布評論請先 登錄
相關推薦
評論