A4988与42步进电机

A4988电机驱动板引脚

在这里插入图片描述
VMOT:电源正(8~35V),供电机
GND:电机接地
2B,2A:电机绕组2控制引脚
1A.1B:电机绕组1控制引脚
VDD:驱动板电源正(3~5V)
GND:驱动板地
ENABLE:引脚低电平,A4988才能进行电机驱动工作(悬空为默认状态,可以正常工作),高电平,A4988将不会经行电机驱动工作
MS1,MS2,MS3:用来改变驱动模式具体如图
REST:低电平有效,A4988将经行复位,默认为高,可以正常工作
SLEEP:低电平经行低能耗睡眠状态,无需使用时可与REST连接,则保持正常工作不会进入低能耗状态。
STEP:步进引脚,根据脉冲经行动作
DIR:方向引脚,低:顺时针,高:逆时针

A46988使用之前要进行电压调节

电压=最大电流(电机电流)X A4988电阻 X8(本案例v=1.50.18=1.2)
一般电阻为0.05欧,0.1欧,0.2欧
电位器调节电压:顺时针调大,逆时针调小(可用万用表测电位器与接地端)

本次试验用arduino开发板

在这里插入图片描述
程序一:顺时针旋转一圈,逆时针快速旋转2圈

// 定义电机控制用常量
// A4988连接Arduino引脚号
const int dirPin = 2;  // 方向引脚
const int stepPin = 3; // 步进引脚
// 电机每圈步数
const int STEPS_PER_REV = 200; 
void setup() {
  // Arduino控制A4988步进和方向的引脚为输出模式
  pinMode(stepPin,OUTPUT); 
  pinMode(dirPin,OUTPUT);
}
void loop() {
  // 设置电机顺时针旋转
  digitalWrite(dirPin,LOW); 
  // 电机慢速旋转
  for(int x = 0; x < STEPS_PER_REV; x++) {
    digitalWrite(stepPin,HIGH); 
    delayMicroseconds(2000); //延迟2000微秒delayMicroseconds最多16383
    digitalWrite(stepPin,LOW); 
    delayMicroseconds(2000); 
  }
  // 等待一秒
  delay(1000); 
  // 设置电机逆时针旋转
  digitalWrite(dirPin,HIGH);
  // 电机快速旋转
  for(int x = 0; x < (STEPS_PER_REV * 2); x++) {
    digitalWrite(stepPin,HIGH);
    delayMicroseconds(1000);
    digitalWrite(stepPin,LOW);
    delayMicroseconds(1000);
  }
  // 等待一秒
  delay(1000);
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值