基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(2)----驱动STSPIN220

发布者:RadiantBeauty最新更新时间:2025-10-21 来源: bilibili关键字:STM32CUBEMX  驱动器 手机看文章 扫描二维码
随时随地手机看文章

套件概述

本文档的目标是提供关于使用STM32CubeMX驱动低压步进电机驱动器STSPIN220的详尽信息和操作指南。通过本文档,将深入了解如何利用STM32CubeMX来配置电机驱动器,以及如何实现对步进电机的精确控制和运动。

最近在弄ST的课程,需要样片的可以加群申请:615061293 。 

样品申请

https://www.wjx.top/vm/PpC1kRR.aspx

视频教学

https://www.bilibili.com/video/BV1Ju4y1R7mA/

19:14基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(1)----驱动STSPIN2209682观看 0弹幕

完整代码下载

https://download.csdn.net/download/qq_24312945/88184732

STSPIN220描述

STSPIN220是一款专为步进电机设计的高度集成型芯片,其独特的特性和功能使其在小型VFQFPN 3 x 3 x 1.0 mm封装中融合了控制逻辑和低RDS(on)功率级,为电机控制领域提供了出色的解决方案。 


集成的控制逻辑和低RDS(on)功率级: STSPIN220集成了高效的控制逻辑和低RDS(on)功率级,这意味着它能够以高效的方式驱动步进电机,从而实现更低的能耗和更高的性能。 


微步进分辨率和PWM电流控制: 该芯片内置的控制器充分利用了固定关断时间和高达1/256步进的微步进分辨率,以实现精准的PWM电流控制。这意味着可以实现更加精细的步进电机运动控制,从而满足不同应用的需求。 


电池供电和零功耗模式: STSPIN220的设计兼顾了电池供电场景,可以强制进入零功耗状态,从而在电池供电情况下延长电池的使用寿命。这在移动设备和便携式应用中尤为有用。 


全套保护机制: 该芯片提供了全面的保护机制,包括过电流保护、过温保护和短路保护等。这些保护机制能够确保步进电机在各种异常情况下保持稳定和安全运行,有效保护系统的可靠性。 


综上所述,STSPIN220作为一款专为步进电机设计的芯片,在小型封装中融合了多种先进功能。它通过集成的控制逻辑、微步进分辨率和全套保护机制,为步进电机应用提供了高效、精确和安全的驱动解决方案,适用于各种应用领域,从工业自动化到便携式设备。无论是节能、精密控制还是延长电池寿命,STSPIN220都能够为项目带来可靠的性能和出色的效果。

STSPIN220所有功能

STSPIN220作为一款专为步进电机而设计的芯片,具备多项卓越特性,为电机控制领域提供了高度可靠的解决方案: 宽范围工作电压: STSPIN220支持广泛的工作电压范围,从1.8V至10V,这意味着它适用于各种不同电源供应场景,从低电压到标准电压范围。 


高输出电流能力: 最大输出电流1.3 Arms使STSPIN220能够驱动具有较高电流需求的步进电机,确保电机能够以足够的力量进行运动。 低RDS(ON)值: 芯片的高低侧电流传感器及MOSFET具有低RDS(ON)值,仅为0.4Ω(典型值)。这将减少功耗和热量损耗,提升电机的效率和性能。 


精细的微步进控制: STSPIN220能够实现每次步进高达1/256的微步进,这使得步进电机的运动变得更加平滑和精准,适用于需要高精度控制的应用。 


电流控制通过可编程关断时间: 芯片利用可编程关断时间来实现电流控制,这可以根据应用需求调整电机的电流,以获得最佳性能。 


全套保护机制: STSPIN220提供全面的保护机制,包括非耗散性过电流保护、短路保护和热关断。这些保护机制确保在异常情况下电机驱动器和步进电机都能够安全运行。 


极低待机耗电量: 该芯片的待机模式耗电量不足80 nA,这使得它非常适合在需要节能和延长电池寿命的应用中使用。

综上所述,STSPIN220以其广泛的工作电压范围、高输出电流能力、微步进控制、电流控制方式、保护机制以及低待机耗电量,为步进电机驱动提供了一种先进的解决方案。无论是在性能、效率还是电源管理方面,STSPIN220都为步进电机应用带来了出色的表现和可靠性。

基础配置

对于小电流电机,R10改为10K以下,这里设置为5.1k 

REF

REF为参考电压,最大范围是-0.3-1V 

