11.直流电机

11.直流电机

一、直流电机介绍

直流电机没有正负之分,在两端加上直流电就能工作。需要知道直流电机的额定电压和额定功率,不能使之长时间超负荷运作。在交换接线后,可以形成正反转。

开发板配置的直流电机为 5V 直流电机,其主要参数如下:

轴长:8mm

轴径:2mm

电压:1-6v

参考电流:0.35-0.4A

3v 转速:17000-18000 转每分钟,

外观实物图如下

二、ULN2003 芯片

ULN2003 是一个单片高电压、高电流的达林顿晶体管阵列集成电路。它是由 7 对 NPN 达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是 500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED 气体放电),线路驱动器和逻辑缓冲器。

ULN2003 的每对达林顿管都有一个 2.7k 串联电阻,可以直接和 TTL 或 5V CMOS 装置。 (1)主要特点

①500mA 额定集电极电流(单个输出)

②高电压输出:50V

③输入和各种逻辑类型兼容

④继电器驱动器

内部实际上就相当于非门 电路,即输入高输出为低,输入低输出高。 若使用该芯片驱动直流电机,只可实现单方向控制,电机一端接电源正极,另一端接芯片的输出口。

三、板子设计

注意:直流电机无方向,线接反只是转动方向不同而已

四、代码

#include"reg52.h"

typedef unsigned int u16;

typedef unsigned char u8;

sbit moto=P1^0;

void delay(u16 sec);

void main()

{

while(1) //电机间歇性转动

{

moto=1;

delay(50000);

moto=0;

delay(50000);

}

//moto=0;//仅运行该行,电机不转动

//moto=1;//仅运行该行,电机转动

}

void delay(u16 sec)

{

while(sec--);

}

五、乱七八糟的

如果仅设置moto=0,即P10口为低电平,那么电机不转。用万用表测电压:

黑表笔接J47模块的04针脚,红表笔接01针脚,得到电压差为0.73伏,红表笔接5v针脚可得电压差为4.31v;黑表笔接01针脚,红表笔接5v针脚,得到电压差为0.5v,不足以让电机运转。

单片机针脚默认输出高电平,即P13为1,令P10为0,两者通过ULN2003芯片后取反,04针脚=0,01针脚=1,因此5v针脚与01针脚便不能驱动直流电机,而5v针脚和04针脚可以驱动直流电机。

用万用表测P10口和5v针脚电压差,为4.9v,但直接用P10口和5v针脚,依然不能让电机旋转,不太清楚原因,以后明白了再补上。