ST FOC SDK5.0初步控制电机

一、ST官方相关资源

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

二、软件工具及开发套件

1、软件安装

  • ST MC Workbench (v5.0.3)    配置硬件参数,用于生成工程。SDK5.0与SDK4.x不同,v5.0直接通过CubeMx生成工程,而v4.x只生成.h文件,需要自己创建工程。
  • STM32CubeMx (v4.25)    CubeMx还可调整外设,STM32CubeMx不要安装在中文路径下!!
  • ST-LINK/V2(v4.2.0)   串口驱动
  • IAR Embedded Workbench for Arm (v8.xx)   IDE,必须是v7.8以上的IAR

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

ST FOC SDK5.0初步控制电机_第1张图片

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

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

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

 三、把电机转起来

1、workbench生成工程

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

ST FOC SDK5.0初步控制电机_第2张图片

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

ST FOC SDK5.0初步控制电机_第3张图片

  • 详细配置见文档的workbench生成工程书签:https://download.csdn.net/download/talender/10683711
  • 所有的参数配置完成后,点击生成图标,可根据所选的IDE生成MC应用工程

ST FOC SDK5.0初步控制电机_第4张图片

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

ST FOC SDK5.0初步控制电机_第5张图片

 

2、控制电机转动

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

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

ST FOC SDK5.0初步控制电机_第6张图片

(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

ST FOC SDK5.0初步控制电机_第7张图片

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

 


 

你可能感兴趣的:(电机控制)