STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成
时间:2022-10-16 02:30:00
总结前面的文章,整体无感FOC代码生成归纳为以下步骤;
第一步:设置芯片
点击MCU选择,
根据以下界面进入MCU型号选择。
第二步:设置电源电压模块参数
母线电压为24V以供电系统为例,最低电压为12V,最高电压为36V,额定电压为24V,电压范围为±50%
第三步:设置母线电压采样参数
下列参数按设计电路原理图填充,一般为串联电阻分压结构。
第四步:设置电机参数
同样,根据电机参数表,首先选择电机类型,分为表电机和内置电机。然后是极对数、额定速度、额定电流、母线电压、定子相电阻、定子相电感、反电势系数,可以依次填充。
第五步:设置电流采样模式
设置电流采样方,设置了电流采样方法,讲解了采样电阻和增益倍数的计算,(STM32电机库(ST-MC-Workbench)这里不再重复学习记录-电流采样参数设置)。
第六步:设置速度采样模式
因为采用的是无感FOC,所以选择 Observer Cordic 模式(滑模反正切),根据电机的实际情况,观测器增益一般软件会给出默认值。
第七步:I/O硬件设置
PWM部分:由于不同的硬件回路对应I/O即使实现了相同的功能,也需要根据特定的电路进行分配。例如,下图的原理图,PWM123456分别对应 PA8 PA9 PA10 PB13 PB14 PB15
因此I/O分配界面如下图所示,BKIN我猜是停止信号
电流采样I/O口分配:
点击电流采样模块分配界面,
进入电流采样周期I/O因为STM32芯片的采样端口是固定的,所以设置在此选项卡中。采样时间为143ns,可以更改。
原理图中的采样部分M_IA、M_IB、M_IC,这三个关角分别对应PA6\PA7\PC因此,进行以下分配。
串口部分:
进入人机交互按钮后,取消按钮,用上位机操作,然后打开串口功能。
然后对应原理图,TX对应PB6,RX对应PB7。
因为用的是无感FOC,使用观测器,所以这个地方没有使用hall因此,检测端口不涉及I/O口的分配。
第八步:I/O检测和生成代码
I/O检测:
左边是I/O点击总体分布,其界面如下I/Ocheck,防止I/O分配错误。完成后显示。check ok。
代码生成:这里代码生成前,需要安装STM32CubeMx,安装什么版本就选择什么版本,这个可以在ST官网直接搜索下载。第二个下拉条是keil软件的版本,我用的是V5就选择V5,后面按照图示选择即可。
第九步:下载程序后,连接ST官方上位机调试
点击如下按钮
进入调试界面,点击连接串口。然后就可以调试了。右侧有START 和 STOP, 灰色表盘内红点可以用鼠标拖动,控制实时转速。
可以用来观测波形转速。
下图是一个我的点击启动和实时控制转速的波形结果。
整理不易,希望大家帮忙点个赞~
后续文章链接:
永磁同步电机矢量控制到无速度传感器控制学习教程(PMSM)(一)
无刷直流电动机矢量控制(一)——无刷直流电机(BLDC)与永磁同步电机(PMSM)的相同点和区别
无刷直流电动机矢量控制(二)——无刷直流电机的工作原理及其内部结构
无刷直流电动机矢量控制(三)——位置检测和换相
无刷直流电动机矢量控制(四)——simulink仿真搭建(让电机动起来)
无刷直流电动机矢量控制(五)——开环调速原理(方波形式)
STM32电机库(ST-MC-Workbench)学习记录——电机参数及传感器设置
STM32电机库(ST-MC-Workbench)学习记录——电流采样部分
STM32电机库(ST-MC-Workbench)学习记录——电流采样参数设置
STM32电机库(ST-MC-Workbench)学习记录——无感FOC代码生成