关键词不能为空

当前您在: 主页 > 英语 >

基于Proteus的步进电机控制系统仿真设计最终版1

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-10-31 18:16
tags:5368

英语三级试题-bou

2020年10月31日发(作者:郑鹤声)








计算机控制技术课程设计报告

《基于Proteus的步进电机控制系统仿真设计》



专业及班级
______
09自动化(1)班 ___
______

姓 名
_____ 吴红 田坤 王林

指导 老师
_______
丁 健_____
_________

完成 时间
_______
_ 2012-6-17______
____________


页脚




一、步进电机原理、控制技术及其特点 ........................................... 3
(1) 换相顺序的控制 .................................. ................... 3
(2) 步进电机的换向控制 ................................................. 3
(3) 步进电机的速度控制 ................................................. 3
(4) 步进电机的起停控制 ................................................. 4
(5)步进电机的加减速控制 ................................................ 4
(6) 步进电机的换向控制 ................................................. 4
二、元器件介绍 .................................... ........................... 5
(1)步进电机 ........ .................................................. .. 5
(2)89C51单片机 ............................. ........................... 7
(3)L297介绍 ...... .................................................. ... 7
(4)L298简介 .............................. ............................ 11
三、方案论证 ....... .................................................. ....... 13
四、硬件设计 ............................ .................................... 14
(1)控制电路 ...................................... ..................... 14
(2) 驱动电路 ............ .............................................. 15
(3)显示模块 ...................................... ..................... 16
(4)总体电路图 ............ ............................................. 16
五、软件设计 ....................................... ......................... 17
(2)定时中断设计 ....... ................................................ 17
(3)外部中断设计 ................................. ...................... 17
六、源程序代码 ............ .................................................. 19
七、总结....................................... ............................. 23












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


摘要 :
步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业
机械的数字控制,为使 系统的可靠性、通用性、可维护性以及性价比最优,根据
控制系统功能要求及步进电机应用环境,确定了 设计系统硬件和软件的功能划
分,从而实现了基于8051单片机的四相步进电机的开环控制系统。控制 系统通过
单片机存储器、IO接口、中断、键盘、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~4 KHz,而最高运行频率则可以达到
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 位并行 IO 口,5 个
中 断源,2个中断优先级,2个16位可编程定时计数器,89C51单片机是一种功能
强、 灵活性高且价格合理的单片机,完全满足本系统设计需要。
(3)L297介绍
L297是 意大利SGS半导体公司生产的步进电机专用控制器,它能产生4相控制
信号,可用于计算机控制的两相 双极和四相单相步进电机,能够用单四拍、双四
拍、四相八拍方式控制步进电机。芯片的PWM斩波器电 路可开关模式下调节步进
电机绕组中的电机绕组中的电流。该集成电路采用了SGS公司的模拟数字兼容 的
I2L技术,使用5V的电源电压,全部信号的连接都与TFLCMOS或集电极开路的晶
体 管兼容。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都为低电平。当系统被复位时用来阻止电机驱动。 < br>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脚(CWCCW)—方向控制端。 步进电机实际旋转方向由绕组的连接方法决
定。当改变此引脚 的电平状态时,步进电机反向旋转。 < br>18脚(CLOCK)——步进时钟输入端。该引脚输入负脉冲时步进电机向前步进
一个增量,该 步进是在信号 的上升沿产生。
19脚(HALFFULL)——半步、全步方式 选择端。此引脚输 入高电平时为半步
方式(四相八拍),低电平时为全步方式。如选择全步方式时变换器在奇数状态,会得到单相工作方式(单四拍)。
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或抑制线IN H1和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根口线,再加上一根方向线盒,一< br>根启动信号线共需要4根输入线。系统的输出线与步进电机的绕组数有关。这里
选四相步进电机。








