当前位置:文档之家› 基于Proteus的步进电机控制系统仿真设计-精品

基于Proteus的步进电机控制系统仿真设计-精品

基于Proteus的步进电机控制系统仿真设计-精品
基于Proteus的步进电机控制系统仿真设计-精品

计算机控制技术课程设计报告《基于Proteus的步进电机控制系统仿真设计》

专业及班级______ 09自动化(1)班_________ 姓名_____ 吴红田坤王林

指导老师_______ 丁健______________

完成时间_______ _ 2012-6-17__________________

基于protues的步进电机控制系统设计

摘要:步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以及性价比最优,根据控制系统功能要求及步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动及保护电路、人机接口电路、中断系统及复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间内的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用,大规模集成电路的发展以及单片机技术的迅速普及,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。

一、步进电机原理、控制技术及其特点

由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专业设备….步进电机控制驱动器,典型步进电机控制系统的控制器可以发出脉冲频率从几赫兹到几千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列,环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动,环形分配器主要有两大类:一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器。另一类是用硬件构成的环形分配器,通常称硬环形分配器。功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机的目的,步进电机的基本控制包括转向控制和速度控制两个方面。从结构上看,步进电机分为三相单三拍、三相双三拍和三相六拍3种,其基本原理如下:

(1)换相顺序的控制

通电换相这一过程称为脉冲分配。例如,三相步进电机在单三拍的工作方式下,其各相通电顺序为 A→B→C→A,通电控制脉冲必须严格按照这一顺序分别控制 A、B、C 相的通断。三相双三拍的通电顺序为 AB→BC→CA→AB,三相六拍的通电顺序为A→AB→B→BC→C→CA→A。

(2)步进电机的换向控制

如果给定工作方式正序换相通电,步进电机正转。若步进电机的励磁方式为三相六拍,即 A→AB→B→BC→C→CA→A。如果按反序通电换相,A→AC→C→CB →B→BA→A,则电机就反转。其他方式情况类似。

(3)步进电机的速度控制

如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整送给步进电机的脉冲频率,就可以对步进电机进行调试。

(4)步进电机的起停控制

步进电机由于其电气特性,运转时会有步进感。为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,跳过电机运行的平稳性。在步进电机停转时,为了防止因惯性

而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机转轴不能自由转动。

(5)步进电机的加减速控制

在步进电机的控制系统中,通过实验发现,如果信号变化太快,步进电机由于惯性跟不上电信号的变化,这时就会产生堵转和失步现象。所有步进电机在启动时,必须有加速过程,在停止时波形有减速过程。理想的加速曲线一般为指数曲线,步进电机整个降速过程频率变化规律是整个加速过程频率变化规律的逆过程。选定的曲线比较符合步进电机升降过程的运行规律,能充分利用步进电机的有效转矩,快速响应性好,缩短了升降速的时间,并可防止失步和过冲现象。在一个实际的控制系统中,要根据负载的情况来选择步进电机。步进电机能响应而不失步的最高步进频率称为“启动频率”,于此类似“停止频率”是指系统控制信号突然关断,步进电机不冲过目标位置的最高步进频率。电机的启动频率、停止频率和输出转矩都要和负载的转动惯量相适应,有了这些数据,才能有效地对电机进行加减速控制。加速过程有突然施加的脉冲启动频率f0。步进电机的最高启动频率(突跳频率)一般为0.1KHz 到 3~4KHz,而最高运行频率则可以达到N*102KHz,以超过最高启动频率的频率直接启动,会产生堵转和失步的现象。

(6)步进电机的换向控制

步进电机换向时,一定要在电机降速停止或降到突跳频率范围之内在换向,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第一个脉冲前发出。对于脉冲的设计主要要求其有一定的脉冲宽度、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了降速→换向→加速3个过程。

步进电机有如下特点:

①步进电机的角位移与输入脉冲数严格成正比,因此当它转一转后,没有累计误差,具有良好的跟随性。

②由步进电机与驱动电路组成的开环数控系统,既非常方便、廉价,也非常可靠。同时,它也可以有角度反馈环节组成高性能的闭环数控系统。

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

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

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

⑥步进电机自身的噪声和振动比较大,带惯性负载的能力强。

二、元器件介绍

(1)步进电机

步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行元件。其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(不距角)或前进、倒退一步。步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。

①四相步进电机的工作原理

该设计采用了 20BY-0 型步进电机,该电机为四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐,由此可见,错齿是促使电机旋转的原因。

②步进电机的静态指标及术语

相数:产生不同队N、S磁场的激磁线圈对数,常用 m表示。拍数:完成一个磁场周期性变化所需脉冲用n表示,或指电机转过一个齿距角所需脉冲数,以

四相电机为例,有四相四拍运行方式即AB→BC→CD→DA→AB, 四相八拍运行方式即A→AB→B→BC→C→CD→D→DA→A。

步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。50 齿角电机为例,四相运行时步距角为:

θ =360 度 /( 50*4 )=1.8 度;

八拍运行时步距角为:

θ=360 度/(50*8)=0.9 度。

定位转矩:电机在不通电的状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)。

静转矩:电机在额定静态作业下,电机不做旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。虽然静态转矩与电磁激磁匝数成正比,与定子和转子间的气隙有关。但过分采用减小气隙,增加励磁匝数来提高静转矩是不可取的,这样会造成电机的发热及机械噪音。

③四相步进电机的脉冲分配规律

