基于AT89C51单片机的步进电机控制毕业设计论文.docx

上传人:b****0 文档编号:9781604 上传时间:2023-05-21 格式:DOCX 页数:31 大小:151.17KB
下载 相关 举报
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第1页
第1页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第2页
第2页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第3页
第3页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第4页
第4页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第5页
第5页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第6页
第6页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第7页
第7页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第8页
第8页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第9页
第9页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第10页
第10页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第11页
第11页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第12页
第12页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第13页
第13页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第14页
第14页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第15页
第15页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第16页
第16页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第17页
第17页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第18页
第18页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第19页
第19页 / 共31页
基于AT89C51单片机的步进电机控制毕业设计论文.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于AT89C51单片机的步进电机控制毕业设计论文.docx

《基于AT89C51单片机的步进电机控制毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的步进电机控制毕业设计论文.docx(31页珍藏版)》请在冰点文库上搜索。

基于AT89C51单片机的步进电机控制毕业设计论文.docx

基于AT89C51单片机的步进电机控制毕业设计论文

基于AT89C51单片机的步进电机控制

摘要:

随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。

研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。

步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。

采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。

软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。

本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。

实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。

本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。

关键词:

步进电机,单片机,正反转控制,键盘控制,LCD液晶显示

目录

摘要1

第一章绪论3

1.1步进电机及其发展3

1.2步进电机在我国的发展应用及前景3

1.3设计研究内容4

第二章控制系统硬件分析与设计5

2.1步进电机5

2.2单片机的选择7

2.3步进电机控制系统的组成8

第三章控制系统软件分析与设计13

3.1程序流程图13

3.2读键盘子程序流程图14

3.3键盘处理子程序流程图14

3.4电机控制中断程序流程图15

第四章调试与改进17

4.1调试与改进17

4.2运行结果17

第五章总结18

致谢19

参考文献20

附录21

附录一源程序清单21

附录二控制原理图26

第一章绪论

1.1步进电机及其发展

步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。

单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。

随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。

步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。

1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。

到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。

步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。

在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

1.2步进电机在我国的发展应用及前景

我国步进电机的研究及制造起始于本世界50年代后期,从50年代后期到60年代后期,主要是高等院校和科研机构为研究一些装置而使用或开发少量产品。

我国在文化大革命中开始大量生产和应用步进电机,例如江苏、浙江、北京、南京、四川等各地都有投入生产,而且都在各行业使用,其中的驱动电路所有半导体器件都是完全国产化的,当时是全分立元器件构成的逻辑运算电路,还有电容耦合输入的计数器,触发器,环形分配器。

中等耐压的大功率半导体器件也完全国产化。

70年代初期,步进电机的生产和研究都有所突破,除反映在驱动器设计方面的长足进步以外,对反应式步进电机本体的设计研究发展到一个较高的水平。

70年代中期至80年代中期为成品发展阶段,新品种高性能电动机不断被开发。

至80年代中期以来,由于步进电机精确模型做了大量研究工作,各种混合式步进电机及驱动器作为产品广泛利用。

国外在大功率的工业设备驱动上,目前基本不使用大扭矩步进电动机,因为从驱动电路的成本,效率,噪音,加速度,绝对速度,系统惯量与最大扭矩比来比较,比较不划算,还是用直流电动机,加电动机编码器整体技术和经济指标高。

一些少数高级的应用,就用空心转杯电机,交流电机。

国外在小功率的场合,还使用步进电机,例如一些工业器材,工业生产装备,打印机,复印件,速印机,银行自动柜员机。

国内过去是用大力矩步进电动机实现机床数控,有实力的公司现在也采用交流电动机驱动数控机床,在驱动设备的主要差距,是国外对交流电动机的控制理论与工程分析和应用能力强,先进的控制理论作为软件,写在控制器内部。

目前,生产步进电机的厂家的确不少,但具有专业技术人员,能够自行开发,研制的厂家却非常少,大部分的厂家只一、二十人,连最基本的设备都没有。

仅仅处于一种盲目的仿制阶段。

这就给户在产品选型、使用中造成许多麻烦。

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

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

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

1.3设计研究内容

本设计的目的是以单片机为核心设计出一个单片机控制步进电机的控制系统。

本系统采用AT89C51作为控制单元,通过键盘实现对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度动态显示在LCD液晶显示器上。

总体设计框图如图1.1所示:

图1.1总体设计框图

第二章控制系统硬件分析与设计

2.1步进电机

步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。

单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。

多相步进电动机有多相方波脉冲驱动,用途很广。

 

使用多相步进电动机,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。

每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。

正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。

由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。

2.1.1步进电机的原理

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。

步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。

其基本原理作用如下:

