|
基于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, 下载次数: 164
TMC5130-Shieldåçå¾.pdf
下载673.85 KB, 下载次数: 57
TMC5130_datasheet_Rev1.16.pdf
下载2.41 MB, 下载次数: 49
TMC5130 SPI SPEED.rar
下载7.83 MB, 下载次数: 74
TMC5130 SPI POSITION.rar
下载7.83 MB, 下载次数: 76
TMC5130 DIR STEP.rar
下载7.5 MB, 下载次数: 79
游åç§æäº§åç®å½ï¼2020-7-21ï¼.pdf
下载1.05 MB, 下载次数: 36
微信公众号
手机版
// TMC5130 SET 3 B) I, k! z, c- Z4 H E
sendData(0xEC,0x000100C3); * l* e; u# G; d) q J( M, S F
//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 w7 M$ ^ l% O" |6 \6 Y
sendData(0x91,0x0000000A); 4 L1 [% X7 g* p; u
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
sendData(0x80,0x00000004); & J7 h8 `* r9 P) ~
//PAGE27:EN_PWM_MODE=1,使能. p- l3 M6 o2 `. q* e( B9 q7 L/ S1 M
sendData(0x93,0x000001F4); : W7 C: C' Q4 E; D
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
sendData(0xF0,0x000401C8); ) e) K6 I9 p& M. f* z
//PAGE43
///////////////////////////////////////////////////////////) o0 T* H1 ~" v* T, u& H0 i
sendData(0xA4,1000);
//A1=1000第一阶段加速度2 p6 G1 J+ G7 Y9 j2 ?
sendData(0xA5,50000); % A n. R( C8 Z
//V1=50000加速度阀值速度V
sendData(0xA6,5000); ; R/ n9 y) S2 V& T0 B
//AMAX=5000大于V1的加速度
sendData(0xA7,200000); a; Q! S/ V$ s8 E3 T
//VMAX=200000 . j0 r, ]8 n/ W ]* e& q- D' }8 L
sendData(0xA8,700); , u! V( t( n; E9 ?, g4 i
//DMAX=700大于V1的减速度
sendData(0xAA,1400);
//D1=1400小于V1的减速度
sendData(0xAB,10); ( v3 O- H; Q0 s( U: a- z
//VSTOP=10停止速度,接近于0( B6 i6 V5 \+ q# _- r; V
sendData(0xA0,0x00000000);
//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数
//TMC5130 SET
sendData(0xEC,0x000100C3); : X) u5 Z8 v2 P W* i$ J/ |
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)* F% v, ?# m9 i
sendData(0x90,0x00011601);
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=1
sendData(0x91,0x0000000A); 6 N) n0 w+ Y6 Z
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时# F+ E" ?, P& O' O$ ?9 |8 H
sendData(0x80,0x00000004);
//PAGE27:EN_PWM_MODE=1,使能
sendData(0x93,0x000001F4); 7 [: h& F" E' u
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
sendData(0xF0,0x000401C8);
//PAGE43
sendData(0xA4,1000);
//A1=1000第一阶段加速度! _- b% B1 s( M G2 [/ k
sendData(0xA5,50000); ) H9 ~! _. N' Q9 [
//V1=50000加速度阀值速度V1) W' e+ r6 P9 B! ?+ Y2 i
sendData(0xA6,5000); " P s3 x5 {- B1 ^3 m H( |
//AMAX=5000大于V1的加速度 + A$ q7 s/ y6 m* H
sendData(0xA7,200000);
//VMAX=200000
sendData(0xA8,700); : Y' k$ {: L! Z# N
//DMAX=700大于V1的减速度 ) ~# O* Y2 K; b1 ]
sendData(0xAA,1400);
//D1=1400小于V1的减速度
sendData(0xAB,10);
//VSTOP=10停止速度,接近于0
6 h% y& m1 _: S2 n: I9 G( ]; u$ N9 h
SPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式4 u0 _9 N. }5 Q" N2 I5 X
VCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);# u/ B" i8 g1 b/ R) ~* g
电源保护:有条件的最好加防反接、TVS保护、以及保险丝等# S- ]) V- l5 w, {" f9 W+ @
芯片底部最好不要走其它线,保证地平面完整及散热;+ t) {3 O. Z$ g' k
电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);, Z; b% J6 ~: ^' m9 r" N
1、SPI接口速度模式
芯片引脚跳线连接:
SPI_MODE:接高电平(VCC_IO)" e( }/ M& j! U) w2 U0 c- i8 B
SD_MODE: 接低电平(GND)1 v! z/ H h7 i, N2 M2 z* D
J7:短接
CSN
SCK
SDI:MOSI-PA7" `2 Y! P1 p2 q# {" [$ z
SDO:MISO-PA6$ c( R3 _( \( G; g$ _
芯片引脚跳线连接:0 F7 H$ X! S% }) K
SPI_MODE:接高电平(VCC_IO)4 X) R; N' |$ S2 t
SD_MODE: 接低电平(GND): A8 b+ H" ?2 P; H: c: u' J, ^
J7:短接& e/ r2 [4 n+ Q4 ]
CSN
SCK
SDI:MOSI-PA70 @8 d+ w4 B1 r e1 T1 Z
SDO:MISO-PA6
芯片引脚跳线连接:
SPI_MODE:接低电平(GND)
SD_MODE:接高电平(VCC_IO)2 t8 V+ j9 w0 s8 U$ q
STEP:REFL-PB4,J2:短接
DIR: REFR-PB5,J5:短接* Z, ?8 \' }, J9 F1 u8 `8 P/ G
CFG6
CFG5:ENCA-PC8,通过杜邦线接到底板PC8脚
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚
CFG3:CSN-PB6 ,J7:短接
CFG2: SCK-PA5
CFG1: MOSI-PA7( H" q$ O* L Z7 _- h
CFG0: MISO-PA6
HAL_GPIO_WritePin(CFG0_GPIO_Port,CFG0_Pin, GPIO_PIN_SET); //PAGE:110 CFG0设置为高,TOOF:236Tclk/ [9 T" ~4 C- I$ y6 L. K- H8 ^
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斩波器切换期间间隔时间设置为24 w: S; j# q( L3 a0 }/ J
HAL_GPIO_WritePin(CFG6_GPIO_Port,CFG6_Pin, GPIO_PIN_RESET);
//PAGE:112 CFG6设置为低电机驱动使能,为高关闭: B& R+ t+ c- d
HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET); //STEP设置为高