|
基于Stm32F0+TMC5130 Arduino接口42/57步进电机驱动参考原理图/PCB图/教程/源码等开源分享 资料下载见附件,电脑登入 公众号:游名开源
一、概述 TMC5130芯片是一款集成式步进电机驱动器和运动控制器(定位控制)解决方案,适用于医疗、3D打印机、云台或其它自动化设备对性能有较高的场合应用和静音控制。该芯片具有集成的SixPoint斜坡控制器,微步进分度器,无传感器失速检测技术StallGuard2和完全无噪声的电流控制模式StealthChop,旨在驱动双极步进电机。输出驱动器模块由低RDSon N沟道功率MOSFET组成,配置为全H桥,以驱动电机绕组。 TMC5130能够从每个输出驱动高达2.5A的电流(具有适当的散热)。TMC5130的供电电压为5-46V。 该器件提供SPI接口,用于配置和诊断以及步进和方向接口。 1 f% ~9 z a; V6 @" f" A, g6 w参数及特点: 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
sendData(0xEC,0x000100C3); 4 E6 E: d0 `- f* `- H4 Z) f! l
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)
sendData(0x90,0x0006160A); " T, J$ z f8 L ^9 N% Z, P
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=6 + R; A; w0 n5 X* f1 i, ~% G
sendData(0x91,0x0000000A); % ^ ~) @+ k6 A. _# t/ M
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时' ~; h1 Z, i4 G2 e7 k- a, v+ |
sendData(0x80,0x00000004);
//PAGE27:EN_PWM_MODE=1,使能5 n4 s$ A9 T! b' ]& G/ A
sendData(0x93,0x000001F4); 2 V) ^* e# F W! V9 R
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
sendData(0xF0,0x000401C8);
//PAGE43
///////////////////////////////////////////////////////////
sendData(0xA4,1000); & Y3 x( V F) E" ^* H( P' C
//A1=1000第一阶段加速度
sendData(0xA5,50000);
//V1=50000加速度阀值速度V ! d1 y" e9 N8 j o$ F% ^& o: W
sendData(0xA6,5000);
//AMAX=5000大于V1的加速度 9 r3 U F1 T" l! }3 {8 a
sendData(0xA7,200000);
//VMAX=200000 1 N# i4 ?0 Q% k) y3 M7 L0 P
sendData(0xA8,700);
//DMAX=700大于V1的减速度
sendData(0xAA,1400); " y7 z( J3 D) s6 \4 M
//D1=1400小于V1的减速度
sendData(0xAB,10);
//VSTOP=10停止速度,接近于0 E) {; H6 v/ v5 e) _
sendData(0xA0,0x00000000);
//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数 6 O5 [* O( {% c4 G/ I6 _# D
//TMC5130 SET ) a) d- u4 ?# G- k8 h9 q3 F9 {+ ?3 c4 j
sendData(0xEC,0x000100C3); $ w( `5 J* N; @: @* I5 U$ ^# n
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)
sendData(0x90,0x00011601); 6 V5 }% M/ D# G5 ~6 v. o0 T
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=1
sendData(0x91,0x0000000A); 2 @( t% o" Y7 F1 _; z, g; V6 e* p1 U
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
sendData(0x80,0x00000004); - o, g0 Q0 Y$ F
//PAGE27:EN_PWM_MODE=1,使能
sendData(0x93,0x000001F4);
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
sendData(0xF0,0x000401C8);
//PAGE43
sendData(0xA4,1000); # K+ A( Z6 ]7 R# g
//A1=1000第一阶段加速度' K. [( o: K7 ~, S& y
sendData(0xA5,50000);
//V1=50000加速度阀值速度V1
sendData(0xA6,5000);
//AMAX=5000大于V1的加速度 5 ?% g/ P, @. B, e$ L3 V* N
sendData(0xA7,200000);
//VMAX=200000
sendData(0xA8,700);
//DMAX=700大于V1的减速度 8 Y6 l# I' D3 J8 V' t9 F {$ w( \
sendData(0xAA,1400);
//D1=1400小于V1的减速度
sendData(0xAB,10);
//VSTOP=10停止速度,接近于0+ k# Z9 B6 S) S( D$ [, Z g
' M* V% \. U( \9 U1 Y' V
SPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式4 h& q7 r" n5 {0 h
VCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);6 Y0 x& q0 C$ a; R$ Q
电源保护:有条件的最好加防反接、TVS保护、以及保险丝等" o% U: \& w1 H3 Z3 |# n
芯片底部最好不要走其它线,保证地平面完整及散热;
电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);
1、SPI接口速度模式
芯片引脚跳线连接:
SPI_MODE:接高电平(VCC_IO)8 b" U S6 y6 A, w
SD_MODE: 接低电平(GND)# T2 ^- {' k/ m2 }0 V7 o4 Y) ^# R
J7:短接1 l; f @1 s' K5 t. [. |
CSN
SCK
SDI:MOSI-PA7/ w3 P0 ~7 f5 M7 R Y! t
SDO:MISO-PA6
芯片引脚跳线连接:: w" i n: f9 ]+ _# b, P, O
SPI_MODE:接高电平(VCC_IO). _# E1 t! w2 Y
SD_MODE: 接低电平(GND)
J7:短接
CSN
SCK
SDI:MOSI-PA7
SDO:MISO-PA65 ~' x: i% G% u& n8 s$ e
芯片引脚跳线连接:0 I9 x' j: y5 v5 Z* o
SPI_MODE:接低电平(GND)
SD_MODE:接高电平(VCC_IO)
STEP:REFL-PB4,J2:短接) N( a* |6 j. c- x) i
DIR: REFR-PB5,J5:短接6 H6 M9 d# I" p* w0 Q# V( e6 b) r, w1 h
CFG6
CFG5:ENCA-PC8,通过杜邦线接到底板PC8脚
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚4 L, e" T) S, l! N' N
CFG3:CSN-PB6 ,J7:短接0 d# e! J( S$ g$ C
CFG2: SCK-PA5
CFG1: MOSI-PA72 F2 n! H# n* Q2 r- P: M& o
CFG0: MISO-PA6' p$ ]# V3 u( t; L$ N9 m" P
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" v1 k# J$ {4 z5 D* e
HAL_GPIO_WritePin(CFG5_GPIO_Port,CFG5_Pin, GPIO_PIN_SET); V# a) ?7 e; @
//PAGE:111 CFG5设置为低,chopper blank time斩波器切换期间间隔时间设置为24% y$ j1 e* S# J
HAL_GPIO_WritePin(CFG6_GPIO_Port,CFG6_Pin, GPIO_PIN_RESET);
//PAGE:112 CFG6设置为低电机驱动使能,为高关闭
HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET); //STEP设置为高