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

news/2025/1/18 11:10:32/

关键词:        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

        


http://www.ppmy.cn/news/132759.html

相关文章

【元胞自动机】基于matlab元胞自动机甲板火灾下人群疏散【含Matlab源码 1291期】

⛄一、元胞自动机简介 1 元胞自动机发展历程 最初的元胞自动机是由冯 诺依曼在 1950 年代为模拟生物 细胞的自我复制而提出的. 但是并未受到学术界重视. 1970 年, 剑桥大学的约翰 何顿 康威设计了一个电脑游戏 “生命游戏” 后, 元胞自动机才吸引了科学家们的注意. 1983 年…

华三交换机irf堆叠以及BFD检测配置

堆叠也叫虚拟化,将两台交换机虚拟成一台交换机,两台交换机进行虚拟化后,备机上的配置会消失跟随主机的配置,所以最好是在做配置前,先将设备堆叠在做配置,当然也可以先在主机上进行配置,堆叠后备…

华硕Z77老主板加持NVMe SSD 成功!

https://download.csdn.net/download/sankever/11260271 评论中需要的BIOS修改版已上传, 声明:该BIOS为本人参考网上方法(参考原文在下面有)所改,在本人电脑上有效,不负责所有问题的解释。对于之前的资源链…

MA5680T配置指导

MA5680T配置指导(适用于V800R006C02版本) 《1-常用命令》 //登陆用户名root,密码 admin MA5680T>enable //打开特权EXEC MA5680T#config //进入终端配置模式 MA5680T(config)#sysname SJZ-HW-OLT-1 //设备命名 (一般为开局配置) MA5680T(c…

AMD Radeon GPU Injector tool | 老旧 AMD 显卡驱动工具

AMD Radeon GPU Injector tool 是一款AMD显卡的注入工具包,软件仅支持 四叶草 引导,需要配置四叶草启动引导工具,软件会结合显卡型号修改 FB显卡驱动文件 来驱动AMD显卡。并且软件包括了Sandy Bridge平台CPU的插件,AMD显卡无法驱动…

家用投影仪选哪个品牌好?2022双11家用投影仪首推当贝F3 Air

临近双十一,想必很多人已经开始罗列自己的购物清单了,身边也有朋友在纠结客厅是准备买电视还是投影仪。其实对于像我这种体验过大屏的沉浸式观影之后,就很难再回去了,毕竟大屏是投影仪作为显示设备最大的优势,其带来的…

家用投影机预埋布线图_投影仪布线安装技巧 再也不用看安装示意图了

很多人对于投影仪的认识还仅仅停留在我们的办公用品当中,不过其功能可不仅仅局限在我们的办公场所,现在越来越多的人都将其作为我们的家中一种电器产品来使用。将其安装在客厅或者是卧室,这样我们就能够享受到看大屏幕电影的乐趣了。那么投影…

家用投影仪日常使用需要注意哪些问题?

随着科技的发展,家用投影仪进入千家万户的家庭中,它把传统庞大的投影机精巧化、便携化、微小化、娱乐化、实用化,使投影 技术更加贴近生活和娱乐。 在享受家用投影仪带来的好处时,不少人也在关心着家用投影仪的寿命,一…