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

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

[复制链接]
mmuuss586 发布时间:2020-3-26 16:59
基于Stm32F0+TMC5130 Arduino接口42/57步进电机驱动参考原理图/PCB图/教程/源码等开源分享
资料下载见附件,电脑登入
公众号:游名开源
微信图片_20200326165022.jpg
微信图片_20200326165030.jpg
微信图片_20200326165034.jpg ' I7 ?8 k# o1 J8 L6 Y+ |" C6 y8 L/ ]  O
一、概述
TMC5130芯片是一款集成式步进电机驱动器和运动控制器(定位控制)解决方案,适用于医疗、3D打印机、云台或其它自动化设备对性能有较高的场合应用和静音控制。该芯片具有集成的SixPoint斜坡控制器,微步进分度器,无传感器失速检测技术StallGuard2和完全无噪声的电流控制模式StealthChop,旨在驱动双极步进电机。输出驱动器模块由低RDSon N沟道功率MOSFET组成,配置为全H桥,以驱动电机绕组。 TMC5130能够从每个输出驱动高达2.5A的电流(具有适当的散热)。TMC5130的供电电压为5-46V。 该器件提供SPI接口,用于配置和诊断以及步进和方向接口。

: \3 ~3 g. e  d4 k, v
参数及特点:
2A电流(2.5A峰值),电压范围4.75-46VDC,9x9mm2 TQFP48封装
具有sixPoint斜坡的运动控制器
SPI和单线UART和Step / Dir接口,编码器接口和2x参考开关输入
每个完整步骤的最高分辨率256微步
stealthChop用于极其安静的操作和平稳的运动
spreadCycle高动态电机控制斩波器
dcStep负载相关的速度控制
stallGuard2高精度无传感器电机负载检测
coolStep电流控制,节能高达75%
集成电流检测选项,被动制动和续流模式,全面保护和诊断
1.png

( }" I( n- J- R' ^

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

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

举报

89个回答
mmuuss586 回答时间:2020-3-26 17:32:34
初始化程序如下参考:
9 g  j3 w, T- N  q" m/ k//        TMC5130 SET        ; G- K* d& R9 O9 _
        sendData(0xEC,0x000100C3);                                 . B: x& L- x* ~9 _
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)
/ A; L8 J) L- ~2 i( n2 R# U        sendData(0x90,0x0006160A);                                 ) u# X) ~' t# f2 H
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=6 : N$ ]# G# I5 L2 e2 z& Y2 J
        sendData(0x91,0x0000000A);                               
