0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino UNO和TIP120晶体管驱动和控制直流电机的速度

科技观察员 来源:electroschematics 作者:electroschematics 2024-02-11 10:08 次阅读

在本 Arduino 电机指南中,您将学习如何使用 Arduino UNO 和 TIP120晶体管驱动和控制直流电机的速度。在此示例中,您将使用按钮来提高电机速度,然后减慢速度,这要归功于脉宽调制 (PWM) 的强大功能。

所需材料:

Arduino的

直流电动机

TIP120 晶体管

1N4001二极管

9V电池

按钮(瞬时开关)

10kΩ 电阻器

面包板和跳线

Arduino电机电路

在下面的电路中,我们将晶体管连接为开关来控制直流电机,以避免从Arduino本身拉出大量电流

1.png

通过 5 千欧电阻器将瞬时开关连接到 10V 和 GND,信号进入 Arduino 上的数字引脚 2。

将 TIP120 晶体管的基座连接到 Arduino 上的数字引脚 9,将发射器连接到 Arduino
的接地,将集电极连接到直流电机的一根引线。

在电机引线上放置一个 1N4001 二极管,确保条纹侧连接到 9V 正极引线。

用 9V 电池为电机供电,将接地连接到 Arduino 的接地,将正极连接到电机。

2.png

Arduino直流电机代码示例

以下是控制电机的示例代码。这是一个简单的草图,它对按钮的状态做出反应,以使用 TIP120 晶体管作为开关来控制电机的速度。

int buttonPin = 2; // Button connected to digital pin 2
int motorPin = 9; // Transistor base connected to digital pin 9

void setup() {
pinMode(buttonPin, INPUT); // Initialize button pin as an input
pinMode(motorPin, OUTPUT); // Initialize motor pin as an output
}

void loop() {
// Detect button press
if (digitalRead(buttonPin) == HIGH) {
// Increase motor speed progressively
for (int speedLevel = 0; speedLevel <= 255; speedLevel++) {
analogWrite(motorPin, speedLevel);
delay(50); // Wait a bit between speed increases
}

// Decrease motor speed progressively
for (int speedLevel = 255; speedLevel >= 0; speedLevel--) {
  analogWrite(motorPin, speedLevel);
  delay(50);  // Wait a bit between speed decreases
}

}
}

附注事项:

Arduino的引脚可在5V电压下提供最大40mA电流。由于大多数电机需要更大的电流,因此 TIP120
晶体管充当数字开关来控制电气要求更高的电机。

确保二极管放置在正确的方向,以防止电机关闭时反电动势损坏晶体管。
审核编辑:陈陈

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 直流电机
    +关注

    关注

    36

    文章

    1709

    浏览量

    70106
  • 晶体管
    +关注

    关注

    77

    文章

    9651

    浏览量

    137923
  • Arduino
    +关注

    关注

    187

    文章

    6465

    浏览量

    186729
收藏 人收藏

    评论

    相关推荐

    Arduino实践详细说明之L298N驱动直流电机

    基于arduino uno 利用l298n驱动板来控制直流电机的正反转和速度L298N说明这是其
    发表于 06-29 08:06

    一种arduino直流电机

    直流电机(DC)这一期我们来学习如何控制直流电机。需要材料:Arduino UNO直流电机——本
    发表于 06-29 06:45

    直流电机速度

    直流电机速度,基于arduino控制带编码器直流电机速度模块:带减速的
    发表于 07-08 10:12

    arduino uno如何利用l298n驱动板来控制直流电机的正反转和速度

    arduino uno如何利用l298n驱动板来控制直流电机的正反转和速度
    发表于 10-20 07:34

    如何利用H桥实现直流电机控制

    ,它将旋转在另一个方向。(注意: 必须小心,不能同时按下 sw1和 sw3或 sw2和 SW4,否则会造成供电短路)图2: 晶体管构成的控制直流电机转速和转动的 h 桥电路图该电路用 NPN 型
    发表于 03-29 16:50

    如何使用PWM和555定时器IC电路来控制直流电机速度

    用 PWM 对直流电机进行速度控制。这里我使用了 TIP122 NPN 功率晶体管,但你也可以使用 IRFZ44N mosfet。
    发表于 07-01 08:48

    使用 H 桥驱动 PCB 控制直流电机方向参考资料

    驱动器的工作原理:H桥驱动电路由四个晶体管组成,它们充当开关,通过在正向或反向方向上关闭或打开电机来旋转或旋转电机。它是一个标准的
    发表于 08-03 11:07

    详解Arduino Uno控制直流电机之应用

    Arduino Uno手册上有其关于控制直流电机的详细介绍,如果仔细阅读,实现起来很简单的。可以结合本文的系统,对其进一步理解,则可以编写响应的代码。
    的头像 发表于 10-07 11:35 2.1w次阅读

    Arduino直流电机调速

    Arduino直流电机调速(深圳市核达中远通电源技术有限公司招聘电话)-基于Arduino直流电机调速                        
    发表于 09-18 16:12 61次下载
    <b class='flag-5'>Arduino</b>的<b class='flag-5'>直流电机</b>调速

    使用晶体管TIP31的直流电机控制器电路

    这是一个直流电机控制器电路,使用基于H桥概念的晶体管TIP31构建。开关S1和S2为常开,按下关闭,按下按钮开关。
    的头像 发表于 06-07 11:09 2330次阅读
    使用<b class='flag-5'>晶体管</b><b class='flag-5'>TIP</b>31的<b class='flag-5'>直流电机</b><b class='flag-5'>控制</b>器电路

    使用Arduino和L298电机驱动器制作直流电机速度控制

    电子发烧友网站提供《使用Arduino和L298电机驱动器制作直流电机速度控制器.zip》资料免
    发表于 11-10 09:58 2次下载
    使用<b class='flag-5'>Arduino</b>和L298<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>器制作<b class='flag-5'>直流电机</b><b class='flag-5'>速度</b><b class='flag-5'>控制</b>器

    arduino直流电机

    这一期我们来学习如何控制直流电机。 需要材料:Arduino UNO 直流电机——本文以12V额定
    发表于 03-30 13:46 3次下载
    <b class='flag-5'>arduino</b><b class='flag-5'>直流电机</b>

    使用Arduino和电位器控制直流电机速度

    直流电机是机器人和电子项目中使用最多的电机。对于控制直流电机速度,我们有多种方法,例如可以根据温度自动
    发表于 03-30 11:11 0次下载
    使用<b class='flag-5'>Arduino</b>和电位器<b class='flag-5'>控制</b><b class='flag-5'>直流电机</b><b class='flag-5'>速度</b>

    ros与arduino通信控制直流电机

    前言:在成功通过arduino开发板控制直流电机后,开始尝试用ros与arduino通信来控制直流电机
    发表于 03-31 11:45 4次下载
    ros与<b class='flag-5'>arduino</b>通信<b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>

    使用Arduino直流电机MOSFET控制速度

    电子发烧友网站提供《使用Arduino直流电机MOSFET控制速度.zip》资料免费下载
    发表于 06-27 15:13 0次下载
    使用<b class='flag-5'>Arduino</b>的<b class='flag-5'>直流电机</b>MOSFET<b class='flag-5'>控制</b><b class='flag-5'>速度</b>