急求 大神 单片机 ULN2003控制单片机步进电机驱动器 按键一下电机正转30秒 反转30秒 c程序

基于ULN2003 控制步进电机正反转_图文_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于ULN2003 控制步进电机正反转
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩5页未读,
定制HR最喜欢的简历
你可能喜欢您的访问出错了(404错误)
很抱歉,您要访问的页面不存在。
1、请检查您输入的地址是否正确。
进行查找。
3、感谢您使用本站,3秒后自动跳转至网站首页文档分类:
单片机结合ULN2003驱动步进电机.pdf
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,
您的浏览器不支持进度条
下载文档到电脑,查找使用更方便
还剩?页未读,继续阅读
该用户其他文档
下载所得到的文件列表单片机结合ULN2003驱动步进电机.pdf
文档介绍:
研究与交流单片机结合ULN2003驱动步进电机郑振杰江衍煊游德智福建交通职业技术学院(350007) binedwithULN2003toDriveStepMotors ZhengZhenjieJiangYanxuanYouDezhi municationsTechnologyCollege 摘要:在由单片机结合ULN2003组成单片机的驱动系统的程序设计过程中,根据不同的转动幅度调用不同的驱动程序,最终实现了高精度的控制转动角度。关键词:单片机驱动步进电机中图分类号:TM359.9文献标识码:A DOI编码:10.3969/j.issn.10.06.015 Abstraet:binedwithULN2003to controlthedrive.Differentdrivingprogramsweretrans— ferredbaseduponthedifferentrotatingrangeoftheSCM drivingsystemwhichrealizedthecontrolofrotatingangle precisely. Keywords:SCM DriveStepmotor 借助单片机AT89C5l对四相步进电机进行控制时,需要通过I/OH输出具有一定时序的方波作为步进电机的控制信号,但仅靠该TTL电平无法直接驱动电机。如果采用74LS373进行驱动电机,必须增加许多寄存器才能驱动,因此考虑电机驱动芯片ULN2003来驱动步进电机。 1驱动芯片ULN2003 ULN2003是一种高耐压、大电流的达林顿陈列,由七~'NPN达林顿管组成。每—对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下与 TTL和CMOS电路直接相连,可以直接处理需要标准逻辑缓冲器来处理的数据。ULN2003的内部结构如图l,灌电流可达500mA,并且在关态时能够承受50V的电压,可以在高负载电流下并行 44.2010年第6期《电机技术》输出运行。其中,由单片机AT89C51的25—28脚作为ULN2003的l~4H输入端所构成的步进电机驱动电路如图2。图1ULN2003内部结构图2单片机控制步进电机线路 2驱动电机电机驱动的关键要点就是精确控制电机旋研究与交流转的角度。程序设计时要根据传感器的信息判断旋转方向,以便起动相应的转动方向子程序。正反控制程序分别按控制脉冲顺序的要求采用相应制模型,并判断是否大幅度转向,采用变脉冲宽度方式来实现电机调速。程序设计时把步进电机的控制方式建立成控制模型,并以数据表形式存于程序存储器中,程序在应用过程就可以直接使用。以四相电机为例,假设按照四相八拍控制模式(如图4)进行设置,把单片机AT89C51 的P2.4、P2.5、P2.6和P2.7分别用以控制步进电机的四相。根据表l,将正转模型设计为为:AC、 A、AD、D、BD、B、BC、C;反转模型设计为: C、BC、B、BD、D、AD、A、AC,并采用寄存器进行计数达到控制步进电机转动的步数。图3四相步进电机步进示意图表1八拍驱动方式逻辑时序步进 Ol 02 03 04 真值表通电 O ON oFF ON 0FF lOlO AC l ON oFF OFF 0FF 1000 A 2 ON oFF oFF oN l0O1 AD 3 OFF oFF oFF ON 0001 D 4 OFF oN oFF oN 0l0l BD 5 oFF oN OFF oFF 0100 B 6 OFF oN oN OFF Ol1O BC 7 oFF OFF ON oFF 0O1O C 8 oN oFF oN oFF 10l0 AC 步进电机的脉冲控制通常由逻辑电路来实现,单片机控制时可以通过编制程序由扩展I/O 口输出脉冲来决定电机的运行方式、方向及转速。为了能够提高电机转动的精确度,由减速齿轮构成减速比为l:90的传动机械,也就是当步进电机转动9O。时,外界所观察到的设备才转动 l。步进电机转动的角位移是通过控制信号的脉冲个数来完成的,通过控制脉冲个数控制角位移量,从而达到准确定位的目的。四相电机具有四相绕组,有八个独立的引线终端,连接方式如图3。四相步进电机有双四拍和八拍驱动方式, 表l列出了步进电机的通电逻辑时序。四相步进电机按照通电顺序的不同,可以采用单四拍、双四拍或者采用八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。步进电机八拍驱动的通电顺序如表l,它以半步方式驱动,也就是在某一通电时间,步进角仅前进一半。对四相步进电机驱动的程序设置按八拍工作方式进行设置,按照流程图分别设置各个子程序,然后根据不同情况分别调用。 3驱动程序对零点是电机操作最重要的环节之一。在步进电机进行点位控制之前首先必须确定出一个绝对坐标系,系统就将对零点位置作为第一个绝对坐标系。上电后首先进行归零操作,电机一开始以顺时针(或者逆时针)方向任意旋转,一旦接收到主控制台传来的信号就立刻控制电机停止运动,并等待接收旋转的数据,然后开始控制电机的运行。 4速度控制由于要求电机能够精确定位,而且还要求快速地到达预定的位置,也就是要求准确地控制步进电机的转动速率。步进电机的速率控制的方法主要是通过改变每个脉冲的时间间隔, 可以采用设置定时器的初始时间来获得延时时间,也可以采用改变程序中的延时时间来满足要求。假如转动方向变化比较大时,而电机还是以恒定的转速进行工作,那么转动的时间就要求比较长了。既要保证步进电机的转动速率尽可能快些,也要考虑一旦速度太快,有可能会使电机《屯帆技术》2010年第6期·45· 研究与交流产生失步。因为步进电机的响应频率厂s是比较低(100—250步/秒),而电机的起动频率还得低于最高空载起动频率,所以当步进电机起动后,进入稳态时工作频率远大于起动频率。由此可见, 个静止的步进电机是不可能马上到达较高的稳定工作频率,而是要求在起动的瞬间采取加速措施来完成。一般情况,在起步的时候采用升频方式,其时间范围约为0.1s~反之,从高速运行到停止也应该有减速的措施,而且减速时的加速度绝对值常比加速时的加速度还要大,也就是时间会更短。所以当要求步进电机走过的度数比较大时,为了保证快速而不失步,对步进电机的要求是:低速起动,接着高速运转,然后降低速度
内容来自淘豆网www.taodocs.com转载请标明出处.
文件大小:0 KB
下载次数:论文发表、论文指导
周一至周五
9:00&22:00
利用单片机AT89C51控制步进电机
  摘要:本文利用单片机AT89C51来控制四相步进电机,并通过LCD1602来显示其运行状态。通过软件设计实现让步进电机启动/停止、正/反转、调速以及设置运行的步数等功能。且电路简单、控制方便成本低,适用范围广和实用价值高。 中国论文网 /8/view-2310649.htm  关键词:AT89C51;步进电机;LCD1602;正/反转   步进电机是机电控制中一种常用的元件,它是将电脉冲转化为角位移或者线位移。在非超载运行的情况下,电机的运行速度、停止的位置仅仅取决于脉冲信号的频率和脉冲数。通俗的说,给步进电机驱动器加一个脉冲信号,步进电机就按照设定的方向转一个固定的步距角。由于步进电机具有结构简单、维护方便、精确度高、启动灵敏、停车准确,误差较小且无累计误差等特点使得步进电机在工业生产中应用相当的广泛。而利用单片机控制步进电机系统具有成本低、设计简单、操作方便的特点,在数控机床、工业自动控制等领域被广泛的应用。   1、步进电机的控制   1.1步进电机的驱动系统   步进电机必须由脉冲产生器发出脉冲信号以及脉冲指令,然后步进电机驱动器依据脉冲指令提供电流驱动步进电机运行。   1.2 步进电机的励磁方式   步进电机有2相、4相、5相电机。本文运用的为4相电机,但是励磁方式有1相(单相)励磁、2相(双相)励磁和1-2相(单-双相)励磁。步进电机严格的按照励磁的方式运行。例如:4相步进电机在1-2相励磁的顺序为:A―AB―B―BC―C―CD―D―DA。如果要求步进电机反转运行只要将步进电机的励磁方式改为:DA―D―CD―C―BC―B―BA―A就可以让步进电机反转运行。利用AT89C51单片机的P1.0~P1.3这四条I/O控制线,通过步进电机驱动器向4相步进电机传送控制信号,让其励磁方式为1-2相励磁,则步进电机在顺时针运行情况下单片机I/O端口的状态如表1所示。   1.3 步进电机的速度和位置控制   当给步进电机发送一个脉冲,它就会转一步,给它再发送一个脉冲,它会再转一步。由此可知两个脉冲的时间间隔越小,步进电机运转的越快。也就是步进电机的运转速度与脉冲速度(频率)成正比。因此可以通过控制脉冲频率来控制步进电机的运转速度。其中步进电机的运转速度与脉冲速度之间的关系为:电机的运转速度(rpm)=脉冲速度(pps或Hz)×60÷步进电机分割数/圈。   步进电机的位置控制是指步进电机在脉冲信号的控制下从一个位置精确的移动到另一个位置。步进电机移动移动量的大小是由步进电机的分辨率和与输入脉冲数来决定的。脉冲数与移动量的关系为:位置移动量(0)=步进电机分辨率(0)×输入脉冲数。例如:假设二相全步距角为1.80,当输入1000个脉冲,这时移动量是18000,刚好是5圈。因此我们可以根据实际需要来设置步进电机移动的步数,步进电机每移动一步,步数减少一,如果没有失步的存在,当执行机构移动到目标位置时,步数刚好减为0。   2、步进电机控制方案   2.1 步进电机控制硬件结构   本系统的主要硬件如图2。硬件主要利用单片机AT89C51的I/O口控制步进电机。考虑到单片机I/O口提供的电流无法驱动步进电机。因此要驱动步进电机需要选择合适的驱动元件。本设计选用的驱动芯片为ULN2003,因为ULN2003是一款电机脉冲分配芯片,其结构简单,价格低廉,而且无需外接功率放大电路。其由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。ULN2003芯片工作电压高,工作电流大,灌电流可达500mA,并且能够在关态(有低电平输入时,输出为高电平)时承受50V的电压,输出还可以在高负载电流并行运行。有时为了抗干扰或避免万一驱动电路发生故障, 功放中的高电平进入单片机系统而烧坏元件, 往往在驱动器与单片机之间加一级光电隔离器。   我们利用LCD1602来显示步进电机的运行状态。LCD1602是字符型显示器模块是2行×16个字符LCD显示器。该器件由32个字符点陈块组成,可以显示ASCII码中的所有字符。LCD1602字符型显示器的外形和引角分布、名称如图2所示。其具体使用方法请参照该产品的使用说明书。由于我们是利用P0口来控制LCD1602的显示,所以要连接八个上拉电阻。   为了方便对步进电机的控制在控制电路中我们设置了4个输入按钮,分别用来控制步进电机的启动(P2.0)、正/反转(P2.1)、转速控制(P2.2)以及运行的步数设置(P2.6)。以及在每个按钮态运行的时候有响应的LED发光进行提示。其结构如图2中的按钮控制部分。   2.2 控制系统的软件设计   本控制系统的控制程序里用C语言设计。C语言相对汇编语言具有其优点。该程序设计的关键在以下三个部分。(1)步进电机的励磁方式控制。对于步进电机的励磁方式(脉冲信号的分配)我们采用数组的形式。设置一个长度为8的,无符号字符型数组,在正转的情况按照数组下标从小到大依次送入每一个数组元素的值,当数组下表等于8的时候,重新重复输入。当反转按钮按下时,改变输入数值的方式,使数组元素按照下标由大到小输入,当下标小于0时,重新由大到小重复输入。这样步进电机就能反向运行。(2)LCD1602的显示控制。 LCD1602的控制包括测忙函数(void test_LCD1602busy())、写命令函数(void write_LCD1602Command(uchar co))、写数据函数(void write_LCD1602Date(uchar Date))、初始化函数(void init_LCD1602(void))以及显示函数(void dispaly_LCD1602(uchar *DData,X,Y))。通过这些函数LCD1602就可以运行起来,并根据我们的需要来显示。例如图2中LCD1602显示了STA:Z、SPD:1和RUN:ON分别表示步进电机的运行状态为正转、速度档位为1和步进电机正在运行中等情况。(3)延迟函数的应用。由于步进电机的数度是由脉冲信号的频率来控制的,也就是脉冲速率越快,步进电机运行的越快。为了不影响其他的功能的实现,在本控制系统   中我们采用了定时的方式来实现。我们采用的是11.0592MHz的晶振,因此可以根据定时的时间算出定时的初值TH1和TL1。在设计时我们发现,设计的定时器的时间,有时候与理论值具有微秒级的误差。要使步进电机高速运行,定时器的时间应该越短,我们可以通过转速按钮开实现,先让步进电机在频率较低的启动,然后不断的提高输入的频率,从而让步进电机从低速上升到高速。   3、总结   该系统通过利用单片机AT89C51来控制步进电机,设计了键盘输入模块、步进电机驱动模块以及液晶显示模块,并通过软件设计实现让步进电机启动/停止、正/反转、调速以及设置运行的步数等功能。且电路简单、控制方便成本低,适用范围广和实用价值高。■   参考文献   [1] 赵建领. 51系列单片机开发宝典[M]. 电子工业出版社,2007.   [2] 蒋辉平等. 基于Proteus的单片机系统设计与仿真实例[M]. 机械工业出版社,2009.   [3] 任艳君. 电机与拖动[M]. 机械工业出版社,2011   [4] 李明等. 单片机原理及应用[M]. 北京航空大学出版社出版发,2007.
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。网站已改版,请使用新地址访问:
xinde 89C51单片机控制步进电机,实现正反转,加减速和复位,用位数码管显示转速状态和级别 SCM 发 238万源代码下载- www.pudn.com
&文件名称: xinde
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 53 KB
&&上传时间:
&&下载次数: 25
&&提 供 者:
&详细说明:89C51单片机控制步进电机,实现正反转,加减速和复位,用位数码管显示转速状态和级别-89C51 microcontroller stepper motor to achieve reversing, acceleration and deceleration, and reset, with digital display speed status and level
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&新的\Last Loaded 修改.DBK&&....\STARTUP.A51&&....\STARTUP.LST&&....\STARTUP.OBJ&&....\修改.DSN&&....\修改.PWI&&....\新的&&....\新的.c&&....\新的.hex&&....\新的.lnp&&....\新的.LST&&....\新的.M51&&....\新的.OBJ&&....\新的.Opt&&....\新的.plg&&....\新的.Uv2&&....\新的.__i&&....\新的_Opt.Bak&&....\新的_Uv2.Bak&&新的
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 单片机控制显示步进电机的转速,用数码管显示出来。
&[] - 单片机控制直流电机程序,本程序可实现电机的正转,反转,前进后退,电机转速可调
&[] - AVRTINY13程序,功能为发电机工作时间计时器,4位数码管显示时间,纽扣电池供电。
&[] - 实现直流电机正反转和加减速,keil开发环境,驱动芯片是L298。六位数码管显示
&[] - 用51单片机驱动四相六线步进电机,电机正反转,加减速
&[] - 使用LCD来显示由ULN2003驱动的步进电机,实现正反转,加减速的功能。
&[] - 压控阀控制系统,L298驱动直流电机,控制阀门开关,proteus 仿真,LED显示电机转数,
&[] - uln2003继电器控制端
通过控制2个继电器循环工作状态,模拟洗衣机间歇正反转
一般正转3s,停止2s,然后反转3s,停止2s,循环上述动作
&[] - 使用ULN2003步进电机反相驱动芯片,驱动步进电机C语言源代码,实现加速、减速等正反转
&[] - C52单片机-步进电机加减速运行控制程序
步进电机启动时,转速由慢到快逐步加速。
步进电机匀速运行 步进电机由快到慢逐步减速到停止

我要回帖

更多关于 单片机控制步进电机 的文章

 

随机推荐