1.控制换相顺序

通电换相这一过程称为脉冲分配。

例如:

三相步进电机的三拍工作方式,其各相通电顺序为A—B—C—D,通电控制脉冲必须严格按照这一顺序分别控制A、B、C、D相的通断。

2.控制步进电机的转向

如果给定工作方式正序换相通电,步进电机正转,如果按反序通电换相,则电机就反转。

3.控制步进电机的速度

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。

两个脉冲的间隔越短,步进电机就转得越快。

调整单片机发出的脉冲频率,就可以对步进电机进行调速。

2.1.2步进电机的特点

1.一般步进电机的精度为步进角的3-5%,角位移与输入脉冲数严格成正比,没有累计误差,具有良好的跟随性。

2.步进电机外表不允许较高的温度。

  步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。

3.步进电机的力矩会随转速的升高而下降。

当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。

在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。

4.步进电机自身的噪声和振动较大,带惯性负载的能力较差。

5.由步进电机与驱动电路组成的开环数控系统,既非常简单、廉价,又非常的可靠。

同时,它也可以与角度反馈环节组成高性能的闭环数控系统。

6.步进电机的动态响应快,易于启停,正反转及变速。

7.速度可在相当宽的范围内平滑调节,低速下仍能保证获得大转矩,因此,一般可以不用减速器而直接驱动负载。

8.步进电机只能通过脉冲电源供电才能运行,它不能直接使用交流电源和直流电源。

9.步进电机存在振荡和失步现象,必须对控制系统和机械负载采取相应的措施。

10.步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。

步进电动机以其显著的特点,在数字化制造时代发挥着重大的用途。

伴随着不同的数字化技术的发展以及步进电机本身技术的提高,步进电机将会在更多的领域得到应用。

2.1.3步进电机的分类

现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。

1.反应式步进电机:

一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。

反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。

2.永磁式步进电机:

一般为两相,转矩和体积较小,步进角一般为7.5度或15度;

3.混合式步进电机:

是指混合了永磁式和反应式的优点。

它又分为两相和五相:

两相步进角一般为1.8度而五相步进角一般为0.72度。

这种步进电机的应用最为广泛,性能最好。

2.1.4永磁步进电机的控制原理

在本设计以常用的永磁式步进电机为例,用单片机控制步进电机。

其接线图如图2.1所示:

图2.1CZ-2801型永磁步进电机接线图

从图中可以看出,电机共有四组线圈,四组线圈的一个端点连在一起引出,这样一共有5根引出线。

要使用步进电机转动,只要轮流给各引出端通电即可。

将COM端标识为C,只要AC、BC或/AC、/BC,轮流加电就能驱动步进电机运转,加电的方式可以有多种,如果将COM端接正电源,那么只要用开关元件(如三极管),将A、B或/A、/B轮流接地。

不难设计出控制电路,因其工作电压为12V,因此用一块开路输出达林顿驱动器(这里用ULN2003,关于ULN2003将在后面介绍)作为驱动,通过P1.0、P1.3来控制各线圈的接通与切断。

开机时,P1.0、P1.3均为高电平,依次将P1.0、P1.2(或P1.1、P1.3反向)切换为低电平即可驱动步进电机运行。

如果要改变电机的转动速度只要改变两次接通之间的时间。

改变转速,只要改变P1.0、P1.2(或P1.1、P1.3反向)轮流变低电平的时间即可达到要求,因为不会影响到其他功能的实现,这个时间可以用延时来实现,。

这里以定时的方式来实现。

下面首先计算一下定时时间。

按要求,最低转速为20转/分,而上述步进电机的步距角为7.5,即每48个脉冲为1周,即在最低转速时,要求为960脉冲/分,相当于62.5ms/脉冲。

而在最高转速时,要求为100转/分,即48000脉冲/分,相当于12.5ms/脉冲。

2.2单片机的选择

本次设计选用AT89C5l作为步进电机的控制芯片.AT89C51的结构简单并可以在编程器上实现闪烁式的电擦写达几万次以上.使用方便等优点,而且完全兼容MCS5l系列单片机的所有功能。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FAlshProgrAmmABleAndErAsABleReAdOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案

2.2.1单片机的引脚功能

(1)VCC(40):

电源+5V。

(2)VSS(20):

接地,也就是GND。

(3)XTL1(19)和XTL2(18):

振荡电路。

单片机是一种时序电路,必须有脉冲信号才能工作,在它的内部有一个时钟产生电路,有两种振荡方式,一种是内部振荡方式,只要接上两个电容和一个晶振即可;另一种是外部振荡方式,采用外部振荡方式时,需在XTL2上加外部时钟信号。

(4)PSEN(29):

