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