
基于Stm32F0+TMC5130 Arduino接口42/57步进电机驱动参考原理图/PCB图/教程/源码等开源分享 资料下载见附件,电脑登入 公众号:游名开源 ![]() ![]() ![]() 一、概述 TMC5130芯片是一款集成式步进电机驱动器和运动控制器(定位控制)解决方案,适用于医疗、3D打印机、云台或其它自动化设备对性能有较高的场合应用和静音控制。该芯片具有集成的SixPoint斜坡控制器,微步进分度器,无传感器失速检测技术StallGuard2和完全无噪声的电流控制模式StealthChop,旨在驱动双极步进电机。输出驱动器模块由低RDSon N沟道功率MOSFET组成,配置为全H桥,以驱动电机绕组。 TMC5130能够从每个输出驱动高达2.5A的电流(具有适当的散热)。TMC5130的供电电压为5-46V。 该器件提供SPI接口,用于配置和诊断以及步进和方向接口。 & e; R6 Q7 G" G: s9 O参数及特点: 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, 下载次数: 150
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
sendData(0xEC,0x000100C3); # k" `4 j& k2 i5 L1 D9 j: b" H
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)' }& M2 ^$ h, T: { D2 i6 U
sendData(0x90,0x0006160A);
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=6
sendData(0x91,0x0000000A);
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时% t/ P: n% V8 C
sendData(0x80,0x00000004);
//PAGE27:EN_PWM_MODE=1,使能
sendData(0x93,0x000001F4); ( a( n7 L5 }7 N3 Y% n
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM5 S2 ` y9 e) G4 v" P
sendData(0xF0,0x000401C8);
//PAGE43
///////////////////////////////////////////////////////////7 Y+ G9 E! w* @9 ]4 c
sendData(0xA4,1000);
//A1=1000第一阶段加速度
sendData(0xA5,50000);
//V1=50000加速度阀值速度V 4 G5 l1 W. }2 B& W; s! X9 c
sendData(0xA6,5000);
//AMAX=5000大于V1的加速度 - l; L. s y. O5 b3 U. D
sendData(0xA7,200000);
//VMAX=200000 4 X" Z/ ~8 {# v6 p1 p% \
sendData(0xA8,700); * u7 w3 c: I) V
//DMAX=700大于V1的减速度
sendData(0xAA,1400);
//D1=1400小于V1的减速度
sendData(0xAB,10);
//VSTOP=10停止速度,接近于0
sendData(0xA0,0x00000000);
//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数
//TMC5130 SET
sendData(0xEC,0x000100C3);
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)5 j0 H% _! ]6 g( m, O# f0 h
sendData(0x90,0x00011601);
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=1
sendData(0x91,0x0000000A);
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
sendData(0x80,0x00000004); ' Z F u5 D3 q& ?8 N
//PAGE27:EN_PWM_MODE=1,使能$ ?7 _1 ?1 V \% i- w5 p7 b
sendData(0x93,0x000001F4);
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM9 ?( O! I4 ]& d0 G( y4 M
sendData(0xF0,0x000401C8); - l, w. ]& b0 l- T
//PAGE43
sendData(0xA4,1000);
//A1=1000第一阶段加速度; E1 }* O+ h. }
sendData(0xA5,50000);
//V1=50000加速度阀值速度V1
sendData(0xA6,5000);
//AMAX=5000大于V1的加速度 2 d9 u2 G/ H' i& A
sendData(0xA7,200000); * ?; S" Z1 p2 h! n
//VMAX=200000 ) h5 ]5 S( b# E# V. l w5 C* s6 M; Y% {
sendData(0xA8,700); 4 V- t8 T' H+ k H2 r& u7 e
//DMAX=700大于V1的减速度 2 `" X5 R i2 f7 O
sendData(0xAA,1400);
//D1=1400小于V1的减速度 8 I4 [/ u9 J6 V0 C
sendData(0xAB,10); : _; Q m, c. _8 V7 e! k
//VSTOP=10停止速度,接近于09 ~, L! A# d& @# j+ ]3 b0 O4 ?
$ G D! K& Q3 @8 o8 \% s
SPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式
VCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);: `$ _7 M$ y! v0 F) ]
电源保护:有条件的最好加防反接、TVS保护、以及保险丝等- M3 o9 P v1 C$ x& g; M' y
芯片底部最好不要走其它线,保证地平面完整及散热;
电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);
1、SPI接口速度模式! x. j& u6 _, \6 @$ v
芯片引脚跳线连接:
SPI_MODE:接高电平(VCC_IO)
SD_MODE: 接低电平(GND)
J7:短接* y+ K! P; C! @) d" X$ ?! X! D
CSN
SCK
SDI:MOSI-PA70 G9 m% m5 ^1 n5 n( X# @ H; f. ^
SDO:MISO-PA6
芯片引脚跳线连接:
SPI_MODE:接高电平(VCC_IO)9 z2 v6 J* S- X- L5 W( V' y, W
SD_MODE: 接低电平(GND)$ \9 `3 v8 `) [7 B
J7:短接& G$ W1 f C2 e+ C' \9 V
CSN
SCK
SDI:MOSI-PA7
SDO:MISO-PA6, \! H3 w2 K" Q2 x7 ^" ]
芯片引脚跳线连接:6 ~8 g3 I( ~6 ]5 P
SPI_MODE:接低电平(GND)
SD_MODE:接高电平(VCC_IO); r; O* M) C( i" |6 ~8 a
STEP:REFL-PB4,J2:短接7 [: b" r% @7 s) A3 A
DIR: REFR-PB5,J5:短接
CFG6
CFG5:ENCA-PC8,通过杜邦线接到底板PC8脚* G% E- h8 [4 F6 M; D+ T
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚6 a% L" P' `1 J- w+ H" i1 Y5 {
CFG3:CSN-PB6 ,J7:短接
CFG2: SCK-PA5% [7 _) Q- p& }$ N: W8 m) k& t/ o9 v
CFG1: MOSI-PA71 {6 k3 S8 j) O O$ Q
CFG0: MISO-PA6% O" Z! s" g7 ~; s2 g& ?- f
HAL_GPIO_WritePin(CFG0_GPIO_Port,CFG0_Pin, GPIO_PIN_SET); //PAGE:110 CFG0设置为高,TOOF:236Tclk1 s C* v7 ?! _9 r1 l. o4 C/ W
SubdivisionSet(16); //PAGE:111 细分设置为16
ISet(); //电流设置
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斩波器切换期间间隔时间设置为240 t6 H9 B! l% X! a8 |6 n1 n. j. o
HAL_GPIO_WritePin(CFG6_GPIO_Port,CFG6_Pin, GPIO_PIN_RESET);. N. x, W# _ I- U8 L- @0 d% x& Z2 I
//PAGE:112 CFG6设置为低电机驱动使能,为高关闭" E+ ~( e2 H" }6 R8 B) g3 v
HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET); //STEP设置为高