ULN2003步进电机接线图及程序

合集下载

ULN2003驱动步进电机_2013.8.10

ULN2003驱动步进电机_2013.8.10

ULN2003是内部结构是达林顿管的列阵(如图1),
图1 ULN2003引脚图
ULN2003是一个非门电路,包含7个单元,各二极管的正极分别接各达林顿管的集电极。

用于感性负载时,该脚接负载电源正极,起续流作用(在感性负载中,电路断开后会产生很大的反电动势,为防止损坏达林顿管,接反相的二极管来构成通路,使之转换为电流)。

何为达灵顿管?达林顿管由两个三极管组成,如图2:
图2 ULN2003的各路内部结构
将两个三极管串联,第一个管子的发射极接第2个管子的基极,所以达林顿管的放大倍数是两个三极管放大倍数的乘积,具有很大的放大倍数。

集电极开路,能输出较大的电流(集电极电位高)。

IC的典型应用如图3
图3 典型应用
利用ULN2003与MCU引脚相连,可以驱动步进电机。

IC的作用主要在于放大驱动电流。

本次实验的驱动对象为28BYJ-48型步进电机(五线四相),基本电路如图所示:
图4 ULN2003驱动步进电机电路
再来讲讲二极管的作用,驱动电流断开时,电机内的电感产生很大的反电动势,每一个单元的二极管都与三极管的集电极相连,产生反电动势时就构成了放点回路,从而保护了三极管。

uln2003驱动直流电机程序

uln2003驱动直流电机程序

uln2003驱动直流电机程序
ULN2003作用
ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。

可直接驱动继电器等负载。

输入5VTTL电平,输出可达500mA/50V。

ULN2003是高耐压、大电流达林顿系列,由七个硅NPN达林顿管组成。

该电路的特点如下:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

uln2003引脚图及功能。

步进电机驱动技术3:基于ULN2003的步进电机驱动

步进电机驱动技术3:基于ULN2003的步进电机驱动

步进电机驱动技术3:基于ULN2003的步进电机驱动 在我们的项⽬中,经常使⽤到低电压⼩功率的步进电机,此类步进电机若采⽤驱动器控制不断成本⾼也过于复杂,我们可以直接使⽤场效应管或者达林顿管来实现对其的驱动。

在本篇中,我们就来讨论⼀下基于ULN2003A达林顿管实现对步进电机的驱动。

1、功能概述 我们先来了解⼀下基本的功能。

ULN2003A达林顿管为7个输出通道,当导通时该通道连接到负端,所以⾮常适合于驱动4相5线步进电机。

1.1、ULN2003A达林顿管 ULN2003A 器件是⾼电压⼤电流达林顿晶体管阵列。

每款器件均由7个NPN 达林顿对组成,这些达林顿对具有⾼压输出,带有⽤于开关感性负载的共阴极钳位⼆极管。

单个达林顿对的集电极电流额定值为500mA。

将达林顿对并联可以提供更⾼的电流。

应⽤包括继电器驱动器、电锤驱动器、灯驱动器、显⽰驱动器(LED 和⽓体放电)、线路驱动器和逻辑缓冲器。

其基本结构图如下:1.2、步进电机基本原理 在我们的测试中,我们使⽤4相5线步进电机。

所谓4相5线步进电机就是该电机具有4组线圈5根连接线,实际上可能不只5根线,但公共端不管抽出多少根线,实际状态与1根⽆异。

我们⼀般将这4组线圈记为A相、B相、C相和D相,当然,也可以⽤别的称呼,只要便于标记分别就好。

4相5线步进电机⼀般采⽤单极性直流电源供电。

只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。

⼀般电机都会提供控制表,具体如下所⽰: 结合ULN2003A结构和4相5线步进电机的驱动要求,我们可以设计ULN2003A达林顿管驱动4相5线步进电机的驱动电路。

1.3、步进电机驱动模式 步进电机的驱动虽然按照电机的驱动表就可以实现,但实际的驱动⽅式有多种,常见的如单波驱动⽅式、全步驱动⽅式、半步驱动⽅式以及微步驱动⽅式等。

这⾥我们可以看⼀看前⾯三种⽐较简单的驱动⽅式。

单波驱动⽅式⼜称之为单四拍⼯作⽅式。

ULN2003功率驱动电路

ULN2003功率驱动电路

ULN2003参数电气元件 2009-11-27 09:39 阅读367 评论0字号:大中小uln2003参数1 概述功率电子电路大多要求具有大电流输出能力,以便于驱动各种类型的负载。

功率驱动电路是功率电子设备输出电路的一个重要组成部分。

在大型仪器仪表系统中,经常要用到伺服电机、步进电机、各种电磁阀、泵等驱动电压高且功率较大的器件。

