基于AT89C51单片机的步进电机控制及驱动电路设计

基于AT89C51单片机的步进电机控制及驱动电路设计
基于AT89C51单片机的步进电机控制及驱动电路设计

基于AT89C51单片机的步进电机控制及驱动电路设计

引言

国内控制器的研究起步较晚,运动控制技术为一门多学科交叉的技术,是一个以自动控制理论和现代控制理论为基础,包括许多不同学科的技术领域。如电机技术、电力电子技术、微电子技术、传感器技术、控制理论和微计算机技术等,运动控制技术是这些技术的有机结合体。总体上来说,国内研究取得很大的进步,但无论从控制器还是从控制软件上来看,与国外相比还是具有一定差距。

传统上由纯电路设计的步进电机控制和驱动电路一般较复杂,成本又高,而且一旦成型就难于修改,可移植性差,难以适应一些智能化要求较高的场合。单片机的普及与应用,为步进电机的应用开辟了广阔的前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,将会避免复杂电路的设设计,既降低了硬件成本又提高了控制的灵活性、可靠性及多功能性。

本文主要介绍了步进电机的基本原理及AT89C51单片机的性能特点。设计主要研究了一种基于AT89C51单片机和ULN2003驱动芯片的步进电机控制及驱动电路系统。该系统可分为:控制模块、驱动模块、显示模块、人机交互模块四大部分。其中采用AT89C51单片机作为控制模块的核心,利用单片机编程实现了对步进电机启动停止、正转反转、加速减速等功能的基本控制。驱动模块由芯片ULN2003A驱动步进电机工作;显示部分由七段LED共阴数码管组成;人机互换部分由相应的按键实现相应的功能。通过实际测试表明本设计系统的性能优于传统步进电机控制器,具有结构简单、可靠性高、实用性强、人机接口简单方便、性价比高等特点。

目录

1设计原理及方案 (4)

1.1 设计原理 (4)

1.2 设计方案 (4)

1.2.1 方案一 (5)

1.2.2 方案二 (6)

1.2.3 方案比较及选择 (7)

2 设计实现 (8)

2.1 主要元器件介绍 (8)

2.1.1 四相六线步进电机的介绍 (8)

2.1.2 AT89C51单片机芯片介绍 (10)

2.1.3 ULN2003芯片介绍 (11)

2.1.4 LED七段数码管介绍 (11)

2.2 步进电机控制及驱动系统电路设计实现 (12)

2.2.1 硬件设计 (12)

2.2.2 软件设计 (15)

3 电路调试 (16)

3.1 软件的仿真 (16)

3.2 硬件电路的调试 (17)

4 数据分析及总结 (18)

4.1 测试数据及说明 (18)

4.2 总结 (19)

参考文献 (20)

附录 (21)

1设计原理及方案

1.1 设计原理

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

虽然步进电机已被广泛地应用,但步进电机并不能像普通的直流电机、交流电机在常规下使用。步进电机必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。1.2 设计方案

设计要求:设计步进电机控制器硬件电路图,并使用相应的软件实现硬件和软件的仿真、调试。实现功能如下:

(1)控制步进电机实现正转和反转;

(2)控制步进电机转速;

(3)设计步进电机的脉冲放大电路,能驱动相电压位12V、相电流位为0.4A的步进电机工作;

(4)实现对步进电机圈数的预置;

(5)同步显示步进电机所转圈数及速度。

根据步进电机的特点,步进电机的控制及驱动电路系统的设计可以有不同的方案。系统可以划分为:控制模块、驱动模块、显示模块、人机交互模块及电源电路五大部分,如图1步进电机控制驱动系统图所示。为实现各模块的功能,分别对两种不同的设计方案分别进行论证及比较,最终确定一个最优方案。

图1 步进电机控制驱动系统图

1.2.1 方案一

方案一:基于FPGA 的步进电机控制器及驱动的电路设计。整个系统分为五个部分组成:FPGA 系统中央控制器、驱动电路及步进电机、光电编码器、键盘输入液晶显示部分、以及电源电路组成,如图2所示。此方案是用基于FPGA 的系统中央控制器产生的PWM 环形脉冲信号经过驱动电路的信号分配以及功率放大传送给步进电机实现对步进电机的角位置或直线位移控制。键盘用于设定给定转速、位置。采用光电编码器对步进电机的转速、位置进行采样检测实现闭环控制。以上过程中的多个变量、参数可以在液晶显示屏上得到直观地反映。

图2 基于FPGA 的步进电机控制器及驱动系统图

(1)控制器模块采用FPGA 为系统的控制器,FPGA 可以实现各种复杂的逻辑功能,模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性。 FPGA 采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。通过输入模块将参数输入给FPGA ,FPGA 通过程序设计控制步进电机运动,但是由于本设计对数据处理的时间要求不高,FPGA 的高速处理的优势得不到充分体现,并且由

控制模块

人机交互模

驱动模块 显示模块

电源

步进电机

键盘输入及液晶显示部

FPGA 系统中央

控制器

光电编码器

驱动电路及步进电机

电源电路

给定转速、位置

转速位置显示

读取采样结果

给定PWM 方波信号

检测转速、位置

于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。

(2)驱动模块电路结构设计需要脉冲信号、信号分配、功率放大三部分组成。控制模块产生一个脉冲序列和方向控制信号,使用脉冲分配器将脉冲序列分解形成四相正反相序,然后经功率放大驱动步进电机。使用多个功率放大器件驱动电机,通过使用不同的放大电路和不同参数的器件,可以达到不同的放大的要求,放大后能够得到较大的功率。但是由于使用的是四相的步进电机,就需要对四路信号分别进行放大,放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂,参数选择困难,且需要多级放大,同时又要考虑功率的放大。

(3)显示模块采用液晶显示器。液晶显示器不仅可以显示字符、数字,还可以显示各种图形、曲线和汉字,并且可以实现屏幕上下左右滚动、动画、闪烁、文本显示等功能,并具有功耗小、体积小、质量轻等优点。但设计仅需显示步进电机的转速和所转圈数,该方案虽然显示直观,但能实现更多的显示的特点不能很好的发挥,并且器件昂贵。

(4)人机交互模块采用4乘4矩阵键盘,查询工作方式。该方案程序复杂,但在同样多的I/O口线条件下,行列式键盘能带更多的按键,查询工作方式也不用另接门电路。软件虽然较难但电路较简单。

