TB5128 + Arduino UNO,更方便控制步进电机

本文介绍了如何使用Arduino UNO配合TB5128步进驱动芯片控制步进电机,包括TB5128的特点、功能以及与Arduino的连接与编程方法。通过设置细分、衰减模式,实现了电机的自动循环正反转,并讨论了脉冲频率、电流控制等关键参数。
摘要由CSDN通过智能技术生成

关于TB5128 步进驱动芯片:

1. 概述
    TB5128 是一种采用 PWM 斩波的两相双极步进电机驱动器。内置时钟解码器。
    本驱动器采用 BiCD 工艺制造,额定输出为 50 V/5.0 A(电机电源电压 = 44 V)。
2. 特点
 BiCD 工艺集成式单片 IC。
 可控一台双极步进电机。
 由 PWM 控制的恒流驱动。
 低导通电阻(高压侧+低压侧 = 0.25Ω(典型值))
 MOSFET 输出级。

 允许全步、半步、四分之一步、1/8 步、1/16 步、1/32 步、1/64 步、1/128步

 高效电机电流控制机构(ADMD:高级动态混合衰减)
 内置无电流检测电阻电路控制结构(ACDS:高级电流检测系统)
 高电压和电流(有关规格请参考绝对最大额定功率和工作范围)
 多故障检测功能(热关断(TSD)、过流保护(ISD)、上电复位(POR 故障检测(TSD / ISD / OPD)信号输出功能
 内置 VCC 调节器供内部电路使用
 通过外部电阻和电容可以调节电机的斩波频率。
 带有散热焊盘的小型封装
    TB5128:P-VQFN48-0707-0.50-004

详细文档可以网络搜索……  

                                                                                        ( 图1)

        本次测试目的,是Arduino UNOTB5128扩展板的基本操作。实现自动循环正反转,根据脉冲数量来控制电机转动的角度。每次填充的脉冲数量计数完毕,程序中会自动切换方向,然后再次填充同样数量的脉冲。程序中,细分和衰减都有相应的函数去设置,方便调用。脉冲是通过软件定时,取反IO实现。脉冲频率的调整,可以在宏(CLK_F)中修改对应的数值。注意,因为没有加减速,所以在低细分数时,频率不要太高了。一般转速在1/秒左右,基本可以正常转动。再快的就要看电机的高频特性、驱动电压和负载情况了。另外TB5128的报警输出和Mo的端口还没在程序中实现检测……

        图1中亮着的绿色的LED灯,是在电机转动时才会亮,电机停止转动时,会自动熄灭。TB5128的细分、衰减、ST、TQ这几个功能都是用74HC595去扩展IO控制的,每次需要改变其中任何一个功能设置时,都要调用hc595Write(data);这样才会刷新输出,改变各档功能的设置状态。在电机停止过程中,电机电流会自动调整为半流输出(通过调整TQ(TORQE)端实现,也可以改变VREF电压来实现自动调整锁相电流功能)。在参数更新后,脉冲准备输出前,会先恢复成设置的工作电流,然后会进入下一个循环。

拔码开关SW设置功能:(默认设置成全低)

  1. GAIN_SEL(放大比例选择,可以选择5或10,对应电流计算公式:IO=VREF / GAIN / RS采样电阻)
  2. EDG_SEL(触发边沿选择,CLK是上升沿触发或者选择双边沿触发)
  3. IF_SEL(设置控制模式,本测试中是CLK模式,就是脉冲和方向直接控制,另外还有串行控制模式,待续)

其它设置:图1标记有VREF字样处的插针(SEL4),是用来选择外部电阻分压生成VREF或者是UNO板输出PWM通过RC滤波生成VREF电压。 RS_SEL(板背面,用来设置采样模式)是通过短路焊点设置为外部采样模式。其它如: SEL2、SEL3都由UNO板控制。TE1(对应SEL1,设置TB5128的RESET)也是在板上短路为UNO控制。

        其中UNO5128.c文件完全与UNO5128.ino文件一样,复制成C文件格式,方便没有装Ardui

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值