电流配置

下图有配置公式。 

可以看到R_SNS为0.68R,若设置200mA,那么V_REF=0.68R*200MA=136mV,和上面说的V_REF=136mV相符。 

细分配置

STSPIN最高提供了256细分的操作,具体配置如下所示。 

IO配置

查看原理图,主要有6个IO需要配置。 分别是STBY、EN、MODE1、MODE2、MODE3、MODE4。 

IO说明如下所示。 其中ENFAULT为使能管脚,需要配置为开漏输出。 使能高电平时候STSPIN220正常工作。 

 

 下图为设置细分示意图。STBY是STSPIN220驱动器中的一种状态,表示待机状态(Standby)。在待机状态下,驱动器可能会降低功耗,停止执行步进操作,以便在不需要进行步进电机运动时节省能源。当驱动器从待机状态退出时,会获取MODE输入的值。需要注意的是MODE1和MODE2都为低电平时候强制为全步模式。 

 

启动时序图如下所示,具体有如下几个步骤。

  1. 上电:首先,将驱动器供电,即将VS供电电压连接到驱动器。但是保持STBY和EN/FAULT输入都处于低电平状态。

  2. 设置MODEx输入:根据目标步进分辨率(可以参考Table 1),设置MODEx输入引脚的状态。这些引脚决定了步进电机的微步运动模式。

  3. 等待:等待至少1微秒(t MODEsu 最小时间)。这个等待时间是确保MODEx输入被稳定设置的时间。

  4. 将STBY引脚置高:将STBY引脚设置为高电平。这将导致之前设置的MODEx配置在设备内部被锁存。

  5. 等待:再等待至少100微秒(t MODEho 最小时间)。这个等待时间是确保MODEx配置被正确锁存的时间。

  6. 启用电源级:释放EN/FAULT输入,使电源级开始工作。这意味着驱动器已经准备好执行步进操作。 通过按照这个推荐的上电顺序和设置过程,您可以确保在驱动器开始工作之前,各个输入的状态都稳定,并且微步模式配置正确地被锁存,从而实现步进电机的精确控制。这个过程有助于减少潜在的启动问题和不稳定性。

具体配置如下所示。

STSPIN220使能、低功耗、方向初始化如下所示。

//使能操作 1使能0失能

void STSPIN220_enable(uint8_t enable)

{

if(enable)

HAL_GPIO_WritePin(en_GPIO_Port, en_Pin, 1);

else

HAL_GPIO_WritePin(en_GPIO_Port, en_Pin, 0);


}


//方向设置 0反1正

void STSPIN220_setDirection(uint8_t direction)

{

if(direction)

HAL_GPIO_WritePin(mode4_GPIO_Port, mode4_Pin, 1);

else

HAL_GPIO_WritePin(mode4_GPIO_Port, mode4_Pin, 0);

}

//低功耗模式 1使能0失能

void STSPIN220_Stby(uint8_t stby)

{

if(stby)

HAL_GPIO_WritePin(stby_GPIO_Port, stby_Pin, 0);

else

HAL_GPIO_WritePin(stby_GPIO_Port, stby_Pin, 1);



}


定时器配置

STM32CUBEMX中,选择定时器1,并将其配置为PWM输出模式。确保选择了正确的定时器通道(通道4)。 

配置定时器1的时钟源和预分频因子。根据应用的要求和系统时钟频率,选择适当的时钟源和预分频因子,以获得所需的脉冲频率。将定时器1的时钟源和预分频因子配置为适合您的应用的值。 PWM频率计算如下所示。 

在上述配置中,将定时器1的预分频系数设置为48-1,自动重载值设置为1000-1。根据这些配置,PWM的频率可以计算为48,000,000 / ((48-1+1) * (1000-1+1)) = 1000Hz,即1kHz。 


在定时器中,通道的 "pulse"(脉冲)是指定时器输出的信号的一种特性。每个定时器通道都可用于生成脉冲信号,而 "pulse" 通常指的是单个脉冲的持续时间。在这种设置中,我们将脉冲的占空比配置为50%,因此设置为500-1。

初始化mode

由于需要对mode进行初始化,主要操作为4个IO口,所以需要先对mode3管脚进行IO初始化为普通IO,后续切换为TIM模式。


/* USER CODE BEGIN 4 */

void MX_GPIO_Init_mode3(void)