1.2.2 方案二

方案二:基于AT89C51单片机的步进电机控制及驱动电路设计。整个系统可分为:AT89C51单片机系统控制器、驱动电路、数码管显示、按键输入模块及电源电路五大部分,如图2.9所示。本设计方案采用AT89C51单片机作为控制模块的核心,利用软件编程使单片机输出脉冲序列和方向控制信号,以此实现对步进电机启动停止、正反转、加减速的控制。驱动电路部分由芯片ULN2003A和必要的外围电路组成,单片机产生的信号经驱动电路使其功率放大,达到电机所需的驱动电压和电流由此驱动步进电机工作。由七段LED共阴数码管实现步进电机预置圈数和所转圈数的同步显示。用相应的按键实现预置圈数设置和清零的功能。

图3 基于AT89C51单片机的步进电机控制及驱动系统图

(1)控制模块采用AT89C51单片机作为系统控制的核心。利用单片机编程产生步进电机所需脉冲序列和方向控制信号。单片机算术运算功能强、软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。由于其功耗低、体积小、技术成熟和成本低,且可对其进行扩展,附带显示设备,键盘输入等设备,使用方便。还可通过软件编程实现对步进电机的位置、速度预设及显示。步进电机位置和速度实际上跟单片机产生脉冲的个数和脉冲频率是一一对应关系,而方向由导电顺序决定。并且,由于单片机芯片引脚少,软硬件连接简便灵活,硬件容易实现。

(2)驱动模块直接采用ULN2003芯片进行功率放大。它的内部结构是达林顿的,专门用来驱动继电器的芯片,甚至在芯片内部做了一个消线圈反电动势的二极管。ULN2003的输出端允许通过IC 电流200mA ,饱和压降VCE 约1V 左右,耐压BVCEO 约为36V 。输出口的外接负载可根据以上参数估算。采用集电极开路输出,输出电流大,故可以直接驱动继电器或固体继电器(SSR)等外接控制器件,也可直接驱动步进电机。ULN2003芯片自身功耗小、 驱动能力强、可靠稳定、体积小、使用方便、价格不高、50V/0.5A 以下的电路均可使用。

(3)显示模块采用LED 七段共阴数码管进行动态显示。AT89C51单片机输出的脉冲序列经过上拉电阻驱动数码管显示。采用数码管动态显示方式,硬件电路简单、编程简便、显示信息清晰、器件价格低廉,但占用单片机I/O 口较多。

(4)人机交互模块采用独立式按键。总共设置了15个按键,其中四个按键分别执行对步进电机的启动/停止、正转/反转、加速、减速四种控制功能。四个按键不可同时按下,当其中一个按下时控制电机的某一种状态。按键0~9完成预置步进电机所转圈数的功能,剩余一个按键实现清零的功能。采用独立式按键,中断工作方式。该方案原理易懂,程序简单,但占用I/O口线较多,软件较容易,硬件电路较繁琐。 1.2.3 方案比较及选择

方案比较:

AT89C51单片机系统控制器

按键输入

电源电路

驱动电路

数码管显示

预置数 控制 清零

脉冲序列

方向控制信号

步进电机

功率

放大

信号

同步显示圈数及转速

(1)控制模块:方案一:是以FPGA为系统的控制器。本设计对数据处理的时间要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。方案二:采用AT89C51单片机作为系统控制的核心,软件编程灵活、自由度大、功耗低、体积小、成本低,芯片引脚少,软硬件连接简便灵活,硬件容易实现。

(2)驱动模块:方案一驱动电路结构设计需要脉冲信号、信号分配、功率放大三部分组成。由于使用的是四相的步进电机,就需要对四路信号分别进行放大,放大电路很难做到完全一致,当电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂,参数选择困难,且需要多级放大,同时又要考虑功率的放大。方案二的驱动模块直接采用ULN2003芯片进行功率放大。ULN2003芯片自身功耗小、驱动能力强、可靠稳定、体积小、使用方便。

(3)显示模块:由于设计仅需同步显示步进电机的转速和圈数,方案一采用液晶显示器,虽然显示直观,但能实现更多的显示的特点不能很好的发挥,并且器件昂贵。方案二:采用数码管进行动态显示,硬件电路简单、编程简便、显示信息清晰、器件价格低廉。

(4)人机交互模块:方案一采用4乘4矩阵键盘,查询工作方式,程序复杂,软件虽然较难但电路较简单,价格较贵。方案二采用独立式按键,中断工作方式,原理易懂、程序简单、软件较容易、硬件电路较繁琐、价格低廉。

方案选择:

综上所述,通过对两种方案进行分析比较,虽然方案一功能强大,但软件编程复杂、硬件实现较困难、器件价格较高;方案二不尽能实现设计任务要求的功能,而且软件编程灵活、自由度大、硬件实现较容易、元器件性价比较高,因而综合考虑采用方案二。

2 设计实现

2.1 主要元器件介绍

2.1.1 四相六线步进电机的介绍

步进电机工作原理:该设计中所用到的步进电机为四相六线步进电机,它是采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图3.1是该四相步进电机工作原理示意图。

图4 四相步进电机步进示意图

开始时,开关S

B 接通电源,S

A

、S

C

、S

D

断开,B相磁极和转子0、3号齿对齐,同时,

转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。

当开关S

C 接通电源,S

B

、S

A

、S

D

断开时,由于C相绕组的磁力线和1、4号齿之间磁

力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。

四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图3.2中a、b、c所

示。

图5 步进电机工作时序波形

本设计中步进电机的参数:

模组配备的步进电机为25BY2406电机,工作方式为双极性四相。电机是种将电脉冲

转化为角位移的执行机构。当步进电机接收到一个脉冲信号,它就按设定的方向转动一个固定的角度(称为“步距角”)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率实现步进电机的调速。

市面上一般的步进电机内部结构图如图3.3所示。

图6 步进电机的接线

本设计采用的步进电机是25BY2406,因生产厂家不同,其接线也有所不同。

电机共引出四根线,其余两根线是公共端,经测量后可得到其正确的接线顺序,表3.1给出了电机所对应的相序。

表1 步进电机控制线

控制线颜色黑橙棕黄

控制线名称 A B C D

其中,C与D是电机内部一组线圈的两个抽头, A与B是另一组线圈的两个抽头。只需以一定的顺序控制两组线圈中的电流方向即可使步进电机按指定方向转动。