ULN2000、ULN2800高压大电流达林顿晶体管阵列系列产品就属于这类可控大功率器件,由于这类器件功能强、应用范围语广。

因此,许多公司都生产高压大电流达林顿晶体管阵列产品,从而形成了各种系列产品,ULN2000、ULN2800系列就是美国Texas Instruments公司、美国Sprague公司开发的高压大电流达林顿晶体管阵列产品。

它们的系列型号分类如表1所列,生产2000、2800高压大电流达林顿晶体管阵列系列产品的公司与型号对照表如表2所列。

在上述系列产品中,ULN2000系列能够同时驱动7组高压大电流负载,ULN2800系列则能够同时驱动8组高压大电流负载。

美国Texas Instruments公司、美国Sprague公司生产的ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。

以下介绍该电路的构成、性能特征、电参数以及典型应用。

2000、2800高压大电流达林顿晶体管阵列系列中的其它产品的性能特性与应用可参考ULN2003A。

表1 ULN2000、ULN2800系列型号分类表ULN200A电路具有以下特点:●电流增益高(大于1000);●带负载能力强(输出电流大于500mA);●温度范围宽(-40~85℃);●工作电压高(大于50V)。

ULN2003电路主要用于如下领域:●伺服电机;●步进电机;●电磁阀;●可控照明灯。

2 管脚排列ULN2003A电路的管脚排列如图1所示,图2为其原理和引脚功能图,各引出端的功能符号及说明如表3所列。

uln2003agp驱动电路的工作原理

uln2003agp驱动电路的工作原理

一、引言uln2003agp驱动电路是一种常见的驱动电路,其工作原理对于电子工程师和爱好者来说是非常重要的。

本文将深入解析uln2003agp驱动电路的工作原理,希望读者能够通过本文的介绍和分析,对这一驱动电路有更深入的了解。

二、uln2003agp驱动电路的概述uln2003agp是一种高压高电流驱动器件,其内部集成了七个开关管,可用于驱动各种类型的负载。

uln2003agp常用于步进电机驱动、继电器驱动等领域。

其特点是输入信号低电平触发、输出端带有电流型放大器,能够驱动负载电流高达500mA。

下面将详细介绍uln2003agp驱动电路的工作原理。

三、uln2003agp驱动电路的主要特点1. 输入信号低电平触发:uln2003agp的输入信号是低电平触发型的,这意味着当输入端为低电平时,相应的输出端会有电流通过。

2. 输出端带有电流型放大器:uln2003agp的输出端带有电流型放大器,能够驱动负载电流高达500mA,适用于许多电子设备的驱动场景。

3. 集成了七个开关管:uln2003agp内部集成了七个开关管,能够同时驱动多个负载,极大地提高了其在电子设备中的应用灵活性和便利性。

四、uln2003agp驱动电路的工作原理1. 输入信号低电平触发机制:uln2003agp的输入端采用低电平触发机制,当输入为低电平时,相应的输出端会有电流通过。

这是通过内部的晶体管开关实现的,当输入为低电平时,对应的晶体管会处于导通状态,导通的电流会流向相应的输出端,从而实现对负载的驱动。

2. 输出端电流型放大器:uln2003agp的输出端带有电流型放大器,能够承受高达500mA的负载电流。

这使得uln2003agp能够驱动多种类型的负载,包括步进电机、继电器等。

3. 多个开关管的作用:uln2003agp内部集成了七个开关管,可以同时驱动多个负载。

这样的设计极大地提高了其在实际应用中的灵活性和便利性,使得uln2003agp成为众多电子设备中必不可少的驱动器件。

ULN2003步进电机接线图

ULN2003步进电机接线图

void Delay(unsigned int i)//延时 { while(--i); }
main()
{
unsigned char i;
while(1)
{
for(i=0;i<4;i++)
//4 相
{
P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
Delay(500);
//改变这个参数可以调整电机转速
//八拍方式驱动,顺序为 A AB B BC C CD D DA
unsigned char code clockWise[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x0d};
void Delay(unsigned int i)//延时 { while(--i); }
三、驱动板接 5V 和 12V 电机与单片机系统板的连接图
PDF 文件使用 "pdfFactory Pro" 试用版本创建
四、步进电机工作方式 电机可以使用单四拍、双四拍和八拍方式驱动 4.1 单四拍: A-B-C-D (0001、0010、0100、1000) #include <reg52.h>
}
}
}
4.2 双四拍:AB-BC-CD-DA(0011、0110、1100、1001) #include <reg52.h>
unsigned char code F_Rotation[4]={0x03,0x05,0x0D,0x09};//正转表格
unsigned char code B_Rotation[4]={0x09,0x0D,0x05,0x03};//反转表格
}

ULN2003驱动步进电机

ULN2003驱动步进电机

