Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 计算机论文 > 正文

基于 TMC5130A 的三轴驱动控制板的设计论文

发布时间:2022-12-28 10:27:49 文章来源:SCI论文网 我要评论














 
SCI论文(www.lunwensci.com):

  摘   要:本文介绍了一款基于 TMC5130A 驱动芯片的二相步进电机驱动控制板的设计。控制芯片选择 stm32F103CBT6。 综合考虑到应用场合与资源限制,一颗控制芯片搭配三颗驱动芯片,也就是一块驱动控制板可以同时控制 XYZ 三轴。 TMC5130A 与 stm32F103CBT6 都支持 CAN 总线,如果需要更多电机配合,可以通过 CAN 总线将三轴驱动控制板连接。

  关键词:TMC5130A;二相步进电机;STM32F103;CAN 总线
 
Design of Three-axis Drive Control Board Based on TMC5130A

SU Yajuan, ZHU Min
(Wuxi South Ocean College, Wuxi Jiangsu 214080)
 
  【Abstract】:This paper introduces the design of a two-phase stepping motor drive control board based on TMC5130a drive chip. The control chip selects stm32F103CBT6 . Considering the application and resource constraints, one control chip with three driver chips, that is a drive control board can control XYZ three axes at the same time. Both TMC5130A and stm32F103CBT6 support CAN bus, if more motor coordination is required, the three-axis drive control board can be connected via CAN bus.

  【Key words】:TMC5130A;two phase stepping motor;STM32F103;CAN bus
 
  1 TMC5130A 芯片介绍

  TMC5130 芯片是一款集成式步进电机驱动器和运 动控制器(定位控制)解决方案,适用于医疗、3D 打 印机、云台或其他自动化设备对性能有较高的场合应用 和静音控制。该芯片具有集成的 SixPoint 斜坡控制器、 微步进分度器、无传感器失速检测技术 StallGuard2 和 完全无噪声的电流控制模式 StealthChop,旨在驱动 双极步进电机。输出驱动器模块由低 RDSon N 沟道功 率 MOSFET 组成,配置为全 H 桥,以驱动电机绕组。 TMC5130 能够从每个输出驱动高达 2.5A 的电流(具 有适当的散热)。TMC5130 的供电电压为 5 ~ 46V。该 器件提供 SPI 接口,用于配置和诊断以及步进和方向接 口。TMC5130A 的功能框图如图 1 所示。
 
\
图 1 TMC5130A 功能框图
Fig.1 TMC5130A function block diagram

  2 STM32 芯片

  驱动控制板的主控芯片用的是 STM32 芯片。STM32F 系列属于中低端的 32 位 ARM 微控制器,该系列芯片是意法半导体(ST)公司出品,  其内核是 Cortex-M3。该系 列芯片按片内 Flash 的大小可分为三大类:小容量(16K 和 32K)、中容量(64K 和 128K)、大容量(256K、384K 和 512K)。芯片集成定时器 Timer、CAN、ADC、SPI、 I2C、USB、UART 等多种外设功能。我们选用 STM32 F103CBT6,它是 ST 旗下的一款常用的增强型系列微 控制器,适用于:  电力电子系统方面的应用、电机驱动、应用控制、医疗等。

  3 CAN 协议介绍

  CAN 是 Controller Area Network( 控 制 器 局 域 网 络 ) 的缩写,是 ISO 国际标准化组织的串行通信协议。 由德国电气商博世公司在 1986 年率先提出。此后,  CAN 通过 ISO11898 及 ISO11519 进行了标准化。现在在欧洲 已是汽车网络的标准协议。CAN 协议经过 ISO 标准化后 有两个标准:ISO11898 标准和 ISO11519-2 标准。其中 ISO11898 是针对通信速率为 125Kbps ~ 1Mbps 的高速 通信标准,  而 ISO11519-2 是针对通信速率为 125Kbps 以下的低速通信标准。CAN 具有很高的可靠性和良好 的错误检测能力,广泛应用于汽车计算机控制系统和环 境温度恶劣 / 电磁辐射强及振动大的工业环境。CAN 主 要用在两个设备之间的通讯。

  4 驱动与控制板的实现

  4.1 硬件实现

  硬件实现主要部分有控制器单元、驱动单元、CAN 芯片单元等。控制器单元原理图如图 2 所示。驱动芯片 原理图如图 3 所示,仅画了一个 TMC5130A 的连接图, 另外两个类似。CAN 芯片连接原理图如图 4 所示。
 
