ULN2003芯片控制直流电机学习
ULN2003 双极型线性集成电路
达林顿晶体管阵列
ULN2003是一个单片高电压、高电流的达林顿晶体管阵列集成
电路。它是由7对NPN达林顿管组成的,它的高电压输出特性和阴
极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是
500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继
电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED气体放
电),线路驱动器和逻辑缓冲器。
ULN2003的每对达林顿管都有一个2.7kΩ串联电阻,可以直接
和TTL或5V CMOS装置。
主要特点
500mA 额定 集电极 电流(单个输出)
高电压输出:50V
输入和各种逻辑类型兼容
继电器驱动器
在 ULN2003 内部,有七个高耐压、大电流 NPN 达林顿管构成的反相器,输入 5V 的 TTL 电平,输出可达 500mA/50V。ULN2803 里面有八个反相器,它们的电气性能是相同的。
ULN2003有16个引脚,7个in,7个out,1个GND,1个COM。
输入端可以直接接MCu的引脚使用TTL电平控制,输出端接驱动电路(如可以接步进电机,直流电机等大功率电路)。COM引脚使用时可以接VCC,作为驱动电流。
由上图可知ULN2003其实主要有7个反相器组成,其中反相器OC门,也就是集电极开路。
用NPN型三极管解释:集电极开路就是集电极作为输出,基极作为输入,发射极接地。其中集电极在这里对应COM端,可以接VCC,这样当基极接低电平时三极管截止集电极输出高电平;基极接高电平时三极管导通集电极输出低电平。如此形成了MCU电平反相输出,但反相不是重点,大电流才是重点(反相是副产品大笑)。
管脚8接地。
ULN2003的COM端接继电器的电源正防止击穿器件。
#include <reg51.h>
#include “intrins.h”
typedef unsigned int u16;
typedef unsigned char u8;
sbit motor=P1^0;
void delay(u16 n)
{
unsigned char i, j, k;
nop();
nop();
i = 5;
j = 52;
k = 195;
do
{
do
{
while (–k);
} while (–j);
} while (–i);
}
void main()
{
u8 i;
motor=1;
for(i=0;i<6;i++)
{
delay();
}
motor=0;
while(1);//这里需要加上一个while循环
}//让P1^0持续为0,如果没有这个循环
//P1^0就会被置为1,电机就会一直转
下面的程序改为1s转,1s停延时用定时器实现
#include <reg51.h>
#include “intrins.h”
typedef unsigned int u16;
typedef unsigned char u8;
sbit motor=P1^0;
void Timer0_RunFunc() interrupt 1
{
static u16 i;//静态的i不会在进入函数的时候自动清0
TH0=0XFC;//0xfc18=64536,就是1000微妙,1ms的延时,一个机器周期就是1微妙
TL0=0X18;//需要往寄存器里重新写入初值
i++;
if(i==1000)//延时1s led翻转
{
motor=~motor;//led闪烁
i=0;
}
}
void TimerInit()
{
TMOD|=0x01;//使用定时器0,工作方式1
TH0=0XFC;//0xfc18=64536,就是1000微妙,1ms的延时,一个机器周期就是1微妙
TL0=0X18;
ET0=1;//打开定时器0
EA=1;//打开中断
TR0=1;//开始计时
}
void main()
{
TimerInit();
while(1);//这里需要加上一个while循环
}//让P1^0持续为0,如果没有这个循环
//P1^0就会被置为1,电机就会一直转
ULN2003芯片控制直流电机学习相关推荐
- 基于51单片机PWM(即脉冲宽度调制)调速数码管显示测速L298M芯片控制直流电机正反运转的项目
基于51单片机PWM(即脉冲宽度调制)调速数码管显示测速L298芯片控制直流电机正反运转的项目 一.前言 1.基于51单片机PWM(即脉冲宽度调制)调速数码管显示测速L298芯片控制直流电机正反运转的 ...
- 复习单片机:直流电机(内含1 直流电机介绍+2 ULN2003 芯片介绍+3 硬件设计+4 软件设计+5原始代码+6. 实验现象)
在 51 单片机应用中,电机控制的应用也非常多.本章所要实现的功能是:直流电机工作约 5S 后停止. 切记:51 单片机主要是用来控制而非驱动,如果直接使用芯片的 GPIO 管脚去驱动大功率器件,要么 ...
- android 8 esp8266,ESP8266 WIFI模块学习之路(8)——自写Android手机APP控制直流电机正反转...
本次向通过Android远程控制直流电机正反转,在这之前可以看一下我写的"STC单片机简单控制直流电机正反转"有助刚学的同学理解. 可以看一下我的硬件连接电路,如图: 单片机硬件程 ...
- STC单片机简单控制直流电机正反转
最近在研究智能小车,简单研究了一下单片机简单控制直流电机正反转,一开始想着用单片机直接控制,结果失败了. 原因是:虽然I/O口输出的电压也是5V,但输出的电流太小,以致输出功率太小,不足以驱动电机工作 ...
- Arduino教程-09.L298N控制直流电机(避障小车)
目录 3.1 电机 3.2 控制直流电机 PWM – 控制速度 H桥 – 控制转动方向 L298N 电机驱动芯片 技术规格 L298N 电机驱动器模块引脚排列 电源引脚 输出引脚 方向控制引脚 速度控 ...
- l298n电机哪一端为正_L298N控制直流电机正反转_张天鹏
Design L298N控制直流电机正反转 文/张天鹏 徐磊 北京林业大学工学院 摘要:在分析了直流电机驱动芯片 L298N 的性能.结构的基础上,结合 SPCE061A EMU BOARD单片机 ...
- K_A08_004 基于 STM32等单片机驱动MX1919模块按键控制直流电机正反转加减速启停
目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 1.MX1919模块驱动时序 2.对应程序: 3.PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MX1919 ...
- PWM控制直流电机(单片机实验)
PWM控制直流电机(单片机实验) 有问题欢迎私信哦 一.题目 设计电路,使用定时器实现PWM对直流电机的转速控制,并且实现按键切换转动方向.并进行软件仿真,做出实物. 二.基本要求 1.设置按键控制直 ...
- K_A08_013 基于 STM32等单片机驱动大功率MOS管模块按键控制直流电机加减速启停
目录 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 大功率MOS模块驱动 对应程序: 四.部分代码说明 接线说明 STC89C52RC+大功率MOS模块 STM32F103C8T6+大功率 ...
最新文章
- matlab dfp法,DFP算法及Matlab程序.docx
- 图神经网络GNN预训练技术进展概述
- python猜单词游戏_python 游戏(猜单词Hangman)
- c++学习笔记之运算符的重载
- 如何打开笔记本电脑的摄像头_Win8系统笔记本电脑摄像头无法使用的解决办法...
- 嵌入式linux文件系统启动,嵌入式Linux之文件系统启动分析【原创】
- strcasecmp()--忽略大小写比较字符串
- spring mvc对异步请求的处理
- 作为一个码农,必须知道的 Web 协议有哪些?
- leetcode @python 130. Surrounded Regions
- PHP如何关闭notice级别的错误提示
- 分享谷歌SEO的32个实用关键词拓展工具
- USDA土壤粒径分布图及韦恩图在线绘制-USDA_Soil_Texture_Calculator soil textual triangle
- Java_语法基础_定义规范的接口类型
- Excel巧做项目管理
- LPC55S69开发笔记
- Python django 猫咪管理系统
- css情景动画,css3中的动画属性animation应用场景及编写代码教程
- 基于javaweb小说评价下载网站管理系统 ssm框架
- R语言—方差分析和多重比较