25BY2406的主要技术参数如下表3.2所示。

表2 步进电机25BYJ1201技术参数

电压相电阻步距角启动转矩

(g.cm)

启动频率(P.P.S)定位转矩(g.cm)

5~12V 20Ω15 ≥120 ≥200 ≥48

2.1.2 AT89C51单片机芯片介绍

本设计采用AT89C51单片机作为控制系统的核心。AT89C51单片机组成结构中包含运算器、控制器、片内存储器、4个I/O口、串行口、定时器/计数器、中断系统、振荡器等功能部件。

采用HMOS制造工艺的MCS-51单片机都采用40管脚双列直插式封装,除采用40脚双列式直插式封装外,还有用方形的封装方式。40管脚双列直插式封装管脚图如 3.4

图所示。

图7 MCS-51系列单片机管脚图

2.1.3 ULN2003芯片介绍

ULN2003 是高耐压、大电流、内部由七个硅NPN 达林顿管组成的驱动芯片,如图3.5所示。经常在以下电路中使用,作为:显示驱动、继电器驱动、照明灯驱动、电磁阀驱动、伺服电机、步进电机驱动等电路中。

图8 ULN2003芯片图

2.1.4 LED七段数码管介绍

本设计采用六位LED共阴数码显示管作为显示部分,即将每个数码管的a~g及dp 端串联在一起,公共端作为位选信号输入端。如图3.8所示。

图9 六位LED共阴数码显示管图

2.2 步进电机控制及驱动系统电路设计实现

2.2.1 硬件设计

根据之前确定方案及各元器件的功能原理步进电机控制及驱动系统的详细电路设计如下:

(1)控制模块采用ATMEL公司的AT89C51单片机作为系统控制的核心,如图3.9所示。

图10 控制模块硬件电路图

脉冲信号由单片机产生,一般脉冲信号的占空比为0.3-0.4左右,电机转速越高,占空比则越大。信号分配实际上就是按照某一种控制方式(根据需要进行选定)所规定的顺序发送脉冲序列,达到控制步进电机方向的目的。

根据要求,所设计的步进电机八拍通电顺序为A→AB→B→BC→C→CD→D→DA→A。

步进电机的方向控制方法是:

用单片机输出接口的每一位控制一根相绕组。本设计中,用P3.0,P3.1,P3.2,P3.3分别接至步进电机的A,B,C,D四相绕组。

(2)驱动模块直接采用ULN2003芯片,如图3.10所示。由单片机产生的脉冲序列和方向控制信号从P3.0~P3.3口输出,直接送入ULN2003芯片进行功率放大,达到步进电机所需的驱动电流和电压,以此驱动步进电机工作。

图11 驱动模块硬件电路图

(3)显示模块采用六位LED七段共阴数码管进行动态显示,如图3.11所示。由AT89C51单片机产生的段选信号从P0输出,经过1K左右的上拉排阻驱动数码管显示,位选信号从P2口输出直接送数码管显示。采用数码管动态显示方式,硬件电路简单、编程简便、显示信息清晰。

图12 显示模块硬件电路图

(4)人机交互模块采用独立式按键,中断工作方式。总共设置了15个按键,如图3.12所示,其中四个控制按键分别执行对步进电机的启动/停止、正转/反转、加速、减速四种控制功能,由单片机的P3.4~P3.7口输入。四个按键不可同时按下,当其中一个按下时控制电机的某一种状态。按键0~9完成预置步进电机所转圈数的功能,剩余一个按键实现清零的功能,由单片机的P1口输入。采用独立式按键,原理易懂,软件编序简单。

图13 人机交互模块硬件电路图

(5)步进电机部分,该设计中所用到的步进电机为四相六线步进电机,

图14 步进电机部分硬件电路图

2.2.2 软件设计

综合以上选取的方案,总的流程如图3.15所示。

整个程序采用C 语言编程,使程序简单易读,在整个过程中采用模块化调试,可靠性好。

详细的源程序见附录。

图15 系统程序流程图

3 电路调试

以上为本作品的设计过程和结果的详细介绍,但是,从本质上来讲,都是纯理论的设计和分析。为了验证作品的可行性,我还做了硬件电路,来对设计作品中设计方案的主要功能及其理论进行实际验证。同时,在软硬件电路的调试过程,也可以发现本设计作品中有没有一些不足和错误的地方。为了能检验本毕业设计的可行性,并将其质量推向一个更高的层次,我们认真地设计了硬件电路,也进行了仔细的功能调试。

3.1 软件的仿真

系统电路软件仿真的步骤如下:

(1)打开protuse仿真软件;

(2)在软件的元器件库中选择所需的器件;

(3)按照硬件电路设计方案连线;

(4)加载编译好的HEX文件;

(5)运行、调试;

(6)如有错误或与设计预期不相符,则继续进行步骤3~5,进行调试,至到调试成功。

系统仿真如图4.1所示。

图16系统仿真软件图

3.2 硬件电路的调试

当硬件设计从布线到安装完成之后,就开始进入硬件调试阶段,调试大体分为以下几步。

(1)排除逻辑故障

(2)排除电源故障

(3)排除元器件失效

(4)脱机调试

(5)接入单片机调试

硬件电路调试如图4.2所示。

图17硬件电路调试图

4 数据分析及总结

4.1 测试数据及说明

圈数测试:在步进电机的机壳上做一个标记,从该标记处让步进电机开始运行,对步进电机的运行圈数进行记数,记数结果与预定值及显示值进行比较。

预设时,第一位置0,不分正反转。因为设计时,步进电机的步距角以15度为准,所以需24步为一圈,数码管只显示步进电机所转圈数。测试时,为区分正反转,设定首位为零为正转,首位为负号的为反转。

正转时测试数据如表5.1所示。

表3正转时测试数据

测试次数 1 2 3 4 5 6

预设值001125 000101 002128 000087 004012 000023 测试值01125 00101 02128 00087 04012 00023

反转时测试数据如表5.2所示。

表4反转时测试数据如表

测试次数 1 2 3 4 5 6

预设值001125 000101 002128 000087 004012 000023 测试值-01125 -00101 -02128 -00087 -04012 -00023 测试结果显示,电机在正常运行时电机没有圈数误差,电机圈数显示和实际计数结果吻合。从测试数据可看出,当步进电机运转到预设值时,电机停止运转,达到了对电机运转的控制。

