
基于Stm32F0+TMC5130 Arduino接口42/57步进电机驱动参考原理图/PCB图/教程/源码等开源分享 资料下载见附件,电脑登入 公众号:游名开源 ![]() ![]() ![]() 一、概述 TMC5130芯片是一款集成式步进电机驱动器和运动控制器(定位控制)解决方案,适用于医疗、3D打印机、云台或其它自动化设备对性能有较高的场合应用和静音控制。该芯片具有集成的SixPoint斜坡控制器,微步进分度器,无传感器失速检测技术StallGuard2和完全无噪声的电流控制模式StealthChop,旨在驱动双极步进电机。输出驱动器模块由低RDSon N沟道功率MOSFET组成,配置为全H桥,以驱动电机绕组。 TMC5130能够从每个输出驱动高达2.5A的电流(具有适当的散热)。TMC5130的供电电压为5-46V。 该器件提供SPI接口,用于配置和诊断以及步进和方向接口。 ! c; i" R3 X2 [! ^/ L- Q' 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 ; m. q% _; `0 I4 B) ^+ j
sendData(0xEC,0x000100C3); ) R5 d! D" _! R& {. O
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)* d/ ?, Z0 q' X6 i
sendData(0x90,0x0006160A); / p1 q; ^, a# g# R' ^( Y% Y
//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); 7 Z4 X+ j9 ?+ m: w. p
//PAGE43
///////////////////////////////////////////////////////////2 X4 X& Y% T2 x1 `3 D, P
sendData(0xA4,1000);
//A1=1000第一阶段加速度" L9 {/ Q& Z4 [& X8 i
sendData(0xA5,50000);
//V1=50000加速度阀值速度V
sendData(0xA6,5000);
//AMAX=5000大于V1的加速度
sendData(0xA7,200000);
//VMAX=200000 $ X+ q" d9 Z0 o! @# w1 N
sendData(0xA8,700);
//DMAX=700大于V1的减速度
sendData(0xAA,1400);
//D1=1400小于V1的减速度 9 j( |) W0 {# X2 V. m7 P# T3 g
sendData(0xAB,10);
//VSTOP=10停止速度,接近于0( u# S6 Y5 _0 C+ m. o' T& d
sendData(0xA0,0x00000000); . h: ]/ ^, A3 l, V; w
//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数 0 Z) |0 C3 [3 P* Y# M& z
//TMC5130 SET
sendData(0xEC,0x000100C3); 0 C7 o: ?9 R. y) K: y: m9 M/ b
//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 4 c @7 F- M; y& y
sendData(0x91,0x0000000A);
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时3 w8 T* ?# }, |1 ]6 j9 ~: n
sendData(0x80,0x00000004); ! V4 S" z0 ~! `1 ^. ?. w
//PAGE27:EN_PWM_MODE=1,使能
sendData(0x93,0x000001F4); ) |, V1 @; h7 o- Y8 ~
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
sendData(0xF0,0x000401C8); ; R2 f0 U J, m7 Q; V
//PAGE43
sendData(0xA4,1000); 0 y. p6 s( S2 H* S6 S$ N. c
//A1=1000第一阶段加速度+ e. J* v w2 w7 x$ M& a& B2 V L
sendData(0xA5,50000); " M1 C* w+ E: D( X( z) f
//V1=50000加速度阀值速度V11 ^8 o+ j4 {6 T$ s9 U7 d- c: E! u
sendData(0xA6,5000);
//AMAX=5000大于V1的加速度 2 L6 s( H# w! S9 T' G
sendData(0xA7,200000); 3 u* A1 [1 f3 O
//VMAX=200000
sendData(0xA8,700); 8 d4 R4 ]9 i* d8 u
//DMAX=700大于V1的减速度 7 q4 e6 {) n& r4 Y% k9 ^+ K1 c+ e
sendData(0xAA,1400);
//D1=1400小于V1的减速度 - u& w% \, H4 k: W% @
sendData(0xAB,10);
//VSTOP=10停止速度,接近于0
; L" ~5 x/ v- ^2 M) w
SPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式7 F! p7 ?" K% T
VCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);
电源保护:有条件的最好加防反接、TVS保护、以及保险丝等
芯片底部最好不要走其它线,保证地平面完整及散热;
电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);) x, L! _" e9 Y. s. b; _( O' Q" j) \
1、SPI接口速度模式* {1 d; t( P, C- s0 f9 S. d
芯片引脚跳线连接:: j: x2 o, B, o9 L. m* R. g4 Q( n
SPI_MODE:接高电平(VCC_IO)1 e* {0 ]+ R, z' |9 W3 i7 a% L% n) k
SD_MODE: 接低电平(GND)/ y1 C' B: T5 J) G- y7 [* G
J7:短接
CSN
SCK
SDI:MOSI-PA71 `3 o& L4 V- p3 Y7 N" Y
SDO:MISO-PA62 L* |5 l4 V3 {+ \3 C- f7 E: _/ Y3 m
芯片引脚跳线连接:/ s2 [6 Y+ v9 q; q* v) s
SPI_MODE:接高电平(VCC_IO)
SD_MODE: 接低电平(GND)1 W, ~1 M! A i4 l3 x
J7:短接 q+ p7 A. j# A( h& y- T/ b6 \. c
CSN
SCK
SDI:MOSI-PA7& J" a: ] h5 G4 ^: z
SDO:MISO-PA6
芯片引脚跳线连接:9 S1 @: w+ n8 h6 K9 s
SPI_MODE:接低电平(GND)( W }1 G W5 }: T/ u# h
SD_MODE:接高电平(VCC_IO)+ d* x0 p4 q9 M P4 y- z/ G
STEP:REFL-PB4,J2:短接
DIR: REFR-PB5,J5:短接3 F- C! J6 h6 U- W6 K& I
CFG6
CFG5:ENCA-PC8,通过杜邦线接到底板PC8脚' P- J. s5 P9 l7 a; i* [; C
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚+ z n* k: O7 d. x2 s c; p
CFG3:CSN-PB6 ,J7:短接
CFG2: SCK-PA5; w N, x, T, d8 [2 H# W0 ~
CFG1: MOSI-PA7
CFG0: MISO-PA6
HAL_GPIO_WritePin(CFG0_GPIO_Port,CFG0_Pin, GPIO_PIN_SET); //PAGE:110 CFG0设置为高,TOOF:236Tclk$ c0 \- f" y4 |; T
SubdivisionSet(16); //PAGE:111 细分设置为16* G7 K3 T& {/ V9 F0 g7 x: V
ISet(); //电流设置
HAL_GPIO_WritePin(CFG4_GPIO_Port,CFG4_Pin, GPIO_PIN_SET); //PAGE:111 CFG4设置为高,chopper hysteresis斩波器滞后 设置为9* ^" E, A. `2 l
HAL_GPIO_WritePin(CFG5_GPIO_Port,CFG5_Pin, GPIO_PIN_SET); 5 }3 s, o0 f8 j2 C! z6 N* y
//PAGE:111 CFG5设置为低,chopper blank time斩波器切换期间间隔时间设置为24
HAL_GPIO_WritePin(CFG6_GPIO_Port,CFG6_Pin, GPIO_PIN_RESET);' b0 ~% p& q' d/ A3 p0 O
//PAGE:112 CFG6设置为低电机驱动使能,为高关闭
HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET); //STEP设置为高