快速修改VESC的源代码中的配置参数

VESC确实是个好东西,其开源代码也提供了多种使用方式,本杰明大神提供的VESC_Tools也是个大杀器,参数识别和调参都特别的方便。
快速修改VESC的源代码中的配置参数_第1张图片
VESC配合VESC_Tool调起参数来特别方便,在电脑端动动手,就可以识别出电机的参数,并可以直接将识别出来或者修改的参数写进单片机的Flash里保存。

我们在使用VESC的时候,也可能会有直接修改源代码的情况,比如我这边对它的通讯控制方式和指令格式都作了修改,将其按我的意思变成通过CAN总线接收指令和反馈状态的电机驱动器。当电机是完全自由(啥都没接)的情况下,那修改完代码直接刷写进去之后,再用VESC Tool参数识别一下,直接在VESC Tool中修改参数烧写进去即可。但是,参数识别过程,会让电机空转起来,如果电机轴连接着东西,那就非常地不方便了,参数识别不准不说,还可能搞坏其他东西。

所以,我们识别完电机参数之后,需要在源代码中对各个参数进行相应地修改,这样才不至于每次刷固件都要用VESC Tool进行参数识别。

实际上VESC TOOL识别出来的参数以及上位机中我们手动调参的参数还真不少,如果强行自己手动从源代码中寻找相应的变量或者宏定义,怕是要花费不少功夫。好在VESC TOOL也给用户提供了捷径:那就是从VESC导出头文件,直接将导出的头文件添加到源代码中。
快速修改VESC的源代码中的配置参数_第2张图片
上图的红色箭头分别对应电机控制参数(对应源代码的类似头文件名称为mcconfig)和App配置参数(对应源代码的类似头文件名称为appconfig)。从VESC中到出上述两个头文件,我这里分别保存为DM_MCConfig.h和DM_AppConfig.h。
快速修改VESC的源代码中的配置参数_第3张图片
快速修改VESC的源代码中的配置参数_第4张图片

导出来之后怎么操作呢?挨个手抄到源代码中?其实不用那么麻烦。

推荐按以下步骤操作:

1.将DM_MCConfig.h和DM_AppConfig.h分别复制到源代码工程mcconfig和appconfig文件夹内;

快速修改VESC的源代码中的配置参数_第5张图片

快速修改VESC的源代码中的配置参数_第6张图片

2.在KEIL工程中,添加这两个头文件

快速修改VESC的源代码中的配置参数_第7张图片

3 修改代码

在conf_general.h中添加两行代码:

#define MCCONF_DEFAULT_USER			"DM_MCConfig.h"
#define APPCONF_DEFAULT_USER		"DM_AppConfig.h"

快速修改VESC的源代码中的配置参数_第8张图片
这样就可以了。如果你的KEIL是V5及以上版本,修改完代码,你再打开conf_general.c文件,你会发现第35行和第40行由失能的灰色变成了使能的深色了。很多宏定义在新加的文件里定义之后,它就不会根据mcconfig_default.h和appconfig_default.h里的东西来定义了,起到了快速修改参数的效果。

快速修改VESC的源代码中的配置参数_第9张图片
之所以要这么操作,一个是修改很简单,第二个是好替换,第三个是尽量不影响源代码,尤其是尽量不修改mcconfig_default.h和appconfig_default里的东西,以免引起其他不必要的麻烦。

Good Luck!

你可能感兴趣的:(汽车控制,电机控制,STM32杂耍,VESC,VESCTOOL,电机参数,参数识别,参数修改)