《步进电机控制C程序及仿真.doc》由会员分享,可在线阅读,更多相关《步进电机控制C程序及仿真.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流步进电机控制C程序及仿真.精品文档.步进电机步进电机和普通电动机不同之处是步进电机接受脉冲信号的控制。步进电机可以直接接受数字信号,不需要进行数字与模拟量的转换,具有高精度快速启停能力。在非超载的情况下,步进电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。一、步进电机的结构和工作原理步进电机是一种专门用于位置和速度精确控制的特种电机。步进电机的最
2、大特点是其“数字性”,对于微电脑发过来的每一个脉冲信号,步进电机在其驱动器的推动下运转一个固定角度(简称一步),如下图所示。如接收到一串脉冲步进电机将连续运转一段相应距离。同时可通过控制脉冲频率,直接对电机转速进行控制。步进电机在构造上有三种主要类型:反应式(Variable Reluctance,VR)、永磁式(Permanent Magnet,PM)和混合式(Hybrid Stepping,HS)。 反应式定子上有绕组、转子由软磁材料组成。结构简单、成本低、步距角小,可达1.2、但动态性能差、效率低、发热大,可靠性难保证。 永磁式永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相
3、同。其特点是动态性能好、输出力矩大,但这种电机精度差,步矩角大(一般为7.5或15)。 混合式 混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。其特点是输出力矩大、动态性能好,步矩角小,但结构复杂、成本相对较高。混合型,因具有高精度、高转矩、微小步进角和数个优异的特征,所以刚开始在OA关系,其它的分类上也大幅的被使用,特别是在生产量上大半是使用在盘片记忆关系的磁头转送上。按定子上绕组来分,共有二相、三相和五相等系列。单定子径向分相反应式步进电机结构原理图最受欢迎的是两相混合式步进电机,约占 97% 以上的市场份额,其原因
4、是性价比高,配上细分驱动器后效果良好。该种电机的基本步矩角为1.8/步,配上半步驱动器后,步矩角减少为0.9,配上细分驱动器后其步矩角可细分达256倍(0.007)。由于摩擦力和制造精度等原因,实际控制精度略低。同一步进电机可配不同细分的驱动器以改变精度和效果。五相混合式步进电机应用也比较广泛,其步进角一般为 0.72 度。1. 基本结构2. 工作原理简单的讲,步进电机驱动器根据外来的脉冲,通过其内部的逻辑电路控制步进电机的绕组按一定的次序正反通电,从而实现其运转。以两相1.8度步进电机为例,其主要分为4线(双极性),6线(单极性)两种方式:4线(双极性)电机,当其绕组的通电方向顺序按照AC-
5、BD-CA-DB 四个状态周而复始进行变化,每变化一次,电机运转一步,即1.8度。6线(单极性)电机,当其绕组的通电方向顺序按照OA-OB-OC-OD 四个状态周而复始进行变化,每变化一次,电机运转一步,即1.8度。二、步进电机的术语1.相数:产生不同对极N、S 磁场的激磁线圈对数,是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。电机相数不同,其步距角也不同,一般二相电机的步距角为0.9/1.8、三相的为0.75/1.5、五相的为0.36/0.72。用户主要靠选择不同相数的步进电机来满足自己步距角的要求。目前应用最广泛的是两相和四相,四相电机一般用作两相,五相的成本较高。2
6、.拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n 表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A.3. 步:当某组绕组通电时,每来一个脉冲电压,如果这时定子的小齿与转子没有对齐,则在磁场的作用下转子将转动一个步距角(称为一步),使转子齿与定子齿对齐,从而使步进电机向前“走”一步。三、步进电机工作过程1.脉冲信号的产生:脉冲信号一般由CPU或单片机产生的,一般脉冲信号的比例为0.3-0.4左右,电机转速越高,比例则越大。 微处理器 以四相步进电机为例,四相电机工作方式有
7、二种,四相四步为AB-BC-CD-DA;四相八步为AB-B-BC-C-CD-D-AB。 2.步进电机运转原理如图为四相(实际为2相)式步进电机的基本构造图。中间转子由永久磁铁所构成,左边为N极,另一边为S极。定子有四组线圈,分别为L1、L2、L3及L4,各线圈的C端共接电源正极,另一端经由开关接在电源的负极,在看图8。 当把开关S1按下,则线圈A通入电流,产生N极磁场,因为磁场同性相斥、异性相吸,使转子的S极被A极吸引过来。其次,放掉开关S1,并且立刻按下开关S2,则A极的磁场消失,B极产生磁场,把转子的S极吸引过来,转子随着顺时针方向90度。像这样依次让定子的四个极通入电流,就可以使转子不停
8、的旋转。 图8 单极激磁等效驱动电路3.步进马达的激磁方式步进马达依定子线圈的相数不同可分成二相、四相及五相式,小型步进马达以二相式较为普遍。 单极性型(unipolar):定子磁极极性为同一方向,如可变磁阻式步进马达,磁极线圈只有一组,所加的激磁电流为固定方向,因此单极性步进马达所需的电源较简单。单极性驱动电路使用四只晶体管来驱动步进电机的两组相位,电机结构则如图9所示包含两组带有中间抽头的线圈,整个电机共有六条线与外界连接-图9。这类电机有时又称为四相电机,但这种称呼容易令人区分不了又不正确,因为它其实只有两个相位,精确的说法应是双相位六线式步进电机。六线式步进电机虽又称为单极性步进电机,
9、实际上却能同时使用单极性或双极性驱动电路。单极性二相步进电机驱动电路双极性型(bipolar):定子磁极极性为两个方向,如永久磁铁式步进马达,其转子的极性和定子磁极极性有交互变化的需要。单一激磁线圈时其激磁方向为正负交替变化,两组磁极线圈时,一组正向激磁,另一组负向激磁,两组交替变化,使定子磁极极性变化。以双极方式运用,其电源较为复杂。双极性步进电机的驱动电路则如图2所示,它会使用八只晶体管来驱动两组相位。双极性驱动电路可以同时驱动四线式或六线式步进电机,虽然四线式电机只能使用双极性驱动电路,它却能大幅降低量产型应用的成本。双极性步进电机驱动电路的晶体管数目是单极性驱动电路的两倍,其中四颗下端
10、晶体管通常是由微控制器直接驱动,上端晶体管则需要成本较高的上端驱动电路。双极性驱动电路的晶体管只需承受电机电压,所以它不像单极性驱动电路一样需要箝位电路。双极性步进电机驱动电路二相5线/6线步进电机内部接线图五、步进电机的结构及控制从结构上看,步进电机分为三相、四相、五相等类型。以三相为例。三相反应式步进电动机工作原理图三相步进电机定子上有6个磁极, 线圈绕过相互正对的两个磁极构成一相,共有AA、BB和CC三相。转子是4个均匀分布的齿。 (1) 换相顺序的控制步进电机通电换相这一过程称为脉冲分配。以三相步进电机为例,电流脉冲的施加共有三种方式: 单相三拍方式-按单相绕组施加电流脉冲每次通电时仅
11、有一相绕组通电,且每经过3 次切换控制绕组的通电状态为一循环。双相三拍方式-按双相绕组施加电流脉冲每个状态均为两个控制绕组同时通电,且每次切换电时,总有一相绕组处于通电状态,故避免了失步和振荡现象。三相六拍方式-单相绕组和双相绕组交替施加电流脉冲首先A 相通电,而后再接通B 相绕组(这时A 相不断开) 即AB 两绕组同时通电;此后断开A 相绕组,B 相单独通电,依此规律循环往复. 这种方式需经过6 个切换才能完成一个循环。(2) 步进电机的转向控制如果给定工作方式正序换相通电,步进电机正转。若步进电机的励磁方式为三相六拍,即A - AB- B - BC - C - CA - A。如果按反序通电
12、换相,即A- AC - C - CB - B - BA - A ,则电机就反转。其他方式情况类似。(3) 步进电机的速度控制如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。2 个脉冲的间隔越短,步进电机就转得越快。调整送给步进电机的脉冲频率,就可以对步进电机进行调速,即控制脉冲的频率来控制电机的转速和加速度。四、单片机控制步进电机的任务系统软件程序功能的主要任务是控制步进电机的启动、按顺序发出控制命令、判断步进电机是否到达极限位置、控制步进电机的转向和运行速度的变化等。一般数字电路的信号能量远远不足以驱动步进电机,必须要有一个与之匹配的驱动电路来驱动步进电机。由L297、
13、L298 组成的步进电机驱动应用电路如图5所示,该电路适用于二相双极性步进电机或四相单极性步进电机, 最高电压46 V, 每相电流可达2 A。用2片L298和1片L297配合使用,可驱动更大功率的二相步进电机。五、单片机控制步进电机的控制字以三相步进电机为例。单相三拍方式其状态表见表l。其中“1”代表高电平,表示驱动的磁极绕组通电;“0”代表低电平,表示驱动的磁极绕组不通电。表1 三相步进电机环形分配器存储状态表状态字 控制字 励磁状态0001H 0001 A0002H 0010 B0004H 0100 C将01 H 送到P1 口,表示A 相通电,其余相不通电,使步进电机前进一个步距角。可见通
14、过改变状态表中的内容,就可以实现不同的工作方式。双相三拍方式假定以8051的P1口线接步进电机的绕组,输出控制电流脉冲,其中P1.0接A,P1.1接B,P1.2接C。控制字如下表:三相六拍方式表1列出了步进电机工作在三相六拍时的控制字。从中可以看出,步进电机第一个控制字数据为01H,从上到下输出控制字时,电机正转,自下而上输出控制字数据时,电机反转。步进电机运行一拍的时间决定了步进电机的转速。在输出一个控制字后加入一定的延时时间,即可控制步进电机的转速。表1 三相六拍步进电机控制字另一种三相六拍步进电机控制字四相四拍步进电机控制字四相步进电机八拍控制字/四相八拍正转控制字uchar code
15、forward = 0x81, 0x85, 0x84, 0x86, 0x82, 0x8A , 0x88, 0x89, 0x80;/四相八拍反转控制字uchar code backward = 0x89, 0x88, 0x8A , 0x82, 0x86, 0x84, 0x85, 0x81, 0x80;Q:步进电机驱动程序中的正反转控制字怎么得到的?比如: 三相步进电机的三相六拍工作方式,正转的绕组通电顺序:A、AB、B、BC、C、CA、A,反转的通电顺序:A、AC、C、CB、B、BA、A。 我用PA0,PA1,PA2分别作为ABC的输入, 那么这些控制字怎么得到出来的? const char z
16、hzhuan7 =0x06,0x04,0x05,0x01,0x03,0x02,0x00; const char fanzhuan7=0x06,0x02,0x03,0x01,0x05,0x04,0x00;A:zhzhuan: A AB B BC C CA 停 110 100 101 001 011 010 000 fanzhuan: A AC C CB B BA 停 110 010 011 001 101 100 000步进电机控制工作原理沈阳航空航天大学课 程 设 计(论文)题目:基于单片机和proteus的步进电机控制 班 级 * 学 号 * 学 生 姓 名 X X X 指 导 教 师 X
17、X X 目 录0. 前言11. 电路基本理论12. 方案设计23. 硬件电路的工作原理23.1步进电机模块33.2 控制模块33.3 LCD显示模块34. 软件编程44.1 程序流程图44.2 MCS-51单片机引脚功能54.3 源程序65. 系统调试和结果分析95.1 电机正转运行95.2 电机反转运行105.3 电机停止转动106. 结论及进一步设想11参考文献12附录1 元件清单13课设体会14基于单片机和proteus的步进电机控制* 沈阳航空航天大学自动化学院0. 前言步进电机是一种将电脉冲转变为角位移的执行机构,通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方
18、向转动一个固定的角度。可通过控制脉冲数来控制角位移量,从而达到准确的定位目的,也可通过控制脉冲的频率来控制电机的转速和加速度;从而达到调速的目的。本文通过对步进电机的软件设计和硬件设计包括步进电机的结构、原理及应用,根据原理和硬件的设计利用c语言编写程序,经过反复运行和调试,实现单片机对步进电机的控制。1. 电路基本理论步进电机是机电控制中一种常用的执行机构,它的用途是将电脉冲转化为角位移,它的的驱动电路根据控制信号工作,控制信号由单片机产生。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,控制换相顺序,即通电控制脉冲必须严格按照一定顺序分别控制各相的通断。通过
19、控制脉冲个数即可以控制角位移量,从而达到准确定位的目的。控制步进电机的转向,即给定工作方式正序换相通电,步进电机正转,若按反序通电换相,则电机就反转。控制步进电机的速度,即给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步,两个脉冲的间隔越短,步进电机就转得越快。同时通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。2. 方案设计基于单片机和proteus的步进电机控制电路的基本组成如图1所示。步进电机控制台单片机LED显示器图1 基于单片机和proteus的步进电机控制电路的原理框图根据设计要求,采用的方案如下。硬件部分实现电机转动和速度显示功能,包括控制开关模
20、块;电机转动模块和速度显示模块。软件部分实现对步进电机的控制功能,主要设计思想通过控制台控制程序的开关来控制电机的转动,由电机反馈回来的数据经单片机控制显示器显示数据.。3. 硬件电路的工作原理3.1步进电机模块(如图2所示) 图2 步进电机功能:单片机输出的程序通过转换器和电机驱动器给步进电机一个脉冲信号,使步进电机实现正转与反转。3.2 控制模块(如图3所示)图3 控制模块功能:通过控制台实现对单片机程序的开与关。3.3 LED显示模块(如图4所示)图4 LED显示器 功能:通过单片机输出的电机反馈信号使LED显示器显示出步进电机的转动状态。4. 软件编程4.1 程序流程图:(如图5所示)
21、开始按键判断按键If(P3_5=0)If(P3_6=0)If(P3_7=0)If(P3_0=0)If(P3_1=0)正转加速反转停止减速显示转动方式图5:程序流程图4.2 MCS-51单片机引脚功能:(如图6所示)图6:单片机引脚图1电源线:VCC:+5 V电源。VSS:地线。 2RST:复位信号线。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。3信号引脚介绍 P0.0 P0.7: P0口8位双向口线。 P1.0 P1.7 :P1口8位双向口线。 P2.0 P2.7 :P2口8位双向口线。 P3.0 P3.7 :P3口8位双向口线。4XTAL1和XTA
22、L2:外接晶振引脚。当使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。5控制引脚: ALE/-PROG、-PSEN、-EA/Vpp组成了MSC-51的控制总线。 (1) -EA/Vpp(31脚):外部程序存储器地址允许输入端。 第二功能:固化编程电压输入端。 (2) ALE/-PROG(30脚):地址锁存允许信号端。 第二功能:编程脉冲输入端。 (3) -PSEN(29脚):程序存储允许输出信号端。4.3 源程序:#include#define uc unsigned char#define ui unsigned intsbit KEY=P33;sbit P1_0=P1
23、0;sbit P3_0=P30;sbit P3_1=P31;sbit P3_5=P35;sbit P3_6=P36;sbit P3_7=P37;uc Flag;uc code fan=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;uc code zheng=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01;ui speed=1000,time;void delay(ui t)while(t-);void xianshi(uc f) /显示转向 P1_0=0;P0=f; delay(5);void Speedup()/加速 time
24、=speed; time=time-100; if(time2000) time=2000;void main()uc i;EX1=1; /外部中断1开IT1=1; /边沿触发EA=1; /全局中断开P0=0xff;while(1)while(Flag=0) for(i=0;i7;i+)xianshi(0x5b);/显示 Z 标示正转 P2=zhengi; delay(speed); while(Flag=1)for(i=0;i7;i+) xianshi(0x71);/显示 F 标示反转 P2=fani; delay(speed); while(Flag=2) /停止P2=0;xianshi(
25、0x6D);/ 显示 Svoid ISR_Key() interrupt 2 delay(500); if(!KEY) if(P3_5=0) Flag=0; if(P3_6=0) Flag=1; if(P3_7=0) Flag=2; if(P3_0=0) Speedup(); if(P3_1=0) Speeddown();5. 系统调试和结果分析5.1 电机正转运行(如图7所示)图7:电机正转结果图电机正转显示Z5.2 电机反转运行(如图8所示)图8:电机反转结果图电机反转显示F5.3 电机停止转动(如图9所示)图9:电机停止转动图电机停止转动显示S6. 结论及进一步设想 本设计采用51单片机
26、AT89C51(晶振频率为12MHZ)对四相六线制步进电机(内阻33欧,步进1.8度,额定电压12V)进行控制。通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过芯片ULN2003驱动步进电机。ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。ULN2003 的每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003 工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V 的电压,输出还可以在高负载电流并行运行。通过ULN2003构成步进电机的驱动电路,电路图如图1所示。51的25-28口接ULN2003的1-4输入端。另外,用键盘来对电机的状态进行控制,并用数码管显示电机的转速,采用74LS164作为2位单个数码管的显示驱动。74LS164带锁存,使用串行接法可以节约I/O口资源。其电路图如图2所示。通过51的TXD和RXD口对CLK和DATA发送数据参考文献设计的步进电机基本能实现预期目标,经过调试和修改,但还是存在问题,比如按开关的时候会出现不稳定情况,转速有时比较乱,显示有时也有些不理想,后面的工作就是在软件和硬件等方面进行修改,以完全达到预期目标。