- _. I' D5 L8 v! t" c$ Z//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
( b7 ^( M; z3 w8 p        sendData(0x80,0x00000004);                                & ^5 t+ P4 g8 @8 r1 t4 i, ?$ H
//PAGE27:EN_PWM_MODE=1,使能2 Q, s1 D/ K: ?, ^- H4 B  e3 E
        sendData(0x93,0x000001F4);                                5 d5 x9 J* {$ U  ~4 @* X8 A
//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
* L' B3 J1 W2 r' {        sendData(0xF0,0x000401C8);                               
5 F* G7 Y' V: t3 E9 h//PAGE43WMCONF        ) b1 e# R+ }6 T) s) C+ f0 P
///////////////////////////////////////////////////////////
) ~" Q6 F0 _$ P4 ^' u          sendData(0xA4,1000);                                            
/ O' B9 b; w8 z* E//A1=1000第一阶段加速度( ]  M7 z6 x4 @( H
        sendData(0xA5,50000);                                    
+ n; d' Z8 E3 u' o) A//V1=50000加速度阀值速度V  
- q' M  S' w$ H0 x3 B. M+ Z        sendData(0xA6,5000);                                            
* y! l9 H( b* c5 M1 c//AMAX=5000大于V1的加速度   
- n* L' P. d& ]  z3 M2 I4 O        sendData(0xA7,200000);                                    
& F, F' c6 v$ M, }$ \//VMAX=200000
, R- u/ W4 k9 T& S        sendData(0xA8,700);                                                                & _! C. @& M- X3 M/ f0 `
//DMAX=700大于V1的减速度 , ^1 `2 M% M+ A6 p2 v/ \4 |! _5 l5 E( U! k7 e
        sendData(0xAA,1400);                                             ( {7 J; c) o: @6 I- S, y9 L
//D1=1400小于V1的减速度
# H4 C+ k# I5 a2 p; _: Y* z        sendData(0xAB,10);                                                     . _: y( k4 \8 ~( J4 ^; ]
//VSTOP=10停止速度,接近于0
: j9 p- Y! b, _  h        sendData(0xA0,0x00000000);                                 . O5 Q% F. |6 e% y
//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数       
4 K; T! _! O# I* n  S9 n
mmuuss586 回答时间:2020-3-26 17:32:00
初始化程序如下参考:
# z, z2 U+ p$ q$ F//TMC5130 SET        9 r) J! Y; M* `9 b+ o  F& a
        sendData(0xEC,0x000100C3);                                
1 P& F  ]1 S% x  a8 T//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle); e! L5 e- d  f% t  D4 m3 x
        sendData(0x90,0x00011601);                                
! j, @' g$ ^: i" I2 E$ M8 F//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=1 4 |1 ^( F4 N5 @# W' w' T
        sendData(0x91,0x0000000A);                                & C7 G8 [; {2 p; [
//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时2 r( _6 \7 ^5 D! y. I
        sendData(0x80,0x00000004);                               
. O0 Y7 H& }6 h7 N! P: L1 v//PAGE27:EN_PWM_MODE=1,使能1 n4 w, ^  u0 i1 E* _
        sendData(0x93,0x000001F4);                               
& q5 M% @) K! p  ]4 ]//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
1 l# j& ?3 S% T, I( B        sendData(0xF0,0x000401C8);                                ' S, i; g/ |! A  X0 g
//PAGE43WMCONF         2 U0 f4 s9 A" D% i% z
          sendData(0xA4,1000);                                            
9 F! S" y/ s# w) I0 v* Q//A1=1000第一阶段加速度2 n% k& Y! H7 k9 r9 u; p& ^
        sendData(0xA5,50000);                                     , G6 @2 `, s- `4 ^/ \( K
//V1=50000加速度阀值速度V1
5 @) y; U) ^$ i# \( ^        sendData(0xA6,5000);                                             ' {. n0 Z* I3 p& |$ a1 ?4 S! I- |
//AMAX=5000大于V1的加速度        4 h( B5 M  G+ W
        sendData(0xA7,200000);                                     * w7 f; n% H8 ^
//VMAX=200000   z2 p/ J4 e+ z8 I
        sendData(0xA8,700);                                                               
/ v9 v, O+ m/ O- y# J; v//DMAX=700大于V1的减速度 ( y. i/ i( p! |/ P- X2 A; S! x
        sendData(0xAA,1400);                                             , R+ Y6 ?, T; {6 ^/ O( T
//D1=1400小于V1的减速度
  n9 x# V, z4 P: v3 Y$ j7 `1 S; @4 F" ?        sendData(0xAB,10);                                                     9 [2 ]' ?+ _; W
//VSTOP=10停止速度,接近于03 \3 O" y. ^& P( c3 C  c
Yannike 回答时间:2024-7-5 09:48:42
mmuuss586 回答时间:2020-3-26 17:22:05
% D+ f, v: b& P. L% h
二、硬件设计
/ i6 ~3 t& K" N3 b$ C
硬件设计接口上:支持SPI或UART或脉冲+方向控制

  t) k* [. X- o- T6 {% `' m6 }
原理图如下图所示:
1.png 4 i' q  X# N7 I/ d: H( r
* L7 O, b, S, a/ J" }- M$ p

( @+ _$ ~( Y9 N( p; x9 j" j
* Q- |, n7 K  i# }
! [1 d( W9 N- ~! I' `* q7 p$ v4 v
mmuuss586 回答时间:2020-3-26 17:23:36
主芯片部分:
1.png
1 e# K5 S9 R" T7 R# t1 j* `' G
, D+ N- X# m% v; i: N. J' K
mmuuss586 回答时间:2020-3-26 17:24:42
补充说明:
+ N  Z( T2 w  N2 p9 X1 RSPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式
, M1 M* k$ q- N$ [- JVCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;
8 Y; p, a& W; W2 h# B* o! x2 t
mmuuss586 回答时间:2020-3-26 17:26:03
电源及接电机接口部分如下图:
1.png $ N  K/ Y* D7 E

% G0 C& G# j  R: ~1 f
mmuuss586 回答时间:2020-3-26 17:26:30
补充说明:  ?- G( ~4 C+ }. a- s; Z
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);
8 @! j, o2 w! S3 j5 U3 Y6 z# h电源保护:有条件的最好加防反接、TVS保护、以及保险丝等  f. e2 X! c7 n+ z) U, i" P$ x
mmuuss586 回答时间:2020-3-26 17:27:12
电机接口:如果对EMC要求较高的,最好加些滤波和保护,参考电路如下图
1.png ( C0 V9 @, k; O% T6 P0 y' c5 v
6 F1 ]6 g1 J9 O. d+ a0 n: P: V8 w7 k/ w$ N1 H
mmuuss586 回答时间:2020-3-26 17:30:40
PCB图参考如下(最好是4层板):
1.png
2.png 2 [! `4 b6 u4 v' Y/ ]

1 }+ g: S. `$ `7 G& x
mmuuss586 回答时间:2020-3-26 17:31:11
补充说明:! e8 Z4 j; L2 x0 z5 @( V' o) P
芯片底部最好不要走其它线,保证地平面完整及散热;
; l$ L7 [3 B/ ~电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);1 }) M# A6 g# c2 A
mmuuss586 回答时间:2020-3-26 17:31:33
三、软件说明
  s/ I) k* x3 X2 u1、SPI接口速度模式. d1 j) z9 C7 X- D" b
芯片引脚跳线连接:
$ d. Y3 I" h' O/ FSPI_MODE:接高电平(VCC_IO)% M% q; V4 g" I& O' g
SD_MODE: 接低电平(GND)6 }8 A3 K; }& e
J7:短接5 n6 d/ Q' |9 u' U  `
CSNB6
# ^. r+ o# J7 i8 o% cSCKA5
) a" R/ Z- k3 U9 z7 _0 D1 l# h0 fSDI:MOSI-PA77 P( r' J5 B# E1 J
SDO:MISO-PA6
) y/ v* k' a; W1 i4 ^8 M$ S( L
mmuuss586 回答时间:2020-3-26 17:32:18
2、SPI接口位置控制模式
' H' w7 H5 [# ^% e! ^- Z8 w7 x5 G' u2 ~芯片引脚跳线连接:: D! v: K8 ?* K: M& W
SPI_MODE:接高电平(VCC_IO)
# \9 f# _7 z) u' g" @' `; nSD_MODE: 接低电平(GND)
, i" g5 G8 h* C/ Y4 d5 BJ7:短接
1 V( ]" @; W" H3 z2 V; RCSNB6
( Y9 N* q0 a6 iSCKA5
4 H% o9 e% C4 U9 T$ V2 x& ySDI:MOSI-PA7" E: H5 z6 n) x/ y
SDO:MISO-PA6, o( h) I3 j! P6 }% B
mmuuss586 回答时间:2020-3-26 17:33:02
3、DIR+STEP接口模式位置控制(无需SPI接口)
$ n2 \$ c5 E' j  a+ _/ @8 i5 l芯片引脚跳线连接:
1 `5 e- P0 s9 o2 q6 h7 F. tSPI_MODE:接低电平(GND)
  T9 D" E: D# @: r# \# t1 nSD_MODE:接高电平(VCC_IO)
* c5 k4 x! ?# `. d. ASTEP:REFL-PB4,J2:短接$ ^1 f* C2 y/ T7 H+ L5 L
DIR: REFR-PB5,J5:短接6 C; g9 b" G* F9 ^2 t
CFG6RV_ENN-PC5,通过杜邦线接到底板PC5脚0 l- Y. J6 L  @" s3 v
CFG5:ENCA-PC8,通过杜邦线接到底板PC8脚- h0 r4 f5 ^  Y9 v8 e
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚
1 o6 B+ N+ O( S/ CCFG3:CSN-PB6 ,J7:短接
& j6 B" g8 B- Y, CCFG2: SCK-PA57 j; t; ]6 y& E
CFG1: MOSI-PA7" ?. [& ?% V3 I3 D9 N8 T% E
CFG0: MISO-PA6
6 c: H+ d$ k4 H/ @) D- S/ K
mmuuss586 回答时间:2020-3-26 17:33:26
初始化程序如下参考:
: t- i9 C1 U* N$ g% q2 X- [. b        HAL_GPIO_WritePin(CFG0_GPIO_Port,CFG0_Pin, GPIO_PIN_SET);                        //PAGE:110 CFG0设置为高,TOOF:236Tclk$ d+ h' ?+ v5 _- x8 Y- _
        SubdivisionSet(16);                //PAGE:111 细分设置为16
3 n8 r- A) A$ X3 B: n: \        ISet();                                        //电流设置AGE:1112 V. v$ @' w8 a1 g
        HAL_GPIO_WritePin(CFG4_GPIO_Port,CFG4_Pin, GPIO_PIN_SET);                        //PAGE:111 CFG4设置为高,chopper hysteresis斩波器滞后 设置为9, L8 e1 V2 V; n9 m7 Q+ `- F
        HAL_GPIO_WritePin(CFG5_GPIO_Port,CFG5_Pin, GPIO_PIN_SET);                " c) ^' W0 `- q, k( L
//PAGE:111 CFG5设置为低,chopper blank time斩波器切换期间间隔时间设置为247 C$ y$ o2 V9 v2 s
        HAL_GPIO_WritePin(CFG6_GPIO_Port,CFG6_Pin, GPIO_PIN_RESET);
3 F7 s  V1 W- }  |* X# e( ]//PAGE:112 CFG6设置为低电机驱动使能,为高关闭9 ^) o8 T: B2 w7 m0 S4 Z; F# ]) X
        HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET);                        //STEP设置为高8 ~* W8 ?! I5 [! i2 [$ e

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版