19年开始使用大疆的电机,刚开始接触有很多东西不懂,网上除了RM官网提供的一些资料外没有很多其他的资料,现在使用大疆电机近一年了,想分享一下自己的经验。
1.硬件部分
1.C610电调只能连接M2006电机,C620电调连接M3508电机,GM6020电调内部集成电调无需外接。
2.关于电机电调的接线问题以及其他硬件相关参数,请参考使用说明书。
网址:https://www.robomaster.com/zh-CN/products/components/general
3.M3508,GM6020支持CAN,PWM,而M2006只支持CAN。
4.每个电机使用前需定义电机ID,电机电压不可超过24V。
2.软件部分
1.CAN 通信
以3508为例,其余电机使用方法相同。
一个CAN可以控制8个电机,一般的机器人底盘使用一个CAN即可控制,关于CAN的具体信息要看电调的使用说明书。
在使用CAN来控制电机前需要写完CAN的配置程序。
M3508电机的2个标识符(0x200和0x1FF)对应控制4个ID的电机,即0x200对应前4个ID,0x1FF对应后4个ID,控制电流值范围-16384~16384,对应电调输出的转矩电流范围-20A–20A。
电流发送程序:
程序上:
//电流发送程序
注意点:DLC=0x08可控制4个电机,0x02可控制一个电机。
2.接收电调反馈程序。
多电机反馈数据的区别主要在标识符上 0x200+电调ID
电机使用流程: 确定速度——通过PID计算——发送到电流发送程序——电机——电调反馈到PID—— PID重新计算发送给电机。
注:不可直接给电流发送发送赋值否则电机将按最大转速转动。
如: Motor_Set_Current( 10000 , PID_SPEED[2].out , PID_SPEED[3].out , PID_SPEED[4].out );
更多关于RM电机知识:https://www.cnblogs.com/sasasatori/p/11661343.html
上文如有问题,敬请指正。
https://download.csdn.net/download/weixin_43903002/12665366