基于GAL16V8和ULN2003的步进电机驱动器的设计任明岩 孙金英引言在医学检验中经常用到微孔板作为测量载体,为提高测量的定位准确度和运行的平稳性,需要进行Y方向及X方向顺序运动,采用步进电机进行驱动是很好的选择。

AT89C55和GAL16V8简介AT89C55是Atmel公司的低电压、高性能8位单片机,兼容标准MCS-51指令系统,引脚兼容工业标准89C51和89C52芯片。

AT89C55有40个引脚,32个外部双向I/O端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,片内时钟电路。

AT89C55采用两种软件控制其进入省电睡眠模式的静态逻辑工作闲置方式设计,可以用RAM、定时/计数器、串行口和外部中断唤醒睡眠状态而继续工作,在睡眠模式下,RAM被冻结,其他功能全部停止,直至下个外中断触发或硬件复位方可开始运行。

特别是可反复擦写的Flash存储器可有效地降低开发成本。

通用阵列逻辑GAL(Generic ArrayLogic)是美国Lattice公司研制的一种电可擦除的PLD器件,可以用来构成译码器、优先级编码器、多路开关、比较器、移位寄存器、计数器、总线仲裁器等。

采用GAL16V8器件对两相和四相混和式步进电机进行控制,不仅简化了系统的结构,降低了成本,而且编程灵活方便,提高了系统的可靠性,使系统具有更强的适应性。

硬件设计本设计选用GALl6V8为环形脉冲分配器,ULN2003(国产型号为5G1413)是七路达林顿驱动器阵列,是个集电极开路(OC)输出的反向器.最大驱动电流可以达到500mA。

通常应用时是把负载利用阵列逻辑器件GAL16V8对步进电机实现控制,给出了89C55单片机控制的硬件、软件设计实例图1 硬件驱动电路图步进电机的一端接到VDD(12V)上,另一端接到输出引脚上,如16脚。

为了防止程序进入死循环,增加了外部的硬件看门狗定时器MAX813L,其内部的看门狗定时器监控UP/UC的工作。

ULN2003步进电机接线图及程序

ULN2003步进电机接线图及程序

ULN2003步进电机接线图及程序ULN2003 步进电机驱动板使用说明一、主要技术参数1、工作电压 DC 4-12V2、工作电流≤500mA3、适用于 2 相 5 线步进电机4、带工作指示灯,方便客户观察工作状态。

同时也可以用于板子自测,5-12V 处通上电源后,将电源的正极分别去接 IN1-IN4 对应的指示灯会亮,表明板子是好的。

5、ULN2003 最高工作电压可以达到DC30V,如果客户需要接24V 等步进电机,需要将板子上的限流电阻加大,以免烧坏工作指示灯。

二、ULN2003 简介三、驱动板接 5V 和 12V 电机与单片机系统板的连接图四、步进机工作式电机可以使用单四拍、双四拍和八拍方式驱动4.1 单四拍: A-B-C-D(0001、0010、0100、1000)#includeunsigned char code F_Rotation[4]={0x01,0x02,0x01,0x08};//正转表格unsigned char code B_Rotation[4]={0x08,0x04,0x02,0x01};//反转表格void Delay(unsigned int i)//延时{while(--i);main(){unsigned char i;while(1){for(i=0;i<4;i++) //4 相 {P1=F_Rotation[i]; //输出对应的相可以自行换成反转表格Delay(500); //改变这个参数可以调整电机转速}}}4.2 双四拍:AB-BC-CD-DA(0011、0110、1100、1001)#include unsigned char code F_Rotation[4]={0x03,0x05,0x0D,0x09};//正转表格unsigned char code B_Rotation[4]={0x09,0x0D,0x05,0x03};//反转表格void Delay(unsigned int i)//延时{while(--i);}main(){unsigned char i;while(1){for(i=0;i<4;i++) //4 相 {P1=F_Rotation[i]; //输出对应的相可以自行换成反转表格Delay(500); //改变这个参数可以调整电机转速}}4.3 八拍方式:A-AB-B-BC-C-CD-D-DA(0001、0011、0010、0110、0100、1100、1000、1001)#includesbit key=P2^0; //按键控制步进电机的方向//八拍方式驱动,顺序为 A AB B BC C CD D DAunsigned char code clockWise[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x0d}; void Delay(unsigned int i)//延时{while(--i);}void main(){unsigned char i;while(1){for(i=0;i<8;i++){if(key) //按键未按下,正转{P0=clockWise[i];Delay(500);}else //按键按下,反转{P0=clockWise[8-i];Delay(500);}}。

ULN2003直流电机正反转以及10级调速

ULN2003直流电机正反转以及10级调速

