TMC5160/5130驱动芯片使用简明指南

关键词:        TMC5160         TMC5130        步进电机        单片机

        本文为TMC5160/5130固件库调试经验案例,主要以经验案例的方式向软件库使用者描述其具备的完整功能,与阐述其使用方法。本文提供其SPI通信方式介绍,快速启动方法和函数功能清单。

0 TMC5160简介

        TMC5160 是带串行通信接口的高功率步进电机控制驱动芯片,将实现自动目标定位的灵活斜坡发生器和业界最先进的步进电机驱动器结合在一起。配合外置的功率晶体管,实现高动态、高扭矩电机驱动。TRINAMICs 先 进 的 SpreadCycle 和StealthChop 斩波器,驱动器可绝对无噪音的运行,并实现最大效率和最佳电机扭矩控制。高集成度、高能效和小外形尺寸使系统小型化和性能扩展可行,从而实现经济高效的解决方案。完整的解决方案在实现高性能基础上极大缩短学习时间。

        TMC5130系列是TMC5160的内置MOS款,TMC5130能够从每个输出驱动高达2.5A的电流。TMC5130设计的电源电压为5…46V。无需外置功率晶体管,实现高动态电机驱动。

官网链接:TMC5160 - TrinamicThe TMC5160 is a motor driver for 2-phase stepper motor of 8 to 60V supply voltage. Check out the product page for more information on the unique features and controller interfaces of the TMC5160 IC.https://www.trinamic.com/products/integrated-circuits/details/tmc5160/

手册链接:

https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC5160A_datasheet_rev1.17.pdfhttps://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC5160A_datasheet_rev1.17.pdf

1 SPI通信方式

        TMC5160 采用 40 位 SPI (串行外围接口,SPI 是摩托罗拉的商标)数据报与微控制器 MCU 通信。带硬件 SPI 的微控制器 MCU 通常用 8 比特位的整数倍进行通信。设备的 NCS 信号必须在数据报传输的整个持续时间内保持有效(低)。发送到 TMC5160 的每个数据报由一个地址字节和四个数据字节组成,共计五个字节,每个8位,构成40位完整数据包。

        注意:写数据一个40位数据即有效,但是读数据需要两个40位,第一个40收回的数据无效,第二个40位收回的数据有效。

2 快速启动方法

        快速启动方法旨在使用最小的配置,完成启动,以验证硬件连接的可靠。

        按照如下方法进行配置:以下 SPI 数据示例支持步进和方向模式, 12mhz 时钟,配置小于 30 rpm 运行 StealthChop 及大于 30rpm 运行 spreadCycle 的斩波器参数。

SPI 发送

说明

1

0xEC000100C3

CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadCycle)

2

0x9000061F0A

IHOLD_IRUN: IHOLD=10, IRUN=31 (最大电流 ), IHOLDDELAY=6

3

0x910000000A

TPOWERDOWN=10: 电机静止到电流减小之间的延时

4

0x8000000004

EN_PWM_MODE=1 enables StealthChop (缺省 PWM_CONF 值)

5

0x93000001F4

TPWM_THRS=500 对应切换速度 35000 = ca. 30RPM

        以下SPI 数据示例使能并初始化运动控制器,内部斜坡发生器控制电机运行一圈(51200微步),最后查询读取当前位置。

SPI 发送

说明

1

0xA4000003E8

A1 = 1 000 第一阶段加速度

2

0xA50000C350

V1 = 50 000 加速度阈值速度 V1

3

0xA6000001F4

AMAX = 500 大于 V1 的加速度

4

0xA700030D40

VMAX = 200 000

5

0xA8000002BC

DMAX = 700 大于 V1 的减速度

6

0xAA00000578

D1 = 1400 小于 V1 的减速度

7

0xAB0000000A

VSTOP = 10 停止速度(接近于0)

8

0xA000000000

RAMPMODE = 0 (目标位置运动)

9

0xADFFFF3800

