TMC2209应用笔记

前言

    刚开始接触这款步进电机驱动是从3D打印打印开始的,主要是这款驱动具有非常好的静音效并且用在项目上取得了不错的效果。

一、TMC2209简述

        TMC2209是用于两相步进电机的超静音电机驱动器IC。其StealthChop2斩波器可确保无噪声运行,最高效率和最佳电动机转矩。具有快速电流调节以及与SpreadCycle的可选组合可在添加时实现高度动态的运行。StallGuard用于无传感器归位。集成功率MOSFET可处理高达2A rms的电流,并具有保护和诊断功能,可实现稳定可靠的运行。一个易于使用的单线UART接口打开了调整和控制选项。将应用程序调整存储到OTP内存。

二、TMC2209使用

1.简单的Step/Dir模式

简单的Step/Dir模式只需要给脉冲。

2.使用UART动态配置

  1. TMC2209硬件连接如下图所示。
    TMC2209应用笔记_第1张图片
  2. UART发送和接收数据的格式,如下图所示。TMC2209应用笔记_第2张图片TMC2209应用笔记_第3张图片
    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无传感器归位

            具体步骤如下:

                3.0 UART连接时,ENN必须为低电平并且MS1、MS2必须悬空;

                3.1 配置内部采样电阻。具体在GCONF中internal_Rsens = 1;

                3.2 电机电流设置,配置IHOLD_RUN寄存器;

                3.3 设置失速电流阈值TCOOLTHRS;

                3.4 设置灵敏度SGTHRS。

                3.5 调节电机的实际运动电流需要看CONFIG寄存器的第一位,若选择外部电流需要Vref参与。

总结

        本篇笔记主要记录了如何通过单线UART配置TMC2209步进驱动器功能以及怎么样配置StallGuard无传感器归位的功能。

你可能感兴趣的:(单片机)