步进电机加减速2.docx

上传人:b****6 文档编号:8218481 上传时间:2023-01-29 格式:DOCX 页数:17 大小:289.54KB
下载 相关 举报
步进电机加减速2.docx_第1页
第1页 / 共17页
步进电机加减速2.docx_第2页
第2页 / 共17页
步进电机加减速2.docx_第3页
第3页 / 共17页
步进电机加减速2.docx_第4页
第4页 / 共17页
步进电机加减速2.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

步进电机加减速2.docx

《步进电机加减速2.docx》由会员分享,可在线阅读,更多相关《步进电机加减速2.docx(17页珍藏版)》请在冰豆网上搜索。

步进电机加减速2.docx

步进电机加减速2

 

单片机课程设计

 

课题:

步进电机加减速设计

 

系别:

电气与电子工程系

专业:

姓名:

学号:

 

1、设计目的

通过这次课程设计,掌握51单片机的原理,了解步进电机的工作原理,提高动手能力和排除故障的能力。

同时通过本次设计与调试,调高自己的动手能力,巩固已学的理论知识,建立单片机理论和实践的结合,了解步进电机控制系统中电路之间的关系及相互影响,从而能正确设计各个单元电路。

初步掌握步进电机控制系统的测试方法。

提高动手能力和排除故障的能力。

二、设计要求

1、设置开始、停止及加减速键。

2、要求显示运行状态,并设置一个极限值,当速度超过极限值时发出报警信号。

3、总体设计

硬件部分

本设计的硬件电路只要包括控制电路、最小系统、驱动电路、显示电路四大部分。

最小系统只要是为了使单片机正常工作。

控制电路只要由开关和按键组成,由操作者根据相应的工作需要进行操作。

显示电路主要是为了显示电机的工作状态和转速。

驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。

软件部分

单片机控制主程序,定时中断程序,外部中断程序以及显示子程序。

四、各部分电路设计

1.步进电机原理及硬件和软件设计

1.1步进电机原理及控制技术

由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专业设备----步进电机控制驱动器,典型步进电机控制系统如图1所示:

控制器可以发出脉冲频率从几赫兹到几千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列,环形分配器的主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输入端,以驱动步进电机的转动,环形分配器主要有两大类:

一类是用计算机软件设计的方法实现环形分配器要求的功能,通常称软环形分配器。

另一类是用硬件构成的环形分配器,通常称硬环形分配器。

功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机的目的,步进电机的基本控制包括转向控制和速度控制两个方面。

从结构上看,步进电机分为三相单三拍、三相双三拍和三相六拍3种,其基本原理如下:

(1)换相顺序的控制

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

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

三相双三拍的通电顺序为AB→BC→CA→AB,三相六拍的通电顺序为A→AB→B→BC→C→CA→A。

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

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

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

调整送给步进电机的脉冲频率,就可以对步进电机进行调试。

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

步进电机由于其电气特性,运转时会有步进感。

为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,跳过电机运行的平稳性。

在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机转轴不能自由转动。

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

在步进电机控制系统中,通过实验发现,如果信号变化太快,步进电机由于惯性跟不上电信号的变化,这时就会产生堵转和失步现象。

所有步进电机在启动时,必须有加速过程,在停止时波形有减速过程。

理想的加速曲线一般为指数曲线,步进电机整个降速过程频率变化规律是整个加速过程频率变化规律的逆过程。

选定的曲线比较符合步进电机升降过程的运行规律,能充分利用步进电机的有效转矩,快速响应性好,缩短了升降速的时间,并可防止失步和过冲现象。

在一个实际的控制系统中,要根据负载的情况来选择步进电机。

步进电机能响应而不失步的最高步进频率称为“启动频率”,于此类似“停止频率”是指系统控制信号突然关断,步进电机不冲过目标位置的最高步进频率。

电机的启动频率、停止频率和输出转矩都要和负载的转动惯量相适应,有了这些数据,才能有效地对电机进行加减速控制。

加速过程有突然施加的脉冲启动频率f0。

步进电机的最高启动频率(突跳频率)一般为0.1KHz到3~4KHz,而最高运行频率则可以达到N*102KHz,以超过最高启动频率的频率直接启动,会产生堵转和失步的现象。

在一般的应用中,经过大量实践和反复验证,频率如按直线上升或下降,控制效果就可以满足常规的应用要求。

用PLC实现步进电机的加P减速控制,实践上就是控制发脉冲的频率。

加速时,使脉冲频率增高,减速则相反。

如果使用定时器来控制电机的速度,加减速控制就是不断改变定时中断的设定值。

速度从v1~v2变化,如果是线性增加,则按给定的斜率加P减速;如果是突变,则按阶梯加速处理。

在此过程中要处理好两个问题:

①速度转换时间应尽量短。

为了缩短速度转换的时间,可以采用建立数据表的方法。

结合各曲线段的频率和各段间的阶梯频率,就可以建立一个连续的数据表,并通过转换程序将其转换为定时初始表。

通过在不同的阶段调用相应的定时初值,就可控制电机的运行。

定时初值的计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行。

②保证控制速度的精确性。