ULN2003直流电机正转以及10级PWM调速第24组电子设计报告组员:郝冠111308309郭剑楠111308308李爽11308317一、功能说明本设计是基于STC89C52单片机和ULN2003芯片驱动的直流电机。

并在数码管显示当前速度级数。

具有正传和PWM10级调速等功能。

速度的控制是由PWM输入信号来完成的。

通过调节pwm信号的占空比来完成速度的控制。

(1)通过52单片机加载程序,ULN2003做驱动控制直流电机旋转。

(2)用按键增加或者减小当前的旋转速度,可以控制10级变速。

(3)用数码管显示当前旋转的速度级数。

二、原理图(1)最小系统(2)驱动芯片三、源程序代码#include<reg52.h>#define uint unsigned intuint pp;char num=2,dis;sbit pwm=P3^6;sbit s2=P3^4;sbit s3=P3^5;sbit dula=P2^0; //段选信号的锁存器控制sbit wela=P2^1; //位选信号的锁存器控制sbit cs88=P2^2; //点阵管的锁存器控制cs88=0;//关点阵管sbit LCD1602=P2^5; //定义LCD1602使能端,用于HJ-C52实验板复位,与本实验无关sbit DS1302=P2^7; //定义DS1302时钟使能端,用于HJ-C52实验板复位,与本实验无关sbit SD=P2^6; //定义SD卡使能端,用于HJ-C52实验板复位,与本实验无关void cmg88()//关数码管,点阵函数cmg88();//关数码管,点阵函数{dula=1;P0=0x00;dula=0;cs88=0x00;P0=0x00;cs88=1;}unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};void keyscan(){if(s2==0){while(!s2);num++;if(num==11)num=10;dis=num; }if(s3==0){while(!s3);num--;if(num==-1)num=0;dis=num; }}void display(a) {dula=0;P0=table[a];dula=1;dula=0;wela=0;P0=0xfe;wela=1;wela=0;}void main(){TMOD=0x01; //模式设置,00000001,可见采用的是定时器0,工作与模式1(M1=0,M0=1)。

ULN2003A引脚图及功能-uln2003a原理之欧阳引擎创编

ULN2003A引脚图及功能-uln2003a原理之欧阳引擎创编

ULN2003步进电机驱动电路欧阳引擎(2021.01.01)ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。

它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。

ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。

用户输出口的外接负载可根据以上参数估算。

采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。

通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。

ULN2003是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA.资料的最后有引用电路,9脚可以悬空。

比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。

ULN2003的作用:ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。

可直接驱动继电器等负载。

输入5VTTL电平,输出可达500mA/50V。

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。

ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V 的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

ULN2003A引脚图及功能:图七 ULN2003引脚图ULN2003 是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片。

经常在以下电路中使用,作为显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。

ULN2003A引脚图及功能-uln2003a原理之欧阳总创编

ULN2003A引脚图及功能-uln2003a原理之欧阳总创编

ULN2003步进电机驱动电路ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。

它是双列16脚封装,NPN 晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。

ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。

用户输出口的外接负载可根据以上参数估算。

采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。

通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。

ULN2003是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA.资料的最后有引用电路,9脚可以悬空。

比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。

ULN2003的作用:ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。

可直接驱动继电器等负载。

输入5VTTL电平,输出可达500mA/50V。

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。

ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

ULN2003A引脚图及功能:图七 ULN2003引脚图ULN2003 是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片。

经常在以下电路中使用,作为显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。

ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003A引脚图及功能-uln2003a原理之欧阳历创编

ULN2003A引脚图及功能-uln2003a原理之欧阳历创编

ULN2003步进电机驱动电路ULN是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,可用来驱动继电器。

它是双列16脚封装,NPN晶体管矩阵,最大驱动电压=50V,电流=500mA,输入电压=5V,适用于TTL COMS,由达林顿管组成驱动电路。

ULN 是集成达林顿管IC,内部还集成了一个消线圈反电动势的二极管,它的输出端允许通过电流为200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。

用户输出口的外接负载可根据以上参数估算。

采用集电极开路输出,输出电流大,故可直接驱动继电器或固体继电器,也可直接驱动低压灯泡。

通常单片机驱动ULN2003时,上拉2K的电阻较为合适,同时,COM引脚应该悬空或接电源。

ULN2003是一个非门电路,包含7个单元,但独每个单元驱动电流最大可达350mA.资料的最后有引用电路,9脚可以悬空。

比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。

ULN2003的作用:ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。

可直接驱动继电器等负载。

输入5VTTL电平,输出可达500mA/50V。

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。

ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

ULN2003A引脚图及功能:图七 ULN2003引脚图ULN2003 是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片。

经常在以下电路中使用,作为显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。

ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

步进电机(ULN2003)

步进电机(ULN2003)

