返回主站 | 设为首页 | 加入收藏      
   
 
  首页 关于我们 产品展示 方案设计 技术分享 行业资讯 联系我们  
 
无线收发IC
2.4G无线收发IC
315MHz/433MHz无线遥控器发射接收IC
功放IC
电源管理IC
马达驱动IC/步进电机控制芯片
数模(DAC)/模数(ADC)转换芯片
智能处理器
音量控制IC
模拟开关IC
电容式触摸感应IC
RGB LED呼吸趣味灯驱动IC
音频CODEC IC
方案设计
电压电平转换器IC
运算放大器
I/O扩展器IC
 
名称:
种类:
类别:

业务洽谈:

联系人:张顺平 
手机:17727550196(微信同号) 
QQ:3003262363
EMAIL:zsp2018@szczkjgs.com

联系人:鄢先辉 
手机:17727552449 (微信同号)
QQ:2850985542
EMAIL:yanxianhui@szczkjgs.com

负责人联络方式:
手机:13713728695(微信同号) 
QQ:3003207580 
EMAIL:panbo@szczkjgs.com
联系人:潘波

 
当前位置:首页 -> 技术分享
A4988的引脚图及运用
文章来源:永阜康科技 更新时间:2023/11/21 15:07:00

在本文中,我们将学习如何使用A4988步进电机驱动模块来控制步进电机。A4988是控制双极步进电机的驱动模块,因为它非常便宜同时便于操作,因此在很多Arduino制作项目中A4988得到了广泛的应用。

因为A4988内置了译码器,我们可以可以通过控制器的2个引脚来控制步进电机,一个控制旋转方向,另一个控制步数。A4988提供了五种不同的微步控制:全步(full-step),半步(haft-step),四分一步(quarter-step),八分之一步(eight-step)和十六分之一步(sixteenth-step)。此外,它还配备了一个调节电流输出、过热保护和过流保护的电位计。A4988的逻辑电压范围是:3~5.5V,如果配备较好的散热条件每相最大电流可达2A,在没有配备散热器的情况下,每相连续电流最好控制在1A范围内。

A4988驱动模块的引脚定义图

现在,让我们看一下A4988的引脚图,然后将其与步进电机和Arduino控制器连接起来。A4988驱动模块右上侧的两个引脚(VMOT、GND)是外部供电引脚,目的是能给电机提供足够的动力输出,供电范围:8-35V,此处使用一个47uf的电解电容来保护驱动板免受瞬时电压的冲击;右下侧的VDD和GND我们需要将它连接到Arduino控制板的5V电源和GND引脚上;1A和1B引脚连接到步进电机的一相,2A和2B引脚连接到步进电机的另一相;左下角的STEP和DIR连接至Arduino控制板的P3和P4引脚,这两个针脚主要用于控制电机的运动。Direction引脚控制转动方向,STEP针脚用于控制电机旋转的步数控制。

下一个是SLEEP针脚,低电平使能使模块处于休眠模式,当电机不工作时,它可以最大程度地降低功耗,默认为高电平。RESET针脚,如果这个针脚的输入是低电平,那么所有的微步设置都将被忽略掉。因此上图将SLEEP和RESET针脚连接起来,目的是将RESET针脚设置为高电平,以便模块可控。

MS1, MS2 和 MS3针脚用于微步设置,如上图所示。ENABLE针脚用于打开和关闭场效应管的输出,低电平打开,高电平关闭。

完成本例的费用测算

  1. Arduino Mega
  2. A4988驱动板
  3. NEMA17步进电机
  4. 12V2A电源
  5. 面包板

Arduino使用A4988控制电机代码

const int stepPin = 3; 
const int dirPin = 4; 
 
void setup() {
  // Sets the two pins as Outputs
  pinMode(stepPin,OUTPUT); 
  pinMode(dirPin,OUTPUT);
}
void loop() {
  digitalWrite(dirPin,HIGH); // Enables the motor to move in a particular direction
  // Makes 200 pulses for making one full cycle rotation
  for(int x = 0; x < 200; x++) {
    digitalWrite(stepPin,HIGH); 
    delayMicroseconds(500); 
    digitalWrite(stepPin,LOW); 
    delayMicroseconds(500); 
  }
  delay(1000); // One second delay
  
  digitalWrite(dirPin,LOW); //Changes the rotations direction
  // Makes 400 pulses for making two full cycle rotation
  for(int x = 0; x < 400; x++) {
    digitalWrite(stepPin,HIGH);
    delayMicroseconds(500);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(500);
  }
  delay(1000);
}
 
 
 
    相关产品  
A4988/HTD5832(支持256细分、2.5A低噪声步进电机驱动芯片)
A4988/HR4988(内置转换器和过流保护的微特步进电机驱动IC)
 
深圳市永阜康科技有限公司 粤ICP备17113496号  服务热线:0755-82863877 手机:13242913995