“Microduino-Shield Stepper/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
规格
(撤销Hustshenyang@126.com讨论)的版本12632)
 
(未显示2个用户的17个中间版本)
第4行: 第4行:
 
|
 
|
 
[[File:DSC9332.JPG|400px|thumb|right|Microduino-Shield Stepper]]
 
[[File:DSC9332.JPG|400px|thumb|right|Microduino-Shield Stepper]]
Microduino-Shield Stepper板子一款带转换器和过流保护的DMOS微步驱动器,用于平衡车,使用时叠加Mocroduino核心模块与需要的功能模块即可。
+
Microduino-Shield Stepper板子一款带转换器和过流保护的DMOS微步驱动底板,该底板可在全、半、1/4、1/8、1/16步进模式下驱动两相步进电机,能够最多同时操作4路电机。
  
  
 
==特色==
 
==特色==
*板载步进电机驱动器A4988SETTR;
+
步进电机是一种将脉冲信号变换成相应的角位移(或线位移)的电磁装置,是一种特殊的电机。一般电机都是连续转动的,而步进电机则有定位和运转两种基本状态,当有脉冲输入时步进电机一步一步地转动,每给它一个脉冲信号,它就转过固定的角度。
 +
*宽电源输入范围
 +
*适用两相四线步进电机,最多驱动4路
 +
*只有简单的步进和方向控制接口,易于控制
 +
*五种不同的步进模式:全、半、1/4、1/8和1/16
 +
*可调电位器可以调节最大电流输出,从而获得更高的步进率
 +
*自动电流衰减模式检测/选择
 +
*具有过热关闭、欠压锁定、交叉电流保护功能
 
*Upin27底座,可结合更多的Microduino模块;
 
*Upin27底座,可结合更多的Microduino模块;
*体积小
+
*底板体积小,46.99mm*40.64mm
  
 
==规格==
 
==规格==
*6.4V-8.4V输入电压
+
*电气
*使用ETA1483降压芯片
+
**5V稳压:采用ETA1483降压方案,工作电压范围4.5V~18V,最大输出电流2A
 +
**3.3V稳压:AMS1117稳压方案,最高输出电流可达1A
 +
**输入电压检测,A7引脚可检测输入电源电压
 +
*电机驱动
 +
**采用4个A4988SETTR步进电机驱动器,驱动电源取自输入电源,每路最大输出电流可达2A
 +
**驱动器控制引脚说明
 +
{|class="wikitable"
 +
|-
 +
|功能||A驱动器||B驱动器||C驱动器||D驱动器
 +
|-
 +
|ENABLE||D4||D4||D4||D4
 +
|-
 +
|Step||D5||D6||D7||D8
 +
|-
 +
|dir ||A0||A1||A2||A3
 +
|}
 +
**A4988SETTR有三个端口用来设置步进电机微步分辨率,如下表
 +
{|class="wikitable"
 +
|-
 +
|MS1||MS2||MS3||微步设置
 +
|-
 +
|Low||Low||Low||全步进
 +
|-
 +
|High||Low||Low||半步进
 +
|-
 +
|Low||High||Low||1/4步进
 +
|-
 +
|High||High||Low||1/8步进
 +
|-
 +
|High||High||High||1/16步进
 +
|}
 +
**步进电机通常有一个固定步长,如1.8°(200步/转),A4988驱动器可以支持更高的微步驱动方式。例如用1/4模式时,电机将通过使用四种不同的电流,使电机驱动分辨率提高到每转800个微步,从而获得更高的控制精度。通过设置MS1,MS2和MS3可以得到5种不同的微步分辨率(默认为1/8步进方式),如下图所示:
 +
[[File:MicroStep-setup.jpg||600px|center]]
 +
**通过调节驱动器上的电位器可以调节步进电机的最大输出电流。能够让步进电机工作在额定电压之上,以达到更高的步率。一般步进电机使用A4988驱动时,步进电机实际测量的电流,大约是A4988输出电流上限的70%,所以需要设定的电流输出上限,会是电机标定的额定电流除以0.7。可以用如下方法计算,通过测量电压REF引脚,计算出相应的限电流(此处电流检测电阻为0.05Ω)。
 +
'''电流限制 = VREG X 2.5'''
 +
 
 +
因此,如果要电机线圈得到1A的电流,电流限制应为1A/0.7 = 1.4A,这相当于VREF = 1.4A/2.5 = 0.56V。需要通过调节电位器将VREF电压调至0.56V。
 +
**可变电阻的金属螺丝头就是Vref的测量点,用万用表的正极做测量,另一头接在GND
 +
