当今,人工智能(AI)作为最前沿的科技之一,正以前所未有的速度快速发展,市场关注热度也不断攀升。从Atlas人形机器人到擎天柱(Optimus),各类AI机器人的表现让人惊叹。然而,在所有机器人项目中,电机驱动可以说是核心,也是一门深厚的学问。
Excelpoint世健邀请到了21IC资深工程师TopGun*为大家评测ADI Trinamic的无刷电机控制开发板,带你入门电机驱动。
*TopGun从事机器人领域,具有7年研发经验。
一、关于ADI Trinamic
ADI Trinamic是嵌入式电机和运动控制领域的技术领导者,拥有二十多年经验,在半导体行业被称作是一个神话,主要致力于运动控制产品的设计与研发(包括步进和直流无刷和伺服系统)。其主要产品包括芯片、模块和系统。产品具有体积小、集成度高、性能强等主要特点,可谓电机领域的“卷”王。ADI Trinamic将传统软件算法通过硬件来实现,可极大减轻生产研发的工作量。例如,集成S曲线加减速算法,可以让运动性能得到极大地提升,集成FOC算法可以让无刷电机开发变得轻而易举等等。
二、TMC4671硬件解剖
1、拆包
拿到套件,外包装是用可回收的纸箱,侧面贴有套件的信息。
包装做成了抽屉型,很有特色且很环保。抽出包装后可以看到,里面有减震泡棉保护里面的板子。
把包装里面东西都拆出来后,可以看到用静电包装着的板子,还有一根TYPE-C数据线。
拆开每个静电包装就可以看到每块板子的真容了,套件清单如下:
- Landungsbruecke x 1
- TMC4671-EVAL x 1
- TMC6200-EVAL x 1
- MOTOR CONTROL x 2
- TYPE-C数据线 x 1
2、Landungsbruecke介绍
Landungsbruecke主板正面很清爽,很多元器件都是NC。背面没有元器件很清爽,上面有板子的说明、网址等信息。
板子用的主控是NXP的MK20DX系列(飞思卡尔已被NXP收购)。Landungsbruecke主板的主要功能是配合TMCL-IDE上位机,让开发者快速配置开发板,快速配置及调试电机。
3、TMC4671-EVAL介绍
板子正面四周设计了排针排母,方便用户扩展接口;左右两边的排母主要用于官方板卡的扩展级联,有数字霍尔、增量编码器接口,以及模拟量编码器接口;背面主要是一些电容电阻和缓冲器。板载的芯片型号为TMC4671-LA,为QFN76封装,不复杂的硬件能极大地提高生产的可靠性,同时降低维修难度。
ADI TMC4671是一款完全集成的伺服控制器,可为BLDC/PMSM和两相步进电机以及直流电机和音圈提供磁场定向控制(FOC)。所有控制功能都在硬件中实现。集成 ADC、位置传感器接口、位置插值器,为广泛的伺服应用提供功能齐全的伺服控制器。
4、TMC6200-EVAL介绍
TMC6200-EVAL为高压栅极控制器主板。正面主芯片为TMC6200-TA,,TQFP48封装。6颗黑色芯片为英飞凌的mos管,型号为BSC026N08NS5ATMA1,具有6颗采样电阻。配有供电接线端子,以及三相电机的接线端子。板子背面同样没有任何元器件,只有关于板子的介绍;通信接口为SPI,供电电压范围为8~55V,最大峰值电流为10A。
5、Motor Control介绍
这里就不多介绍了,这个板子比较简单,主要作用就是连接两块板子,用于板子级联。
套件级联后的效果如上图,通过Motor Control连接板实现套件的级联。
三、小试牛刀,快速配置
工程师本人手上有个带霍尔传感器的无刷电机,刚好可以用来测试这个TMC4671套件。接好电源、电机三相线及霍尔接线,再用type-c线连接套件和电脑。
打开TMCL-IDE后,可以看到已经可以识别到Landungsbruecke主板,固件版本也能正常获取为V3.08。
在右边的配置面板可以自己选择板子的型号,也可以点击“Scan”自动扫描板子。
选择TMC4671-EVAL板子配置,点击“Wizard Pool”按钮进行配置向导一步步对TMC4671进行配置。
第一步,配置一下套件的功能,因为测试电机没有ABZ编码器,所以这几项得取消了。
接下来需要进行通用配置,此套件功率板用的是TMC6200-EVAL,电机类型选择3-Three phase BLDC,电机的极对数选择8,其他配置默认即可。
继续配置开环参数,点击“Set defaults”按钮,拖动UD_EXT的滑动条,然后点击“运行”按钮,电机就会开始慢速转动起来,左右两边的箭头为控制转动的方向,快进键为电机点动。
再下一个页面是对ADC进行配置。此页面只要能正常看到有ADC正弦波形即可,主要看ADC采集是否正常。
接下来对ADC进行偏移校准,两路ADC软件都通过实时采样数据自动算好偏移值了,直接点一下“Set”按钮就行了。
将页面往下拉,需要确保三相的电压和ADC采集的数据曲线重合,否则需要调整0x0A寄存器里面ADC的选择配置,直到曲线基本重合。
接下来对霍尔传感器进行配置,根据向导要让霍尔信号与电信号交叉,因为测试电子自带霍尔,所以不需要进行额外的校准,已经可以直接使用了。
配置好霍尔传感器进入测试步骤,首先点一下“Set defaults and start”按钮,输入目标电流点击运行,观测电机到电机能正常跑起来了,说明霍尔接口配置正常。到这里,配置向导基本完成,已经对套件完成初始化配置了。
四、电机性能测试
初始化向导后,就可以对套件进一步调试了。首先,打开“Selectors”对电角度输入源,速度反馈源位置反馈源进行配置,这里都设为霍尔传感器作为反馈。
PID参数调节是电机控制的痛点,TMC上位机这边提供了参数拟定的工具,选择“Torque/Flux”,点击“Start”开始后,就会自动对电机电流环进行参数拟定,拟定后的参数会自动同步到“PI control”中。
速度环的PI参数拟定也是同样的逻辑。设定好目标速度后,选择“Velecity”,点击开始后,即可对速度环进行参数拟定。
PID参数拟定完毕,我们就可以来测测实际的运行性能了。首先,对电流环进行测试,设定目标电流后,利用左右箭头两种按钮切换电机运行方向,通过换向来验证阶跃响应,也可自行微调PI参数达到更理想的运行效果。
接着,来测试速度环的性能。切换到速度模式,跟测试电流环一样,手动控制电机运动换向测试响应和跟随性,可以看到目标速度和实际反馈速度基本重合,说明跟随性很不错。
接着测试位置环,切换到位置环模式,设置目标位置,电机能很快运动到目标位置并收敛在目标位置。测试电机位置环,通过人为拧动电机,电机会很快就收敛到目标位置。不过,要想进一步提升位置环的性能,单纯用霍尔传感器是不够的,一般位置环的应用一般需要增量编码器或者绝对式编码器。
五、总结
ADI Trinamic推出的TMC4671真是电机控制领域的福音,由于算法直接集成到了芯片内部,电机小白可以不用研究晦涩难懂的clarke、park、反clarke、反park等FOC控制理论知识,只需要配置简单的寄存器,即可对电机进行快速开发,极大地节省了开发成本,相信定是未来一大趋势,未来可期。