Arduino-TB6600驱动42步进电机[通俗易懂]

Arduino-TB6600驱动42步进电机[通俗易懂]设计者:STCode(公众号同名)Arduino控制42步进电机串口控制旋转位置1)描述42步进电机的驱动方式有多种,例如用A4988步进电机模块,这次我们使用TB6600驱动器驱动一个42步进电机,设置东南西北四个方向,当串口输入1、2、3、4时,步进电机转轴转到对应的方向。2)使用主要器件1、ArduinoUno控制板2、42步进电机3、TB6600驱动器4

大家好,欢迎来到IT知识分享网。

设计者:STCode (公众号同名)

Arduino控制42 步进电机 串口控制旋转位置

1)描述

42步进电机的驱动方式有多种,例如用A4988步进电机模块,这次我们使用TB6600驱动器驱动一个42步进电机,设置东南西北四个方向,当串口输入1、2、3、4时,步进电机转轴转到对应的方向。

2) 使用主要器件

1、Arduino Uno控制板
2、42步进电机
3、TB6600驱动器
4、导线

3)元件介绍

①42步进电机:
42步进电机为两相四线电机,相数是指线圈内部的线圈组数,目前常用的有二相-五相步进电机。电机相数不同,其步距角也不同,一般二相电机的步距角为0.9°/1.8°,四线就是电机出线有四根线。
在这里插入图片描述

②TB6600参数:

驱动器型号 TB6600
控制信号 3.3V/5/24V通用
输入电压 DC9~42V
电流 0.5A~3.5A
最大细分数 6400细分

4)电路设计

序号—————-Arduino Uno板引脚号——————TB6600驱动器
1 —————————D3 —————————————-DIR+
2 —————————D4 —————————————-PUL+
3 ————————-GND —————————————-DIR-
4 ————————-GND —————————————-PUL-
步进电机的A+、A-、B+、B-分别对应接到驱动器的A+、A-、B+、B-。

接线如图所示
在这里插入图片描述

将驱动器的拨码开关拨至如图所示
在这里插入图片描述
拨码开关的S1、S2、S3是用来设置细分数的,可以设置细分数200、400、800、1600等,设置为200的话,给一个脉冲是转1.8°,设置为400的话,给一个脉冲是转0.9°,为了演示方便,这里选择800细分,给一个脉冲是转0.45度,因此同样频率的脉冲信号可以使得步进电机的转速更低。

拨码开关的S4、S5、S6是用来调电流大小的,我用的步进电机的额定电流为1.5A,因此设置S4-ON、S5-ON、S6-OFF。
在这里插入图片描述

5) 程序设计

#define DIR 3 //方向信号
#define PUL 4 //脉冲信号

定义引脚

  pinMode(DIR, OUTPUT);
  pinMode(PUL, OUTPUT);

定义引脚模式

  Serial.begin(9600);
  digitalWrite(DIR, LOW);//设置步进电机转动方向

设置串口波特率和转动方向,HIGH和LOW对应不同方向。

if(Serial.available()>0)
    { 
   
        num=Serial.read();
        Serial.println(num);
    }


串口读取数据

void turn(int count)
{ 
   
    for(int i=0;i<count;i++)
    { 
   
        digitalWrite(PUL, HIGH);
        delayMicroseconds(800);
        digitalWrite(PUL, LOW);
        delayMicroseconds(800);    
    }
}

转轴旋转子函数,count为200,转轴转1/4圈,count为400,转轴转1/2圈,以此类推。

更多创意作品请关注公众号:STCode

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/26343.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信