TMC2209是用于两相步进电机的超静音电机驱动器IC。
TMC2209与许多传统驱动器以及TMC2208引脚兼容。
TRINAMICs先进的StealthChop2斩波器可确保电机无噪音运行,实现最高效率和最佳电机扭矩。其快速的电流调节和抑制共振功能组合可实现高动态运动。
StallGuard用于无传感器回原点,防止堵转。
内置功率MOSFET可处理高达2A RMS的电机电流,
具有保护和诊断功能,可实现稳定可靠的运行。
TMC2209的具体使用
1、Step/Dir独立模式引脚配置

使用简单的Step/Dir模式,只需要外部脉冲控制。
细分的话根据MS1和MS2两个引脚进行配置,最高64细分。
2、使用UART串口配置

1、硬件连接

2、串口发送和接受数据格式

UART发送指令采用的CRC_8校验码:

static void prvTMCCal_CRC8(uint8_t *pucData, uint8_t ucDataLength)
{
int i,j; unsigned char *crc = pucData + (ucDataLength - 1); unsigned char currentByte; *crc = 0; for(i = 0; i < (ucDataLength - 1);i++)
{
currentByte = pucData[i];
for(j = 0; j < 8; j++)
{
if((*crc >> 7) ^ (currentByte & 0x01)){
*crc = (*crc << 1) ^ 0x07;
}else{
*crc = (*crc << 1);
}
currentByte = currentByte >>1;
}
}
}
3、使用StallGuard技术无传感器回原点
1、UART连接时,ENN必须为电平并且MS1、MS2必须悬空;
2、 配置内部采样电阻。具体在GCONF中internal_Rsens = 1;
3、电机电流设置,配置IHOLD_RUN寄存器;
4、设置失速电流阈值TCOOLTHRS;
5、 设置灵敏度SGTHRS。
6、调节电机的实际运动电流需要看CONFIG寄存器的第一位,若选择外部电流需要Vref参与。

TMC2209步进驱动芯片基本配置及使用的更多相关文章

  1. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

  2. multiwii 2.4配置页面中文注释

                                                                                                         ...

  3. 树莓派配置文档 config.txt 说明(转)

    原文连接:http://elinux.org/RPi_config.txt 由于树莓派并没有传统意义上的BIOS, 所以现在各种系统配置参数通常被存在"config.txt"这个文 ...

  4. postgresql+slony-i安装配置主从

    slon软件下载地址:slony1-1.2.6 http://slony.info/downloads/1.2/source/ postgresql下载地址: http://www.postgresq ...

  5. zend stuido 12.5的插件安装和xdebug调试器的配置和和配置注意

    参考: zend stuido 12.5的插件安装 zend 12.5 安装插件是按类别进行分类了的, 而且是在欢迎 界面就可以直接安装, 安装后,要重启zend才能生效 版式设计的一个基本点就是: ...

  6. FPGA Verilog HDL 系列实例--------步进电机驱动控制

    [连载] FPGA Verilog HDL 系列实例 Verilog HDL 之 步进电机驱动控制 步进电机的用途还是非常广泛的,目前打印机,绘图仪,机器人等等设备都以步进电机为动力核心.那么,下面我 ...

  7. ntpd时间同步 安装与配置

    1,安装 yum -y install ntp vim /etc/ntp.conf 默认配置: driftfile /var/lib/ntp/drift restrict default kod no ...

  8. Highcharts选项配置详细说明文档(zz)

    http://www.helloweba.com/view-blog-156.html Highcharts提供大量的选项配置参数,您可以轻松定制符合用户要求的图表,目前官网只提供英文版的开发配置说明 ...

  9. exynos 4412 电源管理芯片PMIC 的配置及使用方法

    /** ****************************************************************************** * @author    Maox ...

随机推荐

  1. dubbo的消费者是怎么获取提供者服务接口引用的?

    本文主要解读dubbo消费者是如何引用服务端接口的,是如何像本地调用一样调用远程服务的. 并试着从设计者的角度思考,为何这样设计. @Component public class DubboConsu ...

  2. Java上传文件至SFTP服务器

    Windows搭建SFTP服务器 https://www.cnblogs.com/wangjunguang/p/9453611.html 注意点: 1.以管理员权限运行FreeSSHd 2.如果无法启 ...

  3. 使用React.js写一个类似单选框与复选框的功能

    单选框 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <tit ...

  4. RPA微信机器人汇总

    一.微信广告PDF对账单数据提取机器人 [机器人详情] 微信广告对账结算单为PDF文件,从每一期对账单文件中提取结算数据,统计成excel表格,便于与腾讯广告业务结算审核 [机器人步骤] 1.启动机器 ...

  5. RT-Thread 组件 FinSH 使用时遇到的问题

    一.FinSH 的移植与使用问题 FinSH组件输入无反应的问题 现象:当打开 finsh 组件后,控制台会打相应的信息,如下图说是: \ | / - RT - Thread Operating Sy ...

  6. 链表设计与Java实现,手写LinkedList这也太清楚了吧!!!

    链表设计与实现 在谈链表之前,我们先谈谈我们平常编程会遇到的很常见的一个问题.如果在编程的时候,某个变量在后续编程中仍需使用,我们可以用一个局部变量来保存该值,除此之外一个更加常用的方法就是使用容器了 ...

  7. C语言-typedef和#define

    1.关键字 typedef 为一个数据类型起一个新的别名,typedef 的用法一般为: typedef OldName NewName; 需要强调的是,typedef 是赋予现有类型一个新的名字,而 ...

  8. 本地使用 Docker Compose 与 Nestjs 快速构建基于 Dapr 的 Redis 发布/订阅分布式应用

    Dapr(分布式应用程序运行时)介绍 Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的.无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言 ...

  9. 练习-使用日期时间相关的API ,计算出一个人已经出生了多长时间

    程序分析:(1)使用Scanner类获取出生日期(2)使用DataFormat类中的方法parse,把字符串的出生日期解析为Data格式的出生日期(3)把Data格式的出生日期转化为毫秒值(4)获取当 ...

  10. c# 反射专题—————— 介绍一下是什么是反射[ 一]

    前言 为什么有反射这个系列,这个系列后,asp net 将会进入深入篇,如果没有这个反射系列,那么asp net的源码,看了可能会觉得头晕,里面的依赖注入包括框架源码是大量的反射. 正文 下面是官方文 ...