ST Motor Control WorkBench6.4.2 FOC控制代码生成
利用st官方库控制BLDC 自定义硬件快速生成代码ST Motor Control Workbench简称MC Workbench是 STMicroelectronics 推出的一款电机控制配置与调试软件工具主要用于其电机控制生态特别是 STM32 MCU。不需要从头写算法通过界面设置电机参数电阻、电感、极对数等控制参数PI调节器、速度环、电流环传感器类型霍尔、编码器、无感 对初学者特别友好下面是大致的流程 欢迎批评指正点击电路板设计点击create new board选择inverter点击next填写相关信息 选择mcu 点击next填写电机参数点击左下角add features首先添加current sensing开关上升时间结合原理图询问ai点击add hardward variant结合原理图这里选择三电阻采样 外部运放填写对应参数选择对应引脚点击apply接着添加phase voltage generation结合硬件填写参数选择pwm生成方式填写参数对应引脚 点击apply接着添加速度和位置传感器根据实际情况选择编码器 若是磁编码器需要移植代码 选择正交编码器方便移植这里因为是磁编码器 所以引脚随便选 只要不冲突接着点击add features加入串口选择好引脚和串口号逆变器创建完成 点击save后续若想修改 同样是点击电路板设计创建新工程 选择电路板找到自己设计的电路板电机选择一个参数类型最接近的即可选择完成后来到此界面接着点击任意一个蓝色模块 配置电机参数由于使用的磁编码器需要移植代码替换速度传感器接口 故先使用无感测试一下其他功能电流检测的增益一定要正确设置无感启动参数 其他界面参数默认驱动设置 设置目标转速配置串口 不使用freertos配置完成 点击生成工程代码选择编译器等 点击生成点击运行cubemx勾选生成.c.h文件 点击生成代码取消browse information 加快编译速度勾选复位并运行点击motor pilot连接板子点击 start 只要电机能转动说明基本上没问题接着换成正交编码器配置启动参数生成cubemx失能正交编码器使用的timer勾选配置自己的编码器 我这里使用的磁编码器tle5012 采用spi通信生成代码采用磁编码器 若是正交编码器则不需要修改官方代码添加自己的编码器文件 测试编码器功能是否正常来到mc_task_foc.c文件电机执行的状态机逻辑在这里由这个函数__weak void TSK_MediumFrequencyTaskM1(void)执行 中等频率任务首先修改这个计算角度的函数接着修改计算速度的函数 具体修改不过多说明接着修改设置角度的函数加入d轴对齐编码器校准函数其他修改的地方如下最后修改状态机编码器校准部分最后在上位机修改pid参数完成测试
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2566570.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!