基于单片机的三相步进电机控制系统设计说明_第1页
基于单片机的三相步进电机控制系统设计说明_第2页
基于单片机的三相步进电机控制系统设计说明_第3页
基于单片机的三相步进电机控制系统设计说明_第4页
基于单片机的三相步进电机控制系统设计说明_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 电气与电子工程学院单单片片机机原原理理与与应应用用 课课程程设设计计报报告告课题名称课题名称 专业班级专业班级 学学 号号 学生学生 指导教师指导教师 评评 分分 20162016 年年 0606 月月 2020 日至日至 0606 月月 2424 日日 目目 录录摘要 21 设计任务 32 方案 32.1 设计思路与方案 32.2 总体设计框图 43 系统实现的原理说明 53.1 步进电机控制工作原理 53.1.1 步进电机的工作原理 53.1.2 步进电机的启停控制 53.1.3 步进电机的转向控制 63.2 步数显示模块原理 64 硬件设计 74.1 系统总原理图 74.2 各部分硬件

2、原理图设计 74.2.1 单片机控制模块 74.2.2 按键选择工作状态模块 84.2.3 步进电机工作模块 94.2.4 工作状态显示模块 104.2.5 4 位数码管显示步数模块 105 软件设计 125.1 系统总体设计 125.2 步进电机工作模块 135.2.1 步进电机的工作方式说明 135.2.2 设计说明与流程图 145.3 数码管步数显示模块 156 仿真调试记录 177 心得体会 18参考文献 19附录:程序清单 20 2 / 26摘要摘要本设计详细介绍了基于单片机的三相步进电机控制系统。步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,因此,单片机通

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

4、路结构简单,设计思路清晰,同时利用 Proteus 进行联调仿真,结果比较直观。仿真结果收到了预期的效果。关键字关键字:三相步进电机、单片机、PROTEUS 仿真 3 / 261 1 设计任务设计任务(一)(一)设计三相反应式步进电动机脉冲分配器,接收脉冲输入,要求三相单三拍、三相六拍运行方式控制(电平) ,正反转控制(电平) 。系统具有如下功能:用 K0-K2 做为通电方式选择键,K0 为三相单三拍,K1 为三相双三拍,K2 为三相六拍;K3 为启动/停止控制、K4 方向控制;用 4 位 LED 数码管显示工作步数。用 3 个发光二极管显示状态:正转时红灯亮,反转时黄灯亮,不转时绿灯亮;(二

5、)任务分析(二)任务分析步进电动机是一种用电脉冲信号进行控制,并将电脉冲信号转换成相应的角位移的执行器,每一个脉冲信号可使步进电机旋转一个固定的角度,这个角度称为步距角。由于受脉冲的控制,其转子的角位移量和速度严格地与输入脉冲的数量和脉冲频率成正比。三相反应式步进电动机结构如图1.8所示。电机定子有六个磁极,相对的磁极为同一绕组励磁,整个电机有三个绕组,按Y形接法接线。转自为软磁材料,无绕组。若绕组通电顺序为-,则电动机逆时针转动;若绕组通电顺序为-,则电动机顺时针转动。此种控制方式称为三相单三拍方式。 若通电顺序为-(逆时针) ,称为三相六拍方式。步进电机控制装置发出运行方式、旋转方向和旋转

6、角度(步数) ,前两项一般由电平表示,后一项用脉冲个数表示。脉冲分配器根据步进电机控制装置发来的命令(电平信号 4 / 26和脉冲)使步进电机按照要求的工作方式、旋转方向与步数旋转。步进电机磁极的旋转有速率限制,如果过快,电动机会出现失步现象(转自跟不上磁极的旋转) ,特别是在电动机的起停阶段,要求有脉冲速率限制措施。(三)系统硬件原理图(三)系统硬件原理图(四)系统软件设计(四)系统软件设计为防止输入脉冲频率过快导致电动机失步,可将输入脉冲在单片机缓存,之后在进行脉冲分配,分配时注意脉冲速率。脉冲输入模块在每个输入脉冲到来时,将缓存单元进行加1计数;脉冲分配模块时刻扫描缓存单元,当缓存单元不

