0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

新旧版ST电机驱动库对比与软件库SDK5.0的评测分析

STM32单片机 来源:未知 作者:工程师郭婷 2018-08-29 16:01 次阅读

新旧版本电机驱动库的对比

原来STM32的开发以标准外设库为主,所以以前的FOC4.3是基于标准外设库的,而现在STM32以STM32CubeMX和HAL/LL库为核心,所以现在的SDK5是基于STM32CubeMX和HAL/LL库的。基于这一点,很多变化就很好解释:

1、FOC4.3在生成代码时采用条件编译的方式来兼容不同系列的控制板,这样读源代码时很费力,而且不容易维护。而SDK5.0则利用成熟的STM32CubeMX加各系列MCU的HAL/LL库来生成需要的代码,不需要的部分不添加进来,这样维护量就小了许多,而且读起来很顺溜了。

2、现在SDK5.0生成代码时直接生成了整个项目,而FOC4.3需要手工把Motor Workbench生成的文件和库拷贝到相应的目录下。顺便说一下,SDK5.0支持的软件开发环境(IDE)更多了。

3、ST越来越开放了,FOC4.3有很多代码是以库的形式提供的,现在SDK5.0更多的代码以源代码的形式提供。

4、代码的组织形式变了,FOC4.3是基于类的,而现在SDK5.0是基于组件的。

经过这么长时间的评估,ST的电机驱动SDK5.0还是非常给力的,是开发电机驱动的利器

电机控制软件库SDK5.0评测分析

嵌入式软件的开发离不开PC端软件的支持。功能齐全、好用的PC端软件是MCU推广的一大助力。除了MCU开发工具外,ST为还为P-NUCLEO-IHM001电机控制套件提供了非常丰富的开发工具。下面就分析一下ST为无刷电机软件开发提供的相关软件。

一、电机参数测量

首先是X_CUBE_MCSDK,STM32 Motor Control Software Development Kit (MCSDK),安装这个软件后,PC桌面会出现两个软件的图标:

Motor Profiler 5.1.1是一个便利的“Motor Profiler”工具,通过简单的设置来检测接入的电机参数,自动配置电机控制算法库,让你的电机很容易转起来。获取电机参数是调试电机的第一步,所以必须要保证得到正确的电机参数。通常情况下电机厂商会公布电机参数,但是很多情况下电机的参数不会很容易的获取到,再以前的话,就需要手动测量了。(通过直流电桥测电机线圈电阻,然后通过电源示波器测相电感,然后计算反电动势常数.....)是不是很麻烦?不过现在不用这样麻烦了,Motor Profiler 5.1.1会帮你测出相关参数。

二、代码生成

在自动生成代码之前,还有几个软件是必须安装的:

•首先是软件开发环境(IDE),这里笔者使用IAR EWARM

•其次是STM32CubeMX,玩ST的MCU,这个是必须的

•接下来是ST的HAL库和LL库,这次评估用的是Nucleo-F302R8,所以记得要安装F3的。

•当然还要包括X-CUBE-MCSDK,这个软件除了安装Motor Workbench和MotorProfile工具外,也会安装一些电机控制库。(注意软件安装目录都不要有中文字符)

这些都安装好之后,就可以自动生成代码了。

自动生成代码是在Motor Workbench中进行的。在Motor Workbench中把参数设置好并验证MCU引脚分配后,接下来点击界面中蓝色向下的箭头按钮就启动生成代码的过程。

点击按钮之后会弹出一个对话框,让你选择STM32CubeMX的版本(至少4.25.0以上),选择你使用的软件开发环境(IDE),选择使用HAL库还是LL库。

下来点击"Generate"开始启动自动生成代码。完成后会给出相关信息。后续就是加入自己的代码和调测了。

三、代码编译及调试

代码生成后,Motor Workbench会根据开始选择的软件开发环境(IDE)在相应的目录下生成项目文件,找到这个目录,双击打开就可以了。

打开后启动编译。如果编译通过,再下载到MCU里,电机就可以转起来了!

电机调试要用到的两个软件:MotorControl Workbench, STM Studio.

先说MotorControl Workbench。还是在MotorControl Workbench界面里,选择下面菜单按钮中的像汽车仪表盘的按钮。

下图很好的说明了Motor Workbench在ST的电机驱动开发中的作用。