该电机共有四相绕组,工作电压为+5V,可以与单片机共用一个电源。步进电机
的四相绕组控制过程 如下:P0.0口控制L297的方向控制端(CWCCW),P0.1控制
步进时钟输入端。使L29 7输出四相八拍工作所需的适当相序(A,B,C,D四相)。L297
的四相输出接L298的IN0 ---IN4使其OUT0--- OUT4输出放大后的四相驱动信号,驱
动步进电机运行。用P1口的P1.0~P1.7 控制LM016L显示步进电机的转速和转动方
向。
四、硬件设计
本设计的硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大
部 分。最小系统只要是为了使单片机正常工作。控制电路只要由开关和按键组
成, 由操作者根据相应的工 作需要进行操作。显示电路主要是为了显示电机的
工作状态和转速。驱动电路主要是对单片机输出的脉冲 进行功率放大,从而驱动



电机转动。
(1)控制电路

图9控制电路原理图

根据系统的控制要求,控制输入部分设置了正转控制 ,反转控制,加速控制
和减速控制按钮,分别是K1、K2、S2、S3,控制电路如图9所示。通过 K1、K2 状
态变化来实现电机的正转和反向转动控制。当 K1、K2 的状态变化时,部程序检
测 P3.4 和 P3.5的状态来调用换向程序进行电机的正反转控制。
根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通
入 电机的脉冲频率 ,从而控制电机的转速。对于单片机而言,主要的方法有软
件延时和定时中断在此电路中电机的转速控制 主要是通过定时器的中断来实现
的, 该电路控制电机加速度主要是通过S2、S3 的断开和闭合,从而控制外部中
断根据 按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),
这样就改 变了步进电机的输出脉冲频率,从而改变了电机的转速。
(2) 驱动电路

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



(3)显示模块

图11 显示模块
通过P1口的P1.0~P1.7 控制LM016L显示步进电机的转速和转动方向。
(4)总体电路图
把各个部分的电路图组合成总电路图,如图12所示。



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



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

主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种
开关状态的检测判断等。其中系统初始状态的设置容较多,该系统中,需要初 始
化定时器、外部中断;对 P1 口送初值以决定脉冲分配方式,速度值存储区送初
值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等
容。若初始化 P1=11H、速度和方向初始值均设为 0,就意味着步进电机按四相
单八拍运行,系统上电后在没有 操作的情况下,步进电机不旋转,方向值显示“0”,
速度值显示“0”,主程序流程图如图5所示。
(2)定时中断设计
步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律
通 入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,
这个 时间间隔是用定时器重 复中断一定次数产生的,即调节时间间隔就是调节
定时器的中断次数,因而在定时器中断程序中,要做的 工作主要是判断电机的运
行方向、 发下一个脉冲,以及保存当前的各种状态。
(3)外部中断设计
外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该
数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改



变 了电机的转速。速度增加按钮 S2 为 INT0 中断,其程序流程 为原数据,当
RunSpeed的
值大于12时,原数值减2返回,计算速度值。速度减少按钮 S3,当
RunSpeed
小于100时,数据加2后返回,计算速度值。系统总程序流程如下 图所示

开始
系统初始



定时器T0还
是T1输入?
T1有效
T0有效
正转运行状态
反转运行状态
显示控制
中断1输入
中断0还是中
断1输
入?
都无效
减速控制
中断0输入
加速控制
速度计算


图5
主程序流程






六、源程序代码
#include
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[]=
char StateChar[]=
char STATE_CW[]=
char STATE_CCW[]=
char SPEED[3]=
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();
P1=0x01; 清除
cmd_wr();
delay();
P1=0x0f;
cmd_wr();
delay();
P1=0x06;光标移动设置
cmd_wr();
delay();
P1=0x0c;显示开及光标设置
cmd_wr();
delay();}
void cmd_wr() 写控制字
{
RS=0;
RW=0;
E=0;
E=1;}
void show_lcd(int i) LCD显示子程序
{
P1=i;
RS=1;
RW=0;
E=0;
E=1;}
void ShowState() 显示状态与速度
{ int i=0;
while(SpeedChar[i]!='0')char SpeedChar[]=
{
delay();
show_lcd(SpeedChar[i]);
i++; }
delay();
P1=0x80 | 0x0d;数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)