目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。各种工作方式在电源通电时的时序与波形分别如图1 a、b、c 所示。本设计的电机工作方式为四相单四拍,根据步进电机的工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。

(2)89C51单片机

Atmel公司生产的89C51单片机是一种低功耗/低电压‘高性能的8位单片机,它采用 CMOS 和高密度非易失性存储技术,而且其输出引脚和指令系统都与 MCS-51 兼容;片内的Flash ROM 允许在系统内改编程序或用常规的非易失性编程器来编程,内部除 CPU 外,还包括 256 字节 RAM,4 个 8 位并行 I/O 口,

5 个中断源,2个中断优先级,2个16位可编程定时计数器,89C51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。

(3)L297介绍

L297是意大利SGS半导体公司生产的步进电机专用控制器,它能产生4相控制信号,可用于计算机控制的两相双极和四相单相步进电机,能够用单四拍、双四拍、四相八拍方式控制步进电机。芯片内的PWM斩波器电路可开关模式下调节步进电机绕组中的电机绕组中的电流。该集成电路采用了SGS公司的模拟/数字兼容的I2L技术,使用5V的电源电压,全部信号的连接都与TFL/CMOS或集电极开路的晶体管兼容。L297的芯片引脚特别紧凑,采用双列直插20脚塑封封装,其引脚见图1,内部方框见图2。

图1 L297芯片引脚图

L297各引脚功能说明

1脚(SYNG)——斩波器输出端。如多个297同步控制,所有的SYNC端都要连在一起,共用一套振荡元件。如果使用外部时钟源,则时钟信号接到此引脚上。

2脚(GND)——接地端。

3脚(HOME)——集电极开路输出端。当L297在初始状态(ABCD=0101)时,此端有指示。当此引脚有效时,晶体管开路。

4脚(A)——A相驱动信号。

5脚(INH1)——控制A相和B相的驱动极。当此引脚为低电平时,A相、B相驱动控制被禁止;当线圈级断电时,双极性桥用这个信号使负载电源快速衰减。若

CONTROL端输入是低电平时,用斩波器调节负载电流。

6脚(B)——B相驱动信号。

7脚(C)——C相驱动信号。

8脚(INH2)——控制C相和D相的驱动级。作用同INH1相同。

9脚(D)——D相驱动信号。

10脚(ENABLE)——L297的使能输入端。当它为低电平时,INH1,INH2,A,B,C,D都为低电平。当系统被复位时用来阻止电机驱动。

11脚(CONTROL)——斩波器功能控制端。低电平时使INH1和INH2起作用,高电平时使A,B,C,D起作用。

12脚(Vcc)——+5V电源输入端。

13脚(SENS2)——C相、D相绕组电流检测电压反馈输入端。

14脚(SENS1)——A相、B相绕组电流检测电压反馈输入端。

15脚(Vref )——斩波器基准电压输入端。加到此引脚的电压决定绕组电流的峰值。

16脚(OSC)——斩波器频率输入端。一个RC网络接至此引角以决定斩波器频率,在多个L297同步工作时其中一个接到RC网络,其余的此引角接地,各个器件的脚 I (SYNC)应连接到一起这样可杂波的引入问题如图5所示。

17脚(CW/CCW)—方向控制端。步进电机实际旋转方向由绕组的连接方法决定。当改变此引脚的电平状态时,步进电机反向旋转。

18脚(CLOCK)——步进时钟输入端。该引脚输入负脉冲时步进电机向前步进一个增量,该步进是在信号的上升沿产生。

19脚(HALF/FULL)——半步、全步方式选择端。此引脚输入高电平时为半步方式(四相八拍),低电平时为全步方式。如选择全步方式时变换器在奇数状态,会得到单相工作方式(单四拍)。

20脚(RESET)——复位输入端。此引脚输入负脉冲时,变换器恢复初始状态(ABCD=0101)。

图2 L297内部方框电路图

图3 L297变换器换出的八步雷格码(顺时针旋转)图4 斩波器线路在图2所示的L297的内部方框图中。变换器是一个重要组成部分。变换器由一个三倍计算器加某些组合逻辑电路组成,产生一个基本的八格雷码(顺序如图3所示)。由变换器产生4个输出信号送给后面的输出逻辑部分,输出逻辑提供禁止和斩波器功能所需的相序。为了获得电动机良好的速度和转矩特性,相序信号是通过2个PWM斩波器控制电动波器包含有一个比较器、一个触发器和一个外部检测电阻,如图4所示,晶片内部的通用振荡器提供斩波频率脉冲。每个斩波器的触发器由振荡器的脉冲调节,当负载电流提高时检测电阻上的电压相对提高,当电压达到Uref时(Uref是根据峰值负载电流而定的),将触发器重置,切断输出,直至第二个振荡脉冲到来、此线路的输出(即触发器Q输出)是一恒定速率的PWM信号,L297的CONTROL端的输入决定斩波器对相位线A,B,C,D或抑制线INH1和INH2起作用。CONTROL为高电平时,对A,B,C,D有抑制作用;为低电平时,则对抑制线INH1和INH2有抑制作用,从而可对电动机和转矩进行控制

L297驱动相序的产生

L297能产生单四拍、双四拍和四相八拍工作所需的适当相序。3种方式的驱动相序都可以很容易地根据变换器输出的格雷码的顺序产生,格雷码的顺序直接与四八拍(半步方式)相符合,只要在脚19输入一高电平即可得到。其波形图如图5所示。

图5 四相八拍模式波形图

