使用Arduino的DC电机的速度和方向控制

在这个项目中,我将向您展示如何使用Arduino Uno实现DC电机的速度和方向控制。这是一个简单的项目,使用Arduino Uno和一些容易可用的组件来控制直流电机的旋转速度以及其旋转方向。

使用Arduino Image 1的DC电动机的速度和方向控制1

介绍

直流电机随处可见:电子产品,玩具,风扇,工具,光盘,泵等。直流电机是一种执行器,将直流电源转换为旋转或运动。

直流电机有不同的类型:有刷直流电机,无刷直流电机,齿轮直流电机,伺服电机,步进电机和直流直线执行器。

不同类型的电动机用于不同的应用,如机器人,精密定位,工业自动化等。

通常,当DC电动机与基于微控制器的系统相关联时,它通常使用电机驱动器IC连接。电机驱动IC为电机运行提供必要的电流。它还可以控制旋转的方向。

在该项目中,设计了一种无需使用电机驱动器IC的arduino基于Arduino电机的速度和方向控制。直流电机无法连接到微控制器,因为微控制器的输出电流非常小,并且不能驱动电动机。

因此,我们使用晶体管形成h桥来驱动电机。电路图、说明及其工作原理如下。

电路图

使用Arduino电路图DC电动机的速度和方向控制

需要组件

  • Arduino UNO [在这里买]
  • USB电缆
  • 电阻器(R1,R2,R3,R4) - 1kΩ
  • 二极管(D1,D2,D3,D4) - 1N4007
  • 晶体管(Q1,Q2,Q3,Q4) - 2N2222
  • 直流电机
  • 按钮
  • 电位计 - 10kΩ.
  • 连接电线
  • 面包板
  • 9V电池
  • 电池连接器

组件描述

Arduino Uno.

它是一个基于单片机的原型板。Arduino Uno板上使用的微控制器是ATmega328p。Arduino负责通过其他组件控制电机的速度和方向。

2N2222

它是一个NPN晶体管,输出电流为800mA。Arduino的I/O引脚的最大输出电流是50mA,这不足以驱动电机。因此,使用了四个具有高电流能力的晶体管。

电路设计

Arduino是项目的主要处理单元。POT的雨刷端子连接Arduino的模拟引脚(A0)。其他端子连接Vcc和GND。如图所示,四个晶体管连接在一起。

利用Arduino图像控制直流电机的速度和方向

通过负载I.E.中心的直流电动机,它们形成了H桥。晶体管Q1和Q4形成后向方向路径,而晶体管Q2和Q3形成前向旋转路径。

对晶体管的输入从Arduino给出。Arduino的引脚3和2分别连接到Q1和Q4的基部。销5和4分别连接到Q2和Q3的基部。所有这些连接都通过四个1kΩ电阻进行。

直流电动机是一种电感负载,当我们改变方向时,可以产生回电源。为了消除任何后EMF的效果,四个二极管通过每个晶体管的集电极和发射器连接。

在职的

该项目的目的是在不使用电机驱动器IC的情况下控制直流电动机的速度和方向。因此,我们需要使用晶体管形成H桥以驱动电动机。此处在此处解释项目的工作假设根据电路图进行所有连接。

POT连接Arduino的模拟引脚A0。这是用来调整电机的速度。电机的正常运转是正向旋转。

当连接Arduino第7引脚的按钮被激活或按下时,旋转的方向将被反转,并继续朝该方向旋转,直到再次按下按钮。

为了向前旋转电机,必须打开晶体管Q2和Q3。因此,Arduino的输出5和4高。

利用Arduino图像控制直流电机的速度和方向

当按下按钮时,Arduino被编程为检测销7上的逻辑低电平。按下按钮后,必须打开晶体管Q1和Q4。因此,arduino的销3和2使得高。如果再次按下按钮,电机旋转反向旋转。

注意:而不是直接打开晶体管Q1和Q3每当必要时,我提供一个基于POT的值的PWM信号,以便您可以控制转速。

代码

请注意

  • 该项目采用2N2222晶体管构建,该晶体管具有800mA的最大电流额定值,足以驱动低电流电机。对于具有较大电流要求的驱动电机,可以使用BD139(最多1.5A)或其他MOSFET。

应用程序

  • 该电路可用于驱动单个直流电机,而无需电机驱动集成电路。
  • 该电路可以通过实现双h桥连接扩展到2个电机。
  • 可用于简单的机器人应用,控制方向和速度的单电机。

推荐读数:

17回应

    1. 我们已经提供了文章中的所有细节,请让我们清楚地知道您还需要什么细节,以便我们更新它。

      1. 您可以提交DC电机在按下按钮时顺时针旋转5秒的代码,如果推动第二次,它会逆时针旋转5秒钟?非常感谢

  1. 如果我给电机提供12V不会损坏arduino板吗?
    罐也将连接到12V电源(根据电路)。
    从我知道Arduino的AO应该具有5V的最大电压。

    1. 电路图中所示电路为H桥电路。这个电路驱动马达。Arduino引脚用于给这个电路输入。所以对arduino引脚没有影响。

  2. 我带来了上面解释的电路组件,并上传了上面的Arduino代码,每次都给我错误,当我关注连接图时,我发现从5伏引脚直接连接到大约8引脚,我能做什么,先生?

    1. 你好,
      PIN 8没有连接。它不使用电路。
      请检查连接,然后再试一次。确保您的连接和代码匹配。

发表评论

您的电子邮件地址不会被公开。必填字段被标记*