直流电机实验
-
直流电机
5v直流电机为例:
轴长:8mm
轴径:2mm
电压:1-6v
参考电流:0.35-0.4A(电流无正负之分,两端加上直流电即可工作)
3v 转速:17000-18000 转每分钟
外观实物图如下:
-
ULN2003简介
1.ULN2003 是一个单片高电压、高电流的达林顿晶体管阵列集成电路。它是由7 对 NPN 达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是 500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED 气体放电),线路驱动器和逻辑缓冲器。
2.主要特点 -
500mA 额定集电极电流(单个输出)
-
高电压输出:50V
-
输入和各种逻辑类型兼容
-
继电器驱动器
3.原理图
如图,该芯片由7对达林顿晶体管构成,实现的功能相当于非门,即输入低电平则输出高电平,输入高电平则输出低电平。
达林顿晶体管原理图
-
原理实现
1.原理图
J47的4个排针与芯片上的输出管脚相连,输入端为p1口。直流电机一端通过排线接j47的VCC电压,另一端通过排线接j47的其他4个中的任意一个端口上。(由于该模块电路是集成的,所以使用单片机 P10~P15 管脚即可)要使直流电机工作,芯片的其中一个输入端需输入高电平,则输出为低电平,电机一端接高电平,一端为低电平,正常工作。若输入为低电平,则输出为高电平,电机停止工作。
- 代码实现
#include "reg51.h" //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h>
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
sbit moto=P1^0;
/*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
while(i--);
}
/*******************************************************************************
* 函数名 :主函数
*******************************************************************************/
void main()
{
u8 i;
moto=0; //初始为关闭状态
for(i=0;i<100;i++) //延时5S,电机关闭。循环以一次大约50ms,100次为5s
{
moto=1;//输入高电平,输出为低电平,电机启动
delay(5000); //大约50ms
}
moto=0;//电机关闭
while(1)//一直死循环,防止电机启动
{
}
}
- 实验结果
电机启动5s后关闭