基于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, 下载次数: 148
TMC5130-Shieldåçå¾.pdf
下载673.85 KB, 下载次数: 42
TMC5130_datasheet_Rev1.16.pdf
下载2.41 MB, 下载次数: 39
TMC5130 SPI SPEED.rar
下载7.83 MB, 下载次数: 62
TMC5130 SPI POSITION.rar
下载7.83 MB, 下载次数: 64
TMC5130 DIR STEP.rar
下载7.5 MB, 下载次数: 68
游åç§æ产åç®å½ï¼2020-7-21ï¼.pdf
下载1.05 MB, 下载次数: 24
// TMC5130 SET ' ?' X( T1 G0 c" `. Q
sendData(0xEC,0x000100C3); 6 u7 }1 l4 G# W3 |
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)
sendData(0x90,0x0006160A); % |, H2 D7 M; J' K
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=6 / r, A1 J6 `- W$ C
sendData(0x91,0x0000000A);
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时- s% h j T- o2 \5 v4 F8 N
sendData(0x80,0x00000004); , w, V o* E' ^- s P) M
//PAGE27:EN_PWM_MODE=1,使能
sendData(0x93,0x000001F4);
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
sendData(0xF0,0x000401C8); * I B' `; @. d. l9 A! N
//PAGE43WMCONF
///////////////////////////////////////////////////////////
sendData(0xA4,1000); " a9 i8 H& O2 i' s$ U
//A1=1000第一阶段加速度9 N. Z; h* U, L- v
sendData(0xA5,50000); . P" }. Y8 O' _/ G. Y1 K1 K
//V1=50000加速度阀值速度V ; r' |) s& j& p" o
sendData(0xA6,5000);
//AMAX=5000大于V1的加速度 / G* P- o5 A. Y
sendData(0xA7,200000);
//VMAX=200000
sendData(0xA8,700); 8 l0 Z) n, G0 v
//DMAX=700大于V1的减速度 % O* y+ p9 A; `
sendData(0xAA,1400); . B; q! ?2 k1 _
//D1=1400小于V1的减速度 : C% z" |9 l1 D0 U3 E# n; ^
sendData(0xAB,10);
//VSTOP=10停止速度,接近于0; I( w% i. g. k( l
sendData(0xA0,0x00000000);
//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数
//TMC5130 SET 4 D& T- i( I6 b
sendData(0xEC,0x000100C3);
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)
sendData(0x90,0x00011601); + C4 l& s9 D7 i& ?( s+ W, x2 a
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=1
sendData(0x91,0x0000000A); ! N5 l$ z+ `# R+ i# L0 {
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时# }6 @& K% V# [! e m
sendData(0x80,0x00000004);
//PAGE27:EN_PWM_MODE=1,使能( N0 \. r* M* n9 U- ]4 b! ~
sendData(0x93,0x000001F4);
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM7 D1 }$ U& Y) E. U
sendData(0xF0,0x000401C8);
//PAGE43WMCONF
sendData(0xA4,1000); 7 k; J* U: T: |! H( n# {, V2 ]; B3 h
//A1=1000第一阶段加速度
sendData(0xA5,50000); ) P3 h6 F2 s i, K. F
//V1=50000加速度阀值速度V1, z# {+ x. w7 g: T* ] s
sendData(0xA6,5000); r& W/ [3 b2 Z% E
//AMAX=5000大于V1的加速度
sendData(0xA7,200000);
//VMAX=200000
sendData(0xA8,700); - g$ x$ C4 f# ?( Y/ b- s" j; e
//DMAX=700大于V1的减速度
sendData(0xAA,1400);
//D1=1400小于V1的减速度
sendData(0xAB,10);
//VSTOP=10停止速度,接近于0
& F. \8 ^% c8 M
; X8 B/ n8 t& j8 a' ]9 s+ l
SPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式: R* \5 w' K. u- `
VCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;7 J" c& e+ l' P7 d
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);
电源保护:有条件的最好加防反接、TVS保护、以及保险丝等
芯片底部最好不要走其它线,保证地平面完整及散热;
电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);
1、SPI接口速度模式
芯片引脚跳线连接:
SPI_MODE:接高电平(VCC_IO)8 s$ y3 x& {& [* P( _5 H
SD_MODE: 接低电平(GND)- w, t8 X. y& z/ {- f3 n
J7:短接" M& N6 g4 m; y" x/ y. Y
CSNB6
SCKA5( [4 W; y) g2 D& `( A8 C
SDI:MOSI-PA7
SDO:MISO-PA6
芯片引脚跳线连接:6 K, H! X& I( D1 q* p; P
SPI_MODE:接高电平(VCC_IO)
SD_MODE: 接低电平(GND)$ u, y) z& a3 j! ^$ Z/ P
J7:短接, a7 Z8 a5 P7 T
CSNB6
SCKA57 k3 o8 k& R/ K$ z9 q y
SDI:MOSI-PA7
SDO:MISO-PA6: \6 _0 g; c8 G' ]0 x- `6 W
芯片引脚跳线连接:
SPI_MODE:接低电平(GND)# D' b2 {3 g0 _& H- |* U
SD_MODE:接高电平(VCC_IO)
STEP:REFL-PB4,J2:短接% r4 ? j4 l* s$ a) G, e
DIR: REFR-PB5,J5:短接
CFG6RV_ENN-PC5,通过杜邦线接到底板PC5脚. q! B" E; L: b$ s1 d
CFG5:ENCA-PC8,通过杜邦线接到底板PC8脚: s9 K0 }6 F3 b: }6 q0 a8 u+ Z% I; s
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚) S" u8 J$ }( M( Y7 s( A" R
CFG3:CSN-PB6 ,J7:短接& c3 x5 Y4 m* m4 D: I" _. u
CFG2: SCK-PA5& ^& z" A! v- m
CFG1: MOSI-PA71 H, o4 }' r m! D6 w$ \
CFG0: MISO-PA6. ^2 _$ K- D; D) P$ t
HAL_GPIO_WritePin(CFG0_GPIO_Port,CFG0_Pin, GPIO_PIN_SET); //PAGE:110 CFG0设置为高,TOOF:236Tclk' [& ^) P/ R4 S0 ^+ J3 W! s
SubdivisionSet(16); //PAGE:111 细分设置为162 Y3 X! S9 @9 }
ISet(); //电流设置AGE: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);" V; G4 _3 A, R$ i
//PAGE:112 CFG6设置为低电机驱动使能,为高关闭$ Q e4 S& C+ h/ M
HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET); //STEP设置为高