步进电机驱动器的设计摘要:由在单片机结合ULN2003组成单片机的驱动系统的程序设计过程中,通过操作按键对步进电机的正转、反转和启动、停止。

关键词:单片机驱动步进电机目录一、单片机的驱动原理 (3)二、单片机最小系统 (4)三、 Max232串口电路 ... .. (7)四、步进电机驱动模块电路 (8)五、系统的软件设计 (9)附:参考文献 (33)一、步进电机的驱动原理步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。

它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。

因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。

步进电机是将电脉冲信号转变为角位移或线位移的一种开环线性执行元件,具有无累积误差、成本低、控制简单特点。

产品从相数上分有二、三、四、五相,从步距角上分有0.9°/1.8°、0.36°/0.72°,从规格上分有口42~φ130,从静力矩上分有0.1N·M~40N·M。

(本实验提供的是四相步进电机,它对外有六条引线,其中二条为公共端、另四条分别为A相、B相、C相、D相,但引线具体排序未知,故在使用前需对步进电机进行分析、测试,并判断出具体的相序。

)二、单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.下面给出一个51单片机的最小系统电路图.说明:复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍.晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)复位电路一、复位电路的用途单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。

uln2003a驱动电机工作流程

uln2003a驱动电机工作流程

(1)当输入电压是5V时,3个电阻是串联关系,根据分压,左边三极管的基级B的电压大
约是3.95V,右边三极管的基极B的电压大约是1.16V,均高于导通电压,所以2个三极管均导通。

输出电压为低电平。

(2)而当输入电压为低电平,两个三极管均截止。

这时单纯的ULN2003A的OUT脚是呈现
高阻态,这样并没什么意义。

(3)实际上,ULN2003A常用于驱动步进电机,这时步进电机的驱动部分是有电压的,当把
OUT与步进电机驱动相连时,由于OUT的高阻态,输入的低电平并不会对步进电机产生影响,步进电机保持为高电平。

(4)回过头再看一下当ULN2003A的输入电压是高电平时,由于OUT相当于是接地,因此
步进电机的的驱动部分的电是接到了地。

输入电压按一定方式的交替变化,可实现步进电机的转动。

(5)从3、4两点来看,可以把ULN2003A理解为一个开关,使步进电机根据输入IN脚的电
压,决定是否与地相连。

(6)至于COM管脚的作用,它并不是为OUT提供什么电信号,而是起到保护作用。

当步进
电机因为某种原因导致与OUT脚相连的电压高于COM时,就会通过上面的二极管起到泄流作用。

ULN2003步进电机驱动原理及应用程序

ULN2003步进电机驱动原理及应用程序

∙ULN2003步进电机驱动原理及应用程序∙发布时间:2011-5-9 10:38:11 | 来源: 第一价值网| 查看: 1703次| 收藏| 打印TAG:ULN2003 步进电机驱动 ULN2003原理 ULN2003应用程序步进电机的基本原理我就不说了,百度能找出一大片来,,简而言之就是能够通过输入脉冲的个数,确定旋转的角位移,一般用他来控制小车轮子的偏移角度等。