步距角测试:随机的抽取电机转动一定的角度,在低频工作状态下记录电机的转动步数,用总角度除以转动步数,得出步距角。为了便于测量,选取90、180、270、360度,各测三次读出步距角求平均值。测试结果如表5.3所示。

表5步距角结果测试表

总角度90 180 270 360

步数 6 12 18 24 根据测试得到的结果及公式:总角度/步数=步距角,得出步距角为15度,与电机实际参数相符,电机运行的结果正常。

显示圈数的测试:把显示值和计数结果进行比较。随机的采样五次比较,比较结果显示,显示的圈数等于计数结果。数码管所显示的结果为可以信赖的结果。

电机正反转、加减速测试:通过对步进电机正反转的切换及加减速控制,观察电机的转动状态及数码管同步显示,电机的正反转、加减速运行状态正常。

4.2 总结

本系统主要研究了一种基于单片机的步进电机控制及驱动的电路设计。设计采用AT89C51单片机作为控制模块的核心,利用单片机编程实现了对步进电机的控制。由单片机产生的信号经ULN2003A芯片进行功率放大,驱动步进电机工作,同时由数码管同步显示预置数和所转圈数,由相应的按键实现预置圈数、控制、清零功能。

系统能够实现:

(1)预设步进电机所转圈数;

(2)启动停止、正转反转、加速减速等功能的基本控制;

(3)同步显示圈数;

(4)电机转至预置圈数自动停机;

(5)步进电机处于停止状态时可以对预置数进行清零操作。

在系统设计过程中,力求硬件电路简单,充分发挥软件部分的优势,编程灵活方便来满足系统的要求。通过实际测试表明本设计系统的性能优于传统步进电机控制器,具有结构简单、可靠性高、实用性强、人机接口简单方便、性价比高等特点。

本设计作品,就是单片机在智能化仪表方面的具体应用,充分体现了单片机的优越之处。本论文,从硬件设计到软件设计,根据硬件的工作原理及设计原理,对设计的设计方案做了仔细的分析和比较,最后确定下来完整可行的解决方案。为了验证设计出的系统的功能可靠性和方案的可行性,我们还制作了硬件电路。硬件电路是为了验证方案原理而设计的,在调试过程中,也得到了令人满意的效果,很好的验证了设计方案的可行性。

参考文献

[1] 刘宝廷.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版

社,1997,1~200.

[2] 王晓明. 电动机的单片机控制[M]. 北京:北京航空航天大学出版社,2002,50~150.

[3] 王福瑞等.单片机微机测控系统设计大全[M].北京:北京航空航天大学出版

社,1998,67~85.

[4] 胡寿松. 自动控制原理[M]. 北京: 国防工业出版社,2000,43~88.

[5] 杨宁胡学军.单片机与控制技术[M].北京:北京航空航天大学出版社,2005,22~175.

[6] 陈隆昌,等.控制电机(第三版)[M].西安:西安电子科技大学出版社,2000,35~65.

[7] 杨宁胡学军.单片机与控制技术[M].北京:北京航空航天大学出版社,2005,23~92.

[8] 马忠梅,等.单片机的C语言应用程序设计(第三版)[M].北京:北京航空航天大学出版社,2003,34~72.

[9] 韩全力.单片机控制技术及应用[M].北京:电子工业出版社,2004,21~67.

[10]谭建成.新编电机控制专用集成电路与应用[M].北京:机械工业出版社.2005,15~97.

[11]Donald E Thomas, Philip R Moorby1The verilog hardware description language1Netherlands: KluwerAcademic, 1996.

[12]Stein David, Chirikjian Gregory S.,“Experiments in the Commutation and Motion Planning of a Spherical Stepper Motor.”Proc.ASME Int

Conf.DETC.pp.1-7,September 2000.

51单片机控制的步进电机C语言程序

我上周刚做的这个实验成功拉,给你参考一下吧这可是我当时辛辛苦苦编出来的啊,不过我用的是L298驱动的和ULN2003一样,你把它换成2003就行拉 #include unsigned char code table[]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf 9,0x00,0xf1,0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0x00}; unsigned char temp,temp_old; unsigned char key; unsigned char i,j,k,m,s; void delay(int i) { for(m=i;m>0;m--) for(j=250;j>0;j--) for(k=10;k>0;k--); } void saomiao() { P3=0xff; P3_4=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--)

for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp) { case 0x0e: key=1; break; case 0x0d: key=2; break; case 0x0b: key=3; break; case 0x07: key=4; break; } temp=P3;