7、为零时,使步进电机旋转一步,之后缓存单元减1,减到0时停止分配脉冲。为使三相电平同时变化,程序中应予以考虑。非同步分配脉冲可能导致电机错转。为使电动机以最快速度运行,脉冲分配速率应按照梯形曲线分配,如图1.10所示。图示的含义是:开始时(零转速)脉冲分配要慢,当电动机旋转起来后,脉冲速率逐渐加快,并达到最高速率;当要停止时,也不可马上停止,必须先降低脉冲速率,最后降到零,电动机停转。图 1.10 脉冲速率分配单片机方向控制脉冲输入方式控制功率放大12V频率时间图 1.9 硬件原理框图 5 / 262 2方案方案2.12.1 设计思路与方案设计思路与方案本次设计是一个对于三相步进电机的控制系统,

8、而单片机实现的步进电机控制系统具有成本低、使用灵活的特点,此系统选用 51 单片机即可。根据要求整个设计大体可分为四块:一是 5 个按键 K0K4 将用户所需来选择步进电机的工作状态。我们将开关连入单片机的 P1 口,通过按键开关的高低电平状态来读入我们所需的控制信号。硬件上直接把开关分别接在单片机的接口上,通过查询端口信号来动作,将控制信号处理。在设计开关部分时,还考虑到机械抖动的影响,采取硬件方式并联电容来去抖。二是 3 个 LED 发光二极管的显示步进电机工作状态模块。在设计要求中步进电机正转是红灯亮,反转是黄灯亮,停止不转是绿灯亮。设计中将 3 个发光二极管分别接到单片机P3 口,受到

9、单片机的输出信号控制。三是步进电机的工作模块。要想步进电机按照我们想要的方式运转,将步进电机一端接到+12V 的电源,一端接到单片机 P3 口,受单片机的输出信号控制。四是 4 位数码管显示步数的模块。设计中主要是利用软件编程的算法来实现步数的累计和显示,同样,4 位数码管接到单片机的 P0 口和 P2 口受单片机输出信号的控制,在硬件上使用的是动态显示的接法。由此可知所需要设计一个系统,可以通过不同按键来选择步进电机的工作方式,且有LED 发光二极管来显示电机对应的工作状态,除此之外还能在数码管上显示出步进电机转动的步数。2.22.2 总体设计框图总体设计框图此系统主要由单片机、步进电机、步

10、数显示模块、工作状态控制与显示模块组成。整体框图如图 1。 6 / 26图 1 系统整体框图3 3 系统实现的原理说明系统实现的原理说明3.13.1 步进电机步进电机控制工作原理控制工作原理3.1.13.1.1 步进电机的工作原理步进电机的工作原理步进电机的不同驱动方式,都是在工作时,脉冲信号按一定顺序轮流加到三相绕组上,从而实现不同的工作状态。由于通电顺序不同,其运行方式有三相单三相拍、三相双三拍和三相单、双六拍三种(注意:上面“三相单三拍”中的“三相”指定子有三相绕组;“拍”是指定子绕组改变一次通电方式;“三拍”表示通电三次完成一个循环。 “三相双三拍”中的“双”是指同时有两相绕组通电)

11、。1.2.1 三相单三拍运行方式:下页图所示为反应式步进电动机工作原理图,若通过脉冲分配器输出的第一个脉冲使 A 相绕组通电,B,C 相绕组不通电,在 A 相绕组通电后产生的磁场将使转子 上产生反应转矩,转子的 1、380C51单片机核心控制LED数码管显示步数模块步进电机工作模块按键选择工作状态模块LED显示工作状态模块 7 / 26齿将与定子磁极对齐,如果图(a)所示。第二个脉冲到来,使 B 相绕组通电,而 A、C 相绕组不通电;B 相绕组产生的磁场将 使转子的 2、4 齿与 B 相磁极对齐,如图(b)所示,与图(a)相比,转子逆时针方向转动了一个角度。第三个脉冲到来后,是 C 相绕组通电

12、,而 A、B 相不通电,这时转子的1、3 齿会与 C 组对齐,转子的位置如图(c)所示,与图(b)比较,又逆时针转过了一个角度。图 1.1 反应式步进电机工作原理图当脉冲不断到来时,通过分配器使定子的绕组按着 A 相-B 相-C 相-A相的规律不断地接通与断开,这时步进电动机的转子就连续不停地一步步的逆时 针方向转动。如果改变步进电动机的转动方向,只要将定子各绕组通电的顺序改为 A 相-C 相-B 相-A 相,转子转动方向即改为顺时针方向。 单三拍分配方式时,步进电动机由 A 相通电转换到 B 相通电,步进电动机的转子转过一个角度,称为一步。这时转子转过的角度是 30 度。步进电动机每一步转过

13、的角度称为步距角。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六拍通电方式中,有一个时刻两个绕组同时通电, 8 / 26这时转子齿的位置将位于通电的两相的中间位置。在三相六拍分配 方式下,转子每一步转过的角度只是三相三拍方式下的一半,步距角是 15 度