\
图 2 控制芯片外围电路原理图
Fig.2 Schematic diagram of peripheral circuit of control chip

  4.2 软件实现

  4.2.1 主程序实现

  主函数流程如下:

  (1)基本外设初始化:HAL_Init( );

  (2)配置系统时钟:SystemClock_Config( );

  (3)初始化系统配置的外设:

  MX_GPIO_Init( );   

  MX_CAN_Init( );     
 
  MX_SPI2_Init( );      
           
  MX TIM1_Init( );       
         
  MX TIM2_Init( );

  (4)初始化中断控制器:

  MX_NVIC_Init( );

  (5)初始化 CAN:
 
\
图 3 驱动芯片外围电路连接原理图
Fig.3 Schematic diagram of peripheral circuit connection of driver chip
 
\
图 4 CAN 芯片外围电路连接原理图
Fig.4 CAN chip peripheral circuit connection schematic diagram
 
  CAN_User_Init(&hcan);

  (6)全局变量初始化:

  G Val_Init( );

  (7)驱动芯片初始化:

  TMC5130_Init(Id_x);

  TMC5130_Init(Id_y);

  TMC5130_Init(Id_z);

  (8)主程序循环:

  while (1)

  {

  #Home 位检测

  Org_monitor( );

  # 中断信号处理

  Int_IdAll_Process( );

  #CAN 命令解析

  ParseRcvCmd_Can( );

  # 电机状态监控

  Motor_Status_monitor( );

  }
 
  4.2.2 CAN 通信程序实现

  CAN 通信程序是根据上位机传进来的命令进行应 答,主要实现在 ParseRcvCmd_Can() 函数中。
 
  ……

  switch(CMD)

  {……

  case REG_MOTOR:
  
  Reg_Motor_Process();

  break;

  case ENABLE_MOTOR:

  Enable_Motor_Process();

  break;

  case STARTRUN:

  Start_Run_Process();

  break;

  case ENDRUN:

  End_Run_Process();

  break;

  case EMERGENCYSTOP:

  Emergercy_Stop_Process();

  break;

  case STATUSRUN:

  Status_Run_Process();

  break;
  
  Reg_Main_Process();
 
  break;

  ……

  4.2.3 驱动程序实现

  驱动实现由读写芯片、芯片初始化等,这里简单写 一下初始化程序。

  void TMC5130_Init(uint8_t id)

  {

  reg_cur=Tmc5130_Read(id,TMC5130_GSTAT); if(reg_cur==0x01)

  {

  Reg_Tmc5130_id_cur[id-1].Cur Status_Motor.Status_ Run=status_reset;

  Main_Set_IDALL.Number.driver_err=1; if(id==1)

  {

  Status_Drv Err IDALL.Number.status_drv reset_ id1=1;

  }

  else if(id==2)

  {

  Status_Drv Err IDALL.Number.status_drv reset_ id2=1;

  }

  else if(id==3)

  {

  Status_Drv Err IDALL.Number.status_drv reset_ id3=1;

  }

  Tmc5130 Write(id,TMC5130_GSTAT,0x00000001);

  reg_cur=Tmc5130_Read(id,0x01);
 
  }

  reg_cur=Tmc5130_Read(id,TMC5130_RAMP_STAT);

  if(reg_cur)

  {

  Tmc5130_Write(id,TMC5130_ RAMP_STAT, 0x000010cc);   //R+C 的五个寄存器清零

  }
 
  Tmc5130 _Write(id,TMC5130 _CHOPCONF, 0x000101d5);    //CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle) 16

  Tmc5130_Write(id,TMC5130_IHOLD_IRUN, 0x00050503);   // 初 始 化 最 小 电 流,   防 止 开 机 烧 电 机 : IHOLD_IRUN: IHOLD=03, IRUN=05(31
max.current), IHOLDDELAY=6

  Tmc5130_Write(id,TMC5130_TPOWERDOWN, 0x00000008);    //PAGE33:TPOWERDOWN=10: 电机静 止到电流减小之间的延时

  Tmc5130 Write(id,TMC5130_GCONF,0x00000014); //PAGE27:EN_PWM_MODE=1,使能

  Tmc5130_Write(id,0x13,0x000001F4);     // PAGE33:TPWM_THRS=500, 对应切换速度 35000=ca. 30RPM
  
  Tmc5130 _Write(id,TMC5130 _ PWMCONF, 0x000504C8);   //PAGE43:PWMCONF

  // 初始化一个速度,后面会根据参数赋值

  Tmc5130 Write(id,TMC5130_XACTUAL,0x00000000); // writing value 0xFFCC12F0 = 0 = 0.0 to address 14 = 0x21(XACTUAL)

  Tmc5130_Write(id,TMC5130_A1,1400);    //A1= 1000 第一阶段加速度

  Tmc5130_Write(id,TMC5130_V1,50000);     //
 
  V1=50000 加速度阀值速度 V

  Tmc5130_Write(id,TMC5130_AMAX,700); AMAX=5000 大于 V1 的加速度 //

  Tmc5130_Write(id,TMC5130_VMAX,50000); VMAX=200000 //

  Tmc5130_Write(id,TMC5130_DMAX,700); DMAX=700 大于 V1 的减速度  //

  Tmc5130_Write(id,TMC5130_D1,1400); D1=1400 小于 V1 的减速度 //

  Tmc5130_Write(id,TMC5130_VSTOP,10); VSTOP=10 停止速度,接近于 0 //

  Tmc5130_Write(id,TMC5130_TZEROWAIT, 0x00000000);   // writing value 0x00000000 = 0 = 0.0 to address 23 = 0x2C(TZEROWAIT)

  Tmc5130 _Write(id,TMC5130 _ X TA RG ET, 0x00000000);  // writing value 0xFFCC12F0 = 0 = 0.0 to add

  4.3 CAN 协议设计

  4.3.1 驱动 CAN 协议设计

  CAN 通信数据由主站发送,从站接受后返回相应 的响应数据帧。本系统常用 CAN 帧报文格式采用 CAN 2.0B( 带扩展位的 29 位 ID) 数据格式。数据帧由仲裁 区、控制区与数据区三个区域组成,其中主要需要进行 配置的包括 SID、EID、DLC 与 DATA,如图 5 所示。
 
\
图 5 CAN 协议数据帧报文格式设计
Fig.5 CAN protocol data frame message format design
 
  其中:SOF:帧起始(SOF)仅由一显位(0)构成。 所有站都必须同步于首先发送的那个帧起始前沿;SRR: SRR 是隐性位(1),它用于替代标准格式的 RTR 位;

  IDE: IDE 是隐性位(1),  代表扩展格式(29 位 ID);RTR:0:  非远程帧 1:远程帧,本系统默认为 0;r1,r0:保留位  r1 和 r0 必须为 0。

  数据区是有效载荷,  DLC 是数据区的载荷长度,以 字节为单位。下面重点描述仲裁区的 SID 与 EID 的设 计,具体如表 1 所示。

  4.3.2 CAN 命令

  CAN 命令如表 2 所示。
 
表 1 标识 SID 与扩展标识 EID 的设计
Tab.1 Design of identification SID and extended identification EID
\

表 2 CAN 命令定义
Tab.2 CAN command definition
\
 
  5 结语

  本文总结了用 TMC5130A 驱动芯片,在 STM32F103 CBT6 作为主控芯片的选型下,开发的一款三轴二相步 进电机驱动板,该驱动板支持 CAN 总线,以便更多的 电机控制需求。不足之处,适用于驱动 42 二相步进电 机,如果驱动更大的电机,如 57 电机可能会出现丟步现 象,此时需要选用 TMC5160 驱动芯片,支持高达 20A 的线圈电流,强大的外部 MOSFET 驱动。
 
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!

文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/49057.html

相关内容

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml