大疆M2006电机测试文档
一、項目
MilkTeaBrother是使用麥克納姆移動方式的室內服務小車,動力系統為RoboMaster M2006,文中提到的相關文件可以在下方獲取。
點擊此處了解MilkTeaBrother相關信息
二、測試內容
測試在Ubuntu20.04環境下,在ROS中讀取電機位置或速度反饋信息并控制電機,完成小車移動控制,通過PID控制算法,實現小車速度的閉環。
三、測試材料
① 優利德UNIT直流穩壓電源UTP1310
UTP1310是經濟型的直流穩壓電源,具有過壓保護、過流保護、過溫保護、LED四位電壓電流顯示等功能。
了解UTP1310直流穩壓電源相關信息
② RoboMaster M2006 P36直流無刷減速電機
了解M2006電機相關信息
M2006 P36電機采用三相永磁直流無刷結構,具有輸出轉速高、體積小、功率密度高的特點。M2006內置位置傳感器,提供精確的位置反饋,以FOC矢量控制方式使電機產生連續的扭矩。減速箱減速比為36:1
電機的額定輸入電壓為24V,額定電流為3A
③ RoboMaster C610無刷電機調速器
了解C610電調相關信息
C610電調采用32位電機驅動定制芯片,使用磁場定向控制技術(FOC),實現對電機扭矩的精確控制,與M2006電機配合使用,可選用RoboMaster Assistant調參并升級固件
④ RoboMaster 電調中心板 2
了解RM2電調中心板相關信息
RoboMaster 電調中心板 2 是一款專為實現電源及 CAN Bus 通信接口擴展的轉接板。中心板具有結構緊湊、接口集成度高等特性,可同時驅動 7 套動力系統;采用硅膠外殼設計提高了防護等級,保障產品可靠運行。
⑤ MakerbaseMKS CANable Pro V1.0 USB轉CAN模塊
CANable 是一款小型的、低成本的開源 USB 轉 CAN 適配器。 CANable 在您的計算機上顯示為虛擬串行端口,并充當 CAN 總線接口的串行線路。 使用可選的candlelight固件時,CANable 將作為 Linux 上的本機 CAN 接口被調用。
CANable Pro 是 CANable 的電隔離版本,具有增強的 ESD 保護和分離式固定孔。
了解CANable相關信息
了解Makerbase商家提供的測試案例
四、測試前準備
① 接線
開始測試前,需要首先將各部分接線如下:
1. 連接XT60電源線與中心板
RoboMaster Central Board 2額定輸入電壓為24V,額定輸入電流為30A,電源輸入接口為XT60
2. 連接中心板與XT30電源線
中心板上有七個XT30電源輸出接口,額定電壓為24V,額定輸出電流為15A
3. 連接XT30電源線與C610電調
將XT30電源線正負兩線,分別焊于電調的正負點位,對應焊接點在C610電調說明書中有具體描述。
C610電調額定電壓為24V,最高支持10A的持續電流。
4. 連接中心板與CAN信號線
在中心板的頂部或側面有多個2-Pin CAN總線接口,每個接口與板上其他CAN總線接口并聯,用于CAN總線通訊。
5. 連接CAN信號線與C610電調
按照CAN信號線線序CAN_H、CAN_L,將CAN信號線焊接到C610電調背面對應端點,在說明書中有具體描述。
CAN總線比特率為1Mbps,M2006動力系統的CAN通信默認發送頻率為1KHz
6. 連接C610電調與M2006電機的三相動力接頭
連接時確保連線正確,在說明書中有具體說明。
7. 連接C610電調與M2006電機的4-Pin數據線
將M2006電機的4-Pin位置傳感器數據線連接到C610電調對應端口上,在說明書中有具體描述。
最終接線情況應如下圖所示:
② 接通電源并校準電機
1. 接通電源
待收到啟動蜂鳴,電機與電調開始正常工作后,綠燈閃爍,此時可以開始校正電機。
2. 校正電機
校準過程中須保持空載,且不可觸碰電機。
初次使用需校準電機,長按C610電調上的SET按鍵,直至指示燈變為綠燈高頻閃爍,隨后釋放SET按鍵。此時電機將進入自動校準模式,校準完成后會自動退出校準模式。
五、測試
① 調試MakerbaseCANable USB轉CAN模塊
1. 獲取CANable固件
可以從CANable官網下載固件。
也可查看文件夾中已經編譯好的固件firmware.bin,或者是按照candlelight項目的編譯步驟獲取固件文件。
2. 燒錄
使用STM32CubeProgrammer將固件燒錄到板中。
下載STM32CubeProgrammer
將板上的boot跳線連接,開啟DFU (Device Firmware Upgrade) 燒錄模式,boot位置即圖上紅框處。
打開STM32CubeProgrammer,依次點擊紅綠藍三個按鈕,搜索可用的STM32設備。
隨后按照圖示順序,加載本地的固件文件。
選擇好本地的固件文件后,點擊和上圖中Read同位置的Download按鈕,將固件文件載入板中。
當提示燒錄成功后,斷開跳線,準備開始下一步在Linux中進行測試。
② 在Linux中測試接收CAN總線信息
1. 安裝測試軟件包及其依賴
sudo apt-get install -y can-utils net-tools2. 查看CAN設備是否能被發現
can設備在Linux下在ifconfig中和其他設備一同管理,圖中紅框所示為測試要用的CAN設備。
ifconfig -a3. 啟用CAN設備
以CAN設備名為can0為例,比特率為1000000,啟用該設備。
sudo ip link set can0 up type can bitrate 10000004. 監聽CAN端口
監聽Can0收到的信息。
candump can0
此時扭動電機,可以看到can0處收到的信息在不斷變化,證明能接收到CAN總線信息,可以準備下一步測試,按照協議規則,讀取CAN設備傳達的具體信息。
③ CAN通訊
要通過CAN總線收發電機的信息,首先要了解CAN本身,著重了解數據幀部分
了解CAN通訊數據幀相關內容
因為只涉及到應用CAN,因此對其底層的具體實現不需要全部掌握,使用python-can在Ubuntu中開發。
python-can 庫為 Python 提供控制器區域網絡支持,為不同的硬件設備提供通用抽象,以及一套用于在 CAN 總線上發送和接收消息的實用程序。
查看MilkTeaBrother的can通訊模塊
④ 控制電機
在了解完CAN通訊后,依照MilkTeaBrother的CAN模塊,接收并向電機發送控制指令
查看MilkTeaBrother的電機主程序
⑤ 初步PID閉環調節
需要完成對電機的初步pid調節后,電機可以按照用戶想要的值轉動
查看MilkTeaBrother的PID模塊
⑥ 移植到ROS中
在ROS中調用電機的主程序,并將參數傳向參數服務器,在上位機中對pid常數作優化調整
參考資料如下:
廣東工業大學USB2CAN項目
CAN通訊
python串口通信控制電機驅動
總結
以上是生活随笔為你收集整理的大疆M2006电机测试文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hbuilder app开发之app启动
- 下一篇: 快速排序原理及实现(c语言实现,超详细)