ULN2003A 应用实例5

ULN2003A 应用实例5
ULN2003A 应用实例5

大家好,通过以前的学习,我们已经对51单片机综合学习系统的使用方法及学习方式有所了解与熟悉,学会了红外线遥控的基本知识,体会到了综合学习系统的易用性与易学性,这一期我们将一起学习步进电机控制的基本原理与使用方法。

先看一下我们将要使用的51单片机综合学习系统能完成哪些实验与产品开发工作:分别有流水灯,数码管显示,液晶显示,按键开关,蜂鸣器奏乐,继电器控制,IIC总线,SPI总线,PS/2实验,AD模数转换,光耦实验,串口通信,红外线遥控,无线遥控,温度传感,步进电机控制等等。

上图是我们将要使用的51单片机综合学习系统硬件平台,本期实验我们用到了综合系统主机、步进电机,综合系统其它功能模块原理与使用详见前几期《电子制作》杂志及后期连载教程介绍。

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。

步进电机分类与结构

现在比较常用的步进电机分为三种:反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)。本章节以反应式步进电机为例,介绍其基本原理与应用方法。反应式步进电机可实现大转矩输出,步进角一般为1.5度。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。常用小型步进电机的实物如图1所示。

图1步进电机实物图

图2 步进电机内部图

步进电机现场应用驱动电路

综合系统使用的是小型步进电机,对电压和电流要求不是很高,为了说明应用原理,故采用最简单的驱动电路,目的在于验证步进电机的使用,在正式工业控制中还需在此基础上改进。一般的驱动电路可以用图3的形式。

图3 一般驱动电路

在实际应用中一般驱动路数不止一路,用上图的分立电路体积大,很多场合用现成的集成电路作为多路驱动。常用的小型步进电机驱动电路可以用ULN2003或ULN2803。本书配套实验板上用的是ULN2003。ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。ULN2003A由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。ULN2003内部结构及等效电路图如图4:

图4 ULN2003内部框图及等效电路图

ULN2003A型高压大电流达林顿晶体管阵列电路的典型应用电路框图如图5所示。钳位二极管用于保护线圈通断时的反电动势击穿集成电路,可以看出,该电路的应用非常简单。

图5 典型应用图

步进电机的程序设计

实现功能:开发板上电时电机正转,按住51单片机综合学习系统上的按键SW20(P14)时反转。

图6 步进电机实验演示图电机正反转的环形脉冲分配表如下:

步数P00 P01 P02 P03 A B /A /B

1 1 1 0 0

2 0 1 1 0

3 0 0 1 1

4 1 0 0 1 表1:正转环形脉冲分配表

步数P00 P01 P02 P03 A B /A /B

1 1 1 0 0

2 1 0 0 1

3 0 0 1 1

4 0 1 1 0 表2:反转环形脉冲分配表

硬件原理图

图7 硬件原理图

程序流程图

图8 软件流程图

软件代码

/***************************************************************************/

/*杭州晶控电子有限公司*/

/*https://www.360docs.net/doc/043498411.html,*/

/*步进电机演示程序*/

/*目标器件:AT89S51*/

/*晶振:11.0592MHZ*/

/*编译环境:Keil 7.50A*/

/***************************************************************************/ /*********************************包含头文件********************************/ #include

/*********************************端口定义**********************************/ sbit key = P1^4;

/**************************************************************************** 函数功能:延时子程序

入口参数:

出口参数:

****************************************************************************/ void delay(void)

{

int k;

for(k=0;k<2000;k++);

}

/**************************************************************************** 函数功能:主程序

入口参数:

出口参数:

****************************************************************************/ void main()

P0=0x00;//输出全高

key=1;//按键置输入状态while(1)//主循环

{

if(key==1)//无键按下正转{

P0=0xFC;//1100

delay();

P0=0xF6;//0110

delay();

P0=0xF3;//0011

delay();

P0=0xF9;//1001

delay();

}

else//有键按下反转

{

P0=0xFC;//1100

delay();

P0=0xF9;//1001

delay();

P0=0xF3;//0011

delay();

P0=0xF6;//0110

delay();

}

}

相信看到这里,你应该可以理解步进电机控制的原理是怎么样的了,你也可以根据自己的需要来设定步进电机的转动轨迹。由于篇幅有限,读者朋友可以通过网站或电子邮件一起交流与学习。在下几期中,我们将陆续介绍51单片机综合学习系统的其它功能原理与应用。

ULN2003、ULN2803资料

ULN2803和ULN2003都是集电极开路输出,只能接受灌入电流,他们的使用方法是一致的,唯一的区别就是2803可以驱动8位管脚,2003只有7个管脚

COM脚的作用是当你使用ULN2803(2003)来驱动继电器时,可以将COM脚接到继电器的VCC端,利用ULN2803(2003)内部的反向二极管作保护继电器,消除继电器闭合时产生的感应电压。

COM端主要有两种用途:(可悬空)

1 试验用----接地:假如它的输出端都接发光二极管,那么,只要将COM端接地,则所有的发光二极管都将亮起,否则,可能是二极管坏或其它什么地方坏了。这对检修是很有利的。

2 保护用----接电源正:假如这个器件是接继电器或针式打印头,因为电感的作用,会在开关过程中产生低于地电位和高于电源电位的反电动势,这样,很容易击穿器件。