14、。单三拍运行的突出问题是每次只有一相绕组通电,在转换过程中,一相绕组断电,另一相绕组通电,容易发生失步;另外单靠一相绕组通电吸引转子,稳定性不好,容易在平衡位置附近震荡,故用的较少。 双三拍运行的特点是每次都有两相绕组通电,且在转换过程中始终有一相绕组保持通电状态,因此工作稳定,且步距角与单三拍一样。 六拍运行方式转换时始终有一相绕组通电,且步距角较小,故工作稳定性好,但电源较复杂,实际应用较多。3.1.23.1.2 步进电机的启停控制步进电机的启停控制步进电机由于其电气特性,运转时会有步进感 ,即振动感。为了使电机转动平滑 ,减小振动 ,可在步进电机控制脉冲的上升沿和下降沿采用细分的梯形波

15、,可以减小步进电机的步进角 ,提高电机运行的平稳性。在步进电机停转时 ,为了防止因惯性而使电机轴产生顺滑 ,则需采用合适的锁定波形 ,产生锁定磁力矩 ,锁定步进电机的转轴 ,使步进电机的转轴不能自由转动。3.1.33.1.3 步进电机的转向控制步进电机的转向控制如果给定工作方式正序换相通电 ,步进电机正转。若步进电机的励磁方式为三相六拍 ,即 A-AB-B-BC-C-CA。如果按反序通电换相 ,即则电机就反转。其他方式情况类似。3.23.2 步数显示模块原理步数显示模块原理步数显示模块和工作状态显示模块,都是通过单片机输出信号控制发光二极管 LED 的亮灭。其中步数显示模块中 LED 构成数码

16、管,要求显示 4 位十进制数,故用到 4 位数码管。要控制多位的显示电路,需要有字段控制和字位控制。控制方式分为静态显示方式和动态显示方式。静态显示方式,每一位的显示器都需要配一个 8 位输出口来输出该字位的七段 9 / 26码,需要片外扩展输出口。而动态显示方式将各数码管的对应字段的引脚都并联在一起,线路简单,减少接口,不需片外扩展。这里选用动态显示方式。 10 / 264 4 硬件设计硬件设计4.14.1 系统总原理图系统总原理图图 3 系统总原理图根据设计要求用 PROTEUS 所做的硬件连线图如图 3。4.24.2 各部分硬件原理图各部分硬件原理图设计设计4.2.14.2.1 单片机控

17、制模块单片机控制模块单片机选用最经典的 80C51,其 4 个 I/O 口都要用到, P3 接步进电机驱动电路与工作状态显示模块,P0 和 P2 分别接步数显示中对数码管的字段控制与数码管片选,P1 接工作状态控制电路,,时钟用部方式需外接晶体振荡器。硬件图如图 4 所示。 11 / 26图 4 单片机模块原理图此设计中接的是 12MHZ 的晶振,故一个机器周期为 1/12us。根据经验数据,与晶振一起的两个电容设为 15PF。单片机的 VCC 和 GROUD 都隐藏了,已自动接好,VCC 应设为+5V。4.2.24.2.2 按键选择工作状态模块按键选择工作状态模块首先我们来考虑所有机械触点式

18、按键在状态输出时的共性问题就是按键抖动问题,由于机械触点的弹性振动,按键在按下时不会马上稳定地接通而在弹起时也不能一下子完全地断开,因而在按键闭合和断开的瞬间均会出现一连串的抖动,这称为按键的抖动干扰。这种抖动可能会造成按一次键产生的开关状态被 CPU 误读几次。为了使 CPU 能正确地读取按键状态,本次设计中我们采用并联电容消抖法,利用电容的放电延时来实现。 如图 5 所示,这是唯一的一块输入模块的设计。5 个按键开关一端通过电阻接高电平,另一端全部接到地,其中接高电平的一端对应也接到单片机的 P1 口分别为 P1.0P1.4。当开关断开,就是输入到单片机对应端口高电平,而开关闭合,是使端口

19、接地,输入低电平。所以这个设计中开关断开时才是有效的。各按键功能:(1)K0-K2 为工作模式控制开关,KO 接电时,为步进电机单三拍工作模式;K1 接电 12 / 26时,为步进电机双三拍工作模式;K2 接电时,步进电机工作模式为三相六拍。(2)K3 为启/停控制开关,控制整个系统的开启和关闭。(3)K4 为正/反转控制开关,控制步进电机的转向。图 5 按键模块原理图4.2.34.2.3 步进电机工作模块步进电机工作模块将三相步进电机三个端口直接接到单片机 P3.0P3.2 即可,另三个端口接到+12V 的高电平给步进电机供电。只需在软件编写上控制算法便可以调节这三个端口的高低电平来控制步进