通过交替跳过在八步顺序中的状态就可以得到全步工作方式,此时需在脚19接一低电平,前已述及根据变换器的状态可得到四拍或双四拍2种工作模式,如图6,7所示

图6 单四拍模式波形图

图7 双四拍模式波形图

(4)L298简介

L298N 为SGS-THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ) ,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号,但在本驱动电路中用L297 来提供时序信号,节省了单片机IO 端口的使用。L298N 之接脚如图8 所示,Pin1 和Pin15 可与电流侦测用电阻连接来控制负载的电路; OUTl、OUT2 和OUT3、OUT4 之间分别接2 个步进电机;input1~input4 输入控制电位来控制电机的正反转;Enable 则控制电机停。

图8 L298引脚图

三、方案论证

从该系统的设计要求可知,该系统的输入量为速度和方向,速度应该有增减变化,通常用加减按钮控制速度,这样只要2根口线,再加上一根方向线盒,一根启动信号线共需要4根输入线。系统的输出线与步进电机的绕组数有关。这里选四相步进电机。

该电机共有四相绕组,工作电压为+5V,可以与单片机共用一个电源。步进电机的四相绕组控制过程如下:P0.0口控制L297的方向控制端(CW/CCW),P0.1控制步进时钟输入端。使L297输出四相八拍工作所需的适当相序(A,B,C,D四相)。L297的四相输出接L298的IN0---IN4使其OUT0---OUT4输出放大后的四相驱动信号,驱动步进电机运行。用P1口的P1.0~P1.7 控制LM016L显示步进电机的转速和转动方向。

四、硬件设计

本设计的硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大部分。最小系统只要是为了使单片机正常工作。控制电路只要由开关和按键组成,由操作者根据相应的工作需要进行操作。显示电路主要是为了显示电机的工作状态和转速。驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。

(1)控制电路

图1控制电路原理图

根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制和减速控制按钮,分别是K1、K2、S2、S3,控制电路如图1所示。通过 K1、K2 状

态变化来实现电机的启动和换向功能。当 K1、K2 的状态变化时,内部程序检测P3.4 和 P3.5的状态来调用换向程序进行电机的正反转控制。

根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。对于单片机而言,主要的方法有软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过S2、S3 的断开和闭合,从而控制外部中断根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。

图2步进电机驱动电路

通过L297和L298构成驱动电路,电路图如图 2 所示。P0.0口控制L297的方向控制端(CW/CCW),P0.1控制步进时钟输入端。使L297输出四相八拍工作所需的适当相序(A,B,C,D四相)。L297的四相输出接L298的IN0---IN4使其OUT0---OUT4输出放大后的四相驱动信号,驱动步进电机运行。

图3显示模块

通过P1口的P1.0~P1.7 控制LM016L显示步进电机的转速和转动方向。

图4总体电路图(包括显示电路图)

(4)总体电路图

把各个部分的电路图组合成总电路图,如图4所示。

五、软件设计

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

主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对 P1 口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容。若初始化 P1=11H、速度和方向初始值均设为 0,就意味着步进电机按四相单八拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值显

示“0”,速度值显示“0”,主程序流程图如图4所示。

(2)定时中断设计

步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断次数,因而在定时器中断程序中,要做的工作主要是判断电机的运行方向、发下一个脉冲,以及保存当前的各种状态。

(3)外部中断设计

外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改变了电机的转速。速度增加按钮 S2 为 INT0 中断,其程序流程为原数据,当值等于 7时,不改变原数值返回,小于 7 时,数据加 1 后返回;速度减少按钮S3,当原数据不为0,减1保存数据,原数据为0则保持不变。

图10主程序流程

开始

显示

初始化

停止计时器

停止计时器

启动计时器

延时

启动开关为0?

速度值为0?

N

N

Y

Y

源程序代码

#include "AT89X51.h"

int delay();

void inti_lcd();

void show_lcd(int);

void cmd_wr();

void ShowState();

void clock(unsigned int Delay) ;

void DoSpeed(); //计算速度

//正转值

#define RIGHT_RUN 1

//反转值

#define LEFT_RUN 0

sbit RS=0xA0;

sbit RW=0xA1;

sbit E=0xA2;

char SpeedChar[]="SPEED(n/min):";

char StateChar[]="RUN STA TE:";

char STATE_CW[]="CW";

char STATE_CCW[]="CCW";

char SPEED[3]="050";

unsigned int RunSpeed=50; //速度

unsigned char RunState=RIGHT_RUN; //运行状态

main()

{

/*定时器设置*/

TMOD=0x66; //定时器0,1都为计数方式;方式2;

EA=1; //开中断

TH0=0xff; //定时器0初值FFH;

TL0=0xff;

ET0=1;

TR0=1;

TH1=0xff; //定时器1初值FFH;

TL1=0xff;

ET1=1;

TR1=1;

IT0=1; //脉冲方式

EX0=1; //开外部中断0:加速

IT1=1; //脉冲方式

EX1=1; //开外部中断1:减速

inti_lcd();

DoSpeed();

ShowState();

while(1)

{

clock(RunSpeed);

P0_1=P0_1^0x01;

}

}

//定时器0中断程序:正转

void t_0(void) interrupt 1

{

RunState=RIGHT_RUN;

P0_0=1;

P1=0x01;

cmd_wr();

ShowState();

}

//定时器1中断:反转

void t_1(void) interrupt 3

{

RunState=LEFT_RUN;

P0_0=0;

P1=0x01;

cmd_wr();

ShowState();

}

//中断0:加速程序

