基于单片机的三相步进电机控制系统设计分解

2020-02-16来源: 51hei关键字:单片机  三相步进电机  控制系统

摘要

本设计详细介绍了基于单片机的三相步进电机控制系统。步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,因此,单片机通过向步进电机发送控制信号就能实现对步进电机的控制。


单片机实现的步进电机控制系统具有成本低、使用灵活的特点,该系统采用80C51单片机作为主控芯片,来完成对步进电机转动及LED显示的控制。


本设计主要由单片机80C51,3相步进电机,7段数码管,及一些其他相关元件设计而成,分为按键选择工作状态模块、步进电机工作模块、LED二极管显示工作状态模块以及4位数码管显示步数模块。可以通过开关来控制系统的启/停工作,当系统运转时,用开关来控制方向,并使相应的指示灯亮起,同样由开关来选择工作模式。运转时,用4位7段数码管来输出步数。最后根据思路所设计出来的硬件图设计相适应的软件。


电路结构简单,设计思路清晰,同时利用Proteus进行联调仿真,结果比较直观。仿真结果收到了预期的效果。


1设计任务

(一)设计三相反应式步进电动机脉冲分配器,接收脉冲输入,要求三相单三拍、三相六拍运行方式控制(电平),正反转控制(电平)。


系统具有如下功能:用K0-K2做为通电方式选择键,K0为三相单三拍,K1为三相双三拍,K2为三相六拍;K3为启动/停止控制、K4方向控制;用4位LED数码管显示工作步数。用3个发光二极管显示状态:正转时红灯亮,反转时黄灯亮,不转时绿灯亮;


(二)任务分析

步进电动机是一种用电脉冲信号进行控制,并将电脉冲信号转换成相应的角位移的执行器,每一个脉冲信号可使步进电机旋转一个固定的角度,这个角度称为步距角。由于受脉冲的控制,其转子的角位移量和速度严格地与输入脉冲的数量和脉冲频率成正比。



三相反应式步进电动机结构如图1.8所示。电机定子有六个磁极,相对的磁极为同一绕组励磁,整个电机有三个绕组,按Y形接法接线。转自为软磁材料,无绕组。若绕组通电顺序为Ⅰ-Ⅱ-Ⅲ-Ⅰ-Ⅱ-Ⅲ-…,则电动机逆时针转动;若绕组通电顺序为Ⅰ-Ⅲ-Ⅱ-Ⅰ-Ⅲ-Ⅱ-…,则电动机顺时针转动。此种控制方式称为三相单三拍方式。 若通电顺序为Ⅰ-ⅠⅡ-Ⅱ-ⅡⅢ-Ⅲ-ⅢⅠ-…(逆时针),称为三相六拍方式。


步进电机控制装置发出运行方式、旋转方向和旋转角度(步数),前两项一般由电平表示,后一项用脉冲个数表示。脉冲分配器根据步进电机控制装置发来的命令(电平信号和脉冲)使步进电机按照要求的工作方式、旋转方向及步数旋转。步进电机磁极的旋转有速率限制,如果过快,电动机会出现失步现象(转自跟不上磁极的旋转),特别是在电动机的起停阶段,要求有脉冲速率限制措施。


(三)系统硬件原理图



(四)系统软件设计

为防止输入脉冲频率过快导致电动机失步,可将输入脉冲在单片机缓存,之后在进行脉冲分配,分配时注意脉冲速率。脉冲输入模块在每个输入脉冲到来时,将缓存单元进行加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

[1] [2] [3]
关键字:单片机  三相步进电机  控制系统 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic488410.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:51单片机产生pwm 占空比10khz频率 Proteus仿真程序
下一篇:单片机简易8键电子琴程序

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430单片机写Info Memory
MSP430F5438A单片机在写Info Memory时,需要先把整页数据擦除,才能写进去。否则写失败。而且还得设置下载程序时不要擦除 Info memory, 否则存储数据失败。因为没此下载时都给你擦除了。
发表于 2020-05-08
MSP430单片机写Info Memory
51单片机实验8:led点阵(1):点亮一个点
开发板led点阵模块电路图如下:74HC595:74HC595是一个8位串行输入、并行输出的位移缓存器。芯片第11角为数据输入时钟线,上升沿有效。芯片第12脚为输出存储器锁存时钟线,上升沿有效。芯片第13脚为输出有效(低电平)。芯片第14脚为串行数据输入。为表示出输入74HC595的8位二进制数,开发板加入了led模块(图一中绿色所示)。若要使led发光,则需将JP595接vcc。OE为输出有效控制端,低电平有效,所以务必将JOE短接片短接到GND端。_nop_();函数为延时一个机器周期,所对应头文件为intrins.h#include<reg52.h>#include<intrins.h>#define
发表于 2020-05-08
51单片机实验8:led点阵(1):点亮一个点
51 单片机:在 P0 口接上 8 个 LED,实现每次亮两个灯的流水灯
要求:每次亮相邻两个灯,分别闪烁五次后,移动一位,汇编。做而论道编程如下:;------------------------    ORG   0000H    LJMP  MAIN    ORG   0100HMAIN:    MOV   R2, #0FCH    MOV   A, #1;------------------------LOOP:    MOV   P0, R2   ;
发表于 2020-05-08
51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)
}}void main(){while(1){key();}}四、运行程序后成功后,打开proteus右键单击单片机AT89C51,找到编辑,然后添加hex文件
发表于 2020-05-08
51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)
单片机实例---定时器控制点阵显示0~9
显示状态:点阵上每隔1s显示一个数字,显示到9又重头显示不断循环#include<reg52.h>#include<intrins.h> typedef unsigned int u16;typedef unsigned char u8; u8 flag=0;   //时间标志位 #define lie_io P0    //定义P0端口 sbit RCLKK = P3^5;    sbit SRCLK = P3^6;sbit SER = P3^4;   //串行输入 u
发表于 2020-05-08
51单片机课程设计——led点阵广告牌程序设计
上学期期末的课设题目是led点阵广告牌,当时的要求如下:(1)能够显示不同字符的LED点阵广告牌;(2)按键切换不同的显示效果(如闪烁,静止,平移等);(3)按键切换不同的显示内容;(4)能够显示图形或自定义字符;(5)其他功能(创新部分);(6)系统调试、分析、总结与功能实现。当时用的是我用是的普中科技的STC90C51RD+的单片机,不过只要是51单片机,换哪个51内核的芯片都可以,只要电路和程序匹配就可以。我用的那款普中科技的51单片机可以直接连线决定线路的布置,不需要自己去重新焊一个电路板。然后我根据任务要求连接了电路,写了对应的程序,还有proteus仿真。另外,觉得有趣可以点个赞;有什么有趣的想法可以评论一下,我感兴趣
发表于 2020-05-08
51单片机课程设计——led点阵广告牌程序设计
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved