黄工无刷电机学习
直播中

李欢

7年用户 1051经验值
私信 关注
[问答]

如何连接双极步进电机到Arduino Uno板?

如何连接双极步进电机到Arduino Uno板?

回帖(1)

张琨

2021-10-28 11:22:02
在本文中,我们将展示如何连接双极步进电机到Arduino Uno板,步进电机使用的是四线双极步进电机。由于步进电机所需要的电流比Arduino处理器所能承受的电流要大得多,所以我们将使用四路半高驱动器 1A – SN754410 来控制。





SN754410

更快,更便宜,更小是SN7554410的特点,关键是它使用TTL 5V逻辑电压就能驱动高压步进电机,SN754410在1A连续输出电流的情况下,可以提供4.5V-36V的驱动电压,确实很棒! 如果需要大电流,可以将两个设备物理地堆叠在一起以获得2A的电流。SN754410允许芯片在一个方向上控制4个电机,或者在两个方向上使用一个全H桥控制2个电机。下面是用两个全H桥控制两个电机的威廉希尔官方网站 连接图。





Arduino步进电机控制

Arduino Stepper library  可以直接支持SN754410芯片,无需做任何的代码修改,因此硬件上我们只需先按照下面的威廉希尔官方网站 图将硬件连接起来。





硬件全部连接好后,在Arduino IDE中加载一个步进电机的示例文件。上传后就能使步进电机先向一个方向旋转,然后再向另一个方向旋转了。
/*
Stepper Motor Control
该程序驱动单极或双极步进电机.
电机连接到Arduino的 digital pins 8 - 11.
电动机应该先向一个方向旋转一次,再转向另一个方向.
*/
        #include
        const int stepsPerRevolution = 200; // 改变这个值来改变电机每转一圈的步数
        // 初始化程序库 pins 8 - 11:
        Stepper myStepper(stepsPerRevolution, 8,9,10,11);
        void setup() {
        // 设置速度为 60 rpm:
        myStepper.setSpeed(60);
        // 初始化串口:
       Serial.begin(9600);
        }
       void loop() {
       // 向一个方向旋转:
       Serial.println("clockwise");
       myStepper.step(stepsPerRevolution);
       delay(500);
      // 向另一个方向旋转:
      Serial.println("counterclockwise");
      myStepper.step(-stepsPerRevolution);
      delay(500);
   }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分