void SpeedUp() interrupt 0

{

if(RunSpeed>=12)

RunSpeed=RunSpeed-2;

DoSpeed();

P1=0x01;

cmd_wr();

ShowState();

}

//中断1:减速程序

void SpeedDowm() interrupt 2

{

if(RunSpeed<=100)

RunSpeed=RunSpeed+2;

DoSpeed();

P1=0x01;

cmd_wr();

ShowState();

}

int delay() //判断LCD是否忙{

int a;

start:

RS=0;

RW=1;

E=0;

for(a=0;a<2;a++);

E=1;

P1=0xff;

if(P1_7==0)

return 0;

else

goto start;

}

void inti_lcd() //设置LCD方式

{

P1=0x38;//设置16x2显示

cmd_wr();

delay();

基于单片机和proteus的步进电机控制

航空航天大学 课程设计 (论文) 题目:基于单片机和proteus的步进电机控制 班级 ******* 学号 ************ 学生姓名 X X X 指导教师 X X X

航空航天大学 课程设计任务书 课程名称计算机控制技术 院(系)专业 班级 ******** 学号 *********** 学生 ****** 课程设计题目基于单片机和Proteus的步进电机控制 课程设计时间年月日至年月日 课程设计容及要求: 利用Proteus仿真环境和C51编程软件,绘制基于51单片机的步进电机控制系统硬件原理电路、编制基于C51的步进电机控制软件,实现步进电机速度、方向、及旋转角度的计算机控制。本设计主要容有: 1) 了解51系列单片机及外围相关芯片、电路的工作原理和接口技术,学会 进行控制系统软件程序设计。 2) 编制程序完成步进电机速度、方向、及旋转角度的控制。 3) 设计相关的硬件电路,软硬调试实现步进电机速度、方向、及旋转角度的 控制,分析结果。 4) 学会运用“自动控制原理”、“现代控制理论”和“计算机控制技术”所 学理论知识进行控制器的设计和计算机控制的算法实现。为今后毕业设计、将来工作做必要的知识储备。 课程设计主要要求有:

1) 掌握步进电机工作原理和51单片机的工作原理、控制方式设置方法,给 出完整硬件原理图。 2) 学会利用C或C++等高级语言编程,实现步进电机速度、方向、及旋转角 度的控制功能。 3) 整理程序设计文档、按照课程设计要求撰写课程设计报告,字数不少于 8000字。 指导教师年月日 负责教师年月日 学生签字年月日

(整理)较为全面的基于PROTEUS仿真51单片机动态数码管课程设计(WORD版)

单片机课程设计 题目动态数码管显示 学院机电工程学院 专业班级电子信息工程12-1班 姓名 组员 指导教师张、王老师 2015 年 5 月30 日

课程设计量化评分标准

目录 一、概述 (1) 1. 单片机简介 (1) 2. Proteus简介 (2) 3. 设计任务与要求 (3) 二、硬件设计 (3) 1. 单片机最小系统设计 (1) 2. 数码管显示部分 (4) 3. 数码管驱动部分 (5) 三、软件设计 (6) 1. 仿真原理图 (6) 2. 仿真参数设置 (6) 3. 仿真结果 (7) 4. 程序流程图 (8) 5. 程序代码.................................................... .9 四、心得体会............................................... (11) 五、参考文献 (12)

精品文档 一、概述 1. 单片机简介 如图1.1和图1.2分别为PDI P封装的AT89C52引脚图和实物图 图1.1 引脚图图1.2 实物图 AT89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。本课程设计中使用的是PDIP封装的AT89C52单片机。 2.Proteus简介 如图1.3为Proteus7.0的工作界面图

四相步进电机控制系统设计资料讲解

四相步进电机控制系 统设计

课题:四相五线单4拍步进制电动机的正反转控制专业:机械电子工程 班级:2班 学号: 20110259 姓名:周后银 指导教师:李立成 设计日期: 2014.6.9~2014.6.20 成绩:

1概述 本实验旨在通过控制STC89C52芯片,实现对四相步进电机的转动控制。具体功能主要是控制电机正转10s、反转10s,连续运行1分钟,并用1602液晶显示屏显示出来。 具体工作过程是:给系统上电后,按下启动开关,步进电机按照预先 实验具体用到的仪器:STC89C52芯片、开关单元、四项步进电机、等硬件设 备。 实验具体电路单元有:单片机最小系统、步进电机连接电路、开关连接电路、1602液晶显示屏显示电路。 2四相步进电机 2.1步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 2.2步进电机的控制 1.换相顺序控制:通电换相这一过程称为脉冲分配。 2.控制步进电机的转向控制:如果给定工作方式正序换相通电,步进 电机正转,如果按反序通电换相,则电机就反转。

3.控制步进电机的速度控制:如果给步进电机发一个控制脉冲,它就 转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。 2.3步进电机的驱动模块 ABCD四相工作指示灯指示四相五线步进电机的工作状态 2.4步进电机的工作过程 开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动, 1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,

AVR proteus课程设计全套答案

