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

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

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

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

8 s, v2 I9 B7 h9 q2 j! k( H

基于Stm32F0+TMC5130 Arduino接口42或57步进电机驱动参考原理图PCB图教程源码等开源分.pdf

下载

1.08 MB, 下载次数: 141

TMC5130-Shield原理图.pdf

下载

673.85 KB, 下载次数: 35

TMC5130_datasheet_Rev1.16.pdf

下载

2.41 MB, 下载次数: 28

TMC5130 SPI SPEED.rar

下载

7.83 MB, 下载次数: 51

TMC5130 SPI POSITION.rar

下载

7.83 MB, 下载次数: 52

TMC5130 DIR STEP.rar

下载

7.5 MB, 下载次数: 62

游名科技产品目录(2020-7-21).pdf

下载

1.05 MB, 下载次数: 15

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

举报

88个回答
mmuuss586 回答时间:2020-3-26 17:32:34
初始化程序如下参考:
5 B* B6 @9 Q6 J" i0 K% s; H//        TMC5130 SET       
' u" [' X) u. J- x2 V# N        sendData(0xEC,0x000100C3);                                 ( ?1 H1 q  X) n& P
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)4 K% K% @: I8 T2 w
        sendData(0x90,0x0006160A);                                 " l& p$ q9 y' \" C2 S% `
//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=6
# e% h  j; ~! K" Z6 A        sendData(0x91,0x0000000A);                               
; _  f5 O; `" P3 W5 j+ v//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时
7 [* ^) U; N1 y# o( |! G$ N" U        sendData(0x80,0x00000004);                               
% j" u0 a( d' P//PAGE27:EN_PWM_MODE=1,使能
  ]8 F! U9 J: |1 ^; Q# }        sendData(0x93,0x000001F4);                               
$ V/ J# |! Y& f+ X# W$ g( x: b//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM. \, ]/ h9 Y& L% A% W
        sendData(0xF0,0x000401C8);                               
/ ^2 k$ S. D2 S5 `' Q. @//PAGE43WMCONF        - R- E+ `) ^5 a
///////////////////////////////////////////////////////////
' Z  k# Q( L' b# u" C( F          sendData(0xA4,1000);                                            
/ q, A: W9 S6 q. M& G3 X: j+ r" \1 T//A1=1000第一阶段加速度1 i( R+ R; z6 D& A
        sendData(0xA5,50000);                                     9 r* G* z3 S3 w* X* I; h
//V1=50000加速度阀值速度V  
, u4 y- E2 p6 I1 T* c        sendData(0xA6,5000);                                             8 w3 R  a" C$ Z4 [
//AMAX=5000大于V1的加速度   
4 a. `- T) B/ X5 C        sendData(0xA7,200000);                                     ) W" O/ `- S2 i+ q: n7 c( S
//VMAX=200000
" }$ W1 N* r# Z        sendData(0xA8,700);                                                                " v+ |  _9 W; E' x6 E% Z) O
//DMAX=700大于V1的减速度 - V( X5 d' O8 P1 y9 {3 k5 V% b
        sendData(0xAA,1400);                                             ' S, o! g. r$ P$ Q4 G& U- }6 n8 o
//D1=1400小于V1的减速度
) c, k5 E5 y/ \8 C1 k' ~4 A0 C/ m        sendData(0xAB,10);                                                     6 O, K  b. E4 i
//VSTOP=10停止速度,接近于05 q/ a- o% t, v& D# y; R/ H0 m
        sendData(0xA0,0x00000000);                                 4 A: y  Q! D3 @7 L
//PAGE35:RAMPMODE=0位置模式,使用所有A、V、D参数       
9 J6 o6 ?9 o; s3 D
mmuuss586 回答时间:2020-3-26 17:32:00
初始化程序如下参考:
+ Z" z8 c% B- `% h1 H//TMC5130 SET       
$ v3 C1 @8 ]5 H% ?        sendData(0xEC,0x000100C3);                                 & h7 @. b) @0 k+ d: _; J/ L- ~' z
//CHOPCONF: TOFF=3, HSTRT=4, HEND=1, TBL=2, CHM=0 (spreadcycle)' C# P  _- h/ V6 X
        sendData(0x90,0x00011601);                                
6 I5 ?# H" J3 P3 d" n4 n& O//PAGE33:IHOLD_IRUN: IHOLD=10, IRUN=22(31 max.current), IHOLDDELAY=1 . W2 @1 c8 V: M9 c7 M4 ?3 [2 Z% l
        sendData(0x91,0x0000000A);                               