**调整效果:调整的时候最终要使电流可以驱动步进电机,保证力量足够,但是不要过大使电机过热。
 +
'''注意:驱动板长时间大电流工作时,芯片会发热。有条件的话需要在上面加装散热片,帮助芯片散热。'''
 +
*板载一个I2C接口,用于扩展
 +
 
 +
 
 
*SS34二极管整流
 
*SS34二极管整流
 
*采用4988SETTR步进电机驱动
 
*采用4988SETTR步进电机驱动
第47行: 第96行:
 
*Upin27底座
 
*Upin27底座
 
*步进电机驱动模式:1/8(默认)
 
*步进电机驱动模式:1/8(默认)
 
+
===电机细分详解===
 
{|class="wikitable"
 
{|class="wikitable"
 
! rowspan="1" |MS1 || MS2 ||MS3 || 步进模式
 
! rowspan="1" |MS1 || MS2 ||MS3 || 步进模式
第63行: 第112行:
 
[[File:Stpshdxifen.jpg||400px|center]]
 
[[File:Stpshdxifen.jpg||400px|center]]
 
引脚说明:
 
引脚说明:
[[File:Fronttip.jpg||400px|center]]
+
[[File:Fronttip.jpg||600px|center]]
*步进电机驱动芯片A4988SETTR特点:
+
===步进电机驱动芯片A4988SETTR特点===
 
**低RDS(上)输出
 
**低RDS(上)输出
 
**自动电流衰减模式检测/选择
 
**自动电流衰减模式检测/选择
第76行: 第125行:
 
**负载短路保护
 
**负载短路保护
 
**五个可选步模式全1/2,1/4,1/8,和1/16
 
**五个可选步模式全1/2,1/4,1/8,和1/16
 +
 +
===A4988电流调整===
 +
[[File:Apeitiaozheng.jpg||400px|thumb|center]]
 +
*调整4988步进马达驱动板电流上限特别注意:测量电压的时候千万要小心,不要短路到不该碰到的接点,很可能会造成4988烧毁!!!
 +
*特别注意:4988的输出电流,超过1安培的话,必须加装散热片。超过1.5安培,需要再加风扇。就算有安装散热片、风扇,输出电流也不应超过2安培。否则有烧毁的危险。
 +
*根据Pololu产品网页上的说明,一般步进马达使用4988驱动时,步进马达实际测量到的电流,大约是4988输出电流上限的0.7倍。所以需要设定的电流输出上限,会是马达标定的额定电流除以0.7。
 +
*4988输出电流上限的计算公式:I=Vref/(8xRs).
 +
*Vref是参考电压,利用可变电阻设计出可以调整Vref的电路,让使用者能够自行调整输出电流上限。
 +
Rs是参考电阻,我们使用的是0.11Ω的。
 +
*可变电阻的金属螺丝头就是Vref的测量点,用万用表的正极做测量,另一头接在GND
 +
*举例说明如果你买到的步进马达,额订电流是1.5安培,那4988输出电流上限会是 1.5/0.7 = 2.14 安培。之后Rs是0.11欧姆,那你需要把Vref调整成 (1.5/0.7)*8*0.11 = 1.88伏特
 +
*调整效果:调整的时候最终要使电流可以驱动步进电机,保证力量足够,但是不要过大使电机过热。
  
 
==文档==
 
==文档==
*电路图:
+
*原理图:
[[http://pan.baidu.com/s/1pJRTBcf 百度盘地址]]
+
【'''[[media:Microduino-Stepper.pdf |Shield Stepper原理图]]'''】
提取码:tram
+
 
 
*步进电机驱动A4988SETTR
 
*步进电机驱动A4988SETTR
[[http://pan.baidu.com/s/1eRaZvLg datasheet.pdf]]
+
【'''[[media:A4988datasheet.pdf | A4988Datasheet]]'''】
提取码:or2r
 
  
 
==开发==
 
==开发==
 
主要应用在平衡车上。Upin27接口可叠加Microduino扩展模块做二次开发。
 
主要应用在平衡车上。Upin27接口可叠加Microduino扩展模块做二次开发。
 +
*简单示例程序
 +
将步进电机使用2.54 4pin连接线接在MotorA接口上
 +
程序效果是使步进电机正转一个角度,停止500ms继续正转。如需要反转则将注释部分取消并注释掉上面两行
 +
<source lang="cpp">
 +
//声明Motor1引脚的驱动管脚D5,A0,使能D4
 +
#define MOTOR_EN 4 //PORTB,0
 +
#define MOTOR1_DIR A0 //PORTA,7
 +
#define MOTOR1_STEP 5 //PORTB,1
 +
 +
void setup() {
 +
  // put your setup code here, to run once:
 +
  pinMode(MOTOR_EN, OUTPUT);
 +
  pinMode(MOTOR1_DIR, OUTPUT);
 +
  pinMode(MOTOR1_STEP, OUTPUT);
 +
 +
  digitalWrite(MOTOR_EN, LOW);  //使能
 +
 +
}
 +
void step(boolean dir, int steps)  //步进函数,第一个变量是方向,第二个变量是步数即转的角度
 +
{
 +
  digitalWrite(MOTOR1_DIR, dir);
 +
  delay(5);
 +
  for (int i = 0; i < steps; i++) {
 +
    digitalWrite(MOTOR1_STEP, HIGH);
 +
    delayMicroseconds(200);
 +
    digitalWrite(MOTOR1_STEP, LOW);
 +
    delayMicroseconds(200);
 +
  }
 +
}
 +
 +
void loop() {
 +
  step(1, 1000);  //正转
 +
  delay(500);
 +
//  step(0,1000);  //反转
 +
//  delay(500);
 +
}
 +
 +
</source>
  
 
==应用==
 
==应用==

2017年4月29日 (六) 04:07的最新版本

Language English
Microduino-Shield Stepper

Microduino-Shield Stepper板子一款带转换器和过流保护的DMOS微步驱动底板,该底板可在全、半、1/4、1/8、1/16步进模式下驱动两相步进电机,能够最多同时操作4路电机。


特色

步进电机是一种将脉冲信号变换成相应的角位移(或线位移)的电磁装置,是一种特殊的电机。一般电机都是连续转动的,而步进电机则有定位和运转两种基本状态,当有脉冲输入时步进电机一步一步地转动,每给它一个脉冲信号,它就转过固定的角度。

  • 宽电源输入范围
  • 适用两相四线步进电机,最多驱动4路
  • 只有简单的步进和方向控制接口,易于控制
  • 五种不同的步进模式:全、半、1/4、1/8和1/16
  • 可调电位器可以调节最大电流输出,从而获得更高的步进率
  • 自动电流衰减模式检测/选择
  • 具有过热关闭、欠压锁定、交叉电流保护功能
  • Upin27底座,可结合更多的Microduino模块;
  • 底板体积小,46.99mm*40.64mm

规格

  • 电气
    • 5V稳压:采用ETA1483降压方案,工作电压范围4.5V~18V,最大输出电流2A
    • 3.3V稳压:AMS1117稳压方案,最高输出电流可达1A
    • 输入电压检测,A7引脚可检测输入电源电压
  • 电机驱动
    • 采用4个A4988SETTR步进电机驱动器,驱动电源取自输入电源,每路最大输出电流可达2A
    • 驱动器控制引脚说明
功能 A驱动器 B驱动器 C驱动器 D驱动器
ENABLE D4 D4 D4 D4
Step D5 D6 D7 D8
dir A0 A1 A2 A3
    • A4988SETTR有三个端口用来设置步进电机微步分辨率,如下表
MS1 MS2 MS3 微步设置
Low Low Low 全步进
High Low Low 半步进
Low High Low 1/4步进
High High Low 1/8步进
High High High 1/16步进
    • 步进电机通常有一个固定步长,如1.8°(200步/转),A4988驱动器可以支持更高的微步驱动方式。例如用1/4模式时,电机将通过使用四种不同的电流,使电机驱动分辨率提高到每转800个微步,从而获得更高的控制精度。通过设置MS1,MS2和MS3可以得到5种不同的微步分辨率(默认为1/8步进方式),如下图所示:
MicroStep-setup.jpg
    • 通过调节驱动器上的电位器可以调节步进电机的最大输出电流。能够让步进电机工作在额定电压之上,以达到更高的步率。一般步进电机使用A4988驱动时,步进电机实际测量的电流,大约是A4988输出电流上限的70%,所以需要设定的电流输出上限,会是电机标定的额定电流除以0.7。可以用如下方法计算,通过测量电压REF引脚,计算出相应的限电流(此处电流检测电阻为0.05Ω)。

电流限制 = VREG X 2.5

因此,如果要电机线圈得到1A的电流,电流限制应为1A/0.7 = 1.4A,这相当于VREF = 1.4A/2.5 = 0.56V。需要通过调节电位器将VREF电压调至0.56V。

    • 可变电阻的金属螺丝头就是Vref的测量点,用万用表的正极做测量,另一头接在GND
    • 调整效果:调整的时候最终要使电流可以驱动步进电机,保证力量足够,但是不要过大使电机过热。

注意:驱动板长时间大电流工作时,芯片会发热。有条件的话需要在上面加装散热片,帮助芯片散热。

  • 板载一个I2C接口,用于扩展


  • SS34二极管整流
  • 采用4988SETTR步进电机驱动
  • 引脚与功能
功能 引脚
ENABLE D4
A.Step D5
A.dir A0
B.Step D6
B.dir A1
C.Step D7
C.dir A2
D.Step D8
D.dir A3
电池电量 A7
  • 留出IIC接口
  • 4个步进电机接口
  • Upin27底座
  • 步进电机驱动模式:1/8(默认)

电机细分详解

MS1 MS2 MS3 步进模式
L L L
H L L
L H L 4细分
H H L 8细分
H H H 16细分
Stpshdxifen.jpg

引脚说明:

步进电机驱动芯片A4988SETTR特点

    • 低RDS(上)输出
    • 自动电流衰减模式检测/选择
    • 混合和慢速电流衰变模式
    • 低功耗的同步整流
    • 内部UVLO
    • 交叉电流保护
    • 3.3和兼容5 V的逻辑供应
    • 热关断电路
    • Short-to-ground保护
    • 负载短路保护
    • 五个可选步模式全1/2,1/4,1/8,和1/16

A4988电流调整

  • 调整4988步进马达驱动板电流上限特别注意:测量电压的时候千万要小心,不要短路到不该碰到的接点,很可能会造成4988烧毁!!!
  • 特别注意:4988的输出电流,超过1安培的话,必须加装散热片。超过1.5安培,需要再加风扇。就算有安装散热片、风扇,输出电流也不应超过2安培。否则有烧毁的危险。
  • 根据Pololu产品网页上的说明,一般步进马达使用4988驱动时,步进马达实际测量到的电流,大约是4988输出电流上限的0.7倍。所以需要设定的电流输出上限,会是马达标定的额定电流除以0.7。
  • 4988输出电流上限的计算公式:I=Vref/(8xRs).
  • Vref是参考电压,利用可变电阻设计出可以调整Vref的电路,让使用者能够自行调整输出电流上限。

Rs是参考电阻,我们使用的是0.11Ω的。

  • 可变电阻的金属螺丝头就是Vref的测量点,用万用表的正极做测量,另一头接在GND
  • 举例说明如果你买到的步进马达,额订电流是1.5安培,那4988输出电流上限会是 1.5/0.7 = 2.14 安培。之后Rs是0.11欧姆,那你需要把Vref调整成 (1.5/0.7)*8*0.11 = 1.88伏特
  • 调整效果:调整的时候最终要使电流可以驱动步进电机,保证力量足够,但是不要过大使电机过热。

文档

  • 原理图:

Shield Stepper原理图

  • 步进电机驱动A4988SETTR

A4988Datasheet

开发

主要应用在平衡车上。Upin27接口可叠加Microduino扩展模块做二次开发。

  • 简单示例程序

将步进电机使用2.54 4pin连接线接在MotorA接口上 程序效果是使步进电机正转一个角度,停止500ms继续正转。如需要反转则将注释部分取消并注释掉上面两行

//声明Motor1引脚的驱动管脚D5,A0,使能D4
#define MOTOR_EN 4 //PORTB,0 
#define MOTOR1_DIR A0 //PORTA,7 
#define MOTOR1_STEP 5 //PORTB,1 

void setup() {
  // put your setup code here, to run once:
  pinMode(MOTOR_EN, OUTPUT);
  pinMode(MOTOR1_DIR, OUTPUT);
  pinMode(MOTOR1_STEP, OUTPUT);

  digitalWrite(MOTOR_EN, LOW);  //使能

}
void step(boolean dir, int steps)  //步进函数,第一个变量是方向,第二个变量是步数即转的角度
{
  digitalWrite(MOTOR1_DIR, dir);
  delay(5);
  for (int i = 0; i < steps; i++) {
    digitalWrite(MOTOR1_STEP, HIGH);
    delayMicroseconds(200);
    digitalWrite(MOTOR1_STEP, LOW);
    delayMicroseconds(200);
  }
}

void loop() {
  step(1, 1000);   //正转
  delay(500);
//  step(0,1000);  //反转
//  delay(500);
}

应用

开源平衡车/zh

购买

历史

图库

Shield Stepper Front
Shield Stepper back

视频