A VR proteus课程设计题目具体要求 所有项目都有完整的代码和报告,有意者联系dyss@https://www.doczj.com/doc/618129710.html, 一、总体要求: 每组学生根据分配的题目认真进行硬件和软件的仿真设计,其中基本要求属于必做项,发挥部分作为提高要求。 本次A VR软件设计主要为下学期A VR课程设计(使用A Tmega128开发板)作准备。二、分类要求: 1、函数信号发生器类 基本要求: 1 用存储器或算法得到信号源,将获得的信号源存储在程序存储器中。 2 将程序存储器中的信号源全部取出存放在A Tmega128的内部存储器中,并用 DA转换器输出一函数信号(正弦、方波、三角、锯齿等,频率1000Hz),可 以用示波器进行波形观察。 3 用数码管或LCD或虚拟终端显示输出参数。 4 用功能键切换各信号的输出。 发挥部分: 1通过键盘,可改变波形的频率。每按一次键,频率值前进进或后退1倍,频率范围不限。 2通过按键可以修改输出波形的幅度。 3数码管或LCD或虚拟终端显示的内容可以用频率值和周期值切换表示。 4同时用两种不同方式显示输出参数 动态显示格式: 自定 2、频率计类 基本要求: 1频率的测量范围为250hz-10khz。 2使用proteus模拟信号激励源直接产生待测方波信号,用一组数码管或LCD或虚拟终端显示该信号的频率、周期以及脉宽等参数,并用示波器或定时/计数器观察 输入信号。 3将待测信号接至A Tmega128定时/计数器的外部信号输入端,测量此方波信号的频率、周期和脉宽,在另一组数码管或LCD上或虚拟终端上将参数值显示出来。 4信号源的参数可任选LED 、LCD或虚拟终端显示,测量得到的参数按题目要求选择显示方式。 发挥部分: 1放宽频率测量范围,并根据频率的不同智能选择不同的测量方法,以提高测量精度。 2可选用定时器/计数器的输入捕捉功能,以提高周期测量精度。 动态显示格式: 自定

基于proteus的步进电机电机仿真

基于proteus的步进电机电机仿真 摘要:步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。本设计利用proteus仿真软件进行电路仿真,系统通过设置四个按键分别控制不进电机的起止、圈数、方向、不进速度,使用1602液晶显示以上参数。整个系统具有稳定性好,实用性强,操作界面友好等优点。 关键词:proteus 仿真不进电机拍数 一、Proteus简介 Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是: ①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 ②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 ③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51uVision2等软件。 ④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。 二、整体电路分析 如下图,整个设计以STC89C51单片机为中心,由复位电路,时钟电路,电机驱动,步进电机,显示电路等组成,硬件模块如图2-1所示: 图1 硬件模块图

PROTEUS 课程设计

课程设计任务书 学生姓名:专业班级:电子1102班 指导教师:工作单位:信息工程学院 题目:方波发生电路 初始条件: 计算机、Proteus软件、Cadence软件 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写 等具体要求) 1、课程设计工作量:1.5周 2、技术要求: (1)学习Proteus软件和Cadence软件。 (2)设计一个方波发生电路。 (3)利用Cadence软件对该电路设计原理图并进行PCB制版,用Proteus软件对该电路进行仿真。 3、查阅至少5篇参考文献。按要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 时间安排: 2015.1.12做课设具体实施安排和课设报告格式要求说明。 2015.1.12-1.15学习Proteus软件和Cadence软件,查阅相关资料,复习所设计内容的基本理论知识。 2015.1.16-1.20对方波发生电路进行设计仿真工作,完成课设报告的撰写。 2015.1.21提交课程设计报告,进行答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要.....................................................................................................I Abstract................................................................................................II 1绪论.. (1) 2方案论证 (2) 3利用Proteus软件进行电路设计及仿真 (5) 4利用Cadence软件进行电路设计及PCB绘制 (9) 4.1电路原理图设计 (9) 4.2PCB设计 (10) 5心得体会 (13) 参考文献 (14)

proteus闹钟课程设计

题目:闹钟的设计 学生姓名:黄书林 学生学号: 1114010110 系别:电气信息工程学院 专业:自动化 年级: 11 级 任课教师:张水锋 电气信息工程学院制 2013年10月

目录 摘要 (2) 课程任务与要求 (2) 方案论证 (2) 闹钟流程图 (3) 单元电路: (6) 单片机芯片 (6) 八位数码管显示电路 (7) 闹钟调节按键电路 (9) 晶振电路 (10) 复位电路 (10) 蜂鸣器体相电路 (11) 总图: (12) 心得体会 (13) 参考文献 (13) 附录 (13)

闹钟的设计 学生:黄书林 指导教师:张水锋 电气信息工程学院自动化 摘要 通过学习《基于Proteus的51系列单片机设计与仿真》让我知道我们不仅需要有过硬的理论知识,还应该有动手实践的能力。并且是将理论结合实际, 提升到应用层面。以后走上社会,还是会有很多新的知识是需要我们学习的,届时需要我们有比较强的自学能力。此次《基于Proteus的51系列单片机设计与仿真》课程设计。对理论结合实际的动手能力和自学能力有很强的体现。本次设计是基于 AT89C51 单片机的数字闹钟的设计。 关键词:数字闹钟 AT89C51 Proteus。 课程任务与要求 本次课程的任务就是要以51系列单片机为核心设计一个闹钟,它能通过单片机实现秒、分、小时的进位24 小时制,将当前时分秒在七段 LED 显示器上显示。可设置闹钟的时间当前值对准一时间,设置闹铃时间,闹铃功能的关闭和开放。 要求:通过Proteus软件来实现设计的仿真,提高自己的编程水平,增加设计兴趣。通过做自己喜欢的设计,提高自学能力。为以后毕业走上工作岗位打下坚实的基础。 二方案论证 经分析,计算器电路包括三个部分:显示部分八位数码管、闹钟时钟按键、 单片机电路。具体分析如下: 1 显示部分 1.1 LCD显示 LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,价格大概15块钱左右。 1.2数码管显示 数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七