{


  GPIO_InitTypeDef GPIO_InitStruct = {0};


  /* GPIO Ports Clock Enable */

  __HAL_RCC_GPIOA_CLK_ENABLE();


  /*Configure GPIO pin Output Level */

  HAL_GPIO_WritePin(mode3_GPIO_Port, mode3_Pin, GPIO_PIN_RESET);


  /*Configure GPIO pins : PAPin PAPin PAPin PAPin

                           PAPin */

  GPIO_InitStruct.Pin = mode3_Pin;

  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;

  GPIO_InitStruct.Pull = GPIO_NOPULL;

  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);


}


/* USER CODE END 4 */


注意需要声明一下函数。


/* USER CODE BEGIN 0 */

void MX_GPIO_Init_mode3(void);

/* USER CODE END 0 */


同时定时器初始化需要关闭。 

在初始化完毕mode3之后需要进行en和stby设置,具体如下所示。

/* USER CODE BEGIN 2 */

MX_GPIO_Init_mode3();

HAL_Delay(100);


STSPIN220_SetStepMode(0);//mode1-mode4都关闭

STSPIN220_enable(0);//使能操作 1使能0失能

STSPIN220_Stby(1);//低功耗模式 1开启低功耗0关闭低功耗

HAL_Delay(100);


STSPIN220_SetStepMode(2);//细分操作

STSPIN220_Stby(0);//低功耗模式 1开启低功耗0关闭低功耗,加载mode

HAL_Delay(100);//等待电平稳定

STSPIN220_setDirection(1);//0反1正

HAL_Delay(100);//等待电平稳定

STSPIN220_enable(1);//使能操作 1使能0失能

HAL_Delay(100);


    MX_TIM1_Init();

HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_4);


  /* USER CODE END 2 */


关键字:STM32CUBEMX  驱动器 引用地址:基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(2)----驱动STSPIN220

上一篇:基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(1)----套件概述
下一篇:基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(3)----定时器中断产生指定数量脉

推荐阅读最新更新时间:2026-03-19 16:57