XTARGET = -51200 (向左运动一圈 (200*256 微步)

10

0x2100000000

查询 XACTUAL – 下一个读操作返回 XACTUAL

11

0x2100000000

读XACTUAL

        一共16步配置可以完成完整的一圈转动,验证硬件连接的可靠。

3 函数功能清单

完整版固件库功能清单:

基础功能区:

序号

函数名称

功能

1

uint32_t right(uint8_t motor, int32_t velocity);

正转

2

uint32_t left(uint8_t motor, int32_t velocity);

反转

3

uint32_t rotate(uint8_t motor, int32_t velocity);

旋转

4

uint32_t start(uint8_t motor,TMC_START_PARA start_para);

开始

5

uint32_t stop(uint8_t motor);

停止

6

uint32_t moveTo(uint8_t motor, int32_t position);

移动到某个位置

7

uint32_t moveBy(uint8_t motor, int32_t *ticks);

以某个速度移动

高级功能区:

序号

函数名称

功能

1

uint32_t GAP(uint8_t type, uint8_t motor, int32_t *value);

获取配置参数

2

uint32_t SAP(uint8_t type, uint8_t motor, int32_t value);

设置配置参数

3

void readRegister(uint8_t motor, uint8_t address, int32_t *value);

读寄存器

4

void writeRegister(uint8_t motor, uint8_t address, int32_t value);

写寄存器

用户自定义区:

uint32_t userFunction(uint8_t type, uint8_t motor, int32_t *value);

内部使用接口:

序号

函数名称

功能

1

void tmc5160_writeDatagram(uint8_t motor,uint8_t address, uint8_t x1, uint8_t x2, uint8_t x3, uint8_t x4);

写数据

2

void tmc5160_writeInt(uint8_t motor, uint8_t address, int value);

写数据

3

int tmc5160_readInt(uint8_t motor, uint8_t address);

读数据

4 高级功能区

        基础功能区提供了基本的正、反转,停止、启动,以某个速度运行等指令,满足不了用户的高动态配置的需求。高级接口开放了这些功能,并统一做成了宏的形式供用户来调用。对高级功能区的两个函数做出详细介绍。

序号

函数名

传入参数

1

uint32_t GAP(uint8_t type, uint8_t motor, int32_t *value);

索引,电机,参数值

2

uint32_t SAP(uint8_t type, uint8_t motor, int32_t value);

索引,电机,参数值

索引列表已全部宏定义,无需记忆,直接使用宏

参数索引

英文释义

中文释义

0

Target position

目标位置

1

Actual position

实际位置

2

Target speed

目标速度

3

Actual speed

实际速度

4

Maximum speed

最大速度

5

Maximum acceleration

最大加速度

6

Maximum current

最大电流

7

Standby current

待机电流

8

Position reached flag

位置达到标志

10

Right endstop

右限位停止

11

Left endstop

左限位停止

12

Automatic right stop

自动右限位停止

13

Automatic left stop

自动左限位停止

14

SW_MODE Register

使用限位

15

Acceleration A1

加速度A1 

16

Velocity V1

速度V1

17

Maximum Deceleration

最大减速

18

Deceleration D1

减速D1

19

Velocity VSTART

启动速度

20

Velocity VSTOP

停止速度

21

Waiting time after ramp down

下匝道后的等待时间

23

Speed threshold for high speed mode

高速模式的速度阈值

24

Minimum speed for switching to dcStep

切换到dcStep的最小速率

27

High speed chopper mode

高速斩波方式

28

High speed fullstep mode

高速全步进模式

29

Measured Speed

测量速度

33

Analog I Scale

模拟电流检测

34

Internal RSense

内部R阻值

140

Microstep Resolution

细分数

162

Chopper blank time

斩波的空白时间

163

Constant TOff Mode

恒定TOff模式

164

Disable fast decay comparator

禁用快速衰减比较器

165

Chopper hysteresis end / fast decay time

斩波滞后结束/快速衰减时间

166

Chopper hysteresis start / sine wave offset

斩波滞后启动/正弦波偏移

167

Chopper off time

斩波器关机时间

168

smartEnergy current minimum (SEIMIN)

最小能量电流(SEIMIN)

169

smartEnergy current down step

smartEnergy电流下降速度

170

smartEnergy hysteresis

smartEnergy滞后

171

smartEnergy current up step

smartEnergy电流上升

172

smartEnergy hysteresis start

smartEnergy滞后开始

173

stallGuard2 filter enable

stallGuard2过滤器使能

174

stallGuard2 threshold

stallGuard2阈值

180

smartEnergy actual current

smartEnergy实际电流

181

smartEnergy stall velocity

smartEnergy失速速度

182

smartEnergy threshold speed

smartEnergy阈值速度

184

Random TOff mode

随机TOff模式

185

Chopper synchronization

斩波器同步

186

PWM threshold speed

PWM速度阈值

187

PWM gradient

PWM梯度

188

PWM amplitude

PWM振幅

191

PWM frequency

PWM频率

192

PWM autoscale

PWM自动定标

204

Freewheeling mode

飞轮模式

206

Load value

负载值

209

Encoder position

编码器的位置

210

Encoder Resolution

编码器的分辨率

5 详细文件清单

共包含8个文件,文件结构如下,总文件大小50K.

tmc5160

        include

                tmc5160_api_header.h

                tmc5160_constants.h

                tmc5160_fields.h

                TMC5160_Register.h

                tmc5160_type.h

                tmc5160.h

        tmc5160_api_header.c

        tmc5160.c

提供git下载链接:

GitHub - DarwinRepo/tmc5160Contribute to DarwinRepo/tmc5160 development by creating an account on GitHub.https://github.com/DarwinRepo/tmc5160.git提供csdn下载链接:tmc5160.rar-C++文档类资源-CSDN下载tmc5160.rar更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/qq_18826027/76314946

6 硬件设计参考

        链接:TMC5160原理图与PCB设计_达达达达尔文~的博客-CSDN博客TMC5160原理图与PCB设计https://blog.csdn.net/qq_18826027/article/details/127062736?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127062736%22%2C%22source%22%3A%22qq_18826027%22%7D

7 高级功能配置

        链接:https://blog.csdn.net/qq_18826027/article/details/127062957?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127062957%22%2C%22source%22%3A%22qq_18826027%22%7Dicon-default.png?t=M85Bhttps://blog.csdn.net/qq_18826027/article/details/127062957?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127062957%22%2C%22source%22%3A%22qq_18826027%22%7D

        

TMC5160集成步进驱动控制于一体静音驱控芯片外置功率管带有编码器反馈 SPI和Step/Dir接口 单一轴步进电机控制IC集成了MOSFET电机驱动,可提供最高的电压和电流规格在公司的集成步进控制和驱动器产品线。新TMC5160功率管外扩最大驱动电流可达20A,新器件还实现了的最新专利技术Stealchchop静音专利,Spreadcycle无振动运转。 “该TMC5160成功地结合了几个技术创新到一个单一的设备也实现了新的最大的电机电压和支持外部功率管,驱动功率更大 该TMC5160非常适合于实验室,办公室自动化和其它应用中的机械工程接近人类操作。这些环境通常需要严格的噪音限制,因此新的设备是第一个把的专利stealthChop技术,从而降低了噪音和振动,在高扭矩和低速。因此,新TMC5130有一个测得的噪声电平用stealthChop以下时,传统的步进电机驱动IC10分贝。 通过业界标准的SPI或步进/方向接口连接到主机微控制器,该TMC5130执行所有实时位置和速度步进运动的计算,同时其集成的低功耗MOSFET直接驱动步进电机线圈的电流。 该TMC5160实现的专利sixPoint加减速波形,尽量减少斜坡生成配置文件。此配置文件中既加速段和减速段,其最小化运动'加加',并提供更平滑的电动机操作使用两个不同的设置。该sixPoint斜坡曲线还使得电动机转矩更紧密匹配的应用程序的要求,生产速度优化的最大加速度倍。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值