根据Proteus的步进电机的设计仿真

目录 目录 (1) 摘要 (2) 第一章 Proteus绘制仿真原理图 (3) 1.1 Proteus简介 (3) 1.2 Proteus ISIS简介 (3) 第二章硬件电路设计 (4) 2.1 步进电机 (5) 2.1.1 步进电机简介 (5) 2.1.2 步进电机的特点 (5) 2.2 STC8951单片机 (6) 2.2.1 总述 (6) 2.2.2 性能 (6) 2.2.3 结构概览 (7) 2.2.4 芯片的引脚排列和说明 (8) 2.3 ULN2003A介绍 (10) 2.4 复位电路和时钟电路 (11) 2.5 整个电路的原理 (12) 第三章软件系统设计 (13) 3.1 电路流程图 (13) 第四章电路仿真 (13) 4.1 Proteus原理图绘制过程 (13) 4.2 仿真设置 (16) 第五章硬件电路的制作与调试 (19) 5.1焊接准备与注意事项 (19) 5.2单片机程序写入 (20) 5.3 硬件安装 (21) 5.4硬件调试 (22) 总结 (23) 参考文献 (24) 附录(程序) (25)

摘要 步进电机广泛应用在生产实践的各个领域。它最大的应用是在数控机床的制造中,因为步进电机不需要A/D转换,能够直接将数字脉冲信号转化成为角位移,所以被认为是理想的数控机床的执行元件。本设计利用proteus仿真软件进行电路仿真,系统通过设置四个按键分别控制不进电机的起止、圈数、方向、不进速度,使用1602液晶显示以上参数。整个系统具有稳定性好,实用性强,操作界面友好等优点。本文应用单片机、步进电机驱动芯片、字符型LCD和键盘阵列,构建了集步进电机控制器和驱动器为一体的步进电机控制系统。二维工作台作为被控对象通过步进电机驱动滚珠丝杆在X/Y轴方向联动。文中讨论了一种以最少参数确定一条圆弧轨迹的插补方法和步进电机变频调速的方法。步进电机控制系统的开发采用了软硬件协同仿真的方法,可以有效地减少系统开发的周期和成本。最后给出了步进电机控制系统的应用实例。

基于proteus的数字电子钟的仿真设计

题目:基于Proteus的数字电子钟的设计 与仿真 课程名称:单片机系统设计与Proteus仿真 学生姓名:马珂 学生学号: 1305010323 系别:电子工程学院 专业:通信工程 年级: 13级 任课教师:徐锋 电子工程学院 2015年5月

目录 一、设计目的与要求 (3) 二、设计内容与方案制定 (3) 三、设计步骤 (3) 1.硬件电路设计 (3) 1.1.硬件电路组成框图 (3) 1.2.各单元电路及工作原理 (4) 1.3.绘制原理图 (5) 1.4.元件清单列表 (6) 2.程序设计 (6) 2.1程序流程 (6) 2.2汇编程序 (7) 四、调试与仿真 (12) 五、心得体会 (14) 六、参考文献: (14)

基于Proteus的数字电子钟的设计与仿真 一、设计目的与要求 设计目的:通过课程设计,培养学生运用已学知识解决实际问题的能力、查阅资料的能力、自学能力和独立分析问题、解决问题的能力和能通过独立思考。 设计要求:设计一个时、分可调的数字电子钟、开机显示“9-58-00”。 二、设计内容与方案制定 具有校时功能,按键控制电路其中时键、分键两个键分别控制时、分时间的调整。按分键分加1;按时键时加1。 以AT89C51单片机进行实现秒、分、时上的正常显示和进位,其中显示功能由单片机控制共阴极数码管来实现,数码管进行动态显示。 三、设计步骤 1、硬件电路设计 1.1.硬件电路组成框图 1.2.各单元电路及工作原理 (1)晶振电路 单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中

AT89C51单片机采用内部时钟方式。采用外接晶体和电容组成的并联谐振回路。其电路图如下: (2)键盘控制电路 键盘可实现对时间的校对,用两个按键来实现。按时键来调节小时的时间,按分键来调节分针的时间。其电路连接图如下: (3)显示电路 LED显示器是现在最常用的显示器之一发光二极管(LED)分段式显示器由7条线段围成8字型,每一段包含一个发光二极管。外加正向电压时二极管导通,发出清晰的光。只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。显示电路显示模块需要实时显示当前的时间,即时、分、秒,因此需要6个数码管,采用动态显示方式显示时间,其硬件连接方式如下图所示。

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

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

摘要 随着自动控制系统的发展和对高精度控制的要求,步进电机在自动化控制中扮演着越来越重要的角色,区别于普通的直流电机和交流电机,步进电机可以对旋转角度和转动速度进行高精度控制。步进电机作为控制执行元件,是机电一体化的关键组成之一,广泛应用在各种自动化控制系统和精密机械等领域。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 本系统介绍了一种基于单片机的步进电机控制系统的设计,包括了硬件设计和软件设计两部分。其中,硬件设计包括单片机最小系统、键盘控制模块、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

基于8086与Proteus仿真的44键盘计算器的设计

