基于Arduino的直流电机调速小风扇(ULN2003驱动板、小马达)

1、概述

Arduino的板载输出电流是不够的,所以我们得需要借助驱动板或者驱动器来实现。
ULN2003是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成,每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

该电路的特点如下:
1、ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
2、ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。ULN2003 采用DIP—16 或SOP—16 塑料封装。

对于模块不了解的,可以先看一下我们的模块教程[传送门],了解掌握模块使用方法后,再尝试本小实验。因为综合实验一般涉及多个模块,我们仅对全部使用我司产品的客户做技术支持,若只是部分使用我司产品的,我们只对我司产品部分是否有故障进行排查。

2、所需材料

1、UNO主控板:官方板 或者 国产板
2、辅助配件:面包板杜邦线
3、传感器和模块:ULN2003驱动板小马达电位器

3、接线图

4、示例程序

const int P=A0;//电位器输入引脚
const int U=9;
int sensorValue=0;//电位器电压值
int outputValue=0;

void setup() {
Serial.begin(9600);
}

void loop() {
//读取模拟量值
sensorValue=analogRead(P);
outputValue=map(sensorValue,0,1023,0,255);
analogWrite(U,outputValue);
Serial.print("sensor=");
Serial.print(sensorValue);
Serial.print("\t output=");
Serial.println(outputValue);

delay(2);
}

通过ULN2003芯片,改变占空比(0-255)。调节面包板上的电位器,改变电机的转速。效果如下:

2
分享到:

评论0

请先

本站资料配套硬件销售店铺:天猫店ultirobot.tmall.com 、三冠淘宝店zhongbest.taobao.com
没有账号? 忘记密码?