打印
[STM32F0]

游名:Stm32F0+TMC5130 Arduino接口42/57步进电机驱动参考原理图/...

[复制链接]
7429|178
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 mmuuss586 于 2020-7-27 12:52 编辑

基于Stm32F0+TMC5130 Arduino接口42/57步进电机驱动参考原理图/PCB图/教程/源码等开源分享
资料下载见附件,电脑登入
公众号:游名开源


一、概述
TMC5130芯片是一款集成式步进电机驱动器和运动控制器(定位控制)解决方案,适用于医疗、3D打印机、云台或其它自动化设备对性能有较高的场合应用和静音控制。该芯片具有集成的SixPoint斜坡控制器,微步进分度器,无传感器失速检测技术StallGuard2和完全无噪声的电流控制模式StealthChop,旨在驱动双极步进电机。输出驱动器模块由低RDSon N沟道功率MOSFET组成,配置为全H桥,以驱动电机绕组。 TMC5130能够从每个输出驱动高达2.5A的电流(具有适当的散热)。TMC5130的供电电压为5-46V。 该器件提供SPI接口,用于配置和诊断以及步进和方向接口。
参数及特点:
2A电流(2.5A峰值),电压范围4.75-46VDC,9x9mm2 TQFP48封装
具有sixPoint斜坡的运动控制器
SPI和单线UART和Step / Dir接口,编码器接口和2x参考开关输入
每个完整步骤的最高分辨率256微步
stealthChop用于极其安静的操作和平稳的运动
spreadCycle高动态电机控制斩波器
dcStep负载相关的速度控制
stallGuard2高精度无传感器电机负载检测
coolStep电流控制,节能高达75%
集成电流检测选项,被动制动和续流模式,全面保护和诊断


TMC5130 SPI POSITION.rar

7.83 MB

TMC5130 SPI SPEED.rar

7.83 MB

TMC5130_datasheet_Rev1.16.pdf

2.41 MB

TMC5130-Shield原理图.pdf

673.85 KB

基于Stm32F0+TMC5130 Arduino接口42或57步进电机驱动参考原理图PCB图教程源码等开源分.pdf

1.08 MB

TMC5130 DIR STEP.rar

7.5 MB

游名科技产品目录(2020-7-21).pdf

1.05 MB

使用特权

评论回复
沙发
mmuuss586|  楼主 | 2020-3-26 17:22 | 只看该作者
二、硬件设计
硬件设计接口上:支持SPI或UART或脉冲+方向控制
原理图如下图所示:


使用特权

评论回复
板凳
mmuuss586|  楼主 | 2020-3-26 17:24 | 只看该作者
主芯片部分:


使用特权

评论回复
地板
mmuuss586|  楼主 | 2020-3-26 17:24 | 只看该作者
补充说明:
SPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式
VCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;

使用特权

评论回复
5
mmuuss586|  楼主 | 2020-3-26 17:25 | 只看该作者
电源及接电机接口部分如下图:


使用特权

评论回复
6
mmuuss586|  楼主 | 2020-3-26 17:26 | 只看该作者
补充说明:
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);
电源保护:有条件的最好加防反接、TVS保护、以及保险丝等

使用特权

评论回复
7
mmuuss586|  楼主 | 2020-3-26 17:28 | 只看该作者
电机接口:如果对EMC要求较高的,最好加些滤波和保护,参考电路如下图


使用特权

评论回复
8
mmuuss586|  楼主 | 2020-3-26 17:29 | 只看该作者
PCB图参考如下(最好是4层板):


使用特权

评论回复
9
mmuuss586|  楼主 | 2020-3-26 17:31 | 只看该作者
补充说明:
芯片底部最好不要走其它线,保证地平面完整及散热;
电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);

使用特权

评论回复
10
mmuuss586|  楼主 | 2020-3-26 17:31 | 只看该作者
三、软件说明
1、SPI接口速度模式
芯片引脚跳线连接:
SPI_MODE:接高电平(VCC_IO)
SD_MODE: 接低电平(GND)
J7:短接
CSN:PB6
SCK:PA5
SDI:MOSI-PA7
SDO:MISO-PA6

使用特权

评论回复
11
mmuuss586|  楼主 | 2020-3-26 17:31 | 只看该作者
初始化程序如下参考:
//TMC5130 SET       
        sendData(0xEC,0x000100C3);                                
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)
        sendData(0x90,0x00011601);                                
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=1
        sendData(0x91,0x0000000A);                               
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
        sendData(0x80,0x00000004);                               
//PAGE27:EN_PWM_MODE=1,使能
        sendData(0x93,0x000001F4);                               
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
        sendData(0xF0,0x000401C8);                               
//PAGE43:PWMCONF         
          sendData(0xA4,1000);                                            
//A1=1000第一阶段加速度
        sendData(0xA5,50000);                                    
//V1=50000加速度阀值速度V1
        sendData(0xA6,5000);                                            
//AMAX=5000大于V1的加速度        
        sendData(0xA7,200000);                                    
