基于单片机的步进电机控制系统汇编及C语言程序各一个.docx
《基于单片机的步进电机控制系统汇编及C语言程序各一个.docx》由会员分享,可在线阅读,更多相关《基于单片机的步进电机控制系统汇编及C语言程序各一个.docx(20页珍藏版)》请在冰豆网上搜索。
基于单片机的步进电机控制系统汇编及C语言程序各一个
基于单片机的步进电机控制系统
前言
步进电机是一种进行精确步进运动的机电执行元件,它广泛应用于工业机械的数字控制,为使系统的可靠性、通用性、可维护性以与性价比最优,根据控制系统功能要求与步进电机应用环境,确定了设计系统硬件和软件的功能划分,从而实现了基于8051单片机的四相步进电机的开环控制系统。
控制系统通过单片机存储器、I/O接口、中断、键盘、LED显示器的扩展、步进电机的环形分频器、驱动与保护电路、人机接口电路、中断系统与复位电路、单电压驱动电路等的设计,实现了四相步进电机的正反转,急停等功能。
为实现单片机控制步进电机系统在数控机床上的应用,系统设计了两个外部中断,以实现步进电机在某段时间的反复正反转功能,也即数控机床的刀架自动进给运动,随着单片机技术的不断发展,单片机在日用电子产品中的应用越来越广泛,自六十年代初期以来,步进电机的应用得到很大的提高。
人们用它来驱动时钟和其他采用指针的仪器,打印机、绘图仪,磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等机械装置。
此外作为执行元件,步进电机是机电一体化的关键产品之一,被广泛应用在各种自动化控制系统中,随着微电子和计算机技术的发展,它的需要量与日俱增,在各个国民经济领域都有应用。
步进电机是机电数字控制系统中常用的执行元件,由于其精度高、体积小、控制方便灵活,因此在智能仪表和位置控制中得到了广泛的应用,大规模集成电路的发展以与单片机技术的迅速普与,为设计功能强,价格低的步进电机控制驱动器提供了先进的技术和充足的资源。
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)步进电机的换向控制
如果给定工作方式正序换相通电,步进电机正转。
若步进电机的励磁方式为三相六拍,即A→AB→B→BC→C→CA→A。
如果按反序通电换相,即A→AC→C→CB→B→BA→A,则电机就反转。
其他方式情况类似。
(3)步进电机的速度控制
如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。
两个脉冲的间隔越短,步进电机就转得越快。
调整送给步进电机的脉冲频率,就可以对步进电机进行调试。
(4)步进电机的起停控制
步进电机由于其电气特性,运转时会有步进感。
为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,跳过电机运行的平稳性。
在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机转轴不能自由转动。
(5)步进电机的加减速控制
在步进电机控制系统中,通过实验发现,如果信号变化太快,步进电机由于惯性跟不上电信号的变化,这时就会产生堵转和失步现象。
所有步进电机在启动时,必须有加速过程,在停止时波形有减速过程。
理想的加速曲线一般为指数曲线,步进电机整个降速过程频率变化规律是整个加速过程频率变化规律的逆过程。
选定的曲线比较符合步进电机升降过程的运行规律,能充分利用步进电机的有效转矩,快速响应性好,缩短了升降速的时间,并可防止失步和过冲现象。
在一个实际的控制系统中,要根据负载的情况来选择步进电机。
步进电机能响应而不失步的最高步进频率称为“启动频率”,于此类似“停止频率”是指系统控制信号突然关断,步进电机不冲过目标位置的最高步进频率。
电机的启动频率、停止频率和输出转矩都要和负载的转动惯量相适应,有了这些数据,才能有效地对电机进行加减速控制。
加速过程有突然施加的脉冲启动频率f0。
步进电机的最高启动频率(突跳频率)一般为0.1KHz到3~4KHz,而最高运行频率则可以达到N*102KHz,以超过最高启动频率的频率直接启动,会产生堵转和失步的现象。
f/Hz
fa
fb
0
t/s
图1步进电机运行过程中频率变化曲线
在一般的应用中,经过大量实践和反复验证,频率如按直线上升或下降,控制效果就可以满足常规的应用要求。
用PLC实现步进电机的加P减速控制,实践上就是控制发脉冲的频率。
加速时,使脉冲频率增高,减速则相反。
如果使用定时器来控制电机的速度,加减速控制就是不断改变定时中断的设定值。
速度从v1~v2变化,如果是线性增加,则按给定的斜率加P减速;如果是突变,则按阶梯加速处理。
在此过程中要处理好两个问题:
①速度转换时间应尽量短。
为了缩短速度转换的时间,可以采用建立数据表的方法。
结合各曲线段的频率和各段间的阶梯频率,就可以建立一个连续的数据表,并通过转换程序将其转换为定时初始表。
通过在不同的阶段调用相应的定时初值,就可控制电机的运行。
定时初值的计算是在定时中断外实现的,并不占用中断时间,保证电机的高速运行。
②保证控制速度的精确性。
要从一个速度准确达到另一个速度,就要建立一个校验机制,以防超过或未达到所需速度。
(6)步进电机的换向控制
步进电机换向时,一定要在电机降速停止或降到突跳频率围之在换向,以免产生较大的冲击而损坏电机。
换向信号一定要在前一个方向的最后一个脉冲结束后以与下一个方向的第一个脉冲前发出。
对于脉冲的设计主要要求其有一定的脉冲宽度、脉冲序列的均匀度与高低电平方式。
在某一高速下的正、反向切换实质包含了降速→换向→加速3个过程。
步进电机有如下特点:
1步进电机的角位移与输入脉冲数严格成正比,因此当它转一转后,没有累计误差,具有良好的跟随性。
2由步进电机与驱动电路组成的开环数控系统,既非常方便、廉价,也非常可靠。
同时,它也可以有角度反馈环节组成高性能的闭环数控系统。
3步进电机的动态响应快,易于启停、正反转与变速。
4速度可在相当宽的围平滑调节,低速下仍能保证获得很大的转矩,因此一般可以不用减速器而直接驱动负载。
5步进电机只能通过脉冲电源供电才能运行,它不能直接用交流电源或直流电源。
6步进电机自身的噪声和振动比较大,带惯性负载的能力强。
1.2总体设计方框图
总体设计方框图如图2所示。
1.3设计原理分析
1.3.1元器件介绍
(1)步进电机
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。
步进电机区别于其他控制电机的最大特点是:
它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。
步进电机分三种:
永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行
89C51
单片机
复位电路
键盘控制电路
ULN2803
启动电路
步进
电机
状态显示电路
电源与时钟电路
图2总体设计方框图
元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。
步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(不距角)或前进、倒退一步。
步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。
1四相步进电机的工作原理
该设计采用了20BY-0型步进电机,该电机为四相步进电机,采用单极性直流电源供电。
只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。
当某一相绕组通电时,对应的磁极产生磁场,并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻最小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐,由此可见,错齿是促使电机旋转的原因。
2步进电机的静态指标与术语
相数:
产生不同队N、S磁场的激磁线圈对数,常用m表示。
拍数:
完成一个磁场周期性变化所需脉冲用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB→BC→CD→DA→AB,四相八拍运行方式即A→AB→B→BC→C→CD→D→DA→A。
步距角:
对应一个脉冲信号,电机转子转过的角位移用θ表示。
Θ=360度(转子齿角运行拍数),以常规二、四相,转子齿角为50齿角电机为例。
四相运行时步距角zzx为θ=360度/(50*4)=1.8度,八拍运行时步距角为θ=360度/(50*8)=0.9度。
定位转矩:
电机在不通电的状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以与机械误差造成的)。
静转矩:
电机在额定静态作业下,电机不做旋转运动时,电机转轴的锁定力矩。
此力矩是衡量电机体积的标准,与驱动电压与驱动电源等无关。
虽然静态转矩与电磁激磁匝数成正比,与定子和转子间的气隙有关。
但过分采用减小气隙,增加励磁匝数来提高静转矩是不可取的,这样会造成电机的发热与机械噪音。
3四相步进电机的脉冲分配规律
目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。
本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。
四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。
各种工作方式在电源通电时的时序与波形分别如图1a、b、c所示。
本设计的电机工作方式为四相单四拍,根据步进电机的工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的围。
(2)89C51单片机
Atmel公司生产的89C51单片机是一种低功耗/低电压‘高性能的8位单片机,它采用CMOS和高密度非易失性存储技术,而且其输出引脚和指令系统都与MCS-51兼容;片的FlashROM允许在系统改编程序或用常规的非易失性编程器来编程,部除CPU外,还包括256字节RAM,4个8位并行I/O口,5个中断源,2个中断优先级,2个16位可编程定时计数器,89C51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。
1.3.2方案论证
从该系统的设计要求可知,该系统的输入量为速度和方向,速度应该有增减变化,通常用加减按钮控制速度,这样只要2根口线,再加上一根方向线盒一根启动信号线共需要4根输入线。
系统的输出线与步进电机的绕组数有关。
这里选
进电机,该电机共有四相绕组,工作电压为+5V,可以个单片机共用一个电源。
步进电机的四相绕组用P1口的P1.0~P1.3控制,由于P1口驱动能力不够,因而用一片2803增加驱动能力。
用P0口控制第一数码管用于显示正反转,用P2口控制第二个数码管用于显示转速等级。
数码管采用共阳的。
1.3.3硬件设