东 北 石 油 大 学
课 程 设 计
课 程
题 目 步进电机控制系统的设计 院 系 电气信息工程学院测控系 专业班级 学生姓名 学生学号 指导教师 刘霞 张岩
2012年 3 月 19日
单片机课程设计
步进电机控制系统的设计 东北石油大学课程设计任务书
课程 单片机课程设计
题目 步进电机控制系统的设计 专业 测控技术与仪器 姓名 学号
一、任务
设计一款基于ATC51单片机的步进电机控制系统,实现对步进电机转速、方向控制。
二、设计要求
[1] 采用ATC51单片机,完成对步进电机转速、方向控制的设计方案。 [2] 写出详细的设计报告。
[3] 给出电路原理图和软件程序源代码清单。
三、参考资料
[1] 张家生.电机原理与拖动基础[M].北京:北京邮电大学出版社,2006. [2] 马淑华,王凤文,张美金.单片机原理与接口技术[M].北京:北京邮电大学
出版社,2007.
[3] 顾德英,,马淑华.计算机控制技术[M].北京:北京邮电大学出版社,
2006.
[4] 华成英,童诗白.模拟电子技术基础[M].北京:高等教育出版社,2008. [5] 张靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:电子工业
出版社,2007.
完成期限 2012.3.19至2012.3.30 指导教师 刘霞 张岩 专业负责人 曹广华
2012年 3月 18 日
1
步进电机控制系统的设计 目录
第1章 绪论............................................................................................. 1
1.1 引言............................................................................................................. 1 1.2 步进电机及其发展..................................................................................... 1 1.3 研究的内容................................................................................................. 2
第2章 总体方案论证与设计 ................................................................ 3
2.1 步进电机原理及控制技术........................................................................ 3 2.2 方案论证.................................................................................................... 5 2.3 总体硬件组成框图.................................................................................... 5 2.4 元器件介绍................................................................................................ 6
第3章 系统硬件设计 ............................................................................ 9
3.2 最小系统.................................................................................................. 10 3.3 驱动电路.................................................................................................. 10 3.4 显示电路.................................................................................................. 11 3.5 总体电路图.............................................................................................. 12
第4章 系统的软件设计 ...................................................................... 13
4.1 主程序设计.............................................................................................. 13 4.2 定时中断设计.......................................................................................... 14 4.3 外部中断设计.......................................................................................... 15
第5章 系统调试与测试结果分析 ...................................................... 17
5.1 软件调试记录.......................................................................................... 17 5.2 硬件调试记录.......................................................................................... 17
结 论 ....................................................................................................... 18 参考文献 ................................................................................................... 19 附录1 程序.............................................................................................. 20 附录2 仿真效果图 ................................................................................. 23
2
步进电机控制系统的设计 第1章 绪论
1.1 引言
单片机是现代电子技术、计算机技术的新兴领域,以单片机为代表的嵌入式系统的出现标志着现代电子系统时代的到来。采用嵌入式系统集成器件,将电子系统的设计从单纯的硬件设计变为智能化的硬、软件设计,从而使现代电子系统软硬结合,具有智能化、系统功能,具有柔韧性及激励-运行-响应等特点。目前,单片机的价格己很低廉,这使得单片机的应用更为广泛,因此就有可能比较普遍地应用微机来控制各类电机完成各种新颖的、高性能的控制策略,使电机的各种潜在能力得到充分的发挥,使电机的性能更符合使用要求,还可以制造出各种便于控制的新型电机,使电机出现新的面貌。
比较简单的电机微机控制,例如在适当的时刻让小型电动机起动、制动或反转之类,只要用微机控制继电器或电子开关元件使电路开通或关断就可以了。在各种机床设备及生产流水线中,现在已普遍采用带微机的可编程控制器,按一定的规律控制各类电动机的动作。至于复杂的控制,则要用微机控制电机的电压、电流、转矩、转速、转角等等,使电机按给定的指令准确工作。通过微机控制,可使电机的性能有很大的提高。例如传统的直流电机和交流电机各有优缺点,直流电动机的调速性能很好,但带有机械换向器。有机械磨损及换向火花等问题,交流电动机,不论是异步电动机还是同步电动机,结构都比直流电动机简单,工作也比直流电机可靠,但在频率恒定的电网上运行时,它们的速度不能方便而又经济地调节。交流电机采用正弦脉宽调制方式进行变频调速是比较理想的,但若要用普通的模拟电路或数电路完成这一任务,电路相当复杂,用微机控制就简单多了。若要进一步提高调速精度及动态性能,可采用矢量控制方案,它的调速性能将与直流电动机相当。但矢量控制比较复杂,用传统的模拟电路或数电路很难做到,而应用微机控制则能方便地实现。
1.2 步进电机及其发展
步进电机又称脉冲电机或阶跃电机,国外一般称为Stepmotor或Stepping motor, Pulse motor,Stepper servo,Stepper等等。目前,随着电子技术拉制技术以及电动机本体的发展和变化,传统电机分类间的界面越来越模糊。这是机电一体化元件组件的必然趋势。就传统的步进电机来说,可以简单地定义为,根据输入的脉冲信号,每改变一次励磁状态就前进一定角度(或长度),若不改变励磁状态则保持一定位里而静止的电动机。从广义上讲,步进电机是一种受电脉冲信号控制的无刷式直流电机,也可看作是在一定频率范围内转速与控制脉冲频率
1
步进电机控制系统的设计 同步的同步电机。步进电机的机理是基于基本的电磁铁作用,其原始模型起源于1830年至1860年间。1870年前后开始以控制为目的的尝试,应用于氮弧灯的电极输送机构中。这被认为是最初的步进电机。此后,在电话自动交换机中广泛使用了步进电机。不久又在缺乏交流电源的船泊和飞机等系统中广泛应用。
20世纪60年代后期,在步进电机本体方面随着永磁材料的发展,各种实用性步进电机应运而生,而半导体技术的发展则推进了步进电机在众多领域的应用。在近30年间,步进电机迅速地发展并成熟起来,从发展趋向来讲,步进电机已经能与直流电机、异步电机,以及同步电机并列,从而成为电机的一种基本类型。传统的步进电机一般可分为永磁式步进电机(PM Step Motor),反应式步进电机(VR Step Motor)和混合式步进电机(Hybrid Step Motor )三种。永磁式步进电机类似于永磁转子的同步电机,转子上安装有永磁体,但定子一般为集中式绕组。反应式步进电机靠变磁阻原理运行,没有永磁体。混合式步进电机最初是作为一种低速驱动用的交流同步电机而设计的,后来发现如果各相绕组通以直流脉冲,这种电机也能步进运动。它的转子嵌有轴向充磁磁钢,主要依靠定转子磁场相互作用产生转矩,由于它特殊的结构,它的步距角远小于永磁式步进电机,也可看成是一种极对数很多的永磁式转子同步电机。
我国步进电机的研究及制造始于本世纪50年代后期。从50年代后期到60年代后期,主要是高等院校和科研机构为研究一些装置而使用或开发少量产品。这些产品以多段结构三相反应式步进电机为主。70年代初期,步进电机的生产和研究有所突破。除反映在驱动器设计方面的长足进步外,对反应式步进电机本体的设计研究发展到一个较高水平。70年代中期至80年代中期为成品发展阶段,新品种高性能电机不断被开发。自80年代中期以来,由于对步进电机精确模型做了大量研究工作,各种混合式步进电机及驱动器作为产品广泛利用。自本世纪中叶,步进电机的应用渗进到数控制的各个领域,尤其在(数控)机械中广泛利用其开环拉制的特点。近十几年来,步进电机在FA机器(Factory Automation)和计算机外部设备等领域作为控制用电动机和驱动用电动机而广泛使用。
1.3 研究的内容
本论文研究的是反应式步进电动机驱动控制系统,以MCS-51系列单片机51为核心控制器,采用分频和频率选择控制电机速度,采用细分驱动控制方式,选用8713脉冲分配器,它可以驱动三相、四相反应式步进电动机。本设计内容主要是基于单片机的反应式步进电动机驱动控制系统硬件设计,包括控制部分硬件设计、驱动部分硬件设计、电源供电部分的设计和系统软件部分设计。
2
步进电机控制系统的设计 第2章 总体方案论证与设计
2.1 步进电机原理及控制技术
由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专业设备——步进电机控制驱动器,典型步进电机控制系统如图2-1所示:
图2-1 步进电机运行过程中频率变化曲线
控制器可以发出脉冲频率从几赫兹到几千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列,环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动,环形分配器主要有两大类:一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器。另一类是用硬件构成的环形分配器,通常称硬环形分配器。功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机的目的,步进电机的基本控制包括转向控制和速度控制两个方面。从结构上看,步进电机分为三相单三拍、三相双三拍和三相六拍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。如果按反序通电换相,即
3
步进电机控制系统的设计 A→AC→C→CB→B→BA→A,则电机就反转。其他方式情况类似。
3.步进电机的速度控制
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。调整送给步进电机的脉冲频率,就可以对步进电机进行调试。
4.步进电机的起停控制
步进电机由于其电气特性,运转时会有步进感。为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,跳过电机运行的平稳性。在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机转轴不能自由转动。
5.步进电机的加减速控制
在步进电机控制系统中,通过实验发现,如果信号变化太快,步进电机由于惯性跟不上电信号的变化,这时就会产生堵转和失步现象。所有步进电机在启动时,必须有加速过程,在停止时波形有减速过程。理想的加速曲线一般为指数曲线,步进电机整个降速过程频率变化规律是整个加速过程频率变化规律的逆过程。选定的曲线比较符合步进电机升降过程的运行规律,能充分利用步进电机的有效转矩,快速响应性好,缩短了升降速的时间,并可防止失步和过冲现象。在一个实际的控制系统中,要根据负载的情况来选择步进电机。步进电机能响应而不失步的最高步进频率称为“启动频率”,于此类似“停止频率”是指系统控制信号突然关断,步进电机不冲过目标位置的最高步进频率。电机的启动频率、停止频率和输出转矩都要和负载的转动惯量相适应,有了这些数据,才能有效地对电机进行加减速控制。加速过程有突然施加的脉冲启动频率f0。步进电机的最高启动频率(突跳频率)一般为0.1KHz到3~4KHz,而最高运行频率则可以达到N*102KHz,以超过最高启动频率的频率直接启动,会产生堵转和失步的现象。
在一般的应用中,经过大量实践和反复验证,频率如按直线上升或下降,控制效果就可以满足常规的应用要求。用PLC实现步进电机的加P减速控制,实践上就是控制发脉冲的频率。加速时,使脉冲频率增高,减速则相反。如果使用定时器来控制电机的速度,加减速控制就是不断改变定时中断的设定值。速度从v1~v2变化,如果是线性增加,则按给定的斜率加P减速;如果是突变,则按阶梯加速处理。在此过程中要处理好两个问题:
(1)速度转换时间应尽量短。为了缩短速度转换的时间,可以采用建立数据表的方法。结合各曲线段的频率和各段间的阶梯频率,就可以建立一个连续的数据表,并通过转换程序将其转换为定时初始表。通过在不同的阶段调用相应的定时初值,就可控制电机的运行。定时初值的计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行。
(2)保证控制速度的精确性。要从一个速度准确达到另一个速度,就要建立一个校验机制,以防超过或未达到所需速度。
4
步进电机控制系统的设计 6.步进电机的换向控制
步进电机换向时,一定要在电机降速停止或降到突跳频率范围之内在换向,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个脉冲结束后以及下一个方向的第一个脉冲前发出。对于脉冲的设计主要要求其有一定的脉冲宽度、脉冲序列的均匀度及高低电平方式。在某一高速下的正、反向切换实质包含了降速→换向→加速3个过程。
步进电机有如下特点:
(1)步进电机的角位移与输入脉冲数严格成正比,因此当它转一转后,没有累计误差,具有良好的跟随性。
(2)由步进电机与驱动电路组成的开环数控系统,既非常方便、廉价,也非常可靠。同时,它也可以有角度反馈环节组成高性能的闭环数控系统。 (3)步进电机的动态响应快,易于启停、正反转及变速。
(4)速度可在相当宽的范围内平滑调节,低速下仍能保证获得很大的转矩,因此一般可以不用减速器而直接驱动负载。
(5)步进电机只能通过脉冲电源供电才能运行,它不能直接用交流电源或直流电源。
(6)步进电机自身的噪声和振动比较大,带惯性负载的能力强。
2.2 方案论证
从该系统的设计要求可知,该系统的输入量为速度和方向,速度应该有增减 变化,通常用加减按钮控制速度,这样只要2根口线,再加上一根方向线盒一根启动信号线共需要4根输入线。系统的输出线与步进电机的绕组数有关。这里选进电机,该电机共有四相绕组,工作电压为+5V,可以个单片机共用一个电源。步进电机的四相绕组用P1口的P1.0~P1.3控制,由于P1口驱动能力不够,因而用一片2803增加驱动能力。用P0口控制第一数码管用于显示正反转,用P2口控制第二个数码管用于显示转速等级。数码管采用共阳的。
2.3 总体硬件组成框图
总体硬件组成框图如图2-2所示。
5
步进电机控制系统的设计 状态显示电路 ATC51 单片机 复位电路 键盘控制电路 电源及时钟电路 ULN2803 启动电路 步进 电机 图2-2 总体硬件组成框图
2.4 元器件介绍
1.步进电机
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(步距角)或前进、倒退一步。步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。
(1)四相步进电机的工作原理
该设计采用了20BY-0型步进电机,该电机为四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐,由此可见,错齿是促使电机旋转的原因。
(2)步进电机的静态指标及术语
相数:产生不同队N、S磁场的激磁线圈对数,常用m表示。 拍数:完成一个磁场周期性变化所需脉冲用n表示,或指电机转过一个齿距
6
步进电机控制系统的设计 角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB→BC→CD→DA→ AB,四相八拍运行方式即A→AB→B→BC→C→CD→D→DA→A。
步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360°/(转子齿角运行拍数),以常规二、四相,转子齿角50齿角电机为例。四相运行时步距角为θ=360°/(50*4)=1.8°,八拍运行时步距角为θ=360°/(50*80)=0.9°。
定位转矩:电机在不通电的状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)。
静转矩:电机在额定静态作业下,电机不做旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。虽然静态转矩与电磁激磁匝数成正比,与定子和转子间的气隙有关。但过分采用减小气隙,增加励磁匝数来提高静转矩是不可取的,这样会造成电机的发热及机械噪音。 (3)四相步进电机的脉冲分配规律 目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。各种工作方式在电源通电时的时序与波形分别如图2-3 a、b、c所示。本设计的电机工作方式为四相单四拍,根据步进电机的工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,如表2-1、2-2。在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。
图2-3 步进电机工作时序波形图
表2-1 四相单四拍脉冲分配表
表2-2 四相双四拍脉冲分配表
N N+1 N+2 N+3
A 1 0 0 0 B 0 1 0 0 C 0 0 1 0 D 0 0 0 1
N N+1 N+2 N+3 A 1 0 0 1 B 1 1 0 0 C 0 1 1 0 D 0 0 1 1 7
步进电机控制系统的设计 2.ATC51单片机
Atmel公司生产的ATC51单片机是一种低功耗、低电压、高性能的8位单片机,它采用CMOS和高密度非易失性存储技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失性编程器来编程,内部除CPU外,还包括256字节RAM,4个8位并行I/O口,5个中断源,2个中断优先级,2个16位可编程定时计数器,ATC51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。
8
步进电机控制系统的设计 第3章 系统硬件设计
本设计的硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大部分。最小系统只要是为了使单片机正常工作。控制电路只要由开关和按键组成,由操作者根据相应的工作需要进行操作。显示电路主要是为了显示电机的工作状态和转速。驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。
3.1 控制电路
根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制和减速控制按钮,分别是K1、K2、S2、S3,控制电路如图3-1所示。通过K1、K2状态变化来实现电机的启动和换向功能。当K1、K2的状态变化时,内部程序检测P1.0和P1.1的状态来调用相应的启动和换向程序,发现系统的电机的启动和正反转控制。
图3-1 控制电路原理图
根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。对于单片机而言,主要的方法有:软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过S2、S3的断开和闭合,从而控制外部中断根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),
9
步进电机控制系统的设计 这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。
3.2 最小系统
单片机最小系统或者称为最小应用系统,素质用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:单片机、复位电路、晶振电路。
复位电路:使用了式键盘,单片机的P1口键盘的接口。该设计要求只需4个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,使用了6路式键盘。复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态,晶振电路用30PF的电容和一12M晶体振荡器组成为整个电路提供时钟频率。如图3-2示。
晶振电路:51单片机的时钟信号通常用两种电路形式电路得到:内部震荡方式和外部中断方式。在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如图3-2示。其电容值一般在5~30 pf,晶振频率的典型值为12MHz,采用6MHz的情况也比较多。内部振荡方式所得的时钟信号比较稳定,实用电路实用较多。
图3-2 复位及时钟振荡电路
3.3 驱动电路
通过ULN2803构成比较多的驱动电路,电路图如图3-3所示。通过单片机
10
步进电机控制系统的设计 的P1.0~P1.3输出脉冲到ULN2803的1B~4B口,经信号放大后从1C~4C口分别输出到电机的A、B、C、D相。
图3-3 步进电机驱动电路
3.4 显示电路
在该步进电机的控制器中,电机可以正反转,可以加速、减速,其中电机转速的等级分为七级,为了方便知道电机的运行状态和电机的转速的等级,这里设计了电机转速和电机的工作状态的显示电路。在显示电路中,主要是利用了单片机的P0口和P2口。采用两个共阳数码管作显示。第一个数码管接的a、b、c、d、e、f、g、h分别接P0.0~P0.7口,用于显示电机正反转状态,正转时显示“1”,反转时显示“一”,不转时显示“0”。第二个数码管的a、b、c、d、e、f、g、h分别接P2.0~P2.7口,用于显示电机的转速级别,共七级,即从1~7转速依次递增,“0”表示转速为零。电路如图3-4所示。
11
步进电机控制系统的设计
图3-4 显示电路
3.5 总体电路图
把各个部分的电路图组合成总电路图,如附录2所示。
12
步进电机控制系统的设计 第4章 系统的软件设计
通过分析可以看出,实现系统功能可以采用多种方法,由于随时有可能输入加速、加速信号和方向信号,因而采用中断方式效率最高,这样总共要完成4个部分的工作才能满足课题要求,即主程序部分、定时器中断部分、外部中断0和外部中断1部分,其中主程序的主要功能是系统初始参数的设置及启动开关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器部分控制脉冲频率,它决定了步进电机转速的快慢;两个外部中断程序要做的工作都是为了完成改变速度这一功能。下面分析主程序与定时器中断程序及外部中断程序。
4.1 主程序设计
主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对P1口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容。若初始化P1=11H、速度和方向初始值均设为0,就意味着步进电机按四相单四拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值显示“0”,速度值显示“0”,主程序流程图如图4-1所示。
13
步进电机控制系统的设计 开 始 初始化 显 示 N 启动开关为0? Y 停止计时器 速度值为0? Y N 停止计时器 启动计时器 延 时
图4-1 主程序流程图
4.2 定时中断设计
步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断次数,因而在定时器中断程序中,要做的工作主要是判断电机的运行方向、发下一个脉冲,以及保存当前的各种状态。程序流程图如图4-2所示。
14
步进电机控制系统的设计 T0中断入口 保护现场 N 中断次数-1=0? Y 读方向指示 发速度脉冲 重送相关状态 恢复现场 中断返回
图4-2 定时中断程序流程图
4.3 外部中断设计
外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改变了电机的转速。速度增加按钮S2为INT0中断,其程序流程为原数据,当值等于7时,不改变原数值返回,小于7时,数据加1后返回;速度减少按钮S3,当原数据不为0,减1保存数据,原数据为0则保持不变。程序流程图如图4-3所示。
15
步进电机控制系统的设计
外部中断入口 保护现场 延时去抖 速度=上或限值? Y N 速度值±1 按钮是否弹起? Y 恢复现场 N 中断返回
图4-3 外部中断程序流程图
16
步进电机控制系统的设计 第5章 系统调试与测试结果分析
5.1 软件调试记录
把编好的程序(包括正反转程序、停止程序、显示程序等)合理安排好结合到一起进行编译。由于编译只能检查是否存在语法错误,所以还要看是否存在逻辑错误。程序修改好以后,当显示编译0错误,0警告的时候,这说明已经没有语法错误了,是否有逻辑错误还要看接上电路板通过仿真以后,步进电机能否正常转动,显示是否正常。
5.2 硬件调试记录
1.LM7812输出电压错误与解决方法
电路的工作离不开电源,所以电源是必不可少的。电源采用的是利用变压器将220V的电压转换为12V的电压,再利用桥堆整流使交流电变成直流电,最后分别利用LM7812和LM7805芯片得到12V和5V的电压。
电路板焊接好以后,首先要检查一下电路设计是否合理、元器件焊接是否正确,焊接好以后需要仔细检查。用万用表分别检测从7812和7805第三个端口出来的是否是12V和5V,结果发现7805两端电压正常,7812两端电压非常不稳定。用万用表仔细检查了每根线,发现了原因,电路板存在虚焊的现象。再次将电路板焊好,检查好以后,用万用表检测两端输出电压,结果正确,电源准备工作完毕。
2.步进电机转动错误及解决方法
步进电机一开始不能正常转动,以为是电路焊接有问题,为了防止再次出现虚焊,首先将电路板用万用表检查了一遍,没问题。程序也是正确的。后来仔细看了步进电机工作原理,原来步进电机要正常实现正反转,四个相序必须弄清。把电机接上电源,用高电平分别接触电机的引线,每接触一下电机就会向前或向后转动一下,经过几次试验,终于搞清了电机的四个相序,排列顺序分别是1-A,2-C,3-B,4-D。弄清了相序,把电路板重新布线,焊接好,结果电机能够正常转动了。
17
步进电机控制系统的设计 结 论
本设计通过分析步进电机结构、工作原理,查阅步进电机控制系统的相关科技文献,遵循实用、简单、可靠和低成本的原则,设计了一种既可用于精度要求不高,但控制需完备的场合。对本次设计,有以下结论:
1.采用单片机为控制核心,利用其强大的功能,把键盘和显示电路有机的结合起来,组成一个操作方便、交互性强的控制系统。而且整个系统所包含的技术几乎包括了现本科学校控制专业所要求的知识,有利于实践教学取得最大效果。
2.键盘电路和显示电路采用了动态扫描技术,节约了单片机资源。
3.系统软件采用结构化设计,具有易维护性,根据用户新的要求,对软件系统进行少量的修改,使系统功能得到一定程度的提高。
18
步进电机控制系统的设计 参考文献
[1] 张家生.电机原理与拖动基础[M].北京:北京邮电大学出版社,2006.
[2] 马淑华,王凤文,张美金.单片机原理与接口技术[M].北京:北京邮电大学出
版社,2007. [3] 顾德英,,马淑华.计算机控制技术[M].北京:北京邮电大学出版社,2006. [4] 华成英,童诗白.模拟电子技术基础[M].北京:高等教育出版社,2008.
[5] 张靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出
版社,2007. [6] 潘永雄,沙河,刘向阳.电子线路CAD实用教程[M].西安:西安电子科技大
学出版社,2007.
[7] 张靖.步进电机细分驱动器的研究[D].河北:河北农业大学,2003.
[8] 刘宝廷,程树康.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业出版
社,1997.
[9] 李忠杰,宁守信.步进电动机应用技术[M].北京:机械工业出版社,1988. [10]郭威,崔群.基于单片机的步进电机控制系统的设计[J].安徽:安徽工程科技
学院学报,2006,21(3):59-62.
19
步进电机控制系统的设计 附录1 程序
#include #define uint unsigned int sbit k1=P3^4; //启动开关 sbit k2=P3^5; //换向开关 sbit s2=P3^2; //加速按钮 sbit s3=P3^3; //减速按钮 void isr_int0(void);//外部中断0中断服务函数声明 void isr_int1(void); void zd_t0ist(void); uint speed,count,r1,i,t,k; main() {k=0; t=0; r1=0x11 ; speed=0; count=1; TMOD=0x01; ET0=1; EA=1; EX0=1; EX1=1; TH0=0xcf; TL0=0x2c; for(;;) {if(k1==0) {P0=0xff; P2=0xff; speed=0; TR0=0; } else { if(k2==0) P0=0xbf; else P0=0xf9; if(speed==0) {P2=0xc0; TR0=0; } else TR0=1; 20 步进电机控制系统的设计 } } } void isr_int0(void) interrupt 0 { if(speed<7) speed=speed+1; while(s2==0) {for(i=0;i<10;i++);} } void isr_int1(void) interrupt 2 { if(speed>0) speed=speed-1; while(s3==0) {for(i=0;i<10;i++);} } void zd_t0ist(void) interrupt 1 { TH0=0xd8; TL0=0xf0; switch(speed) { case 0:P2=0xc0;count=0;break; case 1:P2=0xf9;count=60;break; case 2:P2=0xa4;count=40;break; case 3:P2=0xb0;count=35;break; case 4:P2=0x99;count=30;break; case 5:P2=0x92;count=28;break; case 6:P2=0x82;count=25;break; case 7:P2=0xf8;count=21;break; default :break; } if(t==0) t=count; if(t>0) t=t-1; if(k2==0) { if(t==0) { switch(k) { case 0:P1=0x01;break; 21 步进电机控制系统的设计 case 1:P1=0x02;break; case 2:P1=0x04;break; case 3:P1=0x08;break; default :break; } k=k+1; if(k==4) k=0; } } else { if(t==0) { switch(k) { case 0:P1=0x08;break; case 1:P1=0x04;break; case 2:P1=0x02;break; case 3:P1=0x01;break; default :break; } k=k+1; if(k==4) k=0; } } } 22 步进电机控制系统的设计 附录2 仿真效果图 23 步进电机控制系统的设计 东北石油大学课程设计成绩评价表 课程名称 题目名称 学生姓名 序号 单片机课程设计 步进电机控制系统的设计 指导教 评价项目 学号 刘霞 张岩 教授 职称 满分 讲师 评分 师姓名 指 标 按期的完成了规定的任务,难易程度和工作量符合教学要求,工作努力,遵守纪律,出勤率高,工作作风严谨,善于与他人合作。 课程设计选题合理,计算过程简练准确,分析问题思1 工作量、工作态度和出勤率 20 2 课程设计质量 路清晰,结构严谨,文理通顺,撰写规范,图表完备正确。 45 3 4 总分 评语: 创新 答辩 工作中有创新意识,对前人工作有一些改进或有一定应用价值。 能正确回答指导教师所提出的问题。 5 30 指导教师: 年 月 日
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务