基于STM32CUBEMX驱动低压步进电机驱动器STSPIN220(2)----驱动STSPIN220
套件概述 本文档的目标是提供关于使用STM32CubeMX驱动低压步进电机驱动器STSPIN220的详尽信息和操作指南。通过本文档,将深入了解如何利用STM32CubeMX来配置电机驱动器,以及如何实现对步进电机的精确控制和运动。 最近在弄ST的课程,需要样片的可以加群申请:615061293 。 样品申请 https://www.wjx.top/vm/PpC1kRR.aspx 视频教学 https://www.bilibili.com/video/BV1Ju4y1R7mA/ 19:14基于STM32CUBEMX驱动低压步进器电机驱动器STSPIN220(1)----驱动STSPIN2209682观看 0弹幕 完整代码下载
[单片机]
STM32CUBEMX中TIM定时的高效使用指南
一、什么是定时器 STM32的定时器(Timer)是其片上外设非常重要的一部分,广泛用于计时、产生精确延时,PWM输出,输入捕获,输出比较。编码器接口等功能。 在STM32中通常包含了以下几种类型的定时器: 基本定时器: TIM6,TIM7 仅具备计数功能,用于延时,DAC触发。 通用定时器: TIM2-TIM5,TIM9-TIM14 支持技术,输入捕获,输出比较,PWM,编码接口等。 高级定时器:TIM1,TIM8 功能最全,支持死区,互补PWM,适合电机控制。 二、定时器配置 首先我们需要打开STM32CubeMX软件,点击“新建工程” 选择我们的芯片,开始图形化配置。 首先我们配置晶振 接着我们打开我们的
[单片机]
<font color='red'>STM32CUBEMX</font>中TIM定时<font color='red'>器</font>的高效使用指南
STM32核心知识入门指南:标准库、HAL库与STM32CubeMX零基础详解
初识STM32,那肯定要先了解它是什么,长话短说进入正文! STM32是什么,是一款来自意法半导体公司生产的32位微控制器系列产片,这里小楽就不多介绍了。 那刚接触嵌入式或其他同学就该疑惑了,为什么叫STM32?32位是什么?微控制器(MCU)又是什么?那小楽将一一解答。 各位,各位集中注意力! 一.STM32的介绍 一.微控制器(MCU)是什么 咱来先解决微控制器! 微控制器呢!是一种集成了多种功能模块的 嵌入式专用计算机芯片,广泛应用于各类电子设备的控制场景中。它将很多部件(这里的部件暂时先不急着介绍,容量有点大)集成在单个芯片上,具备完整的最小系统能力,可独立实现特定控制任务。 二.为什么叫STM32与32位是什么
[单片机]
STM32核心知识入门指南:标准库、HAL库与<font color='red'>STM32CubeMX</font>零基础详解
STM32CubeMX学习笔记(9)——I2C接口使用(读写EEPROM AT24C02)
一、I2C简介 I2C(Inter-Integrated Circuit ,内部集成电路) 总线是一种由飞利浦 Philip 公司开发的串行总线。是两条串行的总线,它由一根数据线(SDA)和一根 时钟线(SCL)组成。I2C 总线上可以接多个 I2C 设备,每个器件都有一个唯一的地址识别。同一时间只能有一个主设备,其他为从设备。通常 MCU 作为主设备控制,外设作为从设备。 STM32 的 I2C 外设可用作通讯的主机及从机,支持 100Kbit/s 和 400Kbit/s 的速率,支持 7 位、10 位设备地址,支持 DMA 数据传输,并具有数据校验功能。它的 I2C 外设还支持 SMBus2.0 协议,SMBus 协议与 I
[单片机]
STM32CubeMX学习笔记(11)——IWDG独立看门狗使用
一、IWDG简介 看门狗其实就是一个定时器,从功能上说它可以让微控制器在程序发生意外(程序进入死循环或跑飞)的时候,能重新回复到系统刚上电状态,以保障系统出问题的时候可以重启一次。说的复杂一点,看门狗就是能让程序出问题是能重新启动系统。 STM32 有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬。独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复位信号,即 IWDG_RESET。如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。看门狗功能由 VDD 电压域供电
[单片机]
STM32CubeMX学习笔记(14)——RTC实时时钟使用
一、RTC简介 实时时钟(RTC) 是一个独立的 BCD 定时器/计数器。 RTC 提供具有可编程闹钟中断功能的日历时钟/日历。RTC 还包含具有中断功能的周期性可编程唤醒标志。两个 32 位寄存器包含二进码十进数格式 (BCD) 的秒、分钟、小时( 12 或 24 小时制)、星期几、日期、月份和年份。此外,还可提供二进制格式的亚秒值。系统可以自动将月份的天数补偿为 28、29(闰年)、30 和 31 天。只要芯片的备用电源一直供电,RTC上的时间会一直走。 STM32 的 RTC 外设(Real Time Clock),实质是一个掉电后还继续运行的定时器。从定时器的角度来说,相对于通用定时器 TIM 外设,它十分简单,只有很纯
[单片机]
STM32CubeMX学习笔记(24)——通用定时接口使用(电容按键检测)
一、电容按键简介 电容器(简称为电容)就是可以容纳电荷的器件,两个金属块中间隔一层绝缘体就可以构成一个最简单的电容。如图 32-1(俯视图),有两个金属片,之间有一个绝缘介质,这样就构成了一个电容。这样一个电容在电路板上非常容易实现,一般设计四周的铜片与电路板地信号连通,这样一种结构就是电容按键的模型。当电路板形状固定之后,该电容的容量也是相对稳定的。 图 32-1 片状电容器 电路板制作时都会在表面上覆盖一层绝缘层,用于防腐蚀和绝缘,所以实际电路板设计时情况如图 32-2。电路板最上层是绝缘材料,下面一层是导电铜箔,我们根据电路走线情况设计决定铜箔的形状,再下面一层一般是 FR-4 板材。金属感应片与地信号之间有绝缘材料隔着
[单片机]
STM32CubeMX学习笔记(41)——ETH接口+LwIP协议栈使用(DHCP)
一、ETH简介 STM32F4xx 系列控制器内部集成了一个以太网外设,它实际是一个通过 DMA 控制器进行介质访问控制(MAC),它的功能就是实现 MAC 层的任务。借助以太网外设,STM32F4xx 控制器可以通过 ETH 外设按照 IEEE 802.3-2002 标准发送和接收 MAC 数据包。ETH 内部自带专用的 DMA 控制器用于 MAC,ETH 支持两个工业标准接口介质独立接口(MII)和简化介质独立接口(RMII)用于与外部 PHY 芯片连接。MII 和 RMII 接口用于 MAC 数据包传输,ETH 还集成了站管理接口(SMI)接口专门用于与外部 PHY 通信,用于访问 PHY 芯片寄存器。 物理层定义了以太网
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved