步进电机驱动实验

步进电机驱动实验

实验目的

步进电机旋转

理论学习

步进电机红色线为VCC,其余4个为4个相位。步进电机相位控制,如果选择相位A,单片机给驱动板BJ1引脚高电平,其他的BJ2/BJ3/BJ4引脚低电平。

原理图

在这里插入图片描述
在这里插入图片描述

代码编写

//定义引脚
#include<Arduino.h>
#define A1 2
#define B1 1
#define C1 4
#define D1 5
void Phase_A();
void Phase_B();
void Phase_C();
void Phase_D();
void setup() {
    
    
  // put your setup code here, to run once:
  pinMode(A1,OUTPUT);
  pinMode(B1,OUTPUT);
  pinMode(C1,OUTPUT);
  pinMode(D1,OUTPUT);
}
void loop() {
    
    
  // put your main code here, to run repeatedly:
  Phase_A();//设置相位
  delay(10);//改变延时可以改变旋转速度
  Phase_B();//设置相位
  delay(10);//改变延时可以改变旋转速度
  Phase_C();//设置相位
  delay(10);//改变延时可以改变旋转速度
  Phase_D();//设置相位
  delay(10);//改变延时可以改变旋转速度
}
void Phase_A(){
    
    
  //A1引脚高电平
  digitalWrite(A1,HIGH);
  digitalWrite(B1,LOW);
  digitalWrite(C1,LOW);
  digitalWrite(D1,LOW);
  }
void Phase_B(){
    
    
  //B1引脚高电平
  digitalWrite(A1,LOW);
  digitalWrite(B1,HIGH);
  digitalWrite(C1,LOW);
  digitalWrite(D1,LOW);
  }
void Phase_C(){
    
    
  //C1引脚高电平
  digitalWrite(A1,LOW);
  digitalWrite(B1,LOW);
  digitalWrite(C1,HIGH);
  digitalWrite(D1,LOW);
  }
void Phase_D(){
    
    
  //D1引脚高电平
  digitalWrite(A1,LOW);
  digitalWrite(B1,LOW);
  digitalWrite(C1,LOW);
  digitalWrite(D1,HIGH);
  }

猜你喜欢

转载自blog.csdn.net/qq_45671732/article/details/109008534