嵌入式
返回首页

TMC4671驱动步进电机之tmc4671配置代码与TMC4671模拟编码器设置

2024-08-12 来源:elecfans

ADI TMC4671是一款完全集成的伺服控制器,可为BLDC/PMSM和两相步进电机以及直流电机和音圈提供磁场定向控制(FOC)。所有控制功能都在硬件中实现。TMC4671可以为直流无刷电机、永磁同步电机、2相步进电机、直流有刷电机和音圈电机提供磁场定向控制。


此外TMC4671还集成 ADC、位置传感器接口、位置插值器,为广泛的伺服应用提供功能齐全的伺服控制器。


TMC4671硬件集成的电机控制算法及三环控制算法使得开发电机不需要编写一行代码即可完成。


而且TMC4671具有高达100kHz的开关频率和控制器更新速率,并具有滤波和插值功能,如数字霍尔信号插值,以实现更顺畅的操作。该集成电路可以与各类编码器协同工作:从A/B/Z增量式简单的数字或模拟霍尔传感器到高分辨率正弦/余弦模拟编码器。传感器可灵活地映射为位置和速度控制回路的输入。凭借其delta-sigma电流检测ADC,TMC4671非常适合用于隔离式delta-sigma前端。


TMC4671性能描述:

○ 带有磁场矢量控制(FOC)的伺服控制芯片

转矩控制模式

速度控制模式

位置控制模式

电流控制刷新频率和最大的PWM频率为100KHz (速度和位置控制的刷新频率可以根据当前电流刷新频率的倍数配置)

○ 控制功能/ PI控制器

中期结果的输入和输出可编程斩波

以积分电路结尾保护所有控制

可编程的电压循环向导限制器

目标值的前馈补偿和前馈摩擦补偿

高级前馈控制结构,实现最佳轨迹跟踪性能

扩展的中断请求掩蔽选项和限制器状态寄存器

具有霍尔传感器或/和最小移动的高级编码器初始化算法

○ 运动控制和坡形控制

控制结构的梯形速度斜坡

脉冲/方向接口,方便定位

○ 支持的电机种类

直流无刷电机

永磁同步电机

2相步进电机

直流有刷电机

音圈电机

○ 位置反馈

开环位置发生器(可编程的PRM,RPM/S)用于初始化配置

数字增量编码器(ABN,ABZ 高达5MHz)

第二路数字量编码器输入(双反馈)

数字霍尔输入接口带有临时位置插补功能(H1, H2, H3 resp. HU, HV , HW)

模拟量编码器/模拟量霍尔输入接口(SinCos (0°, 90°) or 0°, 120°, 240°)

多圈位置计数器(32位)

目标位置、速度和目标转矩滤波(双阶)

○ PWM包括SVPWM

可编程的PWM频率范围从20KHz100KHzn

可编程的BBM(BrakeBeforeMake)时间(偏低,偏高)0 ns 。 。 。 2.5_s在10ns步骤内和栅极驱动输入信号

PWM自动调整,用于运动期间改变PWM频率

○ SPI通讯接口

40位数据长度(1个ReadWrite位+7个地址位+32个数据位)

立即SPI读取响应(通过单个数据报进行寄存器读取访问)

SPI时钟频率高达1 MHz(未来版本为8 MHz)

○ TRINAMIC实时监控接口(SPI Master)

通过TRINAMIC的实时监控系统实现实时数据高频采样

需要PCB上的单个10针高密度连接器

高级控制器通过频率响应识别和高级自动调谐支持使用TRINAMIC IDE调整选项

○ UART调试接口

3引脚(GND, RxD, TxD) 3.3V UART接口(1N8; 9600 (default), 115200, 921600, or 3M bps)

简易寄存器访问并行于嵌入式用户应用程序接口(SPI)

○ 供电电压:5V和3.3V;1.8V的VCC_CORE由内部产生

○ IO电压:3.3V用于所有的数字(可由VCCIO选择提供);5V插分模拟量输入范围,3V为单端输入范围

○ 时钟频率:25MHz(需要外部振荡器)

○ 封装:QFN76

TMC4671驱动步进电机之tmc4671配置代码与TMC4671模拟编码器设置

下面我们分享一个Excelpoint世健邀请的21IC资深工程师TopGun评测ADI Trinamic的无刷电机控制开发板案例。

通过Motor Control连接板实现套件的级联:

d90b3f14-fa92-11ed-ba01-dac502259ad0.png

工程师本人手上有个带霍尔传感器的无刷电机,刚好可以用来测试这个TMC4671套件。接好电源、电机三相线及霍尔接线,再用type-c线连接套件和电脑。

d9cf63da-fa92-11ed-ba01-dac502259ad0.png

打开TMCL-IDE后,可以看到已经可以识别到Landungsbruecke主板,固件版本也能正常获取为V3.08。