片外ROM选通信号,低电平有效。

(5)ALE/PROG(30):

地址锁存信号输出端/EPROM编程脉冲输入端。

(6)RST/VPD(9):

复位信号输入端/备用电源输入端。

(7)EA/VPP(31):

内/外部ROM选择端。

(8)P0口(39-32):

双向I/O口。

(9)P1口(1-8):

准双向通用I/0口。

(10)P2口(21-28):

准双向I/0口。

2.2.2主要特性

与MCS-51兼容4K字节可编程闪烁存储器寿命:

1000写/擦循环数据保留时间:

全静态工作:

0Hz-24Hz三级程序存储器锁定、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路

(1)振荡器特性:

  XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

(2)芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.3步进电机控制系统的组成

步进电机控制系统共分为六个模块:

单片机最小系统模块、键盘控制模块、数码显示模块、测速模块、步进电机驱动模块和电源模块。

1.单片机最小系统主要由复位电路和时钟电路组成。

复位电路为单片机系统提供可靠复位,使单片机能正常启动。

时钟电路采用外部时钟方式,保证单片机个功能部件都是以时钟频率为基准,有条不紊地一拍一拍地工作。

2.键盘控制模块包括方向控制键、加速键和减速键、启停键,分别与单片机的P2.0、P2.1、P2.2和P2.3相连。

实现对步进电机的控制。

并且键盘上连接有发光二极管,以指示键盘状态。

3.数码显示模块采用共阴极数码管来动态显示步进电机的实际转动速度。

利用I/O口为数码管的com端提供低电平。

二号单片机的P1口提供数码管的段选信号,P2.6和P2.7控制数码管的位选信号。

4.测速模块采用开关霍尔片对安放在步进电机转盘上的小磁片的磁信号进行检测,步进电机转盘每次带动小磁片经过霍尔片时,其都将有脉冲信号从霍尔片输出。

单片机外部中断口对信号进行采集。

5.步进电机驱动模块选用七个NPN达林顿连接晶体管ULN2003为步进电机提供脉冲信号,驱动步进电机转动。

该模块与单片机的P1.0—P1.3相连。

6.电源模块是通过将市电220V转变为直流12V和直流5V分别供给驱动模块和单片机模块。

2.3.1键盘控制电路

键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人工干预单片机的主要手段。

键盘实质是一组按键开关的集合。

键盘所用开关为机械弹性开关,利用了机械触点的合、断作用。

一个电压信号在机械触点的断开、闭合过程中,都会产生抖动,一般为5—10ms;两次抖动之间为稳定的闭合状态,时间由按键动作所决定;第一次抖动前和第二次抖动后为断开状态。

按键的闭合与否,反映在输出电压上就是呈现出高电平或低电平。

通过对输出电平的高低状态的检测,便可确认按键按下与否。

在本设计中,高电平表示按键断开,低电平表示按键闭合状体。

并且,为了能直观形象的表示按键闭合与否,还为每个按键相应增加了发光二极管,按键断开时,发光二极管灭,当有键闭合时,相应的发光二极管变亮。

为了确保单片机对一次按键动作只确认一次按键,必须消除抖动的影响。

消除按键抖动通常采用硬件、软件两种方法。

由于硬件消抖电路设计复杂,本设计中没有采用,在此不再详细叙述;软件消抖适合按键较多的情况,方便简单。

其原理是在第一次检测到有键按下时,执行一段延时10ms的子程序后在确认该键电平是否仍保持闭合状态电平,如果保持闭合状态电平则确认为真正有键按下,从而消除了抖动的影响。

其原理图如图2.2所示:

图2.2键盘控制模块原理图

2.3.2LCD液晶显示电路

LCD1602简介

液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,因此,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用,现在字符型液晶显示模块已经是单片机应用设计中最常用的信息显示器件了。

这里向大家介绍一款LCD1602液晶显示模块,它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格便宜,具有很高的性价比。

1602B外观如图2.3所示:

图2.3LCD1602芯片管脚

接口引脚功能表如表2.1所示:

表2.1接口引脚功能表

引脚号

符号

状态

功能

1

Vss

电源地

2

Vdd

电源+5V

3

V0

液晶驱动电源

4

RS

输入

寄存器选择

5

R/W

输入

读、写操作

6

E

输入

使能信号

7

DB0

三态

数据总线(LSB)

8

DB1

三态

数据总线

9

DB2

三态

数据总线

10

DB3

三态

数据总线

11

DB4

三态

数据总线

12

DB5

三态

数据总线

13

DB6

三态

数据总线

14

DB7

三态

数据总线(MSB)

15

LEDA

输入

背光+5V

16

LEDK

输入

背光地

