基于ARM和TMC262的步进电机运动控制系统

2015-06-07 11:14张仁杰陈雷亮
仪表技术与传感器 2015年10期
关键词:寄存器芯片驱动

刘 虎,张仁杰,刘 振,陈雷亮

(上海理工大学光电与计算机工程学院,上海200093)



基于ARM和TMC262的步进电机运动控制系统

刘 虎,张仁杰,刘 振,陈雷亮

(上海理工大学光电与计算机工程学院,上海200093)

介绍了一种高精度高可靠步进电机驱动控制系统的设计。该运动控制系统主要采用了STM32F10ZET6微控制器、TMC262步进电机驱动芯片。系统具有256 细分的高精度步进,并具有电机过载检测、堵转报警等功能。给出了硬件设计的框图,介绍了驱动电路的设计,分析了TMC262电流斩波原理和TMC262负载检测原理。在基于MODBUS通讯协议上设计了友好的PC上位机通信软件,测试结果表明所设计的控制系统达到了预期的设计效果和要求。

STM32;TMC262;步进电机;驱动控制

0 引言

步进电机是一种将数字脉冲信号转换成机械角位移或者线位移的数模转换原件。它的突出优点是能够在不涉及伺服系统复杂反馈环路的情况下实现良好的定位精度,并且具有性价比高、易于控制以及无积累误差等优点,随着微电子和计算机技术的发展,步进电机的需求和应用量在民用、工业用的经济型数控开环定位系统中与日俱增。步进电机的驱动控制是近几年来发展起来的一种新的驱动技术,随着要求缩短步进电机的响应时间,提高运行速度等问题的提出,国内外的研究人员针对速度控制,在软件算法方面提出了基于T型速度模型和S型速度模型等数学模型上的控制方式,但都存在一定的问题。

本文利用微控制器STM32F103ZET6、步进电机驱动芯片TMC262设计的步进电机控制系统,减少了外围电路的设计,减少了电机控制软件设计的工作量,降低了开发成本,缩短了研发时间,并且达到了设计的预期效果和要求,具有较高的实用价值。

1 系统的总体设计

如图1所示的控制系统由STM32F103ZET6主控制器、PC上位机、电源电路、JTAG调试电路、细分方向控制电路、RS485通信接口电路、TMC262专用控制芯片以及4个互补型MOSFET器件FDD8424功率管构成,适用于双极性步进电机的驱动。设计中使用了电机专用控制芯片,减少了外围电路,具有体积小、质量轻、工作稳定等优点。

图1 系统结构方框图

TMC262是具有高细分率的两相步进电机驱动芯片,在TMC262芯片工作之前,ARM控制器需要对TMC262芯进行参数配置。上位机设定好参数后,上、下位机通过MODBUS通信协议进行通信,ARM控制器接收到TMC262的配置参数后,通过SPI接口向TMC262传输数据。参数配置合理之后,微控制器输出步进电机运动所需要的脉冲信号和方向信号。电机运行中,TMC260芯片检测负载情况并实时反馈到ARM控制器 ,当负载过大或造成电机堵转时,ARM控制器控制电机停止运行并提示报警。

2 硬件部分设计

2.1 STM32F10x微处理器

处理器采用基于Cortex-M3的STM32系列处理器,它为实现MCU的需要提供了低成本的平台、缩减的引脚数目、降低的系统功耗、改善的代码密度、丰富的开发工具和先进的中断系统响应等。STM32处理器使用了ARM v7-M体系结构,是一个可综合、高度可配置的处理器。 它包含了一个高效的哈佛结构三级流水线,可提供1.25DMIPS/MHz的性能。片上集成了丰富的外设资源512 KB Flash,48 KB SRAM,一个12位的DAC,一个12位的ADC,2个IIC接口,3个SPI接口,5个USART接口和9个16位的计时器。

2.2 TMC262步进电机驱动芯片

TMC262是一款带诊断和保护的节能型高精度两相步进电机驱动芯片,同时带有专利技术stallGuard2TM功能和专利技术coolStep功能。保护和诊断的功能减小了电机功耗,提高了驱动器的可靠性。芯片可以直接连接 8 个 MOS 实现对电机的控制,其中驱动电压达80 V,电流高达8 A。芯片内部集成了正弦和余弦发生器,在接收一个脉冲后,运动一个微步距,从而实现电机的微步运行。芯片内部集成SPI 接口可以通过外部设置参数进行诊断和控制电机。并有过流、短路、接地、过温保护电路。TMC262的低功率、高效率、体积小的设计,成为低功耗要求较高的工业和商业应用的完美选择。

2.3 TMC262的SPI接口及寄存器配置