temp=temp&0x0f; while(temp!=0x0f) { temp=P3; temp=temp&0x0f; } } } P3=0xff; P3_5=0; temp=P3; temp=temp&0x0f; if(temp!=0x0f) { for(i=50;i>0;i--) for(j=200;j>0;j--); temp=P3; temp=temp&0x0f; if(temp!=0x0f) { temp=P3; temp=temp&0x0f; switch(temp)

基于51单片机的步进电机控制-设计报告(说明书)及源程序

南京XX大学 指导老师:张X 课程设计基于51单片机的步进电机控制 机械电子工程学院 测控技术与仪器 XXXXX Xxx 2012年1年4日

步进电机控制系统 [摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启 动、停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。 关键字:步进电机、数码管、51单片机、ULN2803 一步进电机与驱动电路 1.1 什么是步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 1.2 步进电机的种类 步进电机分永磁式(PM)、反应式(VR)、和混合式(HB)三种。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛。 1.3 步进电机的特点 1.精度高一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电动机最突出的优点 2.过载性好其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合; 3.控制方便步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算

基于单片机的步进电机控制系统的设计_毕业设计

本科毕业设计 基于单片机的步进电机控制系统的设计

摘要 随着自动控制系统的发展和对高精度控制的要求,步进电机在自动化控制中扮演着越来越重要的角色,区别于普通的直流电机和交流电机,步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键组成之一,广泛应用在各种自动化控制系统和精密机械等领域。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 本系统介绍了一种基于单片机的步进电机控制系统的设计,包括了硬件设计和软件设计两部分。其中,硬件设计包括单片机最小系统、键盘控制模块、LCD显示模块、步进电机驱动模块、位置检测模块共5个功能模块的设计。系统软件设计采用C语言编写,包括主程序、数字键处理程序、功能键处理程序、电机驱动处理程序、显示模块、位置采集模块。 本设计采用STC89C52单片机作为主控制器,4*4矩阵键盘作为输入,LCD1602液晶作为显示,ULN2003A芯片驱动步进电机。系统具有良好的操作界面,键盘输入步进电机的运行距离;步进电机能以不同的速度运行,可以在不超过最大转速内准确运行到任意设定的位置,可调性较强;显示设定的运行距离和实际运行距离;方便操作者使用。关键词:单片机步进电机液晶显示键盘驱动

Design of the Stepping Motor Control System Based on SCM Qiu Haizhao (College of Engineering, South China Agricultural University, Guangzhou 510642,China) Abstract:With the development of automatic control system and the requirements of high-precision control, stepping motor control in automation is playing an increasingly important role, different from the common DC and AC motor, stepper motor rotation angle and rotational speed can be high-precision controlled. Stepper motor as a control actuator is a key component of mechanical and electrical integration, widely used in a variety of automated control systems and precision machinery and other fields. Stepper motor is the open-loop control components changing electric pulse signals into angular displacement or linear displacement .In the case of non-overloaded, the motor speed, stop position depends only on the pulse frequency and pulse number, regardless of load changes, that is, to add a pulse motor, the motor is turned a step angle. This system introduces a design of stepper motor control system based on single chip microcomputer, including hardware design and software design in two parts. Among them, the hardware design, including single chip minimal system, keyboard control module, LCD display module, the stepper motor drive module, position detection module five functional modules. System software design using C language, including the main program, process number keys, the key of function processes, motor driver handler, the display module, position acquisition module. This design uses STC89C52 microcontroller as the main controller, 4 * 4 matrix keyboard as an input, LCD1602 LCD as a display, ULN2003A chip as stepper motor driver. System has a good user interface, keyboard input stepper motor running distance; Stepper motor can run at different speed, and run to any given position accurately in any speed without exceeding the maximum speed, with a strong adjustable ; Display the running distance and the actual running distance, which is more convenient for the operator to use. Key words: SCM stepper LCD keyboard driver

基于51单片机的步进电机控制系统设计

基于51单片机的步进电机控制系统设计 中文摘要 步进电机是一种受脉冲信号控制,并且能将脉冲信号转化为相应的角位移或者线位移的数字电动机。由于步进电机具有步距误差不积累、运行可靠、结构简单、惯性小、成本低等优点,因此,被广泛使用于计算机外围电路、自动化控制装置以及其他的数字控制装置中,如打印机、钟表、数模转换设备等装置中。随着科学技术的快速发展,相应的控制系统也产生了很多种类,步进电机的身影在众多领域中可以看到。其中采用单片机作为控制核心的控制系统,由于其电路简单、成本低、可靠性强等优点,满足众多领域的需求,得到了大量的运用。因此,研究基于单片机的步进电机控制系统,具有重要的现实意义。本设计研究的是基于51单片机对步进电机的控制系统。通过单片机的I/O端口输出时序方波作为控制信号,信号经过芯片ULN2003驱动芯片驱动步进电机进行不同的指令进行工作。根据不同的需要,通过按键电路来控制步进电机的启停、正反转和加减速等功能,并在数码管上实时显示步进电机的工作状态。本文给出了电路各个模块的电路图,并用Proteus的ISIS软件对控制系统的各个功能进行了仿真,并给出了相应的仿真结果图像。 关键词:单片机;步进电机;电机驱动;控制系统

Abstract Stepper motor controlled by a pulse signal, and a pulse signal can be converted to the corresponding angular displacement or linear displacement of the digital motor. As the stepper motor has a step error does not accumulate, reliable, simple structure, small inertia, low cost, and therefore, are widely used in computer peripheral circuits, automatic control devices and other digital control devices, such as printers, watches and clocks , digital to analog conversion equipment, and other devices. With the rapid development of science and technology, the corresponding control system also produced many types of stepper motor figure can be seen in many areas. Which uses microcontroller as the control of the control system, because of its simple circuit, low cost, high reliability, etc., to meet the needs of many fields, we get a lot of use. Therefore, based on single-chip stepper motor control system has important practical design study is 51 single-chip stepper motor control system. As a control signal, the signal through the chip ULN2003 stepper motor drive to work through the microcontroller I / O port output timing square wave. Depending on the need, through the key circuit to control the start and stop, reversing and ramp functions such as stepper motors, stepper motors in real-time display and digital working condition. In this paper, the circuit diagram of each module, and with the ISIS Proteus software for each function control system simulation, and the simulation results are given corresponding image. Key words: microcontroller; stepper motor; motor drive; control system

单片机控制步进电机和数码管显示

一、设计任务书 设计内容:用80C51单片机设计一个步进电机控制器 设计要求: 1.用8015设计一个四相步进电机。 2.可控制步进电机的启动与停止,正转与反转。 3.10档速度调节。 4.点动控制。 5.可显示电机运行参数。 二、设计总体方案 (一)控制方式的选择 控制主要用于电机速度和方向的转换。控制方式有按键控制和开关控制两种。按键较开关而言,操作更加简便,故选按键控制。 方案一:独立按键。独立按键可自由连接,线路简单。 方案二:编码式键盘。编码式键盘的按键接触点接于74LS148芯片。当键盘上没有闭合时,所有按键都断开,当某一键闭合时,该键对应的编码由74LS148输出。 本次设计所需按键不多,不需要采用复杂编码,考虑硬件条件、线路连接和经济性等方面,选择方案一。 (二)电机电路设计方案的选择 由于条件的限制,对于电机的选择只能是实验台上最小步距角18°的电机,其中已包含了驱动电路。 (三)单片机的选择 方案一:AT89C51高性能8位单片机,内部集成CPU、存储器、寄存器、I/O接口,从而构成较为完整的计算机,价格便宜。 方案二:C8051F005单片机,该单片机是完全集成的混合信号系统及芯片,具有8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还继承了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部件,执行速度快,但价格较贵。 本次课程设计是在仿真环境下进行,没有太过考虑单片机选择的问题,但就设计本身来讲,从物美价廉的角度考虑,选择方案一较合适。 (四)显示方案的选择 方案一:采用LED数码管。LED数码管是轮流现实的,其利用人烟的视觉暂留特性,使人感觉不到数码管闪动,看到每只数码管都常亮。利用其显示必须不停给数码管数据输入口循环赋值,显示内容较多,编程和接线较为复杂。 方案二:采用LCD1602液晶显示器。LCD1602具有功率小,效果明显,变成容易等优点,且它最多能显示2×16个字符,可以轻松满足设计要求。 由上可知,LCD1602液晶显示器的优点突出,故选择方案二。 (五)软件部分的选择 软件部分的选择主要是指编程语言的选择,编译调试工具根据设计平台选择伟福软件。编程语言主要有以下两种方案。

基于51单片机控制步进电机

单片机原理及系统课程设计 1 引言 步进电机又称为脉冲电动机或阶跃电动机,它是基于最基本的电磁感应作用,将电脉冲信号转变为角位移或线位移的开环控制元件。单片机控制的步进电机广泛地应用于工业自动控制、数控机床、组合机床、机器人、计算机外围设备、照相机,大型望远镜,卫星天线定位系统等等。 随着经济的发展,技术的进步和电子技术的发展,步进电机的应用领域更加广阔,同时也对步进电机的运行性能提出了更高的要求。 步进电机的原始模型起源于1830年至1860年,1870年前后开始以控制为目的的尝试,应用于氩弧灯的电极输送机构中,这被认为最早的步进电机。 1950年后期晶体管的发明也逐渐应用在步进电机上,对于数字化的控制变得更为容易。到20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生。步进电机往后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解能、高响应性、信赖性等灵活控制性高的机械系统中。 在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。

2 设计方案与原理 4.1 设计方案 设计一个51单片机四相步进电机控制系统要求系统具有如下功能: (1)由I/O口产生的时序方波作为电机控制信号; (2)信号经过驱动芯片驱动电机的运转; (3)电机的状态通过键盘控制,包括正转,反转,加速,减速,停止和单步运行。 4.2 设计原理 步进电机实际上是一个数字\角度转换器,也是一个串行的数\模转换器。步进电机的基本控制包括启停控制、转向控制、速度控制、换向控制4个方面。从结构上看,步进电机分为三相、四相、五相等类型,本次设计的是四相电机。四相步进电机的工作方式有单四拍、双四拍和单双八拍三种。 在本次设计中,我们使用的是四相单八拍的工作方式。通过P1口给A,B,C,D四相依次输出高电平即可实现步进电机的旋转,通过控制两次输出的间隔,即可实现对步进电机的速度控制。 图 2.1 步进电机内部结构截图 根据步进电机的相关相序表我们可以正常的控制电机的步进运行。

基于单片机的步进电机控制系统

编号: 综合智能电子 实训 (论文)说明书题目: 院(系):使用科技学院 专业:电子信息工程 学生姓名: 学号: 指导教师: 2010年 1 月 6 日

目录 引言 第1章简介 1.1 步进电机 第2章步进电机原理 2.1 步进电机的工作原理 2.1.1结构及基本原理 2.1.2 电机的步进顺序 第3章系统的硬件设计 3.1 系统设计方案 3.2 主从机硬件部件介绍 3.2.1A T89S51简介 3.2.2 TGI2864E简介 3.2.3MAX485 串行通信 3.2.4TIP122 3.2.5 MOC70T2 3.3 LCD显示电路设计 3.4 电机驱动模块设计 第4章系统的软件实现 4.1 系统软件主流程图 4.2 系统初始化流程图 4.3 部分子程序 第五章总结 致谢 参考文献 摘要:本文使用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的使用实例。

关键词:步进电机控制系统,插补算法,变频调速,软硬件协同仿真 In this paper, microcontroller, stepper motor driver chips, character LCD and keypad array, build a set of stepper motor controller and driver as one of the stepping motor control system. Two-dimensional table as a charged object by stepper motor drive ball screw in X / Y axis linkage. This paper discusses a minimum of parameters to determine the trajectory of a circular interpolation method and the method of frequency control stepper motor. Stepper motor control system has been developed using the software and hardware co-simulation method, can effectively reduce the system development cycle and cost. Finally, the stepper motor control system application examples.

基于AT89C51单片机的步进电动机控制系统设计

重庆科技大学 本科毕业论文 基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXX X 准考证号: XXXXXXXXXXXX 专业层次:本科院(系):XXXXXXXXXXXXXXXXXXX 指导教师: XXXXXX 职称:讲师 重庆科技大学 二O一二年月日

基于AT89C51单片机的步进电动机控制系统 设计 考生姓名: XXXXXX 准考证号: XXXXXXXXXXXX 专业层次:本科 指导教师: XXXXXXX 院(系):机械与动力工程学院 重庆科技大学 二O一二年九月二十日

摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过I/O口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。 实践证明,基于单片机控制的步进电机比传统的步进控制器具有更好的性能,更加简单、方便、可靠。本设计的主要研究对象就是开环伺服系统中最常用的执行器件——步进电机。 关键词:步进电机,单片机,正反转控制,键盘控制,LCD液晶显示

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

基于单片机的步进电机控制器毕业设计论文 目录 第1章绪论 (3) 1.1引言 (3) 1.2步进电机常见的控制方案与驱动技术简介 (5) 1.2.1常见的步进电机控制方案 (5) 1.2.2步进电机驱动技术 (7) 1.3本文研究的内容 (9) 第2章步进电机概述 (10) 2.1步进电机的分类 (10) 2.2步进电机的工作原理 (11) 2.2.1结构及基本原理 (11) 2.2.2两相电机的步进顺序 (11) 2.3 步进电机的工作特点 (14) 2.4本章小结 (16) 第3章系统的硬件设计 (17) 3.1系统设计方案 (17) 3.1.1系统的方案简述与设计要求 (17) 3.1.2系统的组成及其对应功能简述 (17) 3.2单片机最小系统 (19) 1

3.2.1AT89S51简介 (19) 3.2.2单片机最小系统设计 (24) 3.2.3单片机端口分配及功能 (25) 3.3串口通信模块 (25) 3.4数码管显示电路设计 (26) 3.4.1共阳数码管简介 (26) 3.4.2共阳数码管电路图 (27) 3.5电机驱动模块设计 (28) 3.5.1L298简介 (28) 3.5.2电机驱动电路设计 (29) 3.6驱动电流检测模块设计 (31) 3.6.1OP07芯片简介 (31) 3.6.2ADC0804芯片简介 (33) 3.6.3电流检测模块电路图 (36) 3.7独立按键电路设计 (37) 3.8本章小结 (37) 第4章系统的软件实现 (38) 4.1系统软件主流程图 (38) 4.2系统初始化流程图 (39) 4.3按键子程序 (40) 结论 (44) 2

基于单片机的步进电机驱动控制

基于单片机的步进电机驱动控制 一、步进电机概述 1.步进电机的定义 步进电机指的是以数字脉冲信号作为电机线或教位移的控制信号,并以数字脉冲频率对电机的转速进行控制的动力控制系统。 在负载正常范围的情况下,步进电机的运行状态只和数字脉冲发生器提供的信号的频率和脉冲占空比有关,一般情况下,电机的状态不受负载的影响。电机的运行角度只和每次所给予的脉冲信号强度有关,而电机的运行速度也只和脉冲信号的频率有直接关 系。这种采用弱点控制强电的控制方式使得步进电机在速度、位移等控制领域有着普通电机不能比拟的优势。 2.驱动控制系统框图 步进电机控制系统有着精确控制、运行稳定的特性,这一其他电机不能比拟的优势使得步进电机得到了广泛的应用。而一般对步进电机控制系统的驱动必须要包含脉冲信 号发生部分,功放部分和驱动控制部分等几个模块电路,我们根据这些通过的模块电路,可将步进电机控制系统的通用框图绘制如下: 在上图的步进电机驱动控制系统方框图中,控制步进电机运行状态的脉冲信号一 般由集成芯片产生,可以是单片机、等智能芯片,也可以是一般的数字电路集成芯片。信号分配环节则要根据步进电机的型号来选择,如四相步进电机有四相四拍和四相 八拍种信号分配的方式;两相步进电机有两相四拍和八拍等脉冲加载形式。功放部分 在驱动环节上显得尤为重要。动态平均电流是步进电机转矩大小的决定因素,前提条件 是电机的速度。电机力矩与平均电流成正比,驱动系统对电机的反电势消弱越多,则平 均电流就越大。 我们一般可以用恒压和恒压串电阻的方法来驱动,或者在条件允许的情况下我们可以用高低压驱动、恒流和细分数等方法来驱动实际的应用过程种,多采用数字集成驱 动芯片作为步进电机的驱动手段。 二、现阶段国内外步进电机驱动的常用方式 1.变频器控制方式 使用变频器对步进电机进行驱动控制时,可以很好的解决步进电机在启动和停止时 容易失步的问题,提高了系统的控制精度。但是变频器的应用成本较高,结构和操作也 比较复杂,无形中提高步进电机的控制难度。 2.PLC控制方式 使用ABB、西门子、欧姆龙等国际知名生产制造商研发的系列产品可以 实现对步进电机的理想化控制,但是基于核心的步进电机控制系统成本高昂,且 难以实现精确控制,在本系统中不太适合。 3.单片机控制方式 随着嵌入式系统在工业控制领域中的广泛应用,以单片机特别是系列单片机 作为控制核心的步进电机控制电路在生产生活领域得到了普及,单片机有着大规模数字

基于51系列单片机控制步进电机调速实验 (自动保存的)

基于51系列单片机控制步进电机调速实验 实验指导书 仇国庆编写 重庆邮电大学自动化学院 自动化专业实验中心 2009年2月

基于51系列单片机控制步进电机调速实验 实验目的及要求: 1、熟悉步进电机的工作原理 2、熟悉51系列单片机的工作原理及调试方法 3、设计基于51系列单片机控制的步进电机调速原理图(要求实现电机的速度反馈测量,测量方式:数字测量) 4、实现51系列单片机对步进电机的速度控制(步进电机由实验中心提供,具体型号42BYG )由按钮控制步进电机的启动与停止;实现加速、匀速、和减速控制。速度设定由键盘设定,步进电机的反馈速度由LED 数码管显示。 实验原理: 步进电机控制原理 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机可分为反应式步进电机(简称VR)、永磁式步进电机(简称PM)和混合式步进电机(简称HB)。因此步进电动机是一种把脉冲变为角度位移(或直线位移)的执行元件。步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所 以又称为脉冲电动机。随着数字控制系统的发展,步进电动机的应用将 逐渐扩大。 步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来 进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由 脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号 可以由单片机产生。 电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几 何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻 两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐, B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:(图2所示)

51单片机控制四相步进电机解析

51单片机控制四相步进电机 2009年07月21日星期二 12:44 51单片机控制四相步进电机 2009-03-01 18:53 接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。这几天给自己的任务就是搞定步进电机的单片机控制。以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。今天从淘宝网买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相,接线共有六根,外形如下 图所示: 详细内容: https://www.360docs.net/doc/307421573.html,/31907887_d.h tml

拿到步进电机,根据以前看书对四相步进电机的了解,我对它进行了初步的测试,就是将5伏电源的正端接上最边上两根褐色的线,然后用5伏电源的地线分别和另外四根线(红、兰、白、橙)依次接触,发现每接触一下,步进电机便转动一个角度,来回五次,电机刚好转一圈,说明此步进电机的步进角度为360/(4×5)=18度。地线与四线接触的顺序相反,电机的转向也相反。 如果用单片机来控制此步进电机,则只需分别依次给四线一定时间的脉冲电流,电机便可连续转动起来。通过改变脉冲电流的时间间隔,就可以实现对转速的控制;通过改变给四

线脉冲电流的顺序,则可实现对转向的控制。所以,设计了如下电路图: C51程序代码为: 代码一 #include static unsigned int count; static unsigned int endcount; void delay(); void main(void)

基于51单片机的步进电机控制-

基于51单片机的步进电机控制 [摘要]本课程设计的内容是利用51单片机,达到控制步进电机的启动、 停止、正转、反转、两档速度和状态显示的目的,使步进电机控制更加灵活。步进电机驱动芯片采用ULN2803,ULN2803具有大电流、高电压,外电路简单等优点。利用四位数码管增设电机状态显示功能,各项数据更直观。实测结果表明,该控制系统达到了设计的要求。 关键字:步进电机、数码管、51单片机、ULN2803 一步进电机与驱动电路 1.1 什么是步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时也可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 1.2 步进电机的种类 步进电机分永磁式(PM)、反应式(VR)、和混合式(HB)三种。永磁式步进一般为两相,转矩和体积较小,步进角一般为7.5度或15度;反应式步进一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。在欧美等发达国家80年代已被淘汰;混合式步进是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛。 1.3 步进电机的特点 1.精度高一般的步进电机的精度为步进角的3-5%,且不累积。可在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,这是步进电动机最突出的优点 2.过载性好其转速不受负载大小的影响,不像普通电机,当负载加大时就会出现速度下降的情况,所以步进电机使用在对速度和位置都有严格要求的场合; 3.控制方便步进电机是以“步”为单位旋转的,数字特征比较明显,这样就给计算机控制带来了很大的方便,反过来,计算机的出现也为步进电机开辟了更为广阔的使用市场;

单片机课程设计-单片机控制步进电机

课程设计报告 题目单片机控制步进电机 课程名称单片机原理及接口技术 院部名称 专业自动化 班级M10自动化 学生姓名 学号 课程设计地点 课程设计学时 指导教师高峰 金陵科技学院教务处制 【注:根据课程设计大纲第四项具体要求撰写课程设计报告】

目录 1设计任务和要求 (3) 2设计思路 (4) 3系统硬件设计 (5) 3.1 硬件电路的工作原理 (5) 3.2步进电机模块 (5) 3.3控制模块 (6) 3.4主要元件介绍: (6) 4软件编程 (11) 5 调试过程与结果 (20) 5.1正转结果显示: (20) 5.1.1正转加速: (21) 5.1.2正转减速: (21) 6 总结与体会 (24) 7 参考资料 (26) 8 附录 (26)

1设计任务和要求 单片机课程设计是考察学生利用所学过的专业知识,进行综合的电机控制系统设计并最终完成实际系统连接,能够使学生对电气与自动化的专业知识进行综合应用,培养学生的创新能力和团队协作能力,提高学生的动手实践能力。最终形成一篇符合规范的设计说明书,并参加综合实践答辩,为后期的毕业设计做好准备。 本次设计考核的能力主要有: 1)专业知识应用能力,包括电路分析、电子技术、单片机、检测技术、电 气控制、电机与拖动、微特电机及其驱动、计算机高级语言、计算机辅 助设计、计算机办公软件等课程,还包括本专业的拓展性课程如变频器、组态技术、现场总线技术、伺服电机等课程。 2)项目设计与运作能力,团队协作能力,技术文档撰写能力,PPT汇报与 口头表达能力。 3)电气与自动化系统的设计与实际应用能力。 要求完成的工作量包括: 1)现场仿真演示效果。 2)学生结合课题进行PPT演讲与答辩。 3)学生上交课题要求的各类设计技术文档。

