你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

游名:Stm32F0+TMC5130 Arduino接口42/57步进电机驱动参考原理图/...  

[复制链接]
mmuuss586 发布时间:2020-3-26 16:59
基于Stm32F0+TMC5130 Arduino接口42/57步进电机驱动参考原理图/PCB图/教程/源码等开源分享
资料下载见附件,电脑登入
公众号:游名开源
微信图片_20200326165022.jpg
微信图片_20200326165030.jpg
微信图片_20200326165034.jpg 1 x. B0 Z; t1 \* S4 Y
一、概述
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%
集成电流检测选项,被动制动和续流模式,全面保护和诊断
1.png
+ ]+ r7 ]. T- }0 o: R% K* y

基于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

收藏 3 评论89 发布时间:2020-3-26 16:59

举报

89个回答
mmuuss586 回答时间:2020-3-26 17:32:34
初始化程序如下参考:
9 I# V2 v, o( q( c+ B1 C" t//        TMC5130 SET       
# ^5 I1 C7 Z( L+ [! e        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);                                
0 Y( m" q( d' R$ q2 h//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=6
9 A7 b9 u0 J2 G# N        sendData(0x91,0x0000000A);                               
/ _. D. m  H9 \0 I$ v3 t//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时% t/ P: n% V8 C
        sendData(0x80,0x00000004);                               
1 O& `& H+ d" C5 n//PAGE27:EN_PWM_MODE=1,使能
9 X3 [' N+ ?/ c7 A4 f        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);                               
6 M0 L( A) m2 \4 V2 J! @//PAGE43WMCONF       
5 ?" n* @: ~; w3 v+ \# Z8 y+ i///////////////////////////////////////////////////////////7 Y+ G9 E! w* @9 ]4 c
          sendData(0xA4,1000);                                            
5 \! A4 b1 J( m# W: ?$ x( M//A1=1000第一阶段加速度
) p7 k5 r7 K+ E5 `        sendData(0xA5,50000);                                    
6 t. L' |( c" U) P2 ~4 e$ T//V1=50000加速度阀值速度V  4 G5 l1 W. }2 B& W; s! X9 c
        sendData(0xA6,5000);                                            
) u1 Z) J7 ^4 N, ^) ]//AMAX=5000大于V1的加速度   - l; L. s  y. O5 b3 U. D
        sendData(0xA7,200000);                                    
: H* ^0 e" F% z. Y9 B: t4 S! b//VMAX=200000 4 X" Z/ ~8 {# v6 p1 p% \
        sendData(0xA8,700);                                                                * u7 w3 c: I) V
