【嵌入式电机控制#补充3】SDK电机控制台的功能

接下来介绍以下后面FOC(矢量控制)开发需要使用的一个工具,Motor Control Work Bench,它能够像simulink一样,给出三相逆变电路的架构,并让用户提供具体的器件参数,然后配合CubeMX自动生成驱动代码,会极大的提升后续电机驱动开发调试的效率。

一、CX文件 的创建

在电机控制台中,我们可以在类似电机仿真框图的界面上配置驱动板的相关参数。

(1)点击New Proj创建新的stmcx工程

(2)进行应用场景选择,这里可以选择 泵系统、风扇系统、压缩机系统、洗衣机系统、空调系统、无人机系统等个性化类型,也能选择自定义进行开发。

(3)选择主控

这里只有ST官方的主控板提供自动配置参数(一般都很贵),我们用自己的野主控就选自定义。

(4)驱动板配置

也是一样,只适配ST自家的板子,我们选自定义

(5)电机参数配置

普通国产电机按照电机额定电压选则上面两个,其他两个是克罗韦尔、西门子等公司的产品,我们不需要管。

(7)板载电机数量

大家需要在此明确一个概念,市面上的驱动板和启动器,顶多是一带二的,很少见到一带四的驱动设备,所以这里只有单双电机选项。

二、控制系统模型参数 配置

选择OK后就进入到这个界面了,此界面可以进行类似simulink的参数控制系统参数配置。

(1)配置交流电源

一般情况下这个配置用不到的,因为我们BLDC和PMSM常接直流电,如果要接触工业场合的交流异步电机,可能会用到。

(2)配置直流电源(驱动板电源)

这里配置正常电压为你的驱动板供电,

(3)总线电压反馈

这里根据你驱动板中总线电压监测电路的原理图进行参数设置,输出的信号经过采样电路达到ADC,随后触发模拟看门狗事件。

(4)温度传感器

在这里进行温度保护的参数配置

(5)电流采样电路

我们可以选择 1 2 3分流类型 ,并在生成的对应原理图中修改参数。

(6)三相半桥逆变电路设置

这里主要设置硬件死区开关频率

(7)串口配置

在用户接口中,可以用此选项来配置串口功能,用于汇报控制日志和实现用户逻辑

(8)控制器设置

这里可以直接配置我们的PWM频率,空闲输出,软件死区

下方可以配置速度PID值,以及PID中断频率。

需要注意,这里的所有PID的分母都是以2^n形式出现,这么做的目的是,方便通过对寄存器进行移位除法,从而加速我们的运算速度。

其次,还可以进行默认宏观配置。

比如,选取速度模式,则库会生成速度+电流(可选)代码。

扭矩模式,则库会生成电流控制代码。

在电机控制台中,没有位置环配置,需要我们在另外一款插件中进行调节。

在下方数值栏中,可以设置目标转速,Iq,Id

在下方扭矩控制参数中,可以精确把控电流PID的时机,并设置截至频率(滤波),和Id与Iq的PID参数。注意如果需要调节电流PID则打开人工调节,控制台默认是帮我们设定参数的。

在电压保护界面可以做过压保护,和低压保护。

选择MCU类型和MCU基础功能初始化配置

注意一点,其实这里虽然只显示F417IG这个型号,但它实际上是适配大部分F407的

接下来是电机控制IO初始化,可以设置PWM的定时器和引脚 ,也是设置霍尔定时器 (前提是先设置霍尔传感器),并且可以设置驱动使能引脚

此外,也能配置串口引脚和通信速率

这里可以直接配置ADC的电流、总压、温度信号以及无感。

剩下还有个DAC,出现在前馈控制等场景中,这里不多介绍。

现在大家应该清楚控制器的五个板块分别是什么了吧,下四个分别是MCU基础工作底层数字转数字配置(IO)模拟转数字配置(ADC)数字转模拟配置(DAC) ,而上面的大板块属于我们的中下层配置(算法层),囊括了大部分电机控制下需要配置的内容。

ST的这个软件起初设计思路就是这样的,通过这个分析我们能更快的上手控制台。

(9)电机配置

在这里进行电机类型和参数配置(其实也可以适用BLDC的)

配置霍尔传感器或编码器参数

然后点击generate生成工程就ok,注意选择正确的版本,并且保证你的Cube和MDK版本合适,它会自动给你生成Cube和MDK文件,怎么样?不用自己手动配置和移植代码了,这样就极其方便了我们的开发,让我们把工作重心都放在控制算法上。

三、上位机监视器

是的,SDK把全家桶都给你搬来了,配置页上方还有上位机监视器,能够实现测速等功能

这里就相当于一个串口软件,你选择串口和同步波特率,它就能通过自己的协议把速度数据上传到我们的PC里程计界面中。

侧栏显示电机状态,是SDK控制框架中的控制日志 反馈回来的,能够很方便的帮我们做故障诊断

右侧栏有电机操作按钮,这些都是SDK库中API提前设计好的,不需要担心底层通信问题。

如果电机出现错误,我们进行手动修复后,需要点击Fault Ack进行应答以消除错误

此外,它还内置了图像软件,让我们进行波形查看

此外,它还能进行参数调整(效果不好)、寄存器配置、无感配置

总结

SDK库开发的大致流程如下:SDK电机驱动配置->生成的CubeMX文件配置其他->MDK逻辑调整

相关推荐
小郝 小郝2 小时前
开启单片机
c语言·单片机·嵌入式硬件·学习·51单片机
酷飞飞7 小时前
震动马达实现库函数版(STC8)
单片机·嵌入式硬件
zhmc11 小时前
MCU编程中的临界资源及临界区
单片机·嵌入式硬件
智者知已应修善业12 小时前
【51单片机2个按键控制流水灯转向】2022-10-25
c语言·经验分享·笔记·嵌入式硬件·51单片机
写点什么呢12 小时前
Stlink识别不到-安装驱动
stm32·单片机·嵌入式硬件·学习
善 .14 小时前
单片机输出高电平的两种方式
单片机·嵌入式硬件
安庆平.Я14 小时前
STM32——时钟系统
stm32·单片机·嵌入式硬件
机器视觉知识推荐、就业指导1 天前
STM32 外设驱动模块四:光敏电阻(LDR) 模块
stm32·单片机·嵌入式硬件
ShiMetaPi1 天前
GM3568JHF:FPGA+ARM异构开发板环境搭建教程
嵌入式硬件·fpga开发