网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 控制/MCU >

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

时间:2024-02-11 10:08

人气:

作者:admin

标签:

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

在本 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
晶体管充当数字开关来控制电气要求更高的电机。

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

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信