/ J9 M4 ?- Z' T' D//PAGE33:TPOWERDOWN=10:电机静止到电流减小之间的延时) x( e! x0 Z6 r7 V9 Q/ {8 C/ T0 J
        sendData(0x80,0x00000004);                               
) z  V: y* }9 Q$ Z. n' U5 n! a2 s2 ^/ q//PAGE27:EN_PWM_MODE=1,使能
/ G, L  y; Z5 P! e, A$ q% m        sendData(0x93,0x000001F4);                               
9 w2 z; f  b, [3 H2 H5 m/ {* K//PAGE33:TPWM_THRS=500,对应切换速度35000=ca.30RPM
0 A/ e0 M( g. @0 f1 F: `3 y! W6 _        sendData(0xF0,0x000401C8);                                * A! |+ F! o, I5 U  f4 K
//PAGE43WMCONF         ! C4 X4 o4 b% u. O* B
          sendData(0xA4,1000);                                            
; C: N' H* J2 g8 w//A1=1000第一阶段加速度) O2 b, v( [2 N- G
        sendData(0xA5,50000);                                    
1 ~$ J, t+ C- ]% k# g8 g8 A1 ?//V1=50000加速度阀值速度V1. f2 z8 \" C: t
        sendData(0xA6,5000);                                             % x  T  i3 @' ^$ c
//AMAX=5000大于V1的加速度        ( a; c7 ?# k8 X6 I$ B2 H
        sendData(0xA7,200000);                                     * W, o- S6 i& r$ U7 I
//VMAX=200000
. U2 a9 ?1 Z( Y) f        sendData(0xA8,700);                                                                1 j- @- }- X* w; s7 I/ q4 d  [
//DMAX=700大于V1的减速度 - z. }  `  M! q5 O
        sendData(0xAA,1400);                                            
; n! f- D" i3 L4 F//D1=1400小于V1的减速度 ; Y8 T7 |! D  q# a6 }
        sendData(0xAB,10);                                                     5 M  }; H0 @2 n8 d1 H1 k1 i
//VSTOP=10停止速度,接近于0" Y5 D0 m7 W5 P! i  z' J4 R
mmuuss586 回答时间:2020-3-26 17:33:26
初始化程序如下参考:
1 H- J; @' V" z2 ~        HAL_GPIO_WritePin(CFG0_GPIO_Port,CFG0_Pin, GPIO_PIN_SET);                        //PAGE:110 CFG0设置为高,TOOF:236Tclk5 R2 x7 E1 T- R) n; X/ s+ J
        SubdivisionSet(16);                //PAGE:111 细分设置为16
% L$ J* ?1 X8 X: o  Q0 ^  s        ISet();                                        //电流设置AGE:111/ k9 ~1 l  `; B
        HAL_GPIO_WritePin(CFG4_GPIO_Port,CFG4_Pin, GPIO_PIN_SET);                        //PAGE:111 CFG4设置为高,chopper hysteresis斩波器滞后 设置为9
( t# g% @" r$ U; s/ s( s  @        HAL_GPIO_WritePin(CFG5_GPIO_Port,CFG5_Pin, GPIO_PIN_SET);                ' s! l, N+ v; ~0 s0 {3 i9 E9 r6 o
//PAGE:111 CFG5设置为低,chopper blank time斩波器切换期间间隔时间设置为24
/ O6 L' y) N* _0 `        HAL_GPIO_WritePin(CFG6_GPIO_Port,CFG6_Pin, GPIO_PIN_RESET);7 E4 Y! ~0 y' d" ?
//PAGE:112 CFG6设置为低电机驱动使能,为高关闭/ |2 a1 i+ ?2 R) x5 B& k. X
        HAL_GPIO_WritePin(STEP_GPIO_Port,STEP_Pin, GPIO_PIN_SET);                        //STEP设置为高
9 [0 [9 H: q' ?" ?$ \) \4 A4 ^  g
mmuuss586 回答时间:2020-3-26 17:22:05

  }% h7 N- L( ^
二、硬件设计
$ J& q/ S+ \) q; c) l8 _
硬件设计接口上:支持SPI或UART或脉冲+方向控制

; c( O7 y0 A# S2 j! H, h- O
原理图如下图所示:
1.png 9 l0 w+ C* B, F# O( s. @
9 H' Q( B- G+ `; e- ]) @

: r" g( t+ B! ~
6 e4 X2 \; q$ O0 S

: Y1 f& R' ]1 Q# C2 ]
mmuuss586 回答时间:2020-3-26 17:23:36
主芯片部分:
1.png 7 B+ q; C1 D1 n$ A3 {4 [

- z( E" i8 b2 o8 V" O" Z" W5 y- A
mmuuss586 回答时间:2020-3-26 17:24:42
补充说明:
+ u8 ]& B( n+ T6 G  h4 oSPI_MODE、SD_MODE:对应的J10、J11通过跳线帽选择高、低电平选择不同模式
* k, t! i# Y% K% k3 m0 EVCC、VCC_IO电源:使用芯片内部5V输出电源,如果有外部5V电源可选择外部的,可降低芯片的发热和功耗;, k) `* y5 U' A/ P8 {. h
mmuuss586 回答时间:2020-3-26 17:26:03
电源及接电机接口部分如下图:
1.png 9 v8 _3 _; @5 |0 X- S$ g) H
5 e0 L$ ]2 k6 a% |- I9 K! {3 Z
mmuuss586 回答时间:2020-3-26 17:26:30
补充说明:0 z' Z# C0 j( F- p! J7 R9 |1 a
母线电容CE1选择:一般是1A对应100uF左右(有条件的尽可能大);
5 _" Q% c# X( J$ |, J; m电源保护:有条件的最好加防反接、TVS保护、以及保险丝等7 v. d/ O( ^! Z7 a$ I
mmuuss586 回答时间:2020-3-26 17:27:12
电机接口:如果对EMC要求较高的,最好加些滤波和保护,参考电路如下图
1.png
0 p' n7 V6 n8 S: a" n; d$ i
( C% o% J7 X. g
mmuuss586 回答时间:2020-3-26 17:30:40
PCB图参考如下(最好是4层板):
1.png
2.png ( F2 b" e- r: A) R  x. Y

$ E% Y* I" M8 D6 C
mmuuss586 回答时间:2020-3-26 17:31:11
补充说明:0 V. p* l1 G  J2 s
芯片底部最好不要走其它线,保证地平面完整及散热;
- M5 N. |8 W9 i/ d+ V0 L; Y" W电流取样电阻:5130不需要,5160外部MOS,要差分采样(开尔文接法);7 p* d( s: y2 p- f0 o' S' f. X
mmuuss586 回答时间:2020-3-26 17:31:33
三、软件说明+ M) o' B: z2 m% w- s. d1 m
1、SPI接口速度模式' w+ r, U5 y- D# x
芯片引脚跳线连接:( S) a( U1 z) c# ~5 t" |
SPI_MODE:接高电平(VCC_IO)+ n, f# n7 X  l! a+ s
SD_MODE: 接低电平(GND)- H- E; Q- Y' y; N9 Q
J7:短接2 W: p/ U- }3 l
CSNB6, L& g- [7 c, ?, V: V- Y
SCKA54 X2 f1 [5 t+ a4 a6 W" n
SDI:MOSI-PA79 [% b) @; D6 i. O- I( {
SDO:MISO-PA6
  T/ ~1 P1 }* @; n, T$ @6 F& V# E
mmuuss586 回答时间:2020-3-26 17:32:18
2、SPI接口位置控制模式% T. {* }) @) s) g
芯片引脚跳线连接:/ U2 N% v6 O/ b( a- M: Z  M0 {3 b
SPI_MODE:接高电平(VCC_IO)# @( U0 Z0 y3 z2 y2 K. \. i
SD_MODE: 接低电平(GND)
' y$ a# W( m; [" j& R. H' IJ7:短接
& r4 z: ^/ S8 b1 D: M3 o2 ~% vCSNB6
! p- f9 Y' |8 _6 t; w" pSCKA5) b4 |+ T) ]/ @1 b- _  R
SDI:MOSI-PA7* D; X% ^0 f0 ^8 _# d! W2 l
SDO:MISO-PA64 F1 t8 n) T; @- I1 s
mmuuss586 回答时间:2020-3-26 17:33:02
3、DIR+STEP接口模式位置控制(无需SPI接口)
( u& n/ X! `8 z8 }芯片引脚跳线连接:
7 Y4 ?6 x1 z; c4 H% p- A/ r3 V. LSPI_MODE:接低电平(GND)6 \8 f1 w" z: S1 Z) j; P
SD_MODE:接高电平(VCC_IO)
; G$ ?! Z+ w' t* Z0 @# y7 O, n4 v+ Z7 sSTEP:REFL-PB4,J2:短接
) r9 p2 a9 Z0 F: Y' r$ HDIR: REFR-PB5,J5:短接4 H& t- z: E9 G  Y3 [2 u/ l1 ^5 x
CFG6RV_ENN-PC5,通过杜邦线接到底板PC5脚
. I, \8 h( L; ?/ L! ICFG5:ENCA-PC8,通过杜邦线接到底板PC8脚- ^8 p4 t: {! o. a9 q' `
CFG4:ENCB-PC6,通过杜邦线接到底板PC6脚+ c% p! G* Y1 C4 R
CFG3:CSN-PB6 ,J7:短接
+ F0 K+ `$ e1 N3 k$ _/ \CFG2: SCK-PA5! L! t) Y% n# i4 X
CFG1: MOSI-PA7& ?; q' w! L. I, L! k, j% n/ s
CFG0: MISO-PA69 s' }8 U7 H5 h3 u4 s! I9 H

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版