基于单片机AT89C52的步进电机的控制器设计

2012届毕业生毕业设计说明书 题目:基于单片机的步进电机的控制器设计 院系名称:信息科学与工程学院 专业班级:电子信息科学与技术 学生姓名:学号: 指导教师:教师职称: 2012年月日

毕业设计中文摘要 摘要 步进电机控制方式的实现有多种,可以采用电子电路控制,PLC控制和单片机控制的方式。近些年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测的更新,用单片机控制步进电机显得更加灵活和方便。本设计是用AT89C52单片机作为核心部件进行逻辑控制及信号产生,用单片机技术和C语言编程设计来进行步进电机的控制。通过人手动按开关实现步进电机的启动与停止。此外此系统还添加了步进电机的正转反转,加速及减速,屏幕显示功能。同时本文也通过了proteus软件的仿真,在仿真结果过能看出近似真实的效果。 关键词:步进电机单片机控制 AT89C52 proteus仿真

毕业设计外文摘要 Title The design of the control system of Step—motor Abstract Stepper motor control can be achieved in different ways, can be used early analog circuits, digital circuits or a combination of analog and digital circuit means. With the rapid development of science and technology in recent years, the application of SCM is a growing, while traditional control test drive rapid updates. This paper describes a core component of the AT89C52, as the signal generated by logic control and microcontroller technology and assembly language programming designed stepper motor control system, Start and stop of the stepping motor to handle the switch manually by people. In addition, this system also adds a stepper motor forward reverse, acceleration and deceleration, the screen display. Meanwhile, through software simulation in proteus, too can be seen that the approximation of the true effect of the simulation results. Keywords stepper motor microcontroller AT89C52 proteus simulation

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