基于8086与Proteus仿真的4*4键盘计算器的设计 一、设计目的 本次课程设计的实验目的是通过该实验掌握较复杂程序的设计。能够独立完成用程序对8086、8255控制键盘和LED显示的控制,完成计算器加减法的应用。独立编写程序,明白和掌握程序的原理和实现方式。为以后的设计提供经验。学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。 二、设计内容 设计计算器,要求至少能完成多位数的加减乘除运算。独立完成用程序对8086、8255控制键盘和LED显示的控制,完成计算器加减乘除的应用。 三、设计原理与硬件电路 设计的思路是:首先利用程序不断扫描键盘是不是有输入,如果没有就一直扫描,如果有就停止扫描,完成输入,利用汇编的程序核对输入键的数值,通过调用子程序完成数据的储存或者是加减的运算。运算完成后将运算的结果储存并显示到LED显示器上。 各部分硬件功能:

可编程并行通信接口芯片8255A 8255A内部结构:1. 并行输入/输出端口A,B,C 8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,相应信号线是PA7~PA0、PB7~PB0、PC7~PC0。端口都是8位,都可以作为输入或输出。通常将端口A和端口B定义为输入/输出的数据端口,而端口C则既可以作数据端口,又可以作为端口A和端口B的状态和控制信息的传送端口。 2.A组和B组控制部件 端口A和端口C的高4位(PC7~PC4)构成A组;由A组控制部件实现控制功能。端口B和端口C的低4位(PC3~PC0)构成B组;由B组控制部件实现控制功能。 A组和B组利用各自的控制单元来接收读写控制部件的命令和CPU通过数据总线(D0~D7)送来的控制字,并根据他们来定义各个端口的操作方式。 3. 数据总线缓冲存储器 三态双向8位缓冲器,是8255A与8086CPU之间的数据接口。

proteus下步进电机控制

p r o t e u s下步进电机控 制 The Standardization Office was revised on the afternoon of December 13, 2020

目录 摘要 ........................................................................................... 错误!未定义书签。 一、课程设计目的与要求....................................................... 错误!未定义书签。 1.课程设计目的......................................................................... 错误!未定义书签。2.设计要求.............................................................................. 错误!未定义书签。 二、电路设计原理及原理图................................................... 错误!未定义书签。 1.设计方案................................................................................. 错误!未定义书签。 2.电路原理................................................................................. 错误!未定义书签。 开关控制电路........................................................................ 错误!未定义书签。 晶振电路................................................................................ 错误!未定义书签。 复位电路................................................................................ 错误!未定义书签。 电机驱动电路........................................................................ 错误!未定义书签。 3.原理图..................................................................................... 错误!未定义书签。 4.流程图..................................................................................... 错误!未定义书签。 5.软件设计................................................................................. 错误!未定义书签。 三、设计过程........................................................................... 错误!未定义书签。 1.筹备过程................................................................................. 错误!未定义书签。 2.制作过程................................................................................. 错误!未定义书签。 3.调试过程................................................................................. 错误!未定义书签。 4.元件清单................................................................................. 错误!未定义书签。 四、总结.................................................................................... 错误!未定义书签。 1.结论总结................................................................................. 错误!未定义书签。 2.心得体会................................................................................. 错误!未定义书签。 五、致谢................................................................................... 错误!未定义书签。 六、参考文献............................................................................ 错误!未定义书签。附件............................................................................................ 错误!未定义书签。

proteus课程设计

沈阳航空航天大学电子信息工程学院 电子设计应用软件训练 总结报告 学生姓名: 专业: 班级: 学号: 指导教师: 训练时间:2013年7月8日至2013年7月12日 电子信息工程学院电子设计应用软件训练任务 【训练任务】:

1、熟练掌握PROTEUS软件的使用; 2、按照设计要求绘制电路原理图; 3、能够按要求对所设计的电路进行仿真; 【基本要求及说明】: 1、按照设计要求自行定义电路图纸尺寸; 2、设计任务如下: 51单片机内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数,将其数值P1口驱动LED灯上显示出来,由按键产生计数脉冲,LED 分别显示脉冲个数(10个以内)。 3、按照设计任务在Proteus 6 Professional中绘制电路原理图; 4、根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。 成绩: 一、任务说明 51单片机内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚

进行计数,将其数值P1口驱动LED灯上显示出来,由按键产生计数脉冲,LED分别显示脉冲个数(10个以内)。按照设计任务在Proteus 6 Professional中绘制电路原理图。 根据设计任务的要求编写程序,在Proteus下进行仿真,实现相应功能。 二、PROTEUS软件的使用 1、软件概述: Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单机和SPICE分析于一身的仿真软件,功能极其强大。 图1 proteus工作界面 2、对象的添加和放置 点击工具箱的元器件按钮,使其选中,再点击IsIs对象选择器左边中间的置P 按钮,出现“Pick Devices”对话框。在这个对话框里我们可以选择元器件和一些

步进电机控制系统设计.

毕业设计论文 论文题目:基于单片机的步进电机控制电路板设计 摘要 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。 步进电机是一种能将电脉冲信号转换成角位移或线位移的机电元件,步进电机控制系统主要由步进控制器,功率放大器及步进电机等组成。采用单片机控制,用软件代替上述步进控制器,使得线路简单,成本低,可靠性大大增加。软件编程可灵活产生不同类型步进电机励磁序列来控制各种步进电机的运行方式。 本设计是采用AT89C51单片机对步进电机的控制,通过IO口输出的时序方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机;同时,用 4个按键来对电机的状态进行控制,并用数码管动态显示电机的转速。 系统由硬件设计和软件设计两部分组成。其中,硬件设计包括AT89C51单片机的最小系统、电源模块、键盘控制模块、步进电机驱动(集成达林顿ULN2003)模块、数码显示(SM420361K数码管)模块、测速模块(含霍尔片UGN3020)6个功能模块的设计,以及各模块在电路板上的有机结合而实现。软件设计包括键盘控制、步进电机脉冲、数码管动态显示以及转速信号采集模块的控制程序,最终实现对步进电机转动方向及转动速度的控制,并将步进电机的转动速度动态显示在LED数码管上,对速度进行实时监控显示。软件采用在Keil软件环境下编辑

