基于单片机的三相步进电机控制专业系统设计Word文档格式.docx
《基于单片机的三相步进电机控制专业系统设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的三相步进电机控制专业系统设计Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
单片机实现的步进电机控制系统具有成本低、使用灵活的特点,该系统采用80C51单片机作为主控芯片,来完成对步进电机转动及LED显示的控制。
本设计主要由单片机80C51,3相步进电机,7段数码管,及一些其他相关元件设计而成,分为按键选择工作状态模块、步进电机工作模块、LED二极管显示工作状态模块以及4位数码管显示步数模块。
可以通过开关来控制系统的启/停工作,当系统运转时,用开关来控制方向,并使相应的指示灯亮起,同样由开关来选择工作模式。
运转时,用4位7段数码管来输出步数。
最后根据思路所设计出来的硬件图设计相适应的软件。
电路结构简单,设计思路清晰,同时利用Proteus进行联调仿真,结果比较直观。
仿真结果收到了预期的效果。
关键字:
三相步进电机、单片机、PROTEUS仿真
1设计任务
(一)设计三相反应式步进电动机脉冲分配器,接收脉冲输入,要求三相单三拍、三相六拍运行方式控制(电平),正反转控制(电平)。
系统具有如下功能:
用K0-K2做为通电方式选择键,K0为三相单三拍,K1为三相双三拍,K2为三相六拍;
K3为启动/停止控制、K4方向控制;
用4位LED数码管显示工作步数。
用3个发光二极管显示状态:
正转时红灯亮,反转时黄灯亮,不转时绿灯亮;
(二)任务分析
步进电动机是一种用电脉冲信号进行控制,并将电脉冲信号转换成相应的角位移的执行器,每一个脉冲信号可使步进电机旋转一个固定的角度,这个角度称为步距角。
由于受脉冲的控制,其转子的角位移量和速度严格地与输入脉冲的数量和脉冲频率成正比。
三相反应式步进电动机结构如图1.8所示。
电机定子有六个磁极,相对的磁极为同一绕组励磁,整个电机有三个绕组,按Y形接法接线。
转自为软磁材料,无绕组。
若绕组通电顺序为Ⅰ-Ⅱ-Ⅲ-Ⅰ-Ⅱ-Ⅲ-…,则电动机逆时针转动;
若绕组通电顺序为Ⅰ-Ⅲ-Ⅱ-Ⅰ-Ⅲ-Ⅱ-…,则电动机顺时针转动。
此种控制方式称为三相单三拍方式。
若通电顺序为Ⅰ-ⅠⅡ-Ⅱ-ⅡⅢ-Ⅲ-ⅢⅠ-…(逆时针),称为三相六拍方式。
步进电机控制装置发出运行方式、旋转方向和旋转角度(步数),前两项一般由电平表示,后一项用脉冲个数表示。
脉冲分配器根据步进电机控制装置发来的命令(电平信号和脉冲)使步进电机按照要求的工作方式、旋转方向及步数旋转。
步进电机磁极的旋转有速率限制,如果过快,电动机会出现失步现象(转自跟不上磁极的旋转),特别是在电动机的起停阶段,要求有脉冲速率限制措施。
(三)系统硬件原理图
图1.9硬件原理框图
(四)系统软件设计
为防止输入脉冲频率过快导致电动机失步,可将输入脉冲在单片机缓存,之后在进行脉冲分配,分配时注意脉冲速率。
脉冲输入模块在每个输入脉冲到来时,将缓存单元进行加1计数;
脉冲分配模块时刻扫描缓存单元,当缓存单元不为零时,使步进电机旋转一步,之后缓存单元减1,减到0时停止分配脉冲。
为使三相电平同时变化,程序中应予以考虑。
非同步分配脉冲可能导致电机错转。
为使电动机以最快速度运行,脉冲分配速率应按照梯形曲线分配,如图1.10所示。
图示的含义是:
开始时(零转速)脉冲分配要慢,当电动机旋转起来后,脉冲速率逐渐加快,并达到最高速率;
当要停止时,也不可马上停止,必须先降低脉冲速率,最后降到零,电动机停转。
图1.10脉冲速率分配
2方案
2.1设计思路与方案
本次设计是一个对于三相步进电机的控制系统,而单片机实现的步进电机控制系统具有成本低、使用灵活的特点,此系统选用51单片机即可。
根据要求整个设计大体可分为四块:
一是5个按键K0~K4将用户所需来选择步进电机的工作状态。
我们将开关连入单片机的P1口,通过按键开关的高低电平状态来读入我们所需的控制信号。
硬件上直接把开关分别接在单片机的接口上,通过查询端口信号来动作,将控制信号处理。
在设计开关部分时,还考虑到机械抖动的影响,采取硬件方式—并联电容来去抖。
二是3个LED发光二极管的显示步进电机工作状态模块。
在设计要求中步进电机正转是红灯亮,反转是黄灯亮,停止不转是绿灯亮。
设计中将3个发光二极管分别接到单片机P3口,受到单片机的输出信号控制。
三是步进电机的工作模块。
要想步进电机按照我们想要的方式运转,将步进电机一端接到+12V的电源,一端接到单片机P3口,受单片机的输出信号控制。
四是4位数码管显示步数的模块。
设计中主要是利用软件编程的算法来实现步数的累计和显示,同样,4位数码管接到单片机的P0口和P2口受单片机输出信号的控制,在硬件上使用的是动态显示的接法。
由此可知所需要设计一个系统,可以通过不同按键来选择步进电机的工作方式,且有LED发光二极管来显示电机对应的工作状态,除此之外还能在数码管上显示出步进电机转动的步数。
2.2总体设计框图
此系统主要由单片机、步进电机、步数显示模块、工作状态控制与显示模块组成。
整体框图如图1。
图1系统整体框图
3系统实现的原理说明
3.1步进电机控制工作原理
3.1.1步进电机的工作原理
步进电机的不同驱动方式,都是在工作时,脉冲信号按一定顺序轮流加到三相绕组上,从而实现不同的工作状态。
由于通电顺序不同,其运行方式有三相单三相拍、三相双三拍和三相单、双六拍三种(注意:
上面“三相单三拍”中的“三相”指定子有三相绕组;
“拍”是指定子绕组改变一次通电方式;
“三拍”表示通电三次完成一个循环。
“三相双三拍”中的“双”是指同时有两相绕组通电)。
1.2.1三相单三拍运行方式:
下页图所示为反应式步进电动机工作原理图,若通过脉冲分配器输出的第一个脉冲使A相绕组通电,B,C相绕组不通电,在A相绕组通电后产生的磁场将使转子上产生反应转矩,转子的1、3齿将与定子磁极对齐,如果图(a)所示。
第二个脉冲到来,使B相绕组通电,而A、C相绕组不通电;
B相绕组产生的磁场将使转子的2、4齿与B相磁极对齐,如图(b)所示,与图(a)相比,转子逆时针方向转动了一个角度。
第三个脉冲到来后,是C相绕组通电,而A、B相不通电,这时转子的1、3齿会与C组对齐,转子的位置如图(c)所示,与图(b)比较,又逆时针转过了一个角度。
图1.1反应式步进电机工作原理图
当脉冲不断到来时,通过分配器使定子的绕组按着A相--B相--C相--A相……的规律不断地接通与断开,这时步进电动机的转子就连续不停地一步步的逆时针方向转动。
如果改变步进电动机的转动方向,只要将定子各绕组通电的顺序改为A相--C相--B相--A相,转子转动方向即改为顺时针方向。
单三拍分配方式时,步进电动机由A相通电转换到B相通电,步进电动机的转子转过一个角度,称为一步。
这时转子转过的角度是30度。
步进电动机每一步转过的角度称为步距角。
1.2.2三相双三拍运行方式三相双三拍运行方式:
每次都有两个绕组通电,通电方式是AB--BC--CA--AB……,如果通电顺序改为AB--CA--BC--AB……则步进电机反转。
双三拍分配方式时,步进电动机的步距角也是30度
1.2.3三相单,双六拍运行方式:
三相六拍分配方式就是每个周期内有六个通电状态。
这六中通电状态的顺序可以使A--AB--B--BC--C--CA--A……或者A--CA--C--BC--B--AB--A……六拍通电方式中,有一个时刻两个绕组同时通电,这时转子齿的位置将位于通电的两相的中间位置。
在三相六拍分配方式下,转子每一步转过的角度只是三相三拍方式下的一半,步距角是15度。
单三拍运行的突出问题是每次只有一相绕组通电,在转换过程中,一相绕组断电,另一相绕组通电,容易发生失步;
另外单靠一相绕组通电吸引转子,稳定性不好,容易在平衡位置附近震荡,故用的较少。
双三拍运行的特点是每次都有两相绕组通电,且在转换过程中始终有一相绕组保持通电状态,因此工作稳定,且步距角与单三拍相同。
六拍运行方式转换时始终有一相绕组通电,且步距角较小,故工作稳定性好,但电源较复杂,实际应用较多。
3.1.2步进电机的启停控制
步进电机由于其电气特性,运转时会有步进感,即振动感。
为了使电机转动平滑,减小振动,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波,可以减小步进电机的步进角,提高电机运行的平稳性。
在步进电机停转时,为了防止因惯性而使电机轴产生顺滑,则需采用合适的锁定波形,产生锁定磁力矩,锁定步进电机的转轴,使步进电机的转轴不能自由转动。
3.1.3步进电机的转向控制
如果给定工作方式正序换相通电,步进电机正转。
若步进电机的励磁方式为三相六拍,即A-AB-B-BC-C-CA。
如果按反序通电换相,即则电机就反转。
其他方式情况类似。
3.2步数显示模块原理
步数显示模块和工作状态显示模块,都是通过单片机输出信号控制发光二极管LED的亮灭。
其中步数显示模块中LED构成数码管,要求显示4位十进制数,故用到4位数码管。
要控制多位的显示电路,需要有字段控制和字位控制。
控制方式分为静态显示方式和动态显示方式。
静态显示方式,每一位的显示器都需要配一个8位输出口来输出该字位的七段码,需要片外扩展输出口。
而动态显示方式将各数码管的对应字段的引脚都并联在一起,线路简单,减少接口,不需片外扩展。
这里选用动态显示方式。
4硬件设计
4.1系统总原理图
图3系统总原理图
根据设计要求用PROTEUS所做的硬件连线图如图3。
4.2各部分硬件原理图设计
4.2.1单片机控制模块
单片机选用最经典的80C51,其4个I/O口都要用到,P3接步进电机驱动电路及工作状态显示模块,P0和P2分别接步数显示中对数码管的字段控制及数码管片选,P1接工作状态控制电路,,时钟用内部方式需外接晶体振荡器。
硬件图如图4所示。
图4单片机模块原理图
此设计中接的是12MHZ的晶振,故一个机器周期为1/12us。
根据经验数据,与晶振一起的两个电容设为15PF。
单片机的VCC和GROUD都隐藏了,已自动接好,VCC应设为+5V。
4.2.2按键选择工作状态模块
首先我们来考虑所有机械触点式按键在状态输出时的共性问题就是按键抖动问题,由于机械触点的弹性振动,按键在按下时不会马上稳定地接通而在弹起时也不能一下子完全地断开,因而在按键闭合和断开的瞬间均会出现一连串的抖动,这称为按键的抖动干扰。
这种抖动可能会造成按一次键产生的开关状态被CPU误读几次。
为了使CPU能正确地读取按键状态,本次设计中我们采用并联电容消抖法,利用电容的放电延时来实现。
如图5所示,这是唯一的一块输入模块的设计。
5个按键开关一端通过电阻接高电平,另一端全部接到地,其中接高电平的一端对应也接到单片机的P1口分别为P1.0~P1.4。
当开关断开,就是输入到单片机对应端口高电平,而开关闭合,是使端口接地,输入低电平。
所以这个设计中开关断开时才是有效的。
各按键功能:
(1)K0-K2为工作模式控制开关,KO接电时,为步进电机单三拍工作模式;
K1接电时,为步进电机双三拍工作模式;
K2接电时,步进电机工作模式为三相六拍。
(2)K3为启/停控制开关,控制整个系统的开启和关闭。
(3)K4为正/反转控制开关,控制步进电机的转向。
图5按键模块原理图
4.2.3步进电机工作模块
将三相步进电机三个端口直接接到单片机P3.0~P3.2即可,另三个端口接到+12