控制系统项目 课程设计论文 题目:基于AT89C51单片机步进电机控制 姓名陈悟宇 学号 201103820129 年级 2011级 专业飞行器制造工程 系(院)机械工程学院 指导教师徐波 2014年5月23日

目录 摘要: (2) 1 设计要求 (2) 2 步进电机原理 (2) 2.1 步进电机工作方式 (2) 2.2 框图设计 (4) 2.3 知识点 (4) 3 硬件设计 (5) 3.1 电路原理 (5) 3.2 驱动电路 (6) 3.3 晶振电路 (6) 3.4 总体电路图 (7) 4 软件设计 (7) 4.1 程序流程图 (7) 4.2 程序清单 (9) 5 遇到的问题及解决方案 (9) 5.1 问题 (9) 5.2 解决方法 (9) 参考文献 (9) 设计心得体会 (10) 附录一.原器件清单 (11) 附录二.Proteus 仿真图 (12) 附录三.ULN2003作用及引脚介绍 (13) 附录四.程序清单 (14)

基于AT89C51单片机步进电机控制 摘要:步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中。由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用。大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。 关键词:步进电机单片机控制 1设计要求 (1)最小系统:选择AT89C51单片机为核心元件构成系统。有时钟产生电路和复位电路。(2)控制电路:C语言编程控制。由操作者根据相应的工作需要进行操作。 (3)驱动部分:对单片机输出的脉冲进行功率放大,从而驱动电机转动. (4)主要功能:实现步进电机的正转,反转,加速,停转。 2步进电机原理 2.1步进电机工作方式

单片机驱动步进电机程序代码

单片机驱动步进电机程序 代码 This manuscript was revised by the office on December 10, 2020.

/******************************************************** 实现功能:正转程序 使用芯片:AT89S52 晶振:11.0592MHZ 编译环境:Keil 作者: 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! ********************************************************/ #include //库文件 #define uchar unsigned char //字符型宏定义 #define uint unsigned int //整型宏定义 uchar tcnt; //定时器计数初值定义 uint sec; //速度值定义 uchar buf[11]; uchar bai,shi,ge; /********************控制位定义*************************/ sbit shi_neng=P1^0; // 使能控制位 sbit fang_shi=P1^1; // 工作方式控制位 sbit fang_xiang=P1^2;// 旋转方向控制位 sbit mai_chong=P1^3; // 脉冲控制位 /********************延时函数***************************/ void delay1ms(uchar z) { uchar x,y; for(x=0;x

相关文档
最新文档