0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

嵌入式单片机MCU开发 来源:嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2023-12-01 15:25 次阅读

套件概述

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

最近在弄ST的课程,需要样片的可以加群申请:615061293 。
在这里插入图片描述

样品申请

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

视频教学

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

完整代码下载

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 */

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    51

    文章

    7308

    浏览量

    142943
  • 步进电机
    +关注

    关注

    149

    文章

    2929

    浏览量

    146065
  • stm32cubemx
    +关注

    关注

    5

    文章

    260

    浏览量

    14447
收藏 人收藏

    评论

    相关推荐

    基于STM32CUBEMX驱动低压步进电机驱动器STSPIN220(1)----套件概述

    STM32C011F4Px_STSPIN220 是一款基于 STM32C011F4Px 的低压步进电机
    的头像 发表于 12-01 15:16 366次阅读
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驱动</b><b class='flag-5'>低压</b><b class='flag-5'>步进</b>器<b class='flag-5'>电机</b><b class='flag-5'>驱动器</b><b class='flag-5'>STSPIN220</b>(1)----套件概述

    基于STM32CUBEMX驱动低压步进电机驱动器STSPIN220(3)----定时器中断产生指定数量脉冲

    步进电机控制过程中,为了实现精确的位置和速度控制,经常需要输出指定数量的脉冲。这就需要使用定时器功能来生成PWM脉冲信号。本文将详细介绍如何利用STM32CUBEMX配置定时器以输出指定数量的PWM脉冲。
    的头像 发表于 12-01 15:26 575次阅读
    基于<b class='flag-5'>STM32CUBEMX</b><b class='flag-5'>驱动</b><b class='flag-5'>低压</b><b class='flag-5'>步进</b>器<b class='flag-5'>电机</b><b class='flag-5'>驱动器</b><b class='flag-5'>STSPIN220</b>(3)----定时器中断产生指定数量脉冲

    意法半导体推出STSPIN模块 为其它开发板增加高性能电机驱动器

    意法半导体与ST授权合作伙伴MikroElektronika合作,开发出四款Click board™开发板,将STSPIN电机驱动器的优势扩展到STM32开发板以外的开发平台。
    发表于 10-11 17:27 2111次阅读

    意法半导体发布面向高电压应用的新STSPIN32 BLDC电机驱动器

    STSPIN32F0251和STSPIN32F0252与600V的STSPIN32F0601和STSPIN32F0602集成了三相栅极驱动器
    发表于 02-13 15:45 1597次阅读

    请问stspin220的保持电流是否可以调节?

    你好,我正在使用贵司的stspin220这个驱动芯片,当不发stck信号时,发现该芯片的保持电流为0.55A,该保持电流是否过大?另外,贵司的stspin220这款芯片的保持电流是否可以调节?
    发表于 03-28 07:51

    基于STM32微控制STSPIN L6474步进电机驱动器设计

    此文章来源于融创芯城(www.digiic.com)—— 半导体电子领域共享平台3D打印机驱动板基于STM32微控制STSPIN L6474步进
    发表于 05-30 17:08

    意法半导体发布新款STSPIN电机驱动器,可简化中低功率电机驱动设计,提高电机控制的灵活性

    中国,2018年8月27日——意法半导体的STSPIN830 和 STSPIN840单片电机驱动器集成灵活多变的控制逻辑电路和低导通电阻RDS(ON)的功率开关管,有助于简化7V-45
    发表于 08-29 13:16

    SPIN3202控制板:单电阻FOC电机驱动原理图/代码/调试文档等详细资料开源分享 (主芯片STSPIN32F0A)

    `推荐课程:张飞软硬开源:基于STM32的BLDC直流无刷电机驱动器(视频+硬件)http://url.elecfans.com/u/73ad899cfdSPIN3202控制板:单电阻FOC
    发表于 06-17 16:19

    基于STL220N6F7低压BLDC电机驱动器的扩展板

    X-NUCLEO-IHM08M1,扩展板是一款三相无刷直流电机驱动器,基于STL220N6F7 STripFET F7功率MOSFET,用于STM32 Nucleo。作为
    发表于 05-20 08:53

    STSPIN32F0601 电机控制板试用体验连载】驱动电机旋转-BLDC开环控制方式

    ,如下图所示,输入STM32F031C6后,点击“Start Project”开始完成细节配置。2) TIM1和PWM输出配置 选择TIM1作为电机驱动信号输出的主定时
    发表于 10-25 09:33

    步进电机驱动器驱动42步进电机

    目标:用步进电机驱动器驱动42步进电机,并精确控制脉冲个数。
    发表于 09-16 06:02

    STSPIN220芯片的双极步进电机的输出端是否需要反激二极管呢?

    使用STSPIN220芯片的双极步进电机的输出端是否需要反激二极管?
    发表于 01-04 07:27

    有没有办法让STSPIN220与小型电机一起工作?

    用普通步进驱动器(非 st 部分)进行测试并且很好 - 电流过高,电压过高,但工作正常。我认为具有 1/256 微步的 STSPIN220 可以提高精度并专为低电压电池操作而设计。然而,在 1/256
    发表于 01-09 07:24

    关于STMicroelectronics 低电压 STSPIN 电机驱动器性能分析和应用

    这款新的低电压 STSPIN 电机驱动器具有低输入电压、低噪声,而且在满负荷和待机情况下功耗最低。 该驱动器每整步最多有 256 微步,故定位准确且动作流畅。
    的头像 发表于 08-23 11:49 3245次阅读
    关于STMicroelectronics 低电压 <b class='flag-5'>STSPIN</b> <b class='flag-5'>电机</b><b class='flag-5'>驱动器</b>性能分析和应用

    ROHM拥有超过220款机型的电机驱动器IC

    具有超过220款机型阵容的电机驱动器IC 车载电机驱动器 ROHM拥有超过220款机型的
    的头像 发表于 05-19 09:38 2293次阅读
    ROHM拥有超过<b class='flag-5'>220</b>款机型的<b class='flag-5'>电机</b><b class='flag-5'>驱动器</b>IC