//DMAX=700大于V1的减速度
/ k) M9 J; d2 z; ^        sendData(0xAA,1400);                                            
" B& ^0 p, N7 O1 `//D1=1400小于V1的减速度
- m) e! v, U8 m4 V1 h; n: i        sendData(0xAB,10);                                                    
# e. I. z3 |; e+ v6 Z/ s8 V//VSTOP=10停止速度,接近于0
/ l8 l' F- i$ ]5 e8 K; S/ b& G        sendData(0xA0,0x00000000);                                
2 i9 L$ D4 Z1 Z//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数       
( V2 {1 o* I0 I1 Q  n
mmuuss586 回答时间:2020-3-26 17:32:00
初始化程序如下参考:
1 S: v: F" g, W5 j3 z  D" I7 N+ t//TMC5130 SET       
. W6 ^% @( B0 L& F% d        sendData(0xEC,0x000100C3);                                
7 g7 `% N  N5 r: |//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)5 j0 H% _! ]6 g( m, O# f0 h
        sendData(0x90,0x00011601);                                
2 A  P& o" v, n, c* [3 X# h8 U//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=1
3 P! e4 s6 s4 R0 l6 ?+ F! X( ?) \        sendData(0x91,0x0000000A);                               
# r. B9 @5 N8 R2 v9 }% ]( P  n//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
; z4 l' }7 ?% P& g        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);                               
* k! L3 W- ^$ b$ ^! p//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM9 ?( O! I4 ]& d0 G( y4 M
        sendData(0xF0,0x000401C8);                                - l, w. ]& b0 l- T
//PAGE43WMCONF         
4 e2 F8 g7 y0 q2 s1 [          sendData(0xA4,1000);                                            
; F: E% Y5 z* A$ K# R" i//A1=1000第一阶段加速度; E1 }* O+ h. }
        sendData(0xA5,50000);                                    
+ A  J! x+ t) i$ g. W//V1=50000加速度阀值速度V1
8 O. p% F2 x0 K% J7 r1 t        sendData(0xA6,5000);                                            
5 Q2 f9 {; }) z//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);                                            
6 W. J6 T$ G' n//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 ?
Yannike 回答时间:2024-7-5 09:48:42
mmuuss586 回答时间:2020-3-26 17:22:05
- S6 r, |/ W) `' J, r9 s
二、硬件设计

2 e" t. q( B- {* W+ i$ L5 `
硬件设计接口上:支持SPI或UART或脉冲+方向控制
/ w7 W8 O+ m' W
原理图如下图所示:
1.png ( O; ^/ D$ E# t* J0 M% g

3 O( g* p) L; r5 q# R1 U
. }, t" f, _# G" ^% R/ |, Z& M, o
$ G  D! K& Q3 @8 o8 \% s

% ~3 ?/ o( j) e& \) P, P3 {
mmuuss586 回答时间:2020-3-26 17:23:36
主芯片部分:
1.png
9 \* Q6 P. q7 x$ Y1 f

& ^, k+ m9 t; N- L; Y; `% _
mmuuss586 回答时间:2020-3-26 17:24:42
补充说明:
/ L1 j0 [+ t% x$ h3 p1 JSPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式
2 m$ J. D+ K* s2 _4 v: gVCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;
0 @1 T3 G0 [6 x0 K3 n
mmuuss586 回答时间:2020-3-26 17:26:03
电源及接电机接口部分如下图:
1.png " u, J5 u* H2 \6 S
1 o9 w6 C+ Y+ }8 p# B5 o+ G% \8 u0 W
mmuuss586 回答时间:2020-3-26 17:26:30
补充说明:7 p7 C) k6 H1 [6 w) S$ \
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);: `$ _7 M$ y! v0 F) ]
电源保护:有条件的最好加防反接、TVS保护、以及保险丝等- M3 o9 P  v1 C$ x& g; M' y
mmuuss586 回答时间:2020-3-26 17:27:12
电机接口:如果对EMC要求较高的,最好加些滤波和保护,参考电路如下图
1.png 2 @. G4 ~" p7 ^# C# f7 E9 ^

4 e2 ^% u# Z& I6 k7 Q$ c9 v" r3 l
mmuuss586 回答时间:2020-3-26 17:30:40
PCB图参考如下(最好是4层板):
1.png
2.png
- z! ?" N, U$ I5 y1 C$ A
' q2 }# {3 [- ~8 J( |' R
mmuuss586 回答时间:2020-3-26 17:31:11
补充说明:
. d0 m- P3 U( {# J2 S芯片底部最好不要走其它线,保证地平面完整及散热;
0 `; u* f5 d$ T! w5 p6 |电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);
1 `2 Y0 G# |/ m9 [) V2 P. \
mmuuss586 回答时间:2020-3-26 17:31:33
三、软件说明
- K1 B0 r& P3 I; c8 a% p9 S1、SPI接口速度模式! x. j& u6 _, \6 @$ v
芯片引脚跳线连接:
5 [+ z7 ^$ L( G. k0 QSPI_MODE:接高电平(VCC_IO)
: {" j, j  M# e  r; }SD_MODE: 接低电平(GND)
/ B& B) p3 J& l, u& DJ7:短接* y+ K! P; C! @) d" X$ ?! X! D
CSNB6
5 H" }. G0 N4 b# BSCKA5
5 J/ e  C+ s3 f( b) Q; tSDI:MOSI-PA70 G9 m% m5 ^1 n5 n( X# @  H; f. ^
SDO:MISO-PA6
$ d. }* o) I- m0 v! ~# r
mmuuss586 回答时间:2020-3-26 17:32:18
2、SPI接口位置控制模式5 L3 A) m5 s" h; n5 R
芯片引脚跳线连接:
" w/ r2 `% ]& `! ^( j) C! `) FSPI_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
CSNB6
/ F+ \6 V( k3 _7 p: C1 VSCKA5
# k/ C4 _: k' T8 s4 @% H. p: O: `4 |) ?SDI:MOSI-PA7
$ B. H. X6 Z% L' z1 sSDO:MISO-PA6, \! H3 w2 K" Q2 x7 ^" ]
mmuuss586 回答时间:2020-3-26 17:33:02
3、DIR+STEP接口模式位置控制(无需SPI接口)
" W- P4 ]- ~! @) k# X" C3 m芯片引脚跳线连接:6 ~8 g3 I( ~6 ]5 P
SPI_MODE:接低电平(GND)
( B" I- p( e! [8 h" l$ S7 b* sSD_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:短接
. s' a) O, g8 F9 _CFG6RV_ENN-PC5,通过杜邦线接到底板PC5脚
! o9 m  M2 J1 \+ p  z3 TCFG5: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:短接
) X8 S# @5 S8 h& b! ]+ P/ ACFG2: 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
mmuuss586 回答时间:2020-3-26 17:33:26
初始化程序如下参考:, o% K- g# w% o2 G" E5 J
        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
+ `  r  v+ I# @2 V5 T5 W4 S. R9 n        ISet();                                        //电流设置AGE:111( N1 j# k$ L6 L6 G1 s
        HAL_GPIO_WritePin(CFG4_GPIO_Port,CFG4_Pin, GPIO_PIN_SET);                        //PAGE:111 CFG4设置为高,chopper hysteresis斩波器滞后 设置为9
! q  M% u. G% L$ @1 D7 }        HAL_GPIO_WritePin(CFG5_GPIO_Port,CFG5_Pin, GPIO_PIN_SET);               
. ~9 k# w9 T( B$ t+ K" C, a//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设置为高
3 {* ~& I* g  {: q3 ?

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版