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

    文章

    1134

    浏览量

    129019
  • STM32
    +关注

    关注

    2270

    文章

    10910

    浏览量

    356631
  • 电机驱动
    +关注

    关注

    60

    文章

    1219

    浏览量

    86828

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

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

收藏 人收藏

    评论

    相关推荐

    处理器SDK RTOS定制:修改板以更改UART实例

    电子发烧友网站提供《处理器SDK RTOS定制:修改板以更改UART实例.pdf》资料免费下载
    发表于 10-11 09:53 0次下载
    处理器<b class='flag-5'>SDK</b> RTOS定制:修改板<b class='flag-5'>库</b>以更改UART实例

    利用vMeasure eMobilityAnalyzer函数分析电机性能

    本文利用vMeasure eMobilityAnalyzer函数中的克拉克变换功能,将三相电机定子电流或电压转换为两相电流或电压,帮助工程师更有效地、可视化地分析电机的行为并对控制算
    的头像 发表于 09-13 11:37 414次阅读
    利用vMeasure eMobilityAnalyzer函数<b class='flag-5'>库</b><b class='flag-5'>分析</b><b class='flag-5'>电机</b>性能

    恒讯科技分析:sql数据怎么用?

    。 2、安装数据软件: 在您的服务器或本地计算机上安装所选的数据软件。 3、配置数据服务器: 根据需要配置数据
    的头像 发表于 07-15 14:40 378次阅读

    使用st foc 4.2电机低速启动不了,启动了也是力很小,如何调整?

    使用st foc 4.2驱动电机电机额定电压24V,电流3.8A,霍尔有感120度,空载转速1240转,
    发表于 05-09 06:50

    ST电机库2.0是否可以实现无刷直流电机的自由滑行启动?

    求助大家,ST电机库2.0是否可以实现无刷直流电机的自由滑行启动,也就是在电机正转停机后,还在转动,直接启动?求助,谢谢。
    发表于 05-07 07:55

    MC SDK5.0导致电机运行时驱动管发热严重,定时器deadtime设置为0怎么解决?

    以前用的4.2的,更新5.0后发现电机运行时驱动管发热严重,调试发现定时器deadtime设置为0,从而发现自动生成的代码中有bug.我使用的硬件平台是Nucleo F446RE,编
    发表于 04-29 08:43

    SDK5.0用Workbench生成工程后无法运行怎么解决?

    SDK5.0用Workbench生成potentiometer工程后,按照配置的启动按键无法启动电机。查找程序没看到有关启动电机与PWM使能的模块,请问要运行
    发表于 04-28 06:40

    SDK5.1.1修改程序应用到自己的驱动板子上位机无法打开串口的原因?

    打开串口。为什么SDK5.0需要打开TIM的两个BKIN? 这个情况困扰了好几天了,希望有知道的大神不吝赐教,先谢谢各位了。
    发表于 04-26 07:37

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

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

    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 11次下载

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

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