STM32/GD32驱动步进电机芯片TM2160

2024-07-06 1200阅读

文章目录

  • 官方概要
  • 简单介绍
    • 整体架构流程

      官方概要

      TMC2160是一款带SPI接口的大功率步进电机驱动IC。它具有业界最先进的步进电机驱动器,具有简单的步进/方向接口。采用外部晶体管,可实现高动态、高转矩驱动。基于TRINAMICs先进的spreadCycle和stealthChop切割机,驱动器确保绝对无噪音运行,并结合最高效率和最佳电机扭矩。高集成度,高能效和小尺寸使小型化和可扩展系统具有成本效益的解决方案。完全兼容的TMC5160提供了一个额外的运动控制器,使步进电机控制更加容易。

      STM32/GD32驱动步进电机芯片TM2160

      简单介绍

      两种模式,简单步进和步进模式

      与TM5160类似,5160有中文手册,可参考,

      TMC2160相比于TM5160

      模式只有两种

      模式 1:脉冲和方向驱动器

      像 TMC4361 这样的外部高性能 S-ramp 运动控制器或 CPU 产生与系统内其他部件(如电机) 同步的脉冲和方向信号。TMC5160 控制电流和运动模式,并反馈电机状态。 microPlyer 自动平滑运动。SD_MODE 接高电平使能此模式(SD_MODE=1,SPI_MODE=1)。在该模式下,用户通过 SPI 接口来配置 TMC5160 的寄存器。TMC5160 的功能和 DRV8825 类似,外界通过脉冲和方向引脚来控制步进电机运动。

      模式 2:简单的步进和方向驱动器

      TMC5160 根据步进和方向信号控制电机。microPlyer自动平滑运动,配置由硬件引脚完成。 静止保持电流控制由TMC 5160完成。可选的反馈信号作为错误检测和同步标志的输出。 SPI_MODE 接地,SD_MODE 接高电平使能此模式(SD_MODE=1,SPI_MODE=0)。在该模式下,SPI 接口失能,TMC5160 的工作状态由 CFG 引脚配置。TMC5160 可以完全独立工作,不需要接 CPU。

      大体概括,一个是脉冲控制,配置由主控SPI配置,另一个就是指通过脉冲和方向引脚发PWM波控制。

      STM32/GD32驱动步进电机芯片TM2160

      本文 STM32或者GD32配置使用第二种。

      整体架构流程

      实际上程序十分简单,只需要配置一个方向信号和PWM脉冲即可

      思路十分简单,可以不参考代码自己配置

      1首先配置选择TM2150模式,配置控制芯片的IO口

      2配置PWM输出,定时器中断模式或者只是PWM输出都可以

      3使能,控制电机旋转

      void TMC2160_Init3(void)                 //模式三独立模式
      {
          GPIO_InitTypeDef GPIO_Initure;
          __HAL_RCC_GPIOB_CLK_ENABLE();                   //开启GPIOB时钟
          __HAL_RCC_GPIOA_CLK_ENABLE();                   //开启GPIOA时钟
            
          GPIO_Initure.Pin=GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8;                                
          GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;          //推挽输出
          GPIO_Initure.Pull=GPIO_PULLUP;                  //上拉
          GPIO_Initure.Speed=GPIO_SPEED_FREQ_HIGH;    //高速
          HAL_GPIO_Init(GPIOA,&GPIO_Initure);
          GPIO_Initure.Pin=GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15;                       
          GPIO_Initure.Mode=GPIO_MODE_OUTPUT_PP;          //推挽输出
          GPIO_Initure.Pull=GPIO_PULLUP;                  //上拉
          GPIO_Initure.Speed=GPIO_SPEED_FREQ_HIGH;    //高速
          HAL_GPIO_Init(GPIOB,&GPIO_Initure);
            
          HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6|GPIO_PIN_5,GPIO_PIN_SET);
          HAL_GPIO_WritePin(GPIOA,GPIO_PIN_7,GPIO_PIN_RESET);      
          HAL_GPIO_WritePin(GPIOB,GPIO_PIN_14|GPIO_PIN_13|GPIO_PIN_12|GPIO_PIN_1,GPIO_PIN_SET);
          HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15|GPIO_PIN_2|GPIO_PIN_0,GPIO_PIN_RESET);      
      } 
      

      PWM输出配置TMC2160

      void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
      {
          if(htim==(&TIM3_Handler))
          {
              COUNT++;
              A8=~A8;
              if(COUNT>=6400)
              {
                  //HAL_NVIC_DisableIRQ(TIM3_IRQn);
                  LED=1;                  //转一圈,停2s后继续
                  delay_ms(2000);
                  LED=0;
                  COUNT=0;
              }
          }
      } 
      
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]