要从一个速度准确达到另一个速度,就要建立一个校验机制,以防超过或未达到所需速度。

1.2设计原理分析

1.2.1元器件介绍

(1)步进电机

步进电机分三种:

永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。

步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(不距角)或前进、倒退一步。

步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。

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

步进电机区别于其他控制电机的最大特点是:

它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

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

该设计采用了28BJY-48型步进电机,该电机为四相步进电机,采用单极性直流电源供电。

只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。

当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐,由此可见,错齿是促使电机旋转的原因。

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

相数:

产生不同对N、S磁场的激磁线圈对数,常用m表示。

拍数:

完成一个磁场周期性变化所需脉冲用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB→BC→CD→DA→AB,四相八拍运行方式即A→AB→B→BC→C→CD→D→DA→A。

步距角:

对应一个脉冲信号,电机转子转过的角位移用θ表示。

Θ=360度(转子齿角运行拍数),以常规二、四相,转子齿角为50齿角电机为例。

四相运行时步距角为θ=360度/(50*4)=1.8度,八拍运行时步距角为θ=360度/(50*8)=0.9度。

定位转矩:

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

静转矩:

电机在额定静态作业下,电机不做旋转运动时,电机转轴的锁定力矩。

此力矩是衡量电机体积的标准,与驱动电压及驱动电源等无关。

虽然静态转矩与电磁激磁匝数成正比,与定子和转子间的气隙有关。

但过分采用减小气隙,增加励磁匝数来提高静转矩是不可取的,这样会造成电机的发热及机械噪音。

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

目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。

本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。

四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。

各种工作方式在电源通电时的时序与波形分别如图3a、b、c所示:

本设计的电机工作方式为四相单四拍,根据步进电机的工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。

步进电机的技术参数:

步进电机型号

本次设计所采用的电机型号:

28bjy-48四相五线微型步进电机

实物如下图:

步进电机的基本参数:

(2)89C52单片机

Atmel公司生产的89C52单片机是一种低功耗/低电压‘高性能的8位单片机,它采用CMOS和高密度非易失性存储技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的FlashROM允许在系统内改编程序或用常规的非易失性编程器来编程,内部除CPU外,还包括256字节RAM,4个8位并行I/O口,5个中断源,2个中断优先级,2个16位可编程定时计数器,89C51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。

1.2.2方案论证

从该系统的设计要求可知,该系统的输入量为速度,速度应该有增减变化,通常用加减按钮控制速度,这样只要2根口线。

系统的输出线与步进电机的绕组数有关。

这里选步进电机,该电机共有四相绕组,工作电压为+5V,可以个单片机共用一个电源。

步进电机的四相绕组用P1口的P1.0~P1.3控制,由于P1口驱动能力不够,因而用一片2803增加驱动能力。

用P2口控制数码管用于显示转速等级。

数码管采用共阳的。

1.2.3硬件设计

(1)控制电路

根据系统的控制要求,控制输入部分设置了启动控制,减速控制按钮,分别是K1、.S2、S3,控制电路如图4所示。

通过K1、状态变化来实现电机的启动功能。

当K1、的状态变化时,内部程序检测P1.0和P1.1的状态来调用相应的启动程序,发现系统的电机的启动控制。

根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。

对于单片机而言,主要的方法有:

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

图4控制电路原理图

(2)最小系统

单片机最小系统或者称为最小应用系统,素质用最少的元件组成的单片机可以工作的系统,对51系列单片机来说,最小系统一般应该包括:

单片机、复位电路、晶振电路。

复位电路:

使用了独立式键盘,单片机的P1口键盘的接口。

该设计要求只需4个键对步进电机的状态进行控制,但考虑到对控制功能的扩展,使用了6路独立式键盘。

复位电路采用手动复位,所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态,晶振电路用30PF的电容和一12M晶体振荡器组成为整个电路提供时钟频率。

如图5示。

晶振电路:

8051单片机的时钟信号通常用两种电路形式电路得到:

内部震荡方式和外部中断方式。

在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

内部振荡方式的外部电路如图5示。

其电容值一般在5~30pf,晶振频率的典型值为12MHz,采用6MHz的情况也比较多。

内部振荡方式所得的时钟信号比较稳定,实用电路实用较多。

图5复位及时钟振荡电路

(3)驱动电路

通过ULN2803构成比较多的驱动电路,电路图如图6所示。

通过单片机的P1.0~P1.3输出脉冲到ULN2803的1B~4B口,经信号放大后从1C~4C口分别输出到电机的A、B、C、D四相。

图6步进电机驱动电路

(4)显示电路

在该步进电机的控制器中,电机可以加速、减速,其中电机转速的等级分为七级,为了方便知道电机的运行状态和电机的转速的等级,这里设计了电机转速和电机的工作状态的显示电路。

在显示电路中,主要是利用了单片机的P2口。

采用一个共阳数码管作显示。

数码管的a、b、c、d、e、f、g、h分别接P2.0~P2.6口,用于显示电机的转速级别,共七级,即从1~7转速依次递增,“0”表示转速为零。

电路如图7所示。

图7显示电路

 

1.2.4软件设计

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

