搜索
查看: 9376|回复: 19

[原创] 2.STM32电机培训之基于ST电机软件包6步换向算法程序评测

[复制链接]

该用户从未签到

24

主题

538

帖子

6

蝴蝶豆

金牌会员

最后登录
2022-3-10
发表于 2017-8-26 14:53:10 | 显示全部楼层 |阅读模式
本帖最后由 巅峰残狼 于 2017-8-26 15:00 编辑

目的:学习ST的电机6步换向算法控制方法

学前准备:
软件:ST电机软件包en.X-CUBE-SPN7(X-CUBE-SPN7
硬件:P-NUCLEO-IHM002套件(含控制板+电机驱动板+电源适配器)

一、下载ST电机软件包en.X-CUBE-SPN7
二、解压后,按照路径C:\Users\111\Desktop\ST社区电机资料下载\硬件\en.X-CUBE-SPN7\STM32CubeExpansion_SPN7_V1.1.0\Projects\Multi\Examples\MotorControl\MDK-ARM\STM32F302R8-Nucleo,这个路径下的工程就是基于STM32F302R8的6步换向算法的工程文件,打开工程结构如下:
FM}JKOZH3DV}[Q7T$AO%H0F.png
三、打开User下拉文件,即可看到此工程的main函数,我们即将在main函数中实现我们电机的简单控制
四、先定义一个全局变量num,用来记录按键的次数,在main函数的用户代码区,写入如下代码:
                switch(num)
                {
                        case 0:
                                MC_StopMotor();//电机停止
                        break;
                        case 1:
                                MC_StartMotor();//电机启动
                        break;
                        case 2:
                                MC_Set_Speed(3000);//设置电机速度值为3000转每分钟
                        break;
                        case 3:
                                MC_Set_Speed(6000);//设置电机速度值为6000转每分钟
                        break;
                        case 4:
                                MC_Set_Speed(9000);//设置电机速度值为9000转每分钟
                        break;
                        default:break;
                }        

在外部中断函数EXTI15_10_IRQHandler(void)中按照如下编辑

void EXTI15_10_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI15_10_IRQn 0 */
        
  /* USER CODE END EXTI15_10_IRQn 0 */
  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);//清除中断标志位
  /* USER CODE BEGIN EXTI15_10_IRQn 1 */
        num++;//每次中断加一,即没按下一次用户按键加一
        if(num > 5)//当累加次数为5次时,记录值清零
        {
                num=0;
        }
        
  /* USER CODE END EXTI15_10_IRQn 1 */
}

五、上述程序编译后,下载到我们的控制板,给电机驱动板上电,电机连接好后,即可实验我们所要的功能,即
第一次按下:启动电机
第二次按下:电机速度设置为3000转/分钟
第三次按下:电机速度设置为6000转/分钟
第四次按下:电机速度设置为9000转/分钟
第五次按下:电机停止六、电机控制库,提供了关于电机的大部分控制函数,方便用户调用,即使对电机不甚熟悉,像我这种小白,也是很快就可以实现电机的转动控制,是不是相当方便?




STM32F302R8-Nucleo.rar

6.29 MB, 下载次数: 888, 下载积分: ST金币 -1

回复

使用道具 举报

该用户从未签到

22

主题

1027

帖子

12

蝴蝶豆

金牌会员

最后登录
2021-7-23
发表于 2017-8-26 16:09:23 | 显示全部楼层
多谢分享!
回复

使用道具 举报

该用户从未签到

0

主题

2

帖子

0

蝴蝶豆

新手上路

最后登录
2018-10-9
发表于 2018-2-3 18:58:05 | 显示全部楼层
!!!!!!!!!!!!!!!!
回复

使用道具 举报

该用户从未签到

2

主题

14

帖子

0

蝴蝶豆

初级会员

最后登录
2021-7-29
发表于 2018-2-5 15:47:32 | 显示全部楼层
谢谢分享
回复

使用道具 举报

该用户从未签到

1

主题

10

帖子

0

蝴蝶豆

中级会员

最后登录
2019-1-16
发表于 2018-6-5 10:39:43 | 显示全部楼层
请问   HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);//清除中断标志位  这个函数是在哪里定义的呢?
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

11

帖子

0

蝴蝶豆

初级会员

最后登录
2019-2-20
发表于 2018-6-7 22:04:42 | 显示全部楼层
谢谢分享
回复

使用道具 举报

该用户从未签到

0

主题

23

帖子

0

蝴蝶豆

初级会员

最后登录
2020-9-7
发表于 2018-8-28 16:23:09 | 显示全部楼层
谢谢楼主分享。谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

13

帖子

0

蝴蝶豆

新手上路

最后登录
2018-9-5
发表于 2018-9-5 17:06:09 | 显示全部楼层
谢谢
回复

使用道具 举报

该用户从未签到

0

主题

4

帖子

0

蝴蝶豆

初级会员

最后登录
2019-11-18
发表于 2018-11-26 15:17:54 | 显示全部楼层
mark
回复

使用道具 举报

该用户从未签到

1

主题

128

帖子

2

蝴蝶豆

中级会员

最后登录
2019-4-19
发表于 2018-12-14 17:00:31 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-24 10:09 , Processed in 0.193619 second(s), 41 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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