20、电机的开启与停止,正反转以与工作模式。步进电机硬件接线图如图 6 所示。图 6 步进电机模块原理图 13 / 264.2.44.2.4 工作状态显示模块工作状态显示模块LED 发光二极管显示步进电机的工作状态,它们分别接到单片机的 P3.3P3.5。如图7,让单片机输出通过一个反相器再接到 LED 阴极,LED 阳极接 VCC。这样可以提高电流,有利于二极管的导通,我们可以通过控制 P3 口的数据,实现 LED 的亮灭。图 7 工作状态显示模块原理图4.2.54.2.5 4 4 位数码管显示步数模块位数码管显示步数模块LED 数码管实际上是由七个发光管组成 8 字形构成的,加上小数点就是 8

21、个。这些段分别由字母 a,b,c,d,e,f,g,dp 来表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的字样了。通过分时轮流控制各个 LED 数码管的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动。P0 口和 P2 口的前四个分别接步数显示中对数码管的字段控制与数码管片选,如图 8所示,这里主要是由软件算法来实现单片机输出的控制。 14 / 26图 8 数码管显示模块原理图 15 / 26开始数码管显示清零启动?选择工作模式正转?b 赋予正向指针增量b 赋予反向指针增量红灯亮黄灯亮P3 输出控制模块使电机运转P1 口改变?步数自增一调用步数显示程序绿灯亮

22、NNNYYY5 5 软件设计软件设计5.15.1 系统总体设计系统总体设计图 9 系统总流程图 16 / 26设计说明:首先是数码管显示清零,单片机再读入 P1 口输入的按键状态,先判断是否启动,如果没有启动则是绿灯亮并再判断,如果启动了,就接着判断所需的电机工作模式,再读入 P1 口状态判断电机的转向,输出控制信号为正转红灯亮,反转黄灯亮,由此可以让步进电机按照指定的方式运转,并且累计步数再显示到数码管上。最后检验 P1 口是否状态改变,如果改变则步数清零重新开始判断,不改变则继续转动。5.25.2 步进电机工作模块步进电机工作模块5.2.15.2.1 步进电机的工作方式步进电机的工作方式说

23、明说明(1)三相单三拍工作方式在这种工作方式下,A、B、C 三相轮流通电,电流切换三次,磁场旋转一周,转子向前转过一个齿距角。因此这种通电方式叫做三相单三拍工作方式。这时步距角b(度)为: mzb/3601式中:m定子相数; z 转子齿数表 1 单三拍的相位控制 控制位步序P1.7P1.6P1.5P1.4P1.3P1.2C 相P1.1B 相P1.0A 相工作状态控制模型100000001A01H200000010B02H300000100C04H(2)三相双三拍工作方式这种工作方式每次都是有两相导通,两相绕组处在一样电压之下,以 ABBCCAAB (或反之)方式通电,故称为双三拍工作方式。以这

24、种方式通电,转子齿所处的位置相当于六拍控制方式中去掉单三拍后的三个位置。它的步距角计算公式与单三拍时的公式一样。 17 / 26表 2 双三拍的相位控制控制位步序P1.7P1.6P1.5P1.4P1.3P1.2C 相P1.1B 相P1.0A 相工作状态控制模型100000011AB03H200000110BC06H300000101CA05H(3)三相六拍工作方式在这种工作方式下,绕组以 AABBBCCCAA 时序(或反时序)转换 6 次,磁场旋转一周,转子前进一个齿距,每次切换均使转子转动 1. 5,故这种通电方式称为三相六柏工作方式。其步距角b为: mzmzb/1802/3602表 3 六

25、拍的数学模型 控制位步序P1.7P1.6P1.5P1.4P1.3P1.2C 相P1.1B 相P1.0A 相工作状态控制模型100000001A01H200000011AB03H300000010B02H400000110BC06H500000100C04H600000101CA05H5.2.25.2.2 设计说明与流程图设计说明与流程图设计说明:在此设计中,采用的是三相步进电机,对于步进电机模块的程序设计采用循环程序设计方法。先把正反转向的控制模型存放在存单元中,然后再逐一从单元中取出 18 / 26控制模块并输出。首先启动,通过 P1 口读入所需的工作方式,即选择步进电机的拍数,然后读入正反