下面分析主程序与定时器中断程序及外部中断程序。

(1)主程序设计

主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。

其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对P1口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容。

若初始化P1=11H、速度和方向初始值均设为0,就意味着步进电机按四相八拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值显示“0”,速度值显示“0”,主程序流程图如图9所示。

(2)定时中断设计

步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。

在这个系统中,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断次数,因而在定时器中断程序中,要做的工作主要是判断电机的运行方向、发下一个脉冲,以及保存当前的各种状态。

程序流程图如图10所示。

(3)外部中断设计

外部中断所要完成的工作是根据按键次数改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就改变了电机的转速。

速度增加按钮S2为INT0中断,其程序流程为原数据,当值等于7时,不改变原数值返回,小于7时,数据加1后返回;速度减少按钮S3,当原数据不为0,减1保存数据,原数据为0则保持不变。

程序流程图如图11所示。

C语言程序如下:

#include

#defineuintunsignedint

sbitk1=P3^4;//启动开关

sbitw2=P3^5;//换向开关

sbits2=P3^2;//加速按钮

sbits3=P3^3;//减速按钮

sbitbeep=P3^0;

voidisr_int0(void);//外部中断0中断服务函数声明

voidisr_int1(void);

voidzd_t0ist(void);

uintspeed,count,r1,i,t,k,l,k2;

main()

{k2=1;

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(w2==0)

{

for(l=550;l>0;l--)

if(w2==0)

{

while(!

w2);

k2++;

if(k==2)

k2=0;

}

}

if(speed>=6)

beep=0;

else

beep=1;

if(k1==0)

{P0=0xff;

P2=0xff;

speed=0;

TR0=0;

}

else

{

if(k2==0)

P0=0xbf;

elseP0=0xf9;

if(speed==0)

{

P2=0xc0;

TR0=0;

}

elseTR0=1;

}

}

}

voidisr_int0(void)interrupt0

{

if(speed<7)

speed=speed+1;

while(s2==0)

{for(i=0;i<10;i++);}

}

voidisr_int1(void)interrupt2

{

if(speed>0)

speed=speed-1;

while(s3==0)

{for(i=0;i<10;i++);}

}

voidzd_t0ist(void)interrupt1

{

TH0=0xd8;

TL0=0xf0;

switch(speed)

{

case0:

P2=0xc0;count=0;break;

case1:

P2=0xf9;count=60;break;

case2:

P2=0xa4;count=40;break;

case3:

P2=0xb0;count=35;break;

case4:

P2=0x99;count=30;break;

case5:

P2=0x92;count=28;break;

case6:

P2=0x82;count=25;break;

case7:

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)

{

case0:

P1=0x01;break;

case1:

P1=0x02;break;

case2:

P1=0x04;break;

case3:

P1=0x08;break;

default:

break;

}

k=k+1;

if(k==4)

k=0;

}

}

else

{

if(t==0)

{

switch(k)

{

case0:

P1=0x08;break;

case1:

P1=0x04;break;

case2:

P1=0x02;break;

case3:

P1=0x01;break;

default:

break;

}

k=k+1;

if(k==4)

k=0;

}

}

}

五、整体电路图

六、设计总结

1、设计过程中遇到的问题及解决方法

(1)、80C51的功能引脚图和接线方法不是很了解,但是在设计过程中运用参考书和通过向老师咨询的方式一一解决。

(2)、设计中对于控制电路和时钟复位电路不能合理的设计出,通过同学的帮助得以解决。

2、设计体会

经过这么长时间的努力终于将课程设计完成了,在这次设计中,我们的电路知识得到了很好的补充和巩固,还使我提高了将理论知识运用到实际中的能力。

这次设计使我们学到了以前书本知识中所不曾了解的知识,更加明白了在如今的信息时代下电子技能知识的重要性,丰富了我们对实际工艺技术、电子技术和设备技术等方面的认识,掌握了分析问题、处理问题的方法以及调试、计算等基本技能,使实际工作能力得到了有效提高。

本人深知自己做的工作还不够好,由于软件和硬件的各方面原因,系统的应用讨论不够,精度还有待于进一步提高。

由于时间的原因,设备的原因,实验做的不好不够,相关验证性的数据、信息不够丰富。

3、对设计的建议

(1)在设计过程应对所做的课题了解很清楚,需要什么样的元件,自己心里要有数。

同时对于各个元件的功能也要做到心里有数。

在运用proteus软件及keil软件时感到陌生及不顺手,需要老师或同学的帮助和教导。

(2)设计过程中心态要放平,不要急躁,急功近利,对结果期望过高。

关于能否完美做出实物,只能是量力而行,不能过多苛求。

参考文献

【1】马淑华,王凤文,张美金.单片机原理与接口技术【M】.北京:

北京邮电大学出版社

【2】张靖武,周灵彬.单片机系统的PROTEUS设计与仿真【M】.北京:

北京电子工业出版社

【3】华成英,童诗白.模拟电子技术基础【M】.北京:

高等教育出版社

【4】单片机微型计算机原理及应用(张毅坤陈善久裘雪红编著)西安电子科技大学出版社

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

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1