关于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 UNO与TB5128扩展板的基本操作。实现自动循环正反转,根据脉冲数量来控制电机转动的角度。每次填充的脉冲数量计数完毕,程序中会自动切换方向,然后再次填充同样数量的脉冲。程序中,细分和衰减都有相应的函数去设置,方便调用。脉冲是通过软件定时,取反IO实现。脉冲频率的调整,可以在宏(CLK_F)中修改对应的数值。注意,因为没有加减速,所以在低细分数时,频率不要太高了。一般转速在1转/秒左右,基本可以正常转动。再快的就要看电机的高频特性、驱动电压和负载情况了。另外TB5128的报警输出和Mo的端口还没在程序中实现检测……
图1中亮着的绿色的LED灯,是在电机转动时才会亮,电机停止转动时,会自动熄灭。TB5128的细分、衰减、ST、TQ这几个功能都是用74HC595去扩展IO控制的,每次需要改变其中任何一个功能设置时,都要调用hc595Write(data);这样才会刷新输出,改变各档功能的设置状态。在电机停止过程中,电机电流会自动调整为半流输出(通过调整TQ(TORQE)端实现,也可以改变VREF电压来实现自动调整锁相电流功能)。在参数更新后,脉冲准备输出前,会先恢复成设置的工作电流,然后会进入下一个循环。
拔码开关SW设置功能:(默认设置成全低)
- GAIN_SEL(放大比例选择,可以选择5或10,对应电流计算公式:IO=VREF / GAIN / RS采样电阻)
- EDG_SEL(触发边沿选择,CLK是上升沿触发或者选择双边沿触发)
- 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