【世说芯品】关于步进电机的那些常见问题,教你轻松玩转!
步进电机是一种将电脉冲信号转换成相应角位移或线位移的电动机,每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。因此,步进电机适合数字控制,在3D打印、家用电器、数控机床等多个领域已被广泛应用。但步进电机作为一种控制用电机,无法直接接到直流或交流电源上工作,必须使用专用的步进电机驱动器。
步进电机具有额定相电压和额定相电流。例如,一个典型的步进电机可能具有2.5V的额定电压和最大电流为2.8A。基本上,这意味着如果您将其连接到2.5V电压,它将会吸引2.8A的电流。如果您尝试以更高的电压运行它,它将吸引更多的电流并过热。但步进电机通常不会直接连接到电压源。而是使用步进电机驱动电路来调节电流。例如,如果您将其连接到24V,电机将尝试吸引更多的电流,但步进电机驱动器不会允许发生这种情况。这是因为驱动电路使用其高频PWM和比较器算法来将平均电流限制在所需的最大值。通常可以通过某种方式进行配置。实际上,通过以比额定电压更高的电压运行,您将获得更好的性能。
在理想的电路中,元件只会展现出其规定的特性,而不会显示出其寄生特性。此外,PCB(印刷电路板)走线不会具有电阻、电感或电容。然而在现实世界中,情况并非如此,PCB走线具有可能严重影响精确电流感测信号的寄生特性。在PCB设计中,拥有良好的接地连接因此是一个关键。
无论您是在寻找如何设计自己的电路板的示例,还是希望快速验证某个概念,ADI Trinamic的评估板和分立板(BOB)都是开源设计,可帮助您入门。您所需的所有文件都可以在各个产品页面上找到。分立板适用于需要快速创建物理原型以获得最小可行产品(MVP)的任何人。BOB具有您使用组件所需的一切,例如感应电阻、缓冲电容,有时甚至还包括功率MOSFET或以太网连接器。所有BOB和评估板都是开源硬件,采用宽松的许可协议。如果设计对您有效,只需将设计复制并粘贴到您的板设计中。或者只需复制原理图 - 哪种方式对您最有利,您可以选择哪种方式。
如果您不需要保持转矩(完全禁用步进电机),您有以下选项可以减少待机时的功耗:最节能的方法是在电池供电的应用中使用P-MOSFET切断VS电源。这种单晶体管解决方案是最高效的,也是成本最低的。您甚至可以保持VCC_IO的供应,因为它只消耗几十微安的电流。在待机期间降低时钟频率。您甚至可以在禁用驱动器后关闭时钟。这将使能耗减少一半,但只有在使用外部时钟输入时才可能实现。如果您在待机期间需要一些转矩:在待机期间降低供电电压,例如从24V降低到5V。这将使待机能耗降低约80%。
请确保已配置ENC_RES(0x45),并且评估板上的VIO引脚已连接到+5V(这对于电平转换器是必需的)。
要将STOPL或STOPR用作回零参考,您需要将其连接到HOME_REF输入。一旦完成,您可以按照手册中的描述使用回零支持功能。通过在REFERENCE_CONF寄存器0x01中设置开关stop_left_is_home(或stop_right_is_home),您可以在触发STOPL(或STOPR)时更改停止行为。如果设置了此位,它会在内部启动停止之前考虑可以为HOME_REF引脚定义的不确定性范围。
您可以通过使用HOME_ERROR_Flag(状态寄存器)来读取HOME_REF。
要做到这一点,您只需要执行以下步骤:
设置VMAX = 0
将X_HOME设置为与X_ACTUAL不相等
设置HOME_EVENT = 0110和HOME_UNCERTAINTY = 0
现在,TMC4361A期望HOME_REF引脚具有低电压,因为它在X_HOME之外。因此:
如果HOME_REF = 0 → HOME_ERROR_F = 0
如果HOME_REF = 1 → HOME_ERROR_F = 1
由于您知道HOME_REF的极性,现在您可以将HOME参考寄存器切换到适合您的应用的值。
要以开环方式运行电机,首先需要将TMC6100驱动器配置到TMC4671。为此,需要通过SPI将GCONF(0x00)寄存器的单行位设置为0。一种可能性是使用Landungsbrücke板的SPI接口。请注意,BOB还有专门的固件,其中TMC6100和TMC4671已经配置,并且可以通过TMCL-IDE与其他评估板类似地设置。
ADI Trinamic的模块使用标准的8N1位格式,在通信中,使用了所谓的主-从模式。因此,PC或MCU(主设备)发送一个9字节的请求命令,模块(从设备)以9字节的回复命令作出回应。在此回复命令之后,主设备可以发送下一个命令。
首先,您需要设置编码器以正确解释N信号。这取决于您的编码器。设置clr_once,以便在下一个N事件发生时对编码器计数器进行一次初始化/锁存。此外,设置clr_enc_x以将编码器清零。为了将实际电机位置也设置为0,请激活latch_x_act。在检测到编码器事件后停止电机,然后从x_actual中减去锁存的位置。
请确保更新到最新的Landungsbrücke固件和TMCL-IDE:
从主分支下载TMCL-IDE-Nightly/2022_09_08_TMCL-IDE-3.6.5.1.zip:TMCL-IDE-Nightly/2022_09_08_TMCL-IDE-3.6.5.1.zip at master · trinamic/TMCL-IDE-Nightly · GitHub
如果电机无法达到所需的速度,请确保启用了空间矢量PWM,并通过将以下寄存器设置为最大值来使用完整的电压范围:UQ_UD_LIMITS = 32767。要启用空间矢量PWM,请转到PWM_SV_CHOP寄存器,将第8位设置为高。
重要的是要注意,TMC6200会反转输入信号,这需要由TMC4671考虑到。因此,请将TMC4671寄存器ADC_I0_SCALE(0x09)/ADC_I1_SCALE(0x08)设置为负值-256。
原文转自 亚德诺半导体
关注世健视频号,
了解更多TMC4671详情
关于世健亚太区领先的元器件授权代理商
世健(Excelpoint)是完整解决方案的供应商,为亚洲电子厂商包括原设备生产商(OEM)、原设计生产商(ODM)和电子制造服务提供商(EMS)提供优质的元器件、工程设计及供应链管理服务。多次被权威杂志和行业机构列入全球领先分销商榜单。
世健拥有超过35年历史,业务扩展至亚太区的49个城市和地区,目前在中国拥有十多家分公司和办事处。凭借专业的研发团队、顶尖的现场应用支持以及丰富的市场经验,世健在中国业内享有领先地位。