
基于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% 集成电流检测选项,被动制动和续流模式,全面保护和诊断 ![]() |
åºäºStm32F0+TMC5130 Arduinoæ¥å£42æ57æ¥è¿çµæºé©±å¨åèåçå¾PCBå¾æç¨æºç ç弿ºå.pdf
下载1.08 MB, 下载次数: 152
TMC5130-Shieldåçå¾.pdf
下载673.85 KB, 下载次数: 44
TMC5130_datasheet_Rev1.16.pdf
下载2.41 MB, 下载次数: 41
TMC5130 SPI SPEED.rar
下载7.83 MB, 下载次数: 64
TMC5130 SPI POSITION.rar
下载7.83 MB, 下载次数: 66
TMC5130 DIR STEP.rar
下载7.5 MB, 下载次数: 70
游åç§æäº§åç®å½ï¼2020-7-21ï¼.pdf
下载1.05 MB, 下载次数: 26
// TMC5130 SET 9 t- B3 e! N: s' e6 z X" r# S
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 8 }7 W0 w. c. B2 F B! S1 s! z
sendData(0x91,0x0000000A);
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
sendData(0x80,0x00000004);
//PAGE27:EN_PWM_MODE=1,使能* w$ V/ q- \. h6 N: Z' n( i9 R. C
sendData(0x93,0x000001F4);
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM+ ?( J" o+ w& X
sendData(0xF0,0x000401C8);
//PAGE43
///////////////////////////////////////////////////////////
sendData(0xA4,1000);
//A1=1000第一阶段加速度1 g; D: n$ F! F- Z( C- a
sendData(0xA5,50000); 1 v, `! U7 p1 L% i4 t& x n
//V1=50000加速度阀值速度V
sendData(0xA6,5000); & n7 {8 e5 q4 n2 U
//AMAX=5000大于V1的加速度 6 L( e* L) g) t, u! d
sendData(0xA7,200000);
//VMAX=200000
sendData(0xA8,700); % S0 h% ^; A. c8 J; @! ^
//DMAX=700大于V1的减速度
sendData(0xAA,1400);
//D1=1400小于V1的减速度
sendData(0xAB,10); O1 R c; ?: H8 F3 @( x
//VSTOP=10停止速度,接近于0
sendData(0xA0,0x00000000); ( o) \& ]: h* u0 I$ h2 V1 E: P
//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数 $ z$ N" e- W1 l- M S+ N! [6 y
//TMC5130 SET
sendData(0xEC,0x000100C3);
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)# o% }! a8 @9 w( w. F
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' b; B+ o# J1 j5 G3 Y4 O3 \5 l
sendData(0xF0,0x000401C8);
//PAGE43
sendData(0xA4,1000); 4 d2 B+ \' C! {% A1 W
//A1=1000第一阶段加速度
sendData(0xA5,50000); 4 f. L9 R5 C+ E# d) H& K1 P: ]
//V1=50000加速度阀值速度V1: W" R0 g# u! X. }. h
sendData(0xA6,5000);
//AMAX=5000大于V1的加速度 2 m$ n! ^* h' }+ l& q! R
sendData(0xA7,200000); - D- ], v3 q: z+ Y# v2 ^
//VMAX=200000
sendData(0xA8,700); ' [% m; Y# f# m4 k/ T5 T: z" c
//DMAX=700大于V1的减速度
sendData(0xAA,1400); : }/ z0 Q! Q) F, G, z5 c/ X
//D1=1400小于V1的减速度
sendData(0xAB,10);
//VSTOP=10停止速度,接近于0& p4 z3 @; m; Y" b2 S
/ U; C% f- G, V; Q
) X/ _" O9 X! E. V+ B5 a) J
SPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式
VCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;" T# l; `! s- i" {# y
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);
电源保护:有条件的最好加防反接、TVS保护、以及保险丝等
芯片底部最好不要走其它线,保证地平面完整及散热;% l7 x+ e o' l( G
电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);
1、SPI接口速度模式5 S: M4 B. ^( i9 h1 G( }
芯片引脚跳线连接:4 H# V4 \3 r" Z5 D; a- H- ?
SPI_MODE:接高电平(VCC_IO)
SD_MODE: 接低电平(GND)
J7:短接
CSN
SCK
SDI:MOSI-PA7
SDO:MISO-PA6
芯片引脚跳线连接:" ^7 ^% |$ z0 _
SPI_MODE:接高电平(VCC_IO)6 C1 W4 ~2 S4 r' r6 {7 R
SD_MODE: 接低电平(GND)
J7:短接
CSN
SCK
SDI:MOSI-PA7% Z9 g2 x; G ~( b. V$ [
SDO:MISO-PA6
芯片引脚跳线连接:
SPI_MODE:接低电平(GND). _) N+ n! G' A0 e9 U9 D8 N
SD_MODE:接高电平(VCC_IO)' ]5 E5 Y% z/ w3 E. K8 D$ }
STEP:REFL-PB4,J2:短接
DIR: REFR-PB5,J5:短接
CFG6
CFG5:ENCA-PC8,通过杜邦线接到底板PC8脚
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚5 j5 r0 W+ M8 d3 U
CFG3:CSN-PB6 ,J7:短接4 S3 U0 z, g) j9 h$ H: L$ |0 \
CFG2: SCK-PA57 L0 y' K( P6 F
CFG1: MOSI-PA7- g5 i5 }8 V# K+ n' ?; u
CFG0: MISO-PA6; g- h" P2 c( G0 k( t
HAL_GPIO_WritePin(CFG0_GPIO_Port,CFG0_Pin, GPIO_PIN_SET); //PAGE:110 CFG0设置为高,TOOF:236Tclk
SubdivisionSet(16); //PAGE:111 细分设置为16
ISet(); //电流设置
HAL_GPIO_WritePin(CFG4_GPIO_Port,CFG4_Pin, GPIO_PIN_SET); //PAGE:111 CFG4设置为高,chopper hysteresis斩波器滞后 设置为9 f+ G8 y" |4 Y
HAL_GPIO_WritePin(CFG5_GPIO_Port,CFG5_Pin, GPIO_PIN_SET); " q# m9 R% F4 Q9 h
//PAGE:111 CFG5设置为低,chopper blank time斩波器切换期间间隔时间设置为24' P9 t% L6 A8 L4 C7 Y. {
HAL_GPIO_WritePin(CFG6_GPIO_Port,CFG6_Pin, GPIO_PIN_RESET);
//PAGE:112 CFG6设置为低电机驱动使能,为高关闭" [) Q# B2 S: p4 ?% x7 c
HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET); //STEP设置为高/ j, ~% Y5 B0 T5 q) I2 \- y