搜索
查看: 7351|回复: 13

[原创] 【STM32电机培训】——2、生成电机样例程序stmcx、ioc、IAR工程

[复制链接]
  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
    发表于 2018-9-9 15:30:01 | 显示全部楼层 |阅读模式
    本帖最后由 toofree 于 2018-9-9 15:32 编辑

    生成电机样例程序stmcx、ioc、IAR工程


    本贴目的是,对于电机控制还处于两眼一抹黑的情况下,先跑个套路,从直观上对MotorControl Workbench 5.0.3软件及开发过程有个了解。

    打开软件MotorControl Workbench 5.0.3
    01.jpg

    在样例工程列表中,找到P-NUCLEO-IHM001-BullRunning样例,并双击打开
    02.jpg

    提示关闭前保存,先选是,往下走着看看
    03.jpg

    保存工程中,按默认名称“SDK50x-P-NUCLEO-IHM001-BullRunning.stmcx”,先不做修改
    04.jpg

    可以看到标题栏上stmcx工程名称为“SDK50x-P-NUCLEO-IHM001-BullRunning”。左边有4项,电机参数、电源阶段(硬件驱动)、驱动管理、控制阶段(MCU控制相关)。
    双击中间的大M,进度电机参数设置
    05.jpg

    可以看到,样例默认设置为下图,对参数暂不做改动。
    06.jpg

    对比之前电机参数识别时得到的结果,有一定的差别,暂不使用获得的结果代替上图中电机参数,供之后进阶阶段参考。
    07.jpg

    传感器设置,由于本实验套件没有相应外设,因此都不勾选
    08.jpg

    电源硬件驱动设置,暂不做任何修改。如要修改,需要对照硬件电机驱动电路参数。
    09.jpg

    驱动管理,有6个蓝色框,可以设置各种参数。暂不做任何修改
    10.jpg

    如要修改,那么鼠标双击蓝色框内,将弹出相应设置选项,如下图
    11.jpg

    对于第4项比较重要,是电机控制时MCU相关资源参数的设置,不妨打开来看看。当然这些参数如果需要调理的话,将来的STM32CubeMX下也可以说完成。
    12.jpg

    双击MCU和时钟频率选项图标,弹出MCU型号,时钟类型,主时钟频率,电压等参数
    13.jpg

    设置输出工程类型,IDE及工具链。
    14.jpg

    可以有IAR、Keil4、Keil5、TrueSTUDIO、SW4STM32等,我们这里选择IAR,即EWARM。
    15.jpg

    生成工程文件。
    16.jpg

    当然也可以通过主菜单的Tools下拉菜单中,选择相应设置。
    17.jpg

    生成工程文件中……。生成工程文件成功后,过程窗口自动关闭。如没有任何错误提示,那么进行下一步,IAR下编译目标固件。
    18.jpg

    使用IAR for ARM 8.0以上,我这里安装了三个版本(8.20、8.22.2、7.80)的IAR for ARM,选择8.20,因为5.0的电机开发环境要求必须是IAR 8.0以上版本。
    19.jpg

    如果选择 7.80,那么在编译时会多一条警告,关键是生成的目标固件无法下载执行。我当了回小白鼠,其他小伙伴就没必须再去尝试了,给大家省点时间。
    20.jpg

    打开IAR 8.20后,找到并打开工程“Project.eww”
    21.jpg

    把用户文件夹前的加号点开,可以看到文件后都有一个红色有点,这也表示相应文件未编译,当编译后红点将自行消失。打开main.c文件,可以看到主函数比较简洁明了,while中没有任何代码,这是因为样例工程中的程序在运行时通过USART与上位机通信来设置参数,都在中断中执行。
    22.jpg

    鼠标右键点工程,弹出菜单,选择“make”,编译工程。
    23.jpg

    编译完成,0错误、0警告
    24.jpg

    下载并调试,或用快捷键ctrl+d
    25.jpg

    下载成功,进入调试模式,程序运行指针指向main函数开头
    26.jpg

    点击全速运行程序图标,或者用快捷键F5
    27.jpg

    打开监控窗口
    28.jpg

    设置相应串口参数,并连接串口
    29.jpg

    上位机与电机目标板固件已连接
    30.jpg

    点“Start motor”按钮,电机开始运行
    31.jpg

    电机开始运行效果
    77.jpg

    可以看到设置转速与测量转速,测量转速是通过电机实时运行测量得到的结果。
    32.jpg

    高速电机设置转速,电机速度发生变化,测量转速反馈到的转速也相应变化。
    33.jpg

    在调整速转速、方向、或启动时,可能会发生错误。错误主要是电机速度反馈错误和电机超流错误。
    电机速度反馈错误
    34.jpg

    电机超流错误
    35.jpg

    右侧按钮的操作,将会在下面的“操作改变日志”中有显示
    36.jpg

    打开plotter绘图窗口,可以看到设置转速与测量转速的变化波形。
    放大波形,可以看到实测波形在设置转速附近做上下往复,这是因为一直在做pid调节转速。
    37.jpg

    反馈的测量转速是通过USART串口发送到上位机的,并且相对发送采样速率不同,在低速时,反馈点多一些,高速时每个周期的反馈点要少一些。
    38.jpg

    电机速度有突变时,反馈速度会有过高的过冲,这也是PID的一个特征。
    39.jpg

    速度变大、变小,都会有反馈速度过冲
    40.jpg

    至此,一个基本的样例程序跑起来了,接下来需要完成其它的实验。将在此工程基础上,适当增减代码来实现。

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
     楼主| 发表于 2018-9-9 15:35:46 | 显示全部楼层
    本帖最后由 toofree 于 2018-9-9 15:38 编辑

    按照本人惯例,本实验样例程序工程附上:
    P-NUCLEO-IHM001.rar (8.98 MB, 下载次数: 1626)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2018-9-9
    发表于 2018-9-9 20:06:02 | 显示全部楼层
    签到
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2018-9-9
    发表于 2018-9-9 20:06:29 | 显示全部楼层
    签到
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2018-9-9
    发表于 2018-9-9 20:07:01 | 显示全部楼层
    签到
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    帖子

    0

    蝴蝶豆

    新手上路

    最后登录
    2018-9-9
    发表于 2018-9-9 20:07:17 | 显示全部楼层
    签到
    回复

    使用道具 举报

    该用户从未签到

    20

    主题

    1628

    帖子

    5

    蝴蝶豆

    论坛元老

    最后登录
    2022-6-7
    发表于 2018-9-9 22:08:16 | 显示全部楼层
    我用的是IAR7.7,生成的工程编译没有问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-12-6 11:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    49

    主题

    3724

    帖子

    429

    蝴蝶豆

    论坛元老

    最后登录
    2021-8-7
     楼主| 发表于 2018-9-9 22:32:51 | 显示全部楼层
    子曰好人 发表于 2018-9-9 22:08
    我用的是IAR7.7,生成的工程编译没有问题

    谢谢回复!
    我可能人品爆棚了,用7.8编译没问题的,下载时死活不行,唉!
    环境的问题伤不起,直接换高版本,跳过
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    361

    帖子

    18

    蝴蝶豆

    金牌会员

    最后登录
    2020-12-13
    发表于 2018-9-13 11:01:14 | 显示全部楼层
    这是直流电机吧,还有反馈的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    361

    帖子

    18

    蝴蝶豆

    金牌会员

    最后登录
    2020-12-13
    发表于 2018-9-13 11:02:20 | 显示全部楼层
    MotorControl Workbench 5.0.3适合调步进电机吗,特别是加减速的问题
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

    GMT+8, 2024-4-29 13:47 , Processed in 0.225164 second(s), 42 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表