KmdFoc Demo
大约 6 分钟KmdFoc使用指南
KmdFoc Demo
USB转CAN调试&测试DEMO
Example
在此使用USB转CAN的第二路CAN做了测试案例,用户在测试完成后,也可自行修改USB转CAN的固件作为两路的USB转CAN使用,如需修改固件,则协议请自行制定,或基于seasky协议扩展(建议基于seasky协议扩展,此处有配套的开源上位机 vSailorProject]可供调试)。
Tip
程序中CAN0用于实现USB转CAN调试功能,CAN1用于KmdFoc驱动器的SDK演示。此调试小板程序完全开源,用户可以自行修改程序。
电机未使能状态下的按键功能
typedef enum eKmdButtonEvent
{
KMD_BT_EVENT_NULL = 0,
KMD_BT_EVENT_GET_VERSION, //获取版本号,以固定通信方式
KMD_BT_EVENT_MOTOR_ENABLE, //使能电机或失能电机
KMD_BT_ENVNT_CALI_MOTOR_ENTER, //进行电机校准或停止校准
KMD_BT_EVENT_GET_CONFIG, //获取所有参数
KMD_BT_ENVNT_SAVE_CONFIG, //保存参数
KMD_BT_ENVNT_RESET_CONFIG, //复位参数两个电机参数
} tKmdButtonEvent;
电机使能状态下的按键功能
typedef enum eKmdAppEnum
{
KMD_APP_EVENT_NULL = 0,
KMD_APP_EVENT_MOTOR_ENABLE, //使能电机或失能电机
KMD_APP_POS_KNOB, //位置控制方式拨轮旋钮
KMD_APP_VEL_KNOB, //转速方式实现拨轮旋钮
KMD_APP_OBSTACLE, //带阻力的旋钮
KMD_APP_OBSTACLE_BACK, //带阻尼回正,就是限制速度而已,
KMD_APP_SPRING, //就是利用P值震荡和速度限制而已,玩玩可以,实际用处不大
KMD_APP_FREE_MODE, //手动旋转,保持转速,自由模式
KMD_APP_OBSTACLE_MUTUAL, //双电机同步,力矩放大
KMD_APP_OBSTACLE_MUTUAL_ONLY, //单方向控制1,力矩更大
KMD_APP_OBSTACLE_MUTUAL_TURN_ONLY, //单方向控制2,感觉玩具效果
KMD_APP_ALL, //四个电机互控
} tKmdAppEnum;
在USB转CAN上有一个按键用于控制KmdFoc应用
使用提示
- 使用前请在程序中,配置电机数量,和需要的相关参数
当电机处于未使能模式时
- 单击一次按键,以获取电机的版本号等
- 连续点击两次按键,如果点击已经校准,则会使能或失能电机
- 连续点击三次按键,开始自动校准点击参数
- 连续点击四次按键,获取电机参数
- 连续点击五次按键,保存电机参数
- 连续点击六次按键,复位电机参数(没出bug不需要复位,会恢复出厂设置)
- 连续点击七次按键,设置编码器类型,并软复位系统,编码器类型程序中设置
当电机处于使能状态时
- 单击一次按键,如果点击已经校准,则会使能或失能电机
- 连续点击两次按键,切换模式为位置方式实现的拨轮旋钮功能
- 连续点击三次按键,切换模式为速度方式实现拨轮旋钮
- 连续点击四次按键,切换模式为带阻力功能的旋钮(就像扳手腕一样)
- 连续点击五次按键,切换模式为带阻尼回正的旋钮
- 连续点击六次按键,切换模式为回正的弹簧旋钮
- 连续点击七次按键,切换模式为自由模式
- 连续点击八次按键,切换模式为双电机互控,力矩放大模式
- 连续点击九次按键,切换模式为位置闭环方式实现的单方向控制
- 连续点击十次按键,切换模式为转速闭环方式实现的单方向控制
- 连续点击十一次按键,切换模式为四个电机相互控制模式,同样具备力矩放大功能。
使用流程
- 单击一次按键,以固定通信方式(如需设置编码器类型)
- 单击七次按键,设置编码器类型,此后KmdFoc会复位(如需设置编码器类型)
- 单击一次按键,以固定通信方式
- 连续点击三次按键,校准电机参数
- 连续点击四次按键,获取电机参数
- 连续点击五次按键,保存电机参数
- 连续点击二次按键,使能电机,如果成功使能电机,此时按键事件切换为应用事件
- 确认电机已经被使能
- 连续点击两次按键,切换模式为位置方式实现的拨轮旋钮功能
- 连续点击三次按键,切换模式为速度方式实现拨轮旋钮
- 连续点击四次按键,切换模式为带阻力功能的旋钮(就像扳手腕一样)
- 连续点击五次按键,切换模式为带阻尼回正的旋钮
- 连续点击六次按键,切换模式为回正的弹簧旋钮
- 连续点击七次按键,切换模式为自由模式
- 连续点击八次按键,切换模式为双电机互控,力矩放大模式
- 连续点击九次按键,切换模式为位置闭环方式实现的单方向控制
- 连续点击十次按键,切换模式为转速闭环方式实现的单方向控制
- 连续点击十一次按键,切换模式为四个电机相互控制模式,同样具备力矩放大功能。
- 单击一次按键,失能电机,此时再次被切换为普通的按键事件,需按两次按键再次使能电机
平衡车案例
Note
同时提供基于`KmdFoc`和`Rm`的C板开发的平衡车代码,目前包含了直立环的一个演示,转向环和速度环自己加一下就行,比较简单