26、转的控制,再来输出对应的控制模型来驱动步进电机转动。 三相步进电机工作的流程图:图 10 三相步进电机工作流程图5.3 数码管步数显示模块设计说明:步数显示模块是整个程序里的一个子程序。其是用 4 位八段数码管来显示工作步数。先将要显示的数化为 10 进制数,每位分别储存,从 P0 口输出显示码,P2 口输入位选码,需要一定的延时,让此位数字显示闪烁出来。然后修改数组地址,求下一位位选码继续显示,直至输出四位数。这个扫描过程重复 50 次,保证人眼能观察到步数显示。流程图如图 11:分模块入口P1.2=1?P1.1=1?P1.0=1?无信号输出三相单三拍三相单双六拍拍三相双三拍分模块出口YYY

27、NNN 19 / 26取出要显示的数据送一位位段码到 P0 口输出送位选码到 P2.0-P2.3 输出延时4 位显示完修改数组地址求下一位选码将该数据化为 10 进制数,每位分别储存扫描 50 次完计数减 1开始返回图 11 数码管显示模块流程图 20 / 266 6 仿真调试记录仿真调试记录如图 12 所示,当选择电机工作在单三拍,反转的模式下,K0 断开,K1、K2、K4、闭合,系统启动,K3 断开,电机开始转动。LED 四位显示屏显示工作步数,LED 指示灯黄灯亮显示电机反转的状态。 21 / 26图 12 仿真图如图 13 所示,此种工作方式下步进电机的旋转角度:图 13 步进电机旋转

28、角度7 7 心得体会心得体会本次课设为期一周,所以时间比较紧,给课设的顺利完成增加了难度。单片机原理是一门应用性很强综合性很强的学科,在这次课设中,我充分感受到了这一点,在老师给的课题之中,是来自于各个方面各个领域的应用,不得不说,计算机控制很强大,确实改变了我们的生活。课设里最困难的部分就是编写程序和仿真调试,也许硬件连接没问题,程序运行没问题,但是,当把程序导入,发现电动机就是不转,灯就是不亮,数码管就是乱跳,这是很考验耐心的时候,一遍一遍地去调试程序,修改连接部分,有时真的看着很崩溃,但是当你不放弃地调试,才有仿真成功的可能,在这种反复中,对我们自身的能力是提高很多的。另一个收获就是关于

29、软件的使用了。PROTEUS,KEIL51,以前好像也用过,但是平时较少接触,这次的课设让我比较熟练的掌握了这两个学习软件强大的功能,而且发现从 PROTEUS 22 / 26里导出来的电路图特别漂亮和清晰。单片机原理一直是自己比较喜欢的一门学科,拿到课程设计的题目也想着可以好好检验自己的学习成果,一直认为,期末考试是所谓的应试教育,而课程设计似乎更加地考验所学的知识,所谓实践与理论相结合就是这个道理吧。课程设计总能让我有一种我站在山面前的感觉,看上去比较陌生高大,但是攀登的技巧早已在平时的学习中习得,不断地去攀登,不断地在回味课堂上老师讲的东西,书本上的东西,这是一种奇妙的体验。我明白遇到的

30、电路或者课题并不一定在你的知识围之,而面对新的东西,我们要冷静地去寻求解决之道,去搜寻网络资源,图书馆资源以与和同学们的讨论之中,再结合自己所学过的知识来吃透理解那些未知的东西,扩宽知识面,这样就会觉得学到了远远超过课堂的东西,但是却源于课堂,想必这就是课设的意义吧,很有收获。参考文献参考文献1谭浩强. C 程序设计. :清华大学. 2005.2于海生.计算机控制技术.:机械工业,2007.3新民.微型计算机控制技术.:电子工业,2003.4立峰,王宝兴. 单片机原理与应用技术. :大学. 2006.5明荧. 8051 单片机课程设计实训教材. :清华大学. 20046 靖武,周灵彬编著.单片

31、机系统的 PROTEUS 设计与仿真. :电子工业,2007.附录:程序清单附录:程序清单#include#include void delay1(void); void delay2(void); void display(int); int bs=0;main() char a,b,c,d,j,*q, 23 / 26 done18=0 x01,0 x02,0 x04,0 x00,0 x01,0 x04,0 x02,0 x00, done28=0 x03,0 x06,0 x05,0 x00,0 x03,0 x05,0 x06,0 x00, done314=0 x01,0 x03,0 x02,0 x06,0 x04,0 x05,0 x00,0 x01

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论