除了Motor Workbench,ST还有个更广泛应用的调试软件---STM-STUDIO-STM32。STM-STUDIO在运行时可以直接查看程序变量,它通过分析固件,提取所有变量供你选择,然后在运行时,通过ST-Link连接到MCU,配合里面的固件读取变量值,你也可以改变变量值。STM-STUDIO使用起来很简单,功能却十分强大。

首先,我们打开STM-STUDIO软件后,点击文件菜单里的“Import variables",

选择导入和准备调试的MCU版本一致的内含代码调试信息的ELF文件(后缀elf out axf)。选择你想要监视和调试的变量导入,并关闭对话框。

在视图里加入你想观察的变量。然后就可以直观的查看你想观察的变量的变化,有折线图, 有柱状图,也有表格:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ST
    ST
    +关注

    关注

    32

    文章

    1093

    浏览量

    128115
  • STM32
    +关注

    关注

    2239

    文章

    10663

    浏览量

    348454
  • 电机驱动
    +关注

    关注

    59

    文章

    1057

    浏览量

    85844

原文标题:新版ST电机控制软件库SDK5.0评测分析

文章出处:【微信号:STM32_STM8_MCU,微信公众号:STM32单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SDK5开源高频注入的头文件怎么没有?

    ST SDK5开源,高频注入的头文件怎么没有?只有。c文件。怎么能够获得?
    发表于 04-17 07:37

    5.4foc如何控制电机使能?

    我用st的5.4foc,想控制电机使能,即电机速度为零保持力矩。电机用的是直流无刷带霍尔,配置的有感程序。 api手册里没找到这样的功能啊
    发表于 04-11 08:29

    foc sdk5.0如何使用中AB编码器的脉冲来计数?

    在使用foc sdk5.0过程中,我配置了光编码器来检测马达速度,但在使用过程中,发现控制不是很好,我想使用中AB编码器的脉冲来计数,请告知应该用哪个函数? 谢谢!
    发表于 04-03 08:26

    SDK5.4.6的FOC电机大负载启动会反转怎么解决?

    SDK5.4.6的FOC电机大负载启动会反转
    发表于 04-03 07:24

    如何使用FOC SDK5.0计数的脉冲?

    我想使用FOC SDK5.0计数的脉冲。
    发表于 04-03 06:59

    STM32F302+IHM07M1 SDK5.0带霍尔传感器后电机为什么转不起来?

    最近在学习ST电机控制,手中有stm32F302+IHM07M1 以及ST软件SDK5.0SDK
    发表于 03-20 08:31

    STM32电机控制SDK v5.0入门

    电子发烧友网站提供《STM32电机控制SDK v5.0入门.pdf》资料免费下载
    发表于 03-11 09:25 3次下载

    Infineon TC399 SDK对于PMSM电机的调速运动控制是否有软体的支持?

    我们想了解一下Infineon TC399SDK 对于 PMSM电机的调速运动控制是否有软体的支持? 比如是否有相应的lib提供pid,park ,clark变换函数的api ?
    发表于 01-31 07:51

    ST的LL的函数接口是和HAL兼容的吗?

    ST 的LL的函数接口是和HAL兼容的吗
    发表于 10-11 06:45

    ST的LL和HAL可以混合使用吗?

    ST的LL和HAL可以混合使用吗
    发表于 10-09 07:59

    STM32G0驱动无刷电机吗?

    STM32G0驱动无刷电机,有
    发表于 09-22 06:04

    X-CUBE-MCSDK和X-CUBE-MCSDK-FUL STM32电机控制软件开发套件

    本手册介绍了X-CUBE-MCSDK和X-CUBE-MCSDK-FUL STM32电机控制软件开发套件(SDK),设计用于STM32微控制器,并与之一起使用。SDK包含一个
    发表于 09-19 06:41

    ST MC SDK 5.x概览

    什么是ST MC SDK5.xST MC SDK5.x支持的MCU及硬件评价板ST MC SDK
    发表于 09-18 11:08 1次下载

    关于CV181x TPU SDK相关问题求解

    您好,针对CV181xSDK有如下问题,目前情况下是否有办法通过SDK升级解决这些问题呢? 希望有关于cviruntime的封装,以便可以使用除C++之外的语言进行开发。 目前只适配了图像操作
    发表于 09-18 07:23

    是否可以为SDK导入所有Arduino

    我目前正在为 esp8266 使用 Eclispe 非官方开发工具包以及基于官方 Espressif Lubuntu 的 NONOS SDK,我想知道我是否可以为这个 SDK 导入所有
    发表于 06-09 08:26