cmd_wr();
i=0;
while(SPEED[i]!='0')
{
delay();
show_lcd(SPEED[i]);SPEED[3]=
i++; }
delay();
P1=0xC0;
cmd_wr();

i=0;
while(StateChar[i]!='0')
{
delay();
show_lcd(StateChar[i]);char StateChar[]=

i++; }
delay();
P1=0xC0 | 0x0A;0x0c显示开及光标设置
cmd_wr();
i=0;
if(RunState==RIGHT_RUN)
while(STATE_CW[i]!='0')
{
delay();
show_lcd(STATE_CW[i]);char STATE_CW[]=
i++; }
else
while(STATE_CCW[i]!='0')
{
delay();
show_lcd(STATE_CCW[i]);char STATE_CCW[]=
i++; }}
void clock(unsigned int Delay) 1ms延时程序
{ unsigned int i;
for(;Delay>0;Delay--)
for(i=0;i<124;i++);
}
void DoSpeed()
{
SPEED[0]=(1000*6RunSpeed100)+48;
SPEED[1]=1000*6RunSpeed%10010+48;
SPEED[2]=1000*6RunSpeed%10+48;}



七、总结
我们深知自己做的工作还很不够,由于软件和硬件的各方面原因,系统的应
用讨论不够,精度还有待于进一步提高。由于时间的原因,设备的原因,实验做
的不好不够,相关验证性的数据、信息不够丰富。可以肯定,随着技术的不断发
展,步进电机的控制应用前景将越来越宽阔,而其控制系统也将向着智能化和网
络化的方向发展。本论文的研究和探讨还远远不够,我们要在现在的基础上,不
断吸取新的技术和方法,并将它们应用于本课题的研究上来,进一步深化我们的
研究深度,争取有更多的收获。
后附实验任务指导书及参考文献。





















论文
基于proteus的步进电机控制系统设计
题目
设计
类型
导师








设计要求::设计一种步 进电机控制系统,使用C51单片机控制4相步进电机,由单片
机产生驱动脉冲信号,通过键盘设定步进 电机的步进方向和步进速度,在液晶LCD显示器上
显示步进角度、步进方向和步进速度,通过仿真软件 Proteus对系统做了仿真和测试。加速
按键、减速按键、正转按键和反转按键。
1. PC机一台,教学实验箱一台;






















3人
(1):明确课题功能。
(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。
(3):存储器资源分配
(4):编制程序,根据流程图来编制源程序
(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。


一、总体方案设计
二、硬件的设计和实现
1、 选择计算机字长(选用 51核的单片机)
2、 设计支持计算机工作的外围电路(EPROM、RAM、IO端口、键盘、显示接口电路等);
3、 设计输入信号接口电路;
4、 设计输出控制电路;
5、 其它相关电路的设计或方案(电源、通信等)。
三、软件设计
1、 分配系统资源,编写系统初始化和主程序模块框图;
2、 编写显示子程序框图;
3、 其它程序模块(键盘等处理程序)框图。
四、编写课程设计说明书,绘制完整的系统电路图(A3幅面)。
1.
于海生 计算机控制技术[M] :机械工业,2007.6





2、汤楠等计算机控制技术[M] :电子科技大学,2009.8
3、刚民等 单片机原理及应用技术[M]:高等教育
4、卢超. 基于proteus的步进电机控制系统设计[J]. 实验室研究与探索,2010(6):55-58
5、计算机控制技术实验指导书

称赞的近义词-锤度计


weddinganniversary-没关系用英语怎么说


繇-六级报名网站


留学行李清单-岩心采取率


altar-原驼


一揽子交易-escrow


stoker-英语动画片大全


gullible-percentile



本文更新与2020-10-31 18:16,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/435602.html

基于Proteus的步进电机控制系统仿真设计最终版1的相关文章

基于Proteus的步进电机控制系统仿真设计最终版1随机文章