ARM微处理器通过SPI接口发送和接收固定长度的数据包对TMC262的寄存器进行读写操作,TMC262自带一个SPI接口可与微处理器进行高速通信,SPI接口使用系统时钟同步输入输出信号,其通信速度最高可以达到1/2时钟频率,但是为了保证数据的可靠性通常保留10%的余量。微控制器向TMC262发送数据包,同时微控制器也接收TMC262返回的芯片内部状态的数据包,TMC262芯片的参数配置是通过SPI接口向5个寄存器读写数据完成的,它们分别是DRVCTRL(驱动控制寄存器)、CHOPCONF(斩波配置寄存器)、SMARTEN(智能节能寄器)、SGCSCONF(负载检测和电流设置寄存器)、DRVCONF(驱动配置寄存器)。SPI数据帧为20bit的数据,第19、18和17bit位表示寄存器的地址。其配置时序如图2所示。

图2 SPI配置时序图

选通信号CSN低电平有效,时钟SCK的工作频率为20 MHz,SDI为配置数据线,SDO 为状态反馈数据线。当CSN跳变为低电平时,SCK连续发出20个脉冲信号,对应每一个脉冲,数据位由高到低依次由芯片内部的移位寄存器送到数据线SDI上。当CSN变为高电平时数据即被锁存,TMC262在接收的同时,会在SDI数据线上反馈状态,这样就完成了一个寄存器的配置。

2.4 驱动电路设计

TMC262的管脚定义及驱动电路如图3所示。

图3 驱动电路

其中 ENN_262为芯片使能信号,DIR为方向控制信号,STEP接入PWM 脉冲信号,CLK_TMC 为系统时钟,SG_TST为堵转反馈信号。TMC262输出的HA1、HA2、HB1、HB2、LA1、LA2、LB1、LB2这8个信号接入MOS驱动管构成典型的H桥驱动电路,SRA、SRB为采样电阻的采样信号,芯片取得采样电压做电流斩波之用。BMA1、BMA2、BMB1、BMB2为FDD8424驱动管的输出端,分别接入步进电机的两相绕组。TMC260芯片有 STEP/DIR和SPI工作模式,本设计选择STEP/DIR模式,仅需对芯片进行配置后,即可使用脉冲信号、使能信号 、方向信号控制电机转动。

3 实验分析

3.1 TMC262电流斩波分析

一个电流斩波周期包括导通相、快衰减、慢衰减3个阶段,电机的两相采用电流斩波工作,且两相相互独立,图4表示一个斩波周期内这3个阶段。上功率管从左到右表示为Q1、Q2,下功率管为Q3、Q4。

图4 电流斩波原理图

导通相阶段Q1、Q4导通,电感上产生从左到右的充电电流,当ICOL电流大于Imax时进入快衰减阶段,续流二极管向电源反向充电,电感继续维持电流,使用这种方式放电,电流下降速度快。但它会产生强烈的毛刺波,所以在衰减电流过程中只能占用一部分时间,剩下的时间要用慢衰减模式。在慢衰减模式下,Q1、Q2功率管断开,电流改经Q3和Q4衰减,这种模式电流衰减较慢,它产生的毛刺波比快衰减模式弱。重复这3个阶段最后电流就可以维持在接近Imax处。在配置TMC262的斩波寄存器时,为了获得良好的斩波效果,导通相阶段和快速衰减阶段的时间必须要比电流比较器关断的时间长,在设置斩波寄存器时,迟滞开始值的设置要满足如下的条件:

(1)

(2)

HystersisStar≥

(3)

式中:dICOILBANK为比较器关断时间内电机绕组电流的改变量;dICIOLSD为慢衰减阶段电机绕组电流的改变量;HystersisStar为迟滞开始值;tSD是慢衰减时间;tBLANK是比较器的关断时间(通过斩波寄存器中的TBL位设定);VM是电机的供电电压;ICOIL为绕组的峰值电流(通过斩波寄存器中的CS位设定);RCOIL和ICOIL为电机绕组的电阻和电感。

图5为ST28HS051A-067SL电机参数为Imax=0.67 A、R=9.2 Ω、L=7.2 mH的电流斩波图形。

图5 电流斩波波形图

3.2 TMC262负载检测分析

TMC262芯片内部集成了高精度负载检测模块stallGuard2TM,无需传感器就可以检测电机负载的大小以及检测电机堵转情况。负载的测量值与电机转矩成负相关的线性关系,而电机的转矩与速度电流的设置有关,最大转矩时stallGuard2TM的检测值降到接近0。当负载超出电机的扭矩时,检测值保持为0。曲线的起始点取决于电机的参数以及对TMC262芯片参数的设置。图6表示了stallGuard2TM检测模块的原理图。

图6 负载转矩与stallGuard2TM测量值关系图

通过设置负载检测寄存器SGT的值调节stallGuard2TM的阈值,可以得到最优的负载检测值,SGT的设置范围为-64~63,设定值越低,灵敏度越高,当负载动态增大时,芯片会输出丢步信号,设定值越高,灵敏度越低,需要更大的负载,芯片的检测模块才能检测,并输出堵转信号。

