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

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

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

) x5 c, `% k1 N3 B

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

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

举报

90个回答
mmuuss586 回答时间:2020-3-26 17:32:34
初始化程序如下参考:
" l9 G, O! T- X- R  }: H; `//        TMC5130 SET       
4 e1 L) x0 H: {- v        sendData(0xEC,0x000100C3);                                 4 E6 E: d0 `- f* `- H4 Z) f! l
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)
2 |6 H/ H4 H, c        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);                               
" u* Q- k2 z+ E. I' A" r9 h//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
: ^9 M* }% `# p6 ^* p' M1 D        sendData(0xF0,0x000401C8);                               
) |- l( e! `2 s2 y//PAGE43WMCONF        ) _' L/ q2 _) }5 f
///////////////////////////////////////////////////////////
6 f# M2 c6 Y; u5 b$ U- H          sendData(0xA4,1000);                                             & Y3 x( V  F) E" ^* H( P' C
//A1=1000第一阶段加速度
7 D. w/ z2 o, D- v( l        sendData(0xA5,50000);                                    
# ?! a1 A4 z$ i; f//V1=50000加速度阀值速度V  ! d1 y" e9 N8 j  o$ F% ^& o: W
        sendData(0xA6,5000);                                            
+ V+ b) o- Q1 o2 c3 z/ y' v! V//AMAX=5000大于V1的加速度   9 r3 U  F1 T" l! }3 {8 a
        sendData(0xA7,200000);                                    
. L; E1 p+ Q% m4 q/ F//VMAX=200000 1 N# i4 ?0 Q% k) y3 M7 L0 P
        sendData(0xA8,700);                                                               
+ a+ D; o" j+ f. W- p* W//DMAX=700大于V1的减速度
) g2 J6 v- G/ P$ N- q6 A        sendData(0xAA,1400);                                             " y7 z( J3 D) s6 \4 M
//D1=1400小于V1的减速度
, ], ]" o7 `! k$ P; J/ {        sendData(0xAB,10);                                                    
) k5 _' k0 E9 O: A! r//VSTOP=10停止速度,接近于0  E) {; H6 v/ v5 e) _
        sendData(0xA0,0x00000000);                                