************* 第1章绪论 1.1 课题背景 当今社会,电动机在工农业生产、人们日常生活中起着十分重要的作用。步进电机是最常见的一种控制电机,在各领域中得到广泛应用。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。 随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,其优点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度的变化的影响、误差不会长期积累的特点,给实际的应用带来了很大的方便。它广泛用于消费类产品(打印机、照相机、雕刻机)、工业控制(数控机床、工业机器人)、医疗器械等机电产品中。研究步进电机的控制和测量方法,对提高控制精度和响应速度、节约能源等都具有重要意义。控制核心采用C51芯片,它以其独特的低成本,小体积广受欢迎,当然其易编程也是不可多得的优点为此,本文设计了一个单片机控制步进电机的控制系统,可以实现对步进电机转动速度和转动方向的高效控制。 1.2 设计目的及系统功能 本设计的目的是以单片机为核心设计出一个单片机控制步进电机的控制系统。本系统采用AT89C51作为控制单元,通过键盘实现对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度动态显示在LED数码管上。 1

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

第1章绪论 (2) 1.1引言 (2) 1.2步进电机常见的控制方案与驱动技术简介 (4) 1.2.1常见的步进电机控制方案 (4) 1.2.2步进电机驱动技术 (6) 1.3本文研究的内容 (8) 第2章步进电机概述 (9) 2.1步进电机的分类 (9) 2.2步进电机的工作原理 (10) 2.2.1结构及基本原理 (10) 2.2.2两相电机的步进顺序 (10) 2.3 步进电机的工作特点 (13) 2.4本章小结 (15) 第3章系统的硬件设计 (16) 3.1系统设计方案 (16) 3.1.1系统的方案简述与设计要求 (16) 3.1.2系统的组成及其对应功能简述 (16) 3.2单片机最小系统 (18) 3.2.1AT89S51简介 (18) 3.2.2单片机最小系统设计 (23) 3.2.3单片机端口分配及功能 (24) 3.3串口通信模块 (24) 3.4数码管显示电路设计 (25) 3.4.1共阳数码管简介 (25) 3.4.2共阳数码管电路图 (26) 3.5电机驱动模块设计 (27) 3.5.1L298简介 (27) 3.5.2电机驱动电路设计 (28) 3.6驱动电流检测模块设计 (30) 3.6.1OP07芯片简介 (30) 3.6.2ADC0804芯片简介 (32) 3.6.3电流检测模块电路图 (35) 3.7独立按键电路设计 (36) 3.8本章小结 (36) 第4章系统的软件实现 (37) 4.1系统软件主流程图 (37) 4.2系统初始化流程图 (38) 4.3按键子程序 (39) 结论 (43) 1

第1章绪论 1.1引言 步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、Pulse motor或Stepper servo,其应用发展已有约80年的历史。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。因此,控制电机转子旋转实际上就是以一定的规律控制定子绕组的电流来产生旋转的磁场。每来一个脉冲电压,转子就旋转一个步距角,称为一步。根据电压脉冲的分配方式,步进电机各相绕组的电流轮流切换,在供给连续脉冲时,就能一步一步地连续转动,从而使电机旋转。步进电机每转一周的步数相同,在不丢步的情况下运行,其步距误差不会长期积累。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,同时步进电机只有周期性的误差而无累积误差,精度高,步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等,这是步进电动机最突出的优点[1]。 正是由于步进电机具有突出的优点,所以成了机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用[2]。比如在数控系统中就得到广泛的应用。目前世界各国都在大力发展数控技术,我国的数控系统也取得了很大的发展,我国已经能够自行研制开发适合我国数控机床发展需要的各种档次的数控系统。虽然与发达国家相比,我们我国的数控技术方面整体发展水平还比较低,但已经在我国占有非常重要的地位,并起了 2

步进电机的驱动L298 L297与PROTEUS仿真

第十一章 步进电机 本章主要讲述步进电机的驱动。 11.1:L298 C 程序: #include sbit enable=P3^0;//使能 sbit set=P3^1; //设置 //延时 void delay(int i) { int j; for(;i>0;i--) for(j=50;j>0;j--) ; } //主程序 void main() { int step[]={0x01, 0x05,0x04,0x06, 0x02,0x0a,0x08,0x09}; //正转模型 int i=0; enable=1;//使能 while(1) { if(set==0) {if(i==0) i=7;P2=step[i--];} //反转 else {if(i==8) i=0;P2=step[i++];} //正转 delay(50); //延时 //越小速度越快 } }

11.2:L297与L298 C程序: #include sbit clock=P2^0; sbit cw=P2^1; sbit en=P2^2; void main() { TMOD=0X01; TH0=(65536-5000)/256; TL0=(65536-5000)%256; ET0=1;TR0=1;EA=1; while(1); } void timer0() interrupt 1 { static int n=0; if(n==3){n=0;clock=!clock;} n++; TH0=(65536-5000)/256; TL0=(65536-5000)%256; }

相关主题
文本预览
相关文档 最新文档