Arduino控制TB6600驱动器+42步进电机

int PUL = 7; //定义脉冲引脚
int DIR = 6; //定义方向销
int ENA = 5; //定义启用引脚
int RESET = 4; //定义复位传感器

/**
 * TB6600驱动器 . 42两相四线步进电机
 */
void setup() {
  pinMode (PUL, OUTPUT);
  pinMode (DIR, OUTPUT);
  pinMode (ENA, OUTPUT);
  pinMode (RESET,INPUT);
  Serial.begin(9600);
  // 初始化复位 - 转3圈
  for (int i = 0; i < 4800; i++) //前进4800步 SW1=OFF,SW2=ON,SW3=OFF(每圈1600脉冲)
  {
    digitalWrite(DIR, LOW); // 定义正转
    digitalWrite(ENA, HIGH);// 启动
    digitalWrite(PUL, HIGH);// 输出脉冲
    delayMicroseconds(2000);
    digitalWrite(PUL, LOW);
    // 复位传感器
    int reset = digitalRead(RESET);
    if(reset == 0) {
      // 监测到达复位位置后停止转动
      break;
    }
    delayMicroseconds(2000);
  }
}

void loop() {
  for (int i = 0; i < 1600; i++) //正转1圈
  {
    digitalWrite(DIR, LOW);
    digitalWrite(ENA, HIGH);
    digitalWrite(PUL, HIGH);
    delayMicroseconds(50);
    digitalWrite(PUL, LOW);
    delayMicroseconds(50);
  }
  delay(10000); // 暂停10秒
  for (int i = 0; i < 1600; i++) //倒转1圈
  {
    digitalWrite(DIR, HIGH);
    digitalWrite(ENA, HIGH);
    digitalWrite(PUL, HIGH);
    delayMicroseconds(50);
    digitalWrite(PUL, LOW);
    delayMicroseconds(50);
  }
}

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值