ST FOC SDK5.0初步控制电机

一、ST官方相关资源

  1. ST社区
  2. SDK5.0电机库的STM32电机控制应用实战培训
  3. STM32电机控制培训直播

二、软件工具及开发套件

1、软件安装

2、开发套件:P-NUCLEO-IHM001

3、使用过程中的注意事项 

以下都是实际操作过程中遇到的问题,注意下可以少浪费很多时间

  • 如果是win10的系统,将SDK默认安装到C盘,使用时需用管理员权限打开。使用IAR时,也最好用管理员权限打开
  • 使用前要将开发板跳线连好,IAR工程配置好   详情见文件:https://download.csdn.net/download/talender/10683761
  • IAR的optimization只有设成high或median时,才能正常下载和控制,不知道为啥。但high optimization会导致watch窗口无法查看局部变量和未被语句调用的变量,可以将局部变量设置为全局变量,从而查看电机状态

 三、把电机转起来

1、workbench生成工程

  • 单击其图标或从安装文件夹路径直接启动

  •  操作界面:可以选择自己新建Project或使用对应的工程示例

P-NUCLEO-IHM001直接用工程示例即可,生成的文件如下,IAR可直接打开

 

2、控制电机转动

(1)使用Workbench界面实时控制

  • 先把上一步生成好的IAR工程下载到单片机中,此工程while(1)里为空,只有各种初始化函数。记得下载前配置好工程环境
  • 打开之前建好的workbench,点击电机监控按钮,选择com,连接成功后start motor即可。
  • 可以正反转,但是当速度正负变化时会报错,此时需要点击Fault Ack清除错误,start重新开始。详细的电机状态和正反转控制方法,请看下一个博客https://blog.csdn.net/talender/article/details/82824366

(2)调用API,编写IAR工程

在while(1)中的 /* USER CODE BEGIN 3 */ 与 /* USER CODE END 3 */ 间编写程序,否则在CubeMx调整外设重新生成后,编写的代码会消失(如果在workbench重新generate,代码不管写在哪都会消失)。详细的电机状态和正反转与转速控制方法,请看下一个博客https://blog.csdn.net/talender/article/details/82824366

  while (1)
  {
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
   MC_ProgramSpeedRampMotor1(3000/6,1000); //设定转速为3000
   MC_StartMotor1();                                         //马达运转
   HAL_Delay(10000);                                        //延时10S
   MC_ProgramSpeedRampMotor1(5000/6,1000); //设定转速为3000
   HAL_Delay(10000);
   MC_ProgramSpeedRampMotor1(2000/6,1000); //设定转速为3000
   HAL_Delay(10000);
   MC_StopMotor1();                                         //马达停转
   HAL_Delay(5000);  
  /* USER CODE END 3 */
  }  

 

四、所有的API

API详解请看文档:https://download.csdn.net/download/talender/10683711

 


 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值