【嵌入式电机控制#补充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逻辑调整

相关推荐
LCG元14 分钟前
STM32 USB HID 自定义免驱设备开发:从报告描述符到上位机 64 字节收发实战
stm32·单片机·嵌入式硬件
Hello_Damon_Nikola24 分钟前
HT2813从入门到精通
单片机·嵌入式硬件·物联网
天空'之城1 小时前
单片机基础核心知识点汇总(二)
单片机·嵌入式硬件
恒锐丰-罗生1 小时前
宽压降压电源新选择|CN8610 60V/1A 异步降压芯片,车载 / 工业 IoT 一站式解决方案
嵌入式硬件·硬件工程
恒锐丰-罗生1 小时前
宽压降压新标杆!CN8810 4.5~100V 高压 DCM 异步降压芯片,车载 / 工业 IoT 全能电源方案
嵌入式硬件·硬件工程
Devlab11 小时前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
Dr.kangder14 小时前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
zlinear数据采集卡16 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
ACP广源盛1392462567316 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
Rocktech_ruixun18 小时前
机器人端侧大模型部署对主板有哪些要求?瑞迅主控板分级方案对比
人工智能·嵌入式硬件·机器人