来看看步进电机:型号为MP28GA的步进电机(左)和ULN2003APG的驱动芯片(右),具体参数如下:电压DC.V电阻(25°C)Ω步距角°减速比牵入转矩mN.m自定位转矩mN.m5 50 5.625/64 1/64 ≥40≥34.3空载牵入频率Hz空载牵出频率Hz绝缘电阻DC.500V绝缘介电强度AC.600V.1mA.1S温升K噪音dB(A)≥500≥900≥50MΩ无击穿或飞弧<40 <40MP28GA的步进电机相关参数接线端导线分配顺序序号颜色 1 2 3 4 5 6 7 85 红 + + + + + + + +4 橙 - - -3 黄 - - -2 粉- - -1 蓝 - - -ULN2003APG的驱动芯片驱动原理图如下所示:FOSC = 12MHz说得通俗uln2003相当于继电器的作用,例如7个继电器的一端连某电压[也即uln2003电源电压](<50)在一起,而另一端作为则作为输出,又好如一个二极管,只不过因电路集成功能的因素,输出的电压等同于uln2003的电压罢了,常用于步进电机;--------------------------------------------------; 步进电机的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!!; 本步进电机步进角为5.625度 . 一圈360 度, 需要64个脉冲完成!!!;--------------------------------------------------; A组线圈对应P2.4; B组线圈对应P2.5; C组线圈对应P2.6; D组线圈对应P2.7; 正转次序: AB组--BC组--CD组--DA组(即一个脉冲,正转5.625度) ;------------------------------------------------ORG 0000HLJMP MAINORG 0100HMAIN:;----------------------------正转MOV R3,#192 ;正转3圈共192个脉冲START:MOV R0,#00HSTART1:MOV P2,#00HMOV A,R0MOV DPTR,#TABLEMOVC A,@A+DPTRJZ START ;对A的判断,当A=0时则转到STARTMOV P2,ALCALL DELAYINC R0DJNZ R3,START1MOV P2,#00HLCALL DELAY1;-----------------------------反转MOV R3,#64 ;反转一圈共64个脉冲START2:MOV P2,#00HMOV R0,#05START3:MOV A,R0MOV DPTR,#TABLEMOVC A,@A+DPTRJZ START2MOV P2,ACALL DELAYINC R0DJNZ R3,START3MOV P2,#00HLCALL DELAY1LJMP MAIN;---------------------------转速控制DELAY: MOV R7,#40 ;步进电机的转速M3: MOV R6,#248DJNZ R6,$DJNZ R7,M3RET;---------------------------延时控制DELAY1: MOV R4,#20 ;2S 延时子程序DEL2: MOV R3,#200DEL3: MOV R2,#250DJNZ R2,$DJNZ R3,DEL3DJNZ R4,DEL2RET;---------------------------正反转表TABLE:DB 30H,60H,0C0H,90H; 正转表DB 00; 正转结束DB 30H,90H,0C0H,60H; 反转表DB 00; 反转结束END/**************************************//*杭州电子&计算机工作室*//* *//*步进电机演示程*//*目标器件:AT89S51 *//*晶振:11.0592MHZ *//*编译环境:Keil 7.50A *//****************************//*************包含头文件*******/#include/**************端口定义****************/sbit key = P1^4;/*********************************函数功能:延时子程序入口参数:出口参数:*****************************************/ void delay(void){int k;for(k=0;k<500;k++);}/*************************************函数功能:主程序入口参数:出口参数:********************************/void main(){P1=0x00; //输出全高key=1; //按键置输入状态while(1) //主循环{if(key==1) //无键按下正转{P1=0xFC; //1100delay();P1=0xF6; //0110delay();P1=0xF3; //0011delay();P1=0xF9; //1001delay();}else //有键按下反转{P1=0xFC; //1100delay();P1=0xF9; //1001delay();P1=0xF3; //0011delay();P1=0xF6; //0110delay();}}}1.步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

基于ULN2003 控制步进电机正反转

基于ULN2003 控制步进电机正反转

基于ULN2003 控制步进电机正反转第24组电子设计报告组员:郝冠 111308309郭剑楠 111308308李爽 111308317一、功能说明本设计是基于STC89C52单片机和ULN2003 芯片能控制步进电机正反转的设计。

程序由我们自己完成的。

是由按键引发外部中断来控制步进电机输入信号端先后顺序,从而改变正反转。

功能通过按键输入外部中断信号,改变步进电机步进方向。

还可改进地方:用数码管显示当前步进电机旋转速度,再用按键来控制步进电机旋转速度。

二、原理图(1)52芯片引脚图(2)ULN2003芯片原理图三、程序源代码//本程序内容:使用外部中断控制步进电机的正传和反转// //注意外部中断必须用P3^2//#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar flag;sbit k1=P3^2;//步进电机数据口取名sbit A1=P3^4;sbit B1=P3^5;sbit C1=P3^6;sbit D1=P3^7;//步进电机1四相八拍所用数据#define POWER_A1 {A1=1;B1=0;C1=0;D1=0;}//A相通电,其他相断电#define POWER_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通电,其他相断电#define POWER_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通电,其他相断电#define POWER_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通电,其他相断电#define POWER_AB1 {A1=1;B1=1;C1=0;D1=0;}//AB相通电,其他相断电#define POWER_BC1 {A1=0;B1=1;C1=1;D1=0;}//BC相通电,其他相断电#define POWER_CD1 {A1=0;B1=0;C1=1;D1=1;}//CD相通电,其他相断电#define POWER_DA1 {A1=1;B1=0;C1=0;D1=1;}//DA相通电,其他相断电#define POWER_OFF {A1=0;B1=0;C1=0;D1=0;}//全部断电void delay_ms(unsigned char t){uchar x,y;for(x=t;x>0;x--){for(y=114;y>0;y--) ;}}uchar speed; //定义速度全局变量,也是时间延迟变量uint i; //旋转一周时间,512一周void main(){EA=1; //全局中断开EX0=1; //外部中断0开IT0=1; //1表示边沿触发i=512;speed=6;POWER_OFFwhile(1){while(i--){if(flag==0){POWER_A1delay_ms(speed);POWER_AB1delay_ms(speed);POWER_B1delay_ms(speed);POWER_BC1delay_ms(speed);POWER_C1delay_ms(speed);POWER_CD1delay_ms(speed);POWER_D1delay_ms(speed);POWER_DA1delay_ms(speed);}else{POWER_DA1delay_ms(speed);POWER_D1delay_ms(speed);POWER_CD1delay_ms(speed);POWER_C1delay_ms(speed);POWER_BC1delay_ms(speed);POWER_B1delay_ms(speed);POWER_AB1delay_ms(speed);POWER_A1delay_ms(speed);}}}}void ex0(void) interrupt 0{if(k1==0){delay_ms(10);if(k1==0){flag=~flag;}}}四、设计总结本次设计完全是我们自己写的程序,有很多没有考虑到的地方,需要我们今后更加努力,改进程序,使功能更齐全,操作更简单。

