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

相关推荐
国科安芯3 小时前
立方星与微纳卫星综合电子微型化趋势下的抗辐射MCU选型综述
人工智能·单片机·嵌入式硬件·mcu·risc-v·抗辐射
xunyan62343 小时前
3-1 独立按键控制LED亮灭(SDCC + Notepad++ + STC-ISP/普中ISP)
单片机·嵌入式硬件·接口隔离原则
WD137298015574 小时前
WD5030L,为充电桩、工业设备、5G 基站、车载系统、消费电子提供电源,7-30V 的宽压输入
stm32·单片机·嵌入式硬件·5g·车载系统·51单片机
创界工坊工作室6 小时前
30-基于STM32的小麦烘干塔温度控制系统设计
stm32·单片机·嵌入式硬件·proteus
Zwawa7 小时前
先把轮子转稳,才不会烧心:编码器速度环 PID 怎么接回 PWM
c语言·单片机·嵌入式
单片机仿真设计8 小时前
【proteus仿真设计】基于 STM32 的开荒机器人遥控控制系统设计(仿真图+程序)
stm32·嵌入式硬件·机器人·proteus
smartpi_ai8 小时前
51 单片机写好了,大模型语音怎么接?17T 全驱动的现成方案、双板串口分工的边界与画板前的三项硬件确认
单片机·嵌入式硬件·学习
我先去打把游戏先8 小时前
NimBLE是什么-ESP32蓝牙协议栈详解
单片机·嵌入式硬件·ubuntu
木子n19 小时前
车载以太网与SOME/IP服务化通信实战-02.状态机与订阅:SOME/IP-SD的三态迁移、重传账与上电风暴
嵌入式硬件·网络协议·车载系统·车载以太网·some/ip
Gongsion9 小时前
30V输入耐压|1.5μA超低静态电流|200mA输出,CSM52系列:线性稳压器LDO,12V母线转3.3V/5V传感器、MCU弱电支路可靠稳压方案
单片机·嵌入式硬件·车载系统·无人机·智能家居