主要管脚介绍:

V0:

液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。

RS:

寄存器选择,高电平时选择数据寄存器;低电平时选择指令寄存器。

R/W:

读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和R/W共同为低电平时可以写入指令或者显示地址;当RS为高电平R/W为低电平时可以写入数据。

E:

使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

在本设计中所采用的是共阴极LCD液晶显示器,这里用四位一体数码管SM420361K:

型号:

SM420361K-12P

类别:

4位一体共阴

规格:

长×宽×高-30.1×14.1×7.3mm

管脚标号:

12-9-8-6公共脚、A-11、B-7、C-4D-2、E-1、F-10、G-5、DP-3

在本设计中采用数码管动态显示转速,数码显示电路通过交替向P2.6和P2.7输出低电平,使得与这两个端口连接的数码管公共端交替为低电平,从而为数码管提供导通回路,通过对交替时间的控制实现数码管在视觉上的不间断显示。

通过P1口输出段选信号,控制了数码管显示的内容。

如图2.4所示:

图2.4数码管显示电路

2.3.3步进电机驱动电路

本系统的设计目的为了高效控制步进电机的转动,因此需要将单片机发出的脉冲转化为步进角度,才能控制步进电机转动,我们在这里采用ULN2003为步进电机提供脉冲信号。

ULN2003七NPN达林顿连接晶体管是低逻辑电平数字电路(如TTL,CMOS或PMOS/NMOS)和大电流高电压要求的灯、继电器、打印机锤和其他类似负载间的接口的理想器件。

广泛用于计算机,工业和消费类产品中。

所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管。

ULN2003的设计与标准TTL系列兼容。

它的管脚连接图如图2.5所示:

图2.5ULN2003管脚连接图

其主要特性为:

 

表2.2ULN2003主要特性表

极限值(若无其他规定,Tamb=25℃)

参数名称

符号

数值

单位

输入电压

VIN

30

V

输入电流

IIN

25

mA

功耗

PD

1

W

工作环境温度

Topr

-20to+85

贮存温度

Tstg

-55to+150

ULN2003芯片概述与特点:

ULN2003芯片是高耐压、大电流达林顿阵列,由7组达林顿晶体管阵列和相应的电阻网络以及钳位二极管网络构成,具有同时驱动7组负载的能力,为单片双极型大功率高速集成电路。

功率电子电路大多要求具有大电流输出能力,以便于驱动各种类型的负载。

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

ULN2003芯片高压大电流达林顿晶体管阵列产品属于可控大功率器件。

步进电机驱动电路的工作过程是:

首先从P1口输出00000001B,由于单片机与ULN2003连接只用到了P1.0—P1.3,所以ULN2003与单片机连接的四个管脚中每时刻只有一个管脚处于导通状态(采用单拍方式对步进电机控制),其他管脚处于断开状态。

这样就使得与ULN2003连接的步进电机只有一个引出端导通。

该系统驱动原理图如图2.6所示:

图2.6步进电机驱动原理图

第三章控制系统软件分析与设计

步进电机控制系统的软件需要同时完成读取键盘、处理键盘、控制步进电机转动、控制数码管动态显示等任务,这就必须通过中断技术来实现。

在本设计中,主程序采用查询方式扫描键盘端口,检测按键动作是否发生,若有按键动作则处理键盘,根据按键值修改相应参数值,实现键盘的实时处理功能。

定时器0中断服务程序控制步进电机的转动:

根据当前显示的速度进行键盘手动改变T0定时时间常数,设置TH0和TL0的值,达到对转速精确控制的目的;根据转动方向控制位的值,控制脉冲信号循环移动的方向,达到对转动方向控制的目的。

3.1程序流程图

步进电机控制系统的主程序在对整个系统初始化后主要完成读键盘和处理键盘的功能,如图3.1所示:

图3.1步进电机控制系统主程序流程图

系统上电复位后,先调用初始化子程序,对步进电机各端口,相关参数进行初始化,设置T0工作方式控制时间常数。

初始化完成后,步进电机处于停止状态,T0定时器处于关闭状态。

然后循环调用读键盘子程序和键盘处理子程序,等待中断,以便实现步进电机转动控制。

3.2读键盘子程序流程图

首先初始化实际键值参数为0FH,然后扫描P2口,与初始值比较,相等则说明没有键按下,不相等则软件消抖,以便确认是否真的有键按下。

延时10ms后再次扫描P2口,第二次与初始值比较,若相等则表明前一次比较不相等是由抖动产生;如果相等则表明确实有键按下。

执行键盘之程序里的指令,将相应的变量值改变,为键盘处理子程序做准备。

如图3.2所示:

图3.2扫描键盘字

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2