使用Arduino的直流电动机的速度和方向控制

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

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

介绍

DC电动机无处不在:电子,玩具,风扇,工具,碟片,泵等。DC电机是将直流电源转换为旋转或移动的执行器。

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

不同类型的电动机用于机器人技术,精确定位,工业自动化等的不同应用中。

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

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

因此,我们使用晶体管形成H桥以驱动电动机。电路图,描述及其工作如下。

电路原理图

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

需要组件

  • 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是项目的主要处理单元。锅的刮水器端子连接到Arduino的模拟销(A0)。其他终端连接到VCC和GND。如电路图所示,连接了四个晶体管。

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

在负载(即中心的直流电动机)的情况下,它们形成了H - 桥。晶体管Q1和Q4形成向后路径,而晶体管Q2和Q3则形成前向旋转路径。

晶体管的输入来自Arduino。Arduino的第3和2分别连接到Q1和Q4的基础。第5和4分别连接到Q2和Q3的基础。所有这些连接都是通过四个1kΩ电阻进行的。

直流电动机是电感载荷,当我们改变方向时会产生返回电动势。为了消除任何背部电动势的效果,每个晶体管的收集器和发射极中都连接了四个二极管。

在职的

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

锅连接到Arduino的模拟引脚A0。这用于调整电动机的速度。电动机的正常操作是向前方向旋转。

当一个连接到Arduino的引脚7的按钮被激活或按下时,旋转方向被逆转,并继续向该方向旋转,直到再次按下按钮为止。

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

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

按下按钮时,对Arduino进行编程以检测引脚7的逻辑低。按下按钮一次时,必须打开晶体管Q1和Q4。因此,Arduino的第3和2销量变高。如果再次按下按钮,则电动机会向反向旋转。

笔记:我不是在必要时直接打开晶体管Q1和Q3,而是根据锅的值提供PWM信号,以便您可以控制旋转速度。

代码

笔记

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

申请

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

推荐阅读:

17个回应

  1. 使用Ardino在迷你项目中使用Ardino对DC电机的速度和表达控制给定供应详细信息告诉我请告诉我先生

      1. 您可以提交代码,使DC电动机在按钮一次按一下按钮时并以5秒为单位旋转,如果第二次按下,则可以逆时针旋转Motor,以5秒钟的速度旋转吗?十分感谢

  2. 如果我向电动机提供12V,它不会损坏Arduino板吗?
    锅也将连接到12V电源(根据电路)。
    据我所知,Arduino的AO的最大电压应为5V。

    1. 电路图中显示的电路是H桥电路。该电路驱动电动机。Arduino引脚用于给出该电路的输入。因此,对Arduino引脚不会影响。

  3. 我带来了上面解释的电路组件,并上传了上面的Arduino代码,每次都会给我错误时,当我专注于连接图时,我发现了直接连接到大约引脚8的5伏引脚的电线,我该怎么办?

    1. 你好,
      引脚8没有连接。它在电路中不使用。
      检查您的连接,然后重试。确保您的连接和代码匹配。

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map