0 p1 u) {' ^& i% _3 d9 e3 O% B$ P) I//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数        6 O5 [* O( {% c4 G/ I6 _# D
mmuuss586 回答时间:2020-3-26 17:32:00
初始化程序如下参考:
; m! p$ T. w+ l0 ~6 h" [//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)
7 p, Q# z- G. `  x2 N9 {        sendData(0x90,0x00011601);                                 6 V5 }% M/ D# G5 ~6 v. o0 T
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=1
* W* p6 k; T6 F4 \& l, a        sendData(0x91,0x0000000A);                                2 @( t% o" Y7 F1 _; z, g; V6 e* p1 U
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
# `7 o& v$ l. I* a( p* [        sendData(0x80,0x00000004);                                - o, g0 Q0 Y$ F
//PAGE27:EN_PWM_MODE=1,使能
  O& @* Z8 Z4 I8 j6 [        sendData(0x93,0x000001F4);                               
* m: b# {8 D- P: w//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
, J5 ^2 y" w4 @; Q: W        sendData(0xF0,0x000401C8);                               
% L& S$ C: e+ I' A* B//PAGE43WMCONF         , ]7 Y) N* l% |7 N9 }" z/ \
          sendData(0xA4,1000);                                             # K+ A( Z6 ]7 R# g
//A1=1000第一阶段加速度' K. [( o: K7 ~, S& y
        sendData(0xA5,50000);                                    
+ E8 N( `9 ?6 s" H4 I+ F; H* h6 N//V1=50000加速度阀值速度V1
; G+ w' c: M: T2 D9 z& ?% I0 g        sendData(0xA6,5000);                                            
2 z* T6 F6 U# Z//AMAX=5000大于V1的加速度        5 ?% g/ P, @. B, e$ L3 V* N
        sendData(0xA7,200000);                                    
% t& C, G) d$ D! ?% ^//VMAX=200000
- E2 s* F& F$ y        sendData(0xA8,700);                                                               
- U* j+ N% P, C- x//DMAX=700大于V1的减速度 8 Y6 l# I' D3 J8 V' t9 F  {$ w( \
        sendData(0xAA,1400);                                            
. U& E6 J  x; ]/ L5 z6 |# W) x9 H//D1=1400小于V1的减速度
0 }- C3 c. p5 s# c2 x        sendData(0xAB,10);                                                    
/ J' c, q+ @+ }" ^+ Y' G$ \5 U//VSTOP=10停止速度,接近于0+ k# Z9 B6 S) S( D$ [, Z  g
Yannike 回答时间:2024-7-5 09:48:42
mmuuss586 回答时间:2020-3-26 17:22:05
$ M  i' q5 I/ R; y6 W$ Y: N
二、硬件设计
! G( _- }6 L' M) V3 s+ ?& J  j
硬件设计接口上:支持SPI或UART或脉冲+方向控制
+ J' \1 C9 x% A
原理图如下图所示:
1.png
. o  q8 d2 T5 M: D8 d+ c, u. T

4 k5 B9 l- P% ?: K
. w- V. q- V# c$ l# ]9 ^/ }. R

6 I4 E: S( H3 L+ Z7 |! L5 ~3 m
' M* V% \. U( \9 U1 Y' V
mmuuss586 回答时间:2020-3-26 17:23:36
主芯片部分:
1.png 9 w' A, A& E  Y$ w; c+ d

! ~" V! k+ ~% }8 @- V* g) N- D
mmuuss586 回答时间:2020-3-26 17:24:42
补充说明:
9 G# I. t! ]& |5 u: X, iSPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式4 h& q7 r" n5 {0 h
VCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;
  e- y5 ?5 S, y* ]7 _% v( @
mmuuss586 回答时间:2020-3-26 17:26:03
电源及接电机接口部分如下图:
1.png
. r- I5 j% F3 S' I7 @8 [
+ G3 l) i) v( h6 c
mmuuss586 回答时间:2020-3-26 17:26:30
补充说明:
( x. |! P+ v/ v/ \母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);6 Y0 x& q0 C$ a; R$ Q
电源保护:有条件的最好加防反接、TVS保护、以及保险丝等" o% U: \& w1 H3 Z3 |# n
mmuuss586 回答时间:2020-3-26 17:27:12
电机接口:如果对EMC要求较高的,最好加些滤波和保护,参考电路如下图
1.png ( |  K6 J6 f' W9 x# e+ O# O' V
  o* w: t3 q( }+ P) `" p$ E
mmuuss586 回答时间:2020-3-26 17:30:40
PCB图参考如下(最好是4层板):
1.png
2.png % o2 T' G( V3 E8 q0 f
- i# z& b. ^9 X8 j/ x' y6 {0 b1 r
mmuuss586 回答时间:2020-3-26 17:31:11
补充说明:
8 q6 S% a) d9 M6 m. C芯片底部最好不要走其它线,保证地平面完整及散热;
% o# I& z7 j& B7 n电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);
/ \' ^* X; R0 J0 {! `5 h
mmuuss586 回答时间:2020-3-26 17:31:33
三、软件说明; n& k2 O; g6 B: }- X" G) |# |
1、SPI接口速度模式
9 j! L2 j2 T# r  N# h. V/ L芯片引脚跳线连接:
1 A9 a3 ^4 n) K, r! nSPI_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. [. |
CSNB6# I( P) U8 Y& }2 V) [0 F! _1 V$ Q
SCKA56 L( a8 Y! n# o% y9 D
SDI:MOSI-PA7/ w3 P0 ~7 f5 M7 R  Y! t
SDO:MISO-PA6
3 t4 v8 Q" N/ {
mmuuss586 回答时间:2020-3-26 17:32:18
2、SPI接口位置控制模式
/ G( O) _/ Q% l, g$ \% ?3 ?芯片引脚跳线连接:: w" i  n: f9 ]+ _# b, P, O
SPI_MODE:接高电平(VCC_IO). _# E1 t! w2 Y
SD_MODE: 接低电平(GND)
$ V/ b3 M! n( O" z% L8 z9 m% y- M/ LJ7:短接
$ X6 i1 ]$ b* ~; xCSNB6$ Y  g- P+ V9 I3 t6 O5 e$ `; M+ o: q" x. [
SCKA5
0 h( x, k. A3 ]8 x% C  dSDI:MOSI-PA7
/ @0 g+ i) l- L* ^SDO:MISO-PA65 ~' x: i% G% u& n8 s$ e
mmuuss586 回答时间:2020-3-26 17:33:02
3、DIR+STEP接口模式位置控制(无需SPI接口). K. H# ]! w0 Q( Y) V
芯片引脚跳线连接:0 I9 x' j: y5 v5 Z* o
SPI_MODE:接低电平(GND)
* d# C0 u1 m" O9 u9 x$ _* wSD_MODE:接高电平(VCC_IO)
* b" ~5 @) [' n/ E* A9 O5 j/ ~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
CFG6RV_ENN-PC5,通过杜邦线接到底板PC5脚
8 A! z  V8 v) w$ W5 C3 m& k# GCFG5:ENCA-PC8,通过杜邦线接到底板PC8脚
1 o6 a* G, D5 Z, {; sCFG4: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
: m8 o. @9 ]. \+ uCFG1: MOSI-PA72 F2 n! H# n* Q2 r- P: M& o
CFG0: MISO-PA6' p$ ]# V3 u( t; L$ N9 m" P
mmuuss586 回答时间:2020-3-26 17:33:26
初始化程序如下参考:. P3 @2 ]7 d' O( {5 o6 F
        HAL_GPIO_WritePin(CFG0_GPIO_Port,CFG0_Pin, GPIO_PIN_SET);                        //PAGE:110 CFG0设置为高,TOOF:236Tclk
) ^6 {0 J1 n# |4 H        SubdivisionSet(16);                //PAGE:111 细分设置为16
$ |2 L- G# ]; ]; [  F* ^: ]        ISet();                                        //电流设置AGE:1112 s' X4 C& r5 s' @2 D
        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);
9 i' Z2 V, s9 L+ b) s/ h/ k+ P//PAGE:112 CFG6设置为低电机驱动使能,为高关闭
, o* \: r; ^: U" G6 z        HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET);                        //STEP设置为高
7 h6 E" U1 ]. y# o; Y+ V

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版