如图7和图8所示电机的机械负载动态变化时,stallGuard2TM的测量值也随着变化,图7中,SGT的设置值较低,增大机械负载时,电机很容易发生堵转,图8表示SGT的设置值相对较大,机械负载需要更大,才能检测到堵转信号。

图7 设置SGT较小时的负载检测图

3.3 上位机参数配置界面

PC上位机采用VisualStudio2013构建友好的人机交互界面,如图9所示的选项表示斩波寄存器的参数配置。上、下位机通讯采用MODBUS标准通讯协议中的RTU传输协议。其数据帧格式由设备地址码、功能码、数据区域、校验码等组成。通过选项设置HystersisStar迟滞开始值时MODBUS数据帧为:01 06 00 18 00 03 49 CC。其中[01]表示设备地址,即STM32处理器从机设备。[06]表示写一个寄存器命令,[00 18]表示寄存器地址,此处定义为HystersisStar迟滞开始值,[00 03]表示设置迟滞开始值设置为3,[0B A4]为CRC校验位。如果通信正常,设备原样返回收到的报文01 06 00 18 00 03 49 CC。 如果报文错误,将功能码高位设置为1并连同其他数据一起返回。返回的错误报文样本:01 86 00 18 00 03 49 CC。

图8 设置SGT较大时的负载检测图

图9 TMC262寄存器配置界面

4 结束语

本文基于ARM控制器、TMC262智能芯片设计了控制驱动一体化的步进电机控制系统。整个系统设计方案简洁、设计成本低廉、适合中小型控制系统低成本的要求,微处理器最终与PC上位机通信,对TMC262进行参数配置,电机在控制参数及命令的合理设置下运转,stallGuard2TM在堵转等大负载情况下能够有效报警,coolStep模块能够降低损耗,控制系统取得了良好的运行效果,可广泛应用于汽车行业和工业运动控制领域。

[1] 王永虹,徐炜.STM32系列ARMCortex-M3微控制器原理与实践.北京:北京航空航天大学出版社,2008: 22-408.

[2] 库少平,刘晶.基于STM32F10x和MDK的步进电机控制系统设计.武汉理工大学学报,2009,31(3)107-110.

[3] 刘宝志.步进电机的精确控制方法研究:[学位论文].济南:山东大学,2010:1-52.

[4] 石星星,吴洪涛.基于专用控制芯片的步进电机运动控制 统设计.电子设计工程,2012,20(9):130-133.

[5] 仝建,龙伟,李蒙,等.高精度高可靠步进电机控制系统的设计及应用.电子技术应用,2013,39(12):41-44.

[6] 霍晓强.一款两相双极步进电机驱动芯片的设计:[学位论文].西安:西安电子科技大学,2012:1-70.

[7] 陈志聪.步进电机驱动控制技术及其应用设计研究:[学位论文].厦门:厦门大学,2008:1-90.

Design of Control System of Stepping Motor Based on ARM and TMC262

LIU Hu ,ZHANG Ren-Jie,LIU Zhen,CHEN Lei-Liang

(School of Optical-Electrical and Computer Engineering ,University of Shanghai for Science and Technology ,Shanghai 200093,China)

A design on stepping motor drive control system with high precision and high reliability was introduced in the paper. The micro controller STM32F103ZET6,the stepping motor driver TMC262 are chosen in the motion control system. The system realizes the motor step with 256 segments and achieves functions of motor overload and stall alarm. This paper presents a block diagram of the design of the hardware, introduces the design of drive circuit and analyses the chopping principle and the load detection principle of the TMC262 .Following the MODBUS protocol, a friendly PC communication software was designed. The test result indicates that the motion control system achieves the expected effectiveness and requirement.

STM32;TMC262;stepper motor;drive control;

李中伟(1976—),副教授,博士,研究方向为电气化铁路线索张力监测、智能电网通信及其通信安全、现场总线技术及其应用。E-mail:lzw@hit.edu.cn 崔秀帅(1992—),硕士研究生,主要研究方向为电气化铁路线索张力监测、智能电网通信及其通信安全。 E-mail:cuixiushuai@126.com

2014-12-21 收修改稿日期:2015-08-02

TP273

A

1002-1841(2015)10-0057-03

猜你喜欢
寄存器芯片驱动
芯片会议
基于模糊PI控制的驱动防滑仿真系统分析
STM32和51单片机寄存器映射原理异同分析
人体微芯片
关于射频前端芯片研发与管理模式的思考
屈宏斌:未来五年,双轮驱动,砥砺前行
Lite寄存器模型的设计与实现
轨旁ATC系统门控柜接收/驱动板改造
移位寄存器及算术运算应用
基于S3C6410的Wi-Fi驱动移植实现