uln2003引脚图及功能_工作原理驱动应用电路

uln2003引脚图及功能_工作原理驱动应用电路

uln2003有什么作用_引脚图及功能_工作原理及驱动应用电路一、uln2003有什么作用ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。

可直接驱动继电器等负载。

输入5VTTL电平,输出可达500mA/50V。

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。

该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V 的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

三、uln2003工作原理驱动应用电路ULN2003是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成,每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

LN2003也是一个7路反向器电路,即当输入端为高电平时ULN2003输出端为低电平,当输入端为低电平时ULN2003输出端为高电平,继电器得电吸合。

ULN2003是一个非门电路,包含7个单元,单独每个单元驱动电流最大可达500mA,9脚可以悬空。

比如1脚输入,16脚输出,你的负载接在VCC与16脚之间,不用9脚。

陈翠•来源:网络整理• 2017年10月23日14:37 • 12146次阅读ULN2003应用电路在自动化密集的的场合会有很多被控元件如继电器,微型电机,风机,电磁阀,空调,水处理等元件及设备,这些设备通常由CPU所集中控制,由于控制系统不能直接驱动被控元件,这需要由功率电路来扩展输出电流以满足被控元件的电流,电压。

高压大电流达林顿晶体管阵列系列产品就属于这类可控大功率器件,由于这类器件功能强、应用范围语广。

ULN2003步进电机驱动原理及应用程序

ULN2003步进电机驱动原理及应用程序

ULN2003步进电机驱动原理及应用程序默认分类2010-04-04 22:07:57 阅读854 评论0 字号:大中小订阅步进电机的基本原理我就不说了,百度能找出一大片来,,简而言之就是能够通过输入脉冲的个数,确定旋转的角位移,一般用他来控制小车轮子的偏移角度等。

来看看我买到的步进电机:如题目所示,我买到的是型号为MP28GA的步进电机(左)和ULN2003APG的驱动芯片(右),具体参数如下:MP28GA的步进电机相关参数步进电机相励磁的励磁顺序如下表所示:;--------------------------------------------------; 步进电机的驱动信号必须为脉冲信号转动的速度和脉冲的频率成正比; 本步进电机步进角为5.625度 . 一圈360 度, 需要64个脉冲完成;--------------------------------------------------; A组线圈对应P2.4; B组线圈对应P2.5; C组线圈对应P2.6; D组线圈对应P2.7; 正转次序: AB组--BC组--CD组--DA组(即一个脉冲,正转5.625度);------------------------------------------------ORG 0000HLJMP MAINORG 0100HMAIN:;----------------------------正转MOV R3,#192 ;正转3圈共192个脉冲START:MOV R0,#00HSTART1:MOV P2,#00HMOV A,R0MOV DPTR,#TABLEMOVC A,@A+DPTRJZ START ;对A的判断,当A=0时则转到STARTMOV P2,ALCALL DELAYINC R0DJNZ R3,START1MOV P2,#00HLCALL DELAY1;-----------------------------反转MOV R3,#64 ;反转一圈共64个脉冲START2:MOV P2,#00HMOV R0,#05START3:MOV A,R0MOV DPTR,#TABLEMOVC A,@A+DPTRJZ START2MOV P2,ACALL DELAYINC R0DJNZ R3,START3MOV P2,#00HLCALL DELAY1LJMP MAIN;---------------------------转速控制DELAY: MOV R7,#40 ;步进电机的转速M3: MOV R6,#248DJNZ R6,$DJNZ R7,M3RET;---------------------------延时控制DELAY1: MOV R4,#20 ;2S 延时子程序DEL2: MOV R3,#200DEL3: MOV R2,#250DJNZ R2,$DJNZ R3,DEL3DJNZ R4,DEL2RET;---------------------------正反转表TABLE:DB 30H,60H,0C0H,90H; 正转表DB 00; 正转结束DB 30H,90H,0C0H,60H; 反转表DB 00; 反转结束END/**************************************/ /*杭州电子&计算机工作室*//* *//*步进电机演示程*//*目标器件:AT89S51 *//*晶振:11.0592MHZ *//*编译环境:Keil 7.50A *//****************************//*************包含头文件*******/#include <reg51.h>/**************端口定义****************/sbit key = P1^4;/*********************************函数功能:延时子程序入口参数:出口参数:*****************************************/void delay(void){int k;for(k=0;k<500;k++);}/*************************************函数功能:主程序入口参数:出口参数:********************************/void main(){P1=0x00; //输出全高key=1; //按键置输入状态while(1) //主循环{if(key==1) //无键按下正转{P1=0xFC; //1100delay();P1=0xF6; //0110delay();P1=0xF3; //0011delay();P1=0xF9; //1001delay();}else //有键按下反转{P1=0xFC; //1100delay();P1=0xF9; //1001delay();P1=0xF3; //0011delay();P1=0xF6; //0110delay();}}}1.步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