A-为了防止这种现象的发生,可将COM端接到电源正,来削减冲击电压低到二极管压降加电源电压的幅度----可以使得内部的三极管受到最小的正电压冲击。

B-至于达林顿关断时产生的负电压我们不必管,因为器件内部就有二极管并接到地的(见图2)----专门用来削减冲击电压至电源地减去一个二极管正向压降----可以使得内部的三极管受到最小的反偏电压冲击。

3 阅读提示:A-类似这样的保护方法,在许多器件(如AD7710)的输入端或输出端都是有的,请留意。B-以上两种用法并不是矛盾的,通过适当的电路控制,可以一并利用它的功能。

它的内部结构也是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC 电流200mA,饱和压降VCE 约1V左右,耐压BVCEO 约为36V。用户输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动低压灯泡。

ULN2803的驱动负载电流为500mA,驱动电压50V.

八路NPN达林顿连接晶体管阵系列特别适用于低逻辑电平数字电路(诸如TTL, CMOS或PMOS/NMOS)和较高的电流/电压要求之间的接口,广泛应用于计算机,工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中。所有器件具有集电极开路输出和续流箝位二极管,用于抑制跃变。ULN2803的设计与标准TTL系列兼容,而ULN2804 最适于6至15伏高电平CMOS或PMOS。

JAVAWEB数据库访问技术

JavaWeb数据库访问技术 JDBC是一种用于执行SQL语句的Java API。它由一组用Java编写的类和接口组成。 简单地说,JDBC可做三件事: ·与数据库建立连接 ·发送SQL语句 ·处理结果 一、JDBC的总体结构 在Java Application之下的是JDBC API,它提供了一系列的类代Java Application、JSP、Servlet等使用。 ·java.sql.DriverManager:用来加载不同的JDBC驱动程序并且为创建新的数据库连接提供支持。 ·java.sql.Connection:完成对某一指定数据库的连接功能。 ·java.sql.Statement:在一个已经创建的连接(java.sql.Connection)中作为执行SQL语句的容器;它包含了两个重要的子类。 1)java.sql.PreparedStatement:用于执行预编译的SQL语句。 2)java.sql.CallableStatement:用于执行数据库中已经创建好的存储过程。 ·java.sql.Result:代表特定SQL语句执行后的数据库结果集。

二、JDBC应用开发模式 在传统的客户端/服务器模式中,通常是在服务器商配置数据库,而在客户端安装内容丰富的GUI界面。在些模式中,JDBC驱动程序应该部署在客户端。 而在三层应用模式中,客户端不直接调用数据库,而是调用服务器上的中间件层,最后由中间件层完成数据库查询操作。 三层结构之优点:它将可视化表示(位于客户端)从业务逻辑(位于中间层)和原始数据(位于数据库)中分离出来。因此,我们可以从不同的客户端来访问相同的数据和相同的业务规则。

基于WEB的数据库访问技术

基于WEB的数据库访问技术 【摘要】基于WEB的数据库访问技术,在各具体业务应用与底层用户数据库间建立一种可扩展、可移植,具有较强伸缩性的统一的对外接口,以有效地支撑业务网络应用。 【关键词】WEB;数据库访问技术 1.引言 在三层C/S中应用程序访问数据库服务器都需要一定的数据访问技术的支持。从总体上数据访问技术可以分为数据访问接口和数据访问对象两部分,两者之间的关系如图1所示。 图1 数据访问技术关系图 数据访问接口:提供一组标准化接口(数据库引擎),允许应用程序访问不同类型的数据库管理系统。如ODBC,JDBC,OLE DB等;数据访问对象:提供用于通过数据库访问接口访问数据库管理系统的通用标准对象,不受应用程序开发语言的限制,实现对数据库的连接、增加、删除和查询等操作。如常见的有DAO,RDO,ADO,https://www.360docs.net/doc/043498411.html,等对象模型。在数据访问技术研究初期,不同的数据库厂商都会提供不同的数据访问接口,开发人员需要针对不同的数据库管理系统(DBMS)学习不同的专用数据库访问技术,比如DB2系统的CLI Library、Oracle 的OCI Library等。这对开发人员造成了极大的困惑,使得数据库应用程序的开发很困难,影响开发进度;而且所开发的应用程序局限性很大,严重依赖于数据库平台,不利于应用程序的跨数据库平台移植。 2.通用基于WEB数据库访问技术 信息化时代,网络和信息管理高速发展,数据库技术日臻成熟,功能日趋完善,而网络和数据库之间的关联与应用日益紧密,用户对信息的要求随之也要达到高标准的实时性与交互性,因此WEB服务器与数据库技术的结合显得格外重要。数据库访问中间件技术出现一改传统两层结构,采取C/S三层结构,充分发挥了WEB技术和数据库技术二者结合的综合优势与潜力,提高了性能、访问效率和安全性。常见的基于WEB的数据库访问技术分为以下几种: 2.1 CGI技术 CGI即通用网关接口,是Web服务器与应用程序交互传递信息的一种标准接口。CGI的工作原理是客户端浏览器通过URL向Web服务器提出请求,服务器的守护进程将此请求传给相应CGI程序进行处理,然后CGI将处理结果返回客户端浏览器。CGI优点:通用性强,基本支持所有HTTP服务器,交互能力强,跨平台性能极佳,操作简单灵活。CGI缺点:应用程序通常独立执行,客户共享

相关文档
最新文档