d9f091ae-fa92-11ed-ba01-dac502259ad0.png

在右边的配置面板可以自己选择板子的型号,也可以点击“Scan”自动扫描板子。

da38b79a-fa92-11ed-ba01-dac502259ad0.png

选择TMC4671-EVAL板子配置,点击“Wizard Pool”按钮进行配置向导一步步对TMC4671进行配置。

da7d5210-fa92-11ed-ba01-dac502259ad0.png

第一步,配置一下套件的功能,因为测试电机没有ABZ编码器,所以这几项得取消了。

dad5ce90-fa92-11ed-ba01-dac502259ad0.png

接下来需要进行通用配置,此套件功率板用的是TMC6200-EVAL,电机类型选择3-Three phase BLDC,电机的极对数选择8,其他配置默认即可。

db230458-fa92-11ed-ba01-dac502259ad0.png

继续配置开环参数,点击“Set defaults”按钮,拖动UD_EXT的滑动条,然后点击“运行”按钮,电机就会开始慢速转动起来,左右两边的箭头为控制转动的方向,快进键为电机点动。

db5fb0c4-fa92-11ed-ba01-dac502259ad0.png

再下一个页面是对ADC进行配置。此页面只要能正常看到有ADC正弦波形即可,主要看ADC采集是否正常。

db93c076-fa92-11ed-ba01-dac502259ad0.png

接下来对ADC进行偏移校准,两路ADC软件都通过实时采样数据自动算好偏移值了,直接点一下“Set”按钮就行了。



dbcbdad8-fa92-11ed-ba01-dac502259ad0.png

将页面往下拉,需要确保三相的电压和ADC采集的数据曲线重合,否则需要调整0x0A寄存器里面ADC的选择配置,直到曲线基本重合。

dc19ce5a-fa92-11ed-ba01-dac502259ad0.png

接下来对霍尔传感器进行配置,根据向导要让霍尔信号与电信号交叉,因为测试电子自带霍尔,所以不需要进行额外的校准,已经可以直接使用了。

dc514f6a-fa92-11ed-ba01-dac502259ad0.png

配置好霍尔传感器进入测试步骤,首先点一下“Set defaults and start”按钮,输入目标电流点击运行,观测电机到电机能正常跑起来了,说明霍尔接口配置正常。到这里,配置向导基本完成,已经对套件完成初始化配置了。


电机性能测试

dc9d753e-fa92-11ed-ba01-dac502259ad0.png

初始化向导后,就可以对套件进一步调试了。首先,打开“Selectors”对电角度输入源,速度反馈源位置反馈源进行配置,这里都设为霍尔传感器作为反馈。

dcdbd022-fa92-11ed-ba01-dac502259ad0.png

PID参数调节是电机控制的痛点,TMC上位机这边提供了参数拟定的工具,选择“Torque/Flux”,点击“Start”开始后,就会自动对电机电流环进行参数拟定,拟定后的参数会自动同步到“PI control”中。

dd1a7f98-fa92-11ed-ba01-dac502259ad0.png

速度环的PI参数拟定也是同样的逻辑。设定好目标速度后,选择“Velecity”,点击开始后,即可对速度环进行参数拟定。

dd6fac0c-fa92-11ed-ba01-dac502259ad0.png

PID参数拟定完毕,我们就可以来测测实际的运行性能了。首先,对电流环进行测试,设定目标电流后,利用左右箭头两种按钮切换电机运行方向,通过换向来验证阶跃响应,也可自行微调PI参数达到更理想的运行效果。

ddd0ec88-fa92-11ed-ba01-dac502259ad0.png

接着,来测试速度环的性能。切换到速度模式,跟测试电流环一样,手动控制电机运动换向测试响应和跟随性,可以看到目标速度和实际反馈速度基本重合,说明跟随性很不错。

ddf7e7c0-fa92-11ed-ba01-dac502259ad0.png

接着测试位置环,切换到位置环模式,设置目标位置,电机能很快运动到目标位置并收敛在目标位置。测试电机位置环,通过人为拧动电机,电机会很快就收敛到目标位置。不过,要想进一步提升位置环的性能,单纯用霍尔传感器是不够的,一般位置环的应用一般需要增量编码器或者绝对式编码器。


进入嵌入式查看更多内容>>
相关视频
  • PX4固件二次开发课程

  • RISC-V嵌入式系统开发

  • NuttX Workshop 2024

  • 自己动手写操作系统

  • SOC系统级芯片设计实验

  • 自己动手做一台计算机

精选电路图
  • PIC单片机控制的遥控防盗报警器电路

  • 红外线探测报警器

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 用NE555制作定时器

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 基于ICL296的大电流开关稳压器电源电路

    相关电子头条文章