基于单片机ULN2003的步进电机控制系统(汇编及C语言程序各一个)

基于单片机ULN2003的步进电机控制系统(汇编及C语言程序各一个)

图8 总体电路图1.3.4软件设计通过分析可以看出,实现系统功能可以采用多种方法,由于随时有可能输入加速、加速信号和方向信号,因而采用中断方式效率最高,这样总共要完成4个部分的工作才能满足课题要求,即主程序部分、定时器中断部分、外部中断0和外部中断1部分,其中主程序的主要功能是系统初始参数的设置及启动开关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器部分控制脉冲频率,它决定了步进电机转速的快慢;两个外部中断程序要做的工作都是为了完成改变速度这一功能。

下面分析主程序与定时器中断程序及外部中断程序。

(1)主程序设计主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。

其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对P1口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容。

若初始化P1=11H、速度和方向初始值均设为0,就意味着步进电机按四相单四拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值显示“0”,速度值显示“0”,主程序流程图如图9所示。

(2)定时中断设计步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。

在这个系统中,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断次数,因而在定时器中断程序中,要做的工作主要是判断电机的运行方向、发下一个脉冲,以及保存当前的各种状态。

程序流程图如图10所示。

(3)外部中断设计外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改变了电机的转速。

速度增加按钮S2为INT0中断,其程序流程为原数据,当值等于7时,不改变原数值返回,小于7时,数据加1后返回;速度减少按钮S3,当原数据不为0,减1保存数据,原数据为0则保持不变。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ULN2003 步进电机驱动板使用说明
一、主要技术参数
1、工作电压DC 4-12V
2、工作电流≤500mA
3、适用于2 相5 线步进电机
4、带工作指示灯,方便客户观察工作状态。

同时也可以用于板子自测,5-12V 处
通上电源后,将电源的正极分别去接IN1-IN4 对应的指示灯会亮,表明板子是好的。

5、ULN2003 最高工作电压可以达到DC30V,如果客户需要接24V 等步进电机,需
要将板子上的限流电阻加大,以免烧坏工作指示灯。

二、ULN2003 简介
三、驱动板接5V 和12V 电机与单片机系统板的连接图
四、步进电机工作方式
电机可以使用单四拍、双四拍和八拍方式驱动
4.1 单四拍: A-B-C-D(0001、0010、0100、1000)
#include <reg52.h>
unsigned char code F_Rotation[4]={0x01,0x02,0x01,0x08};//正转表格 unsigned char code B_Rotation[4]={0x08,0x04,0x02,0x01};//反转表格
}
main()
{
unsigned char i; while(1)
{
for(i=0;i<4;i++) //4 相 {
P1=F_Rotation[i]; //输出对应的相可以自行换成反转表格
Delay(500); //改变这个参数可以调整电机转速
}
}
}
4.2 双四拍:AB-BC-CD-DA(0011、0110、1100、1001)
#include <reg52.h> unsigned char code F_Rotation[4]={0x03,0x05,0x0D,0x09};//正转表格unsigned char code B_Rotation[4]={0x09,0x0D,0x05,0x03};//反转表格
void Delay(unsigned int i)//延时
{
while(--i);
}
main()
{
unsigned char i; while(1)
{
for(i=0;i<4;i++) //4 相 {
P1=F_Rotation[i]; //输出对应的相可以自行换成反转表格
Delay(500); //改变这个参数可以调整电机转速
}
}
}
4.3 八拍方式:A-AB-B-BC-C-CD-D-DA(0001、0011、0010、0110、0100、1100、1000、1001)
#include <reg52.h>
sbit key=P2^0; //按键控制步进电机的方向
//八拍方式驱动,顺序为A AB B BC C CD D DA
unsigned char code clockWise[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x0d};
}
void main()
{
unsigned char i;
while(1)
{
for(i=0;i<8;i++)
{
if(key) //按键未按下,正转{
P0=clockWise[i];
Delay(500);
}
else //按键按下,反转{
P0=clockWise[8-i];
Delay(500);
}
}
}。

相关文档
最新文档