//VMAX=200000
        sendData(0xA8,700);                                                               
//DMAX=700大于V1的减速度
        sendData(0xAA,1400);                                            
//D1=1400小于V1的减速度
        sendData(0xAB,10);                                                    
//VSTOP=10停止速度,接近于0

使用特权

评论回复
12
mmuuss586|  楼主 | 2020-3-26 17:32 | 只看该作者
2、SPI接口位置控制模式
芯片引脚跳线连接:
SPI_MODE:接高电平(VCC_IO)
SD_MODE: 接低电平(GND)
J7:短接
CSN:PB6
SCK:PA5
SDI:MOSI-PA7
SDO:MISO-PA6

使用特权

评论回复
13
mmuuss586|  楼主 | 2020-3-26 17:32 | 只看该作者
初始化程序如下参考:
//        TMC5130 SET       
        sendData(0xEC,0x000100C3);                                
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)
        sendData(0x90,0x0006160A);                                
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=6
        sendData(0x91,0x0000000A);                               
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
        sendData(0x80,0x00000004);                               
//PAGE27:EN_PWM_MODE=1,使能
        sendData(0x93,0x000001F4);                               
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
        sendData(0xF0,0x000401C8);                               
//PAGE43:PWMCONF       
///////////////////////////////////////////////////////////
          sendData(0xA4,1000);                                            
//A1=1000第一阶段加速度
        sendData(0xA5,50000);                                    
//V1=50000加速度阀值速度V  
        sendData(0xA6,5000);                                            
//AMAX=5000大于V1的加速度   
        sendData(0xA7,200000);                                    
//VMAX=200000
        sendData(0xA8,700);                                                               
//DMAX=700大于V1的减速度
        sendData(0xAA,1400);                                            
//D1=1400小于V1的减速度
        sendData(0xAB,10);                                                    
//VSTOP=10停止速度,接近于0
        sendData(0xA0,0x00000000);                                
//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数       

使用特权

评论回复
14
mmuuss586|  楼主 | 2020-3-26 17:32 | 只看该作者
3、DIR+STEP接口模式位置控制(无需SPI接口)
芯片引脚跳线连接:
SPI_MODE:接低电平(GND)
SD_MODE:接高电平(VCC_IO)
STEP:REFL-PB4,J2:短接
DIR: REFR-PB5,J5:短接
CFG6:DRV_ENN-PC5,通过杜邦线接到底板PC5脚
CFG5:ENCA-PC8,通过杜邦线接到底板PC8脚
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚
CFG3:CSN-PB6 ,J7:短接
CFG2: SCK-PA5
CFG1: MOSI-PA7
CFG0: MISO-PA6

使用特权

评论回复
15
mmuuss586|  楼主 | 2020-3-26 17:33 | 只看该作者
初始化程序如下参考:
        HAL_GPIO_WritePin(CFG0_GPIO_Port,CFG0_Pin, GPIO_PIN_SET);                        //PAGE:110 CFG0设置为高,TOOF:236Tclk
        SubdivisionSet(16);                //PAGE:111 细分设置为16
        ISet();                                        //电流设置:PAGE:111
        HAL_GPIO_WritePin(CFG4_GPIO_Port,CFG4_Pin, GPIO_PIN_SET);                        //PAGE:111 CFG4设置为高,chopper hysteresis斩波器滞后 设置为9
        HAL_GPIO_WritePin(CFG5_GPIO_Port,CFG5_Pin, GPIO_PIN_SET);               
//PAGE:111 CFG5设置为低,chopper blank time斩波器切换期间间隔时间设置为24
        HAL_GPIO_WritePin(CFG6_GPIO_Port,CFG6_Pin, GPIO_PIN_RESET);
//PAGE:112 CFG6设置为低电机驱动使能,为高关闭
        HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET);                        //STEP设置为高

使用特权

评论回复
16
mmuuss586|  楼主 | 2020-3-26 17:33 | 只看该作者
4、UART模式
芯片引脚跳线连接:
SPI_MODE:接低电平(GND)
SD_MODE:接低电平(GND)
参考数据手册,通过MCU的UART接口发命令即可,类似SPI接口操作;

使用特权

评论回复
17
mmuuss586|  楼主 | 2020-3-26 17:34 | 只看该作者
四、补充说明
1、上电顺序
   电机驱动板(驱动芯片)先上电,底板控制板后上电;
2、电机
   最好用42小电机测试,用86或57电机测试,会有丢不现象。

使用特权

评论回复
18
mmuuss586|  楼主 | 2020-3-26 17:44 | 只看该作者

使用特权

评论回复
19
mmuuss586|  楼主 | 2020-3-26 17:50 | 只看该作者

使用特权

评论回复
20
00750| | 2020-3-27 09:03 | 只看该作者
mark一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:欢迎进入21IC论坛 游名科技:提供直流无刷电机驱动整体解决方案

696

主题

32677

帖子

441

粉丝