国外课栈 - 国外电子信息技术视角栈

Keil编辑和STM32cubemx配置STM32控制步进电机

 二维码 363

关联知识

使用Keil ARM V5 IDE编程和STM32CUBEMX代码配置实现STM32F103和步进电机驱动器模块A4988控制步进电机

Keil和Stm32cubemx

安装

安装Keil IDE非常简单。 下载包含Keil IDE的MDK ARM套件,不需要单独安装它的想法。 只需从链接下载文件并安装IDE。 http://www2.keil.com/mdk5。 Arm mdk在许多版本中可用,最新版本是mdk5。 我在项目中使用的是mdk5,本教程也基于mdk5和keil uvision-5 ide。

安装StmCubeMx也很简单。从链接下载StmCube。您可能会弹出来登录。登录后,您就是他们的人。 一旦安装了StmCubeMx,您现在必须为每个stm32系列或您要使用的系列安装软件包。 StmCubeMx和stm32系列软件包是两个不同的东西。 每个stm32系列的软件包都必须单独安装。 在安装系列软件包的StmCubeMx软件中,它们也是一个选项。 在“帮助”>“安装新库”下。 由于我们开始使用stm32f103,因此我们需要安装stm32f1系列的软件包。 下图很好地说明了软件包的安装。

图略

图.为StmCubeMx安装stm32f1驱动程序/软件包

下面给出了板外引脚。

图略

图.STM32F103廉价开发板引脚和提供的功能

闪烁项目

上部模块的LED连接到端口c的针脚#13。 在开始时,我们将使其闪烁。 Stm32微控制器引脚在单个引脚上提供多种功能。 选择一个选项并禁用其他选项应谨慎处理。 STM32微控制器的I / O引脚可用于五种模式:

  • 输入模式
  • 模拟模式
  • 输出模式
  • 备用功能模式
  • 外部中断/事件线

为了我们的目的,我们将使用端口c引脚13作为输出。 几乎所有的stm32引脚都具有内部上拉和下拉电阻。 由于我们没有在输入模式下使用gpio,因此我们没有使用上拉和下拉电阻。 Stm32引脚可以在不同的频率下工作,我们将在低频下操作该引脚。 引导后,Stm32引脚也可以初始化为低电平或高电平。 我使用了引脚13的低电平。

注意:我将使用微控制器的内部8Mhz RC振荡器。上板有一个外部8Mhz晶体,但我不会使用它。

在STM32CubeMx中创建新项目

闪烁LED代码

上传到STM32微控制器

控制步进电机

硬件

步进电机

对于这个项目,我将使用双极步进电机。 电机的名称为NEMA17。它通常在3D打印机中使用,并且在DIY电路制造商中很流行。 它是2相4线步进电机。 它消耗1安培至1.5安培的电流。 电压要求最低为2.4伏。 步距角为1.8度。 完整360度旋转需要(360 / 1.8 = 200)200步。

A4988步进电机驱动器

正常运行期间,步进电机会吸收1安培的电流。 因此,我们需要一个可以提供1安培连续电流的电源。 旧技术是使用晶体管或mosfet构建H桥电路,该电路可以提供足够的功率并可以轻松驱动电动机。 制作H桥电路既费时又费力。 幸运的是,现在已经有市场上可以买到的预组装H桥驱动器了,它们不仅价格便宜,而且易于控制。 因此,我决定在此项目中使用预组装的H桥电路。 A4988双极步进电机驱动器最适合我们的项目。 A4988可以在8至35伏的电压下提供1安培至2安培的连续电流。 它需要3到5伏的电压才能运行。 引脚排列和产品的等效电路如下。

图略

图.A4988步进电动机驱动器的等效电路

在A4988电机驱动器的VDD和Gnd引脚上施加3至5伏电压。 1A,1B,2A和2B是输出引脚。 这些引脚必须正确连接到双极步进电机的2相。 VMOT和GND是电源引脚,用于将电源与其连接。 您可以在VMOT和GND之间提供8至35伏特的电压。 只要将数字方波信号施加在STEP引脚上,步进电机的输出就会迈出一步。 DIR引脚控制步进电机的方向。 DIR处的高信号沿一个方向旋转电机轴,DIR处的低信号使方向反转。 SLEEP引脚使模块进入睡眠模式,并停止工作。 RESET销将电动机带回到其起始位置。 使能引脚激活模块。 MS1,MS2和MS3是步进模式选择引脚。 通过该模块,我们可以以5种模式移动电动机的轴。 具有设置的分辨率模式如下。

图略

电路图

源代码

阅读完整文档

文章分类: 电子创客EM-STM32