天天看点

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

总结前面文章,将总体无感FOC代码生成归纳为以下步骤;

第一步:设定芯片

点击MCU选择,

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

进入如下界面,根据MCU型号选择。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

第二步:设定电源电压模块参数

以母线电压为24V供电系统为例,最低电压设为12V,最高电压设为36V,额定电压设为24V,电压范围为±50%

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成
STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

第三步:设置母线电压采样参数

根据设计的电路原理图填入下列参数,一般为串联电阻分压结构。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

第四步:电机参数设置

同样根据电机参数表,首先选择电机类型,分为表贴式电机和内置式电机。然后是极对数、额定转速、额定电流、母线电压、定子相电阻、定子相电感、反电动势系数,依次填入即可。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

第五步:电流采样模式设置

设置电流采样方式,在前面文章已有讲解关于采样电阻和增益倍数的计算,(STM32电机库(ST-MC-Workbench)学习记录——电流采样参数设置),在此不再赘述。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

第六步:速度采样模式设置

因为采用的是无感FOC,所以选择  Observer + Cordic 模式(滑模反正切方式) ,观测器增益一般软件会给一个默认值,后面根据电机实际情况调试。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

第七步:I/O硬件设置

PWM部分:由于不同硬件回路对应的I/O口不一样,即使实现功能相同,也需要按照特定回路分配。例如下图的原理图,PWM123456分别对应 PA8 PA9 PA10  PB13 PB14 PB15

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

因此I/O分配界面如下图分配,BKIN我推测是停止信号

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

电流采样I/O口分配:

点击电流采样模块分配界面,

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

进入到电流采样周期分配和I/O分配界面,因为STM32芯片的采样端口都是固定的,所以在此选项卡内设定。采样时间设为143ns,可以更改。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成
STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

原理图里面采样部分是M_IA、M_IB、M_IC,这三个关角分别对应PA6\PA7\PC4,因此进行如下分配。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

串口部分:

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

经过人机交互按钮进入,取消按键,用上位机操作即可,然后打开串口功能。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

然后与原理图对应,TX对应PB6,RX对应PB7。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

由于用的是无感FOC,用的是观测器,所以这个地方没有用到hall检测端口,因此也不涉及I/O口的分配问题。

第八步:I/O检测和代码生成

I/O检测:

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

左边是I/O总体分配,其界面如下,点击I/Ocheck,防止I/O分配错误。完成后显示check ok。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成
STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

代码生成:这里代码生成前,需要安装STM32CubeMx,安装什么版本就选择什么版本,这个可以在ST官网直接搜索下载。第二个下拉条是keil软件的版本,我用的是V5就选择V5,后面按照图示选择即可。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

第九步:下载程序后,连接ST官方上位机调试

点击如下按钮

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

进入调试界面,点击

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

连接串口。然后就可以调试了。右侧有START 和 STOP, 灰色表盘内红点可以用鼠标拖动,控制实时转速。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成
STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

可以用来观测波形转速。

下图是一个我的点击启动和实时控制转速的波形结果。

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成
STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

整理不易,希望大家帮忙点个赞~

后续文章链接:

 永磁同步电机矢量控制到无速度传感器控制学习教程(PMSM)(一)

无刷直流电动机矢量控制(一)——无刷直流电机(BLDC)与永磁同步电机(PMSM)的相同点和区别

无刷直流电动机矢量控制(二)——无刷直流电机的工作原理及其内部结构

无刷直流电动机矢量控制(三)——位置检测和换相

无刷直流电动机矢量控制(四)——simulink仿真搭建(让电机动起来)

无刷直流电动机矢量控制(五)——开环调速原理(方波形式)

STM32电机库(ST-MC-Workbench)学习记录——电机参数及传感器设置

STM32电机库(ST-MC-Workbench)学习记录——电流采样部分

STM32电机库(ST-MC-Workbench)学习记录——电流采样参数设置

STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成

继续阅读