两相步进电机4拍代码
步进电机动态指标及术语

7、电机的共振点:
步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180-250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。
8、电机正反转控制:
当电机绕组通电时序为AB-BC-CD-DA或()时为正转,通电时序为DA-CA-BC-AB或()时为反转。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。
步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。
2、失步:
电机运转时运转的步数,不等于理论上的步数。称之为失步。
PLC实现步进电机的正反转和调整控制

实训课题三PLC实现步进电机正反转和调速控制一、实验目的1、掌握步进电机的工作原理2、掌握带驱动电源的步进电机的控制方法3、掌握DECO指令实现步进电机正反转和调速控制的程序二、实训仪器和设备1、FX-48MR PLC一台2N2、两相四拍带驱动电源的步进电机一套3、正反切换开关、起停开关、增减速开关各一个三、步进电机工作原理步进电机是纯粹的数字控制电动机,它将电脉冲信号转换成角位移,即给一个脉冲信号,步进电机就转动一个角度,图3-1是一个三相反应式步进电机结图;从图中可以看出,它分成转子和定子两部分;定子是由硅钢片叠成,定子上有六个磁极大极,每两个相对的磁极N、S极组成一对;共有3对;每对磁极都绕有同一绕组,也即形成1相,这样三对磁极有3个绕组,形成三相;可以得出,三相步进电机有3对磁极、3相绕组;四相步进电机有4对磁极、四相绕组,依此类推;反应式步进电动机的动力来自于电磁力;在电磁力的作用下,转子被强行推动到最大磁导率或者最小磁阻的位置,如图3-1a所示,定子小齿与转子小齿对齐的位置,并处于平衡状态;对三相异步电动机来说,当某一相的磁极处于最大导磁位置时,另外两相相必处于非最大导磁位置,如图3-1b所示,即定子小齿与转子小齿不对齐的位置;把定子小齿与转子小齿对齐的状态称为对齿,把定子小齿与转子小齿不对齐的状态称为错齿;错齿的存在是步进电机能够旋转的前提条件,所以,在步进电机的结构中必须保证有错齿的存在,也就是说,当某一相处于对齿状态时,其它绕组必须处于错齿状态;本实验的电机采用两相混合式步进电机,其内部上下是两个磁铁,中间是线圈,通了直流电以后,就成了电磁铁,被上下的磁铁吸引后就产生了偏转;因为中间连接的电磁铁的两根线不是直接连接的,是采用在转轴的位置用一根滑动的接触片;这样如果电磁铁转过了头,原先连接电磁铁的两根线刚好就相反了,所以电磁铁的N极S极就和以前相反了;但是电机上下的磁铁是不变的,所以又可以继续吸引中间的电磁铁;当电磁铁继续转,由于惯性又转过了头,所以电极又相反了;重复上述过程就步进电机转了;根据这个原理,如图3-2所示,两相步进电机的转动步骤,以正转为例:由图可见,现相异步电机正转过程分为四个步骤,即A相正方向电流、B相正方向电流、A向反方向电流和B相反方向电流;反转工作的顺序与之相反;A、B两相线圈不是固定的电流方向,这与其它步进电机的控制逻辑有所不同;因此,控制步进电机转动时,必须考虑用换相的思路设计实验线路;可以根据模拟驱动电路的功能和plc必须的逻辑关系进行程序设计;四、采用步进电机驱动器的控制方式利用步进电机驱动器可以通过PLC的高速输出信号控制步进电机的运动方向、运行速度、运行步数等状态;其中:步进电机的方向控制,只需要通过控制U/D端的On和Off就能决定电机的正转或反转;将光耦隔离的脉冲信号输入到CP端就能决定步进电机的速度和步数;控制FREE信号就能使电机处于自由状态;因此PLC的控制程序相当简单,只需通过PLC的输出就能控制步进电机的方向、转速和步数;不必通过PLC控制电机换相的逻辑关系,也不必另外添加驱动电路;实训面板见图3-4,梯形图见图3-5;本程序是利用D0的变化,改变T0的定时间隔,从而改变步进电机的转速;通过两个触点比较指令使得D0只能在10~50之间变化,从而控制步进间隔是1S~5S之间,I/O分配表见表3-1;表3-1 I/O分配表图3-5 梯形图五、采用PLC直接控制步进电机方式对于两相步进电机控制,根据其工作原理,必须考虑其换向的控制方式,因此将其步骤用代号分解,则为:①实现电流方向A+→A-、②实现电流方向B+→B-、③实现电流方向A-→A+、④实现电流方向B-→B+;如果反转则按照④、③、②、①的顺序控制;PLC的I/O分配表按照表3-2,分配图按照图3-6,梯形图见图3-7;表3-2 PLC的I/O分配表步进电机正反转和调速控制的梯形图如图3-7所示,程序中采用积算定时器T246为脉冲发生器,因系统配置的PLC为继电器输出类型,其通断频率过高有可能损坏PLC,故设定范围为K200 ms~1000ms,则步进电机可获得1~10步/秒的变速范围,X0为ON时,正转,X1为ON时;反转;X0为ON时,输出正脉冲列,步进电机正转;当X0为ON时,T246以D0值为预置值开始计时,时间到,T246导通,执行DECO指令,根据D1数值首次为0,指定M10输出,Y0、Y4为ON,步进电机A相通电,且实现电流方向A+→A-;D1加1,然后,T246马上自行复位,重新计时,时间到,T246又导通,再执行DECO指令,根据D1数值此次为1,指定M11输出,Y1、Y5为ON,步进电机B相通电,且实现电流方向B+→B-;D1加1,T246马上又自行复位,重新计数,时间到,T246又导通,再执行DECO指令,根据D1数值此次为2,指定M12输出,Y2、Y6为ON,步进电机A相通电,且实现电流方向A-→A+;D1加1,T246马上又自行复位,重新计时,时间到,T246又导通,再执行DECO命令,根据D1数值此次为3,指定M13输出,Y3、Y7为ON,步进电机B相通电,且实现电流方向B-→B+;当M13为ON,D1复位,重新开始新一轮正脉冲系列的产生;X1为ON时,输出反脉冲列,步进电机正转;当X1为ON时,T246以D0值为预置值开始计时,时间到,T246导通,执行DECO指令,根据D1数值首次为0,指定M10输出,Y3、Y7为ON,步进电机B相通电,且实现电流方向B-→B+;依此类推,完成实现A相反方向电流、B相正方向电流、A相正方向电流三个脉冲列输出;当M13为ON,D1复位,重新开始新一轮正脉冲系列的产生;当X2为ON时,程序由自动转为手动模式,当X0X1为ON时,每点动一次X3,对D1数值首次为0加1,分别指定M10、M11、M12及M13输出,从而完成一轮正反脉冲系列的产生;第73步中,当X4为ON,M8012为ON,M4为ON,且D0当前值<K1000,则D0即加1;第88步中,当X5为ON,M8012为ON,M4为ON,且D0>K200,由D0即减1;六、程序调试及执行调速时按X4或X5按钮,观察D0的变化,当变化值为所需速度时释放;如动作情况与控制要求一致表明程序正确,保存程序;如果发现程序运行与控制要求不符,应仔细分析,找出原因,重新修改,直到程序与控制要求相符为止;七、实训思考练习题如果调速需经常进行,可将D0的内容显示出来,试设想方案,修改程序,并实验;图3-7 步进电机正反转和调速控制程序说明1、步骤0,指定脉冲序列输出顺序移位值;2、当X0为ON,输出正脉冲序列,电机正转;当X1为ON,输出负脉冲序列,电机反转;3、当X2为ON,程序由自动转为手动模式,由X3状态单步触发电机运转;4、当X4为ON,如D0小于1000,每100ms对D0加1,从而延长每脉冲输出的时间间隔,降低电机的转速;5、当X5为ON,如D0大于200,每100ms对D0减1,从而缩短每脉冲输出的时间间隔,加快电机的转速;6、T0为频率调整限制;。
二相步进电机控制系统实施方案

课程设计任务书学生姓名:专业班级:自动化0903班指导教师:工作单位:自动化学院题目: 二相步进电机控制系统地设计初始条件:采用8086最小模式,扩展4K地EPROM及2K地RAM,利用L298 ,输出双极性模拟电压驱动二相步进电机,使其按不同速度正反转,电机以八个开关以补码形式给定输入并以发光二极管显示出来,转速为-500rpm~+500rpm b5E2R。
要求完成地主要任务:1.硬件设计:系统总原理图及各部分详细原理图2.软件设计:系统总体流程图、步进电机四拍,八拍各模块流程图、显示模块流程图等3.编写程序:能够完成上述任务4.完成符合要求地设计说明书时间安排:2012年6月25日~2012年7月3日指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要11 设计任务及要求21.1 设计任务21.2 任务分析22 方案选择及论证32.1 总体思路32.2 控制部分设计42.3驱动电路部分设计43 硬件电路设计模块53.1硬件系统总原理图53.2控制部分63.2.1 8086CPU地介绍63.2.2 8255A地介绍73.2.3原理分析103.3步进电机地介绍123.3.1 步进电机地特点123.3.2 步进电机工作原理133.3.3 二相步进电机133.4 电机驱动部分143.4.1 L298芯片介绍143.4.2 驱动电路原理分析153.5 电机正反转与调速电路174 软件设计184.1 设计思路184.2 各程序流程图185 系统仿真20小结体会23参考文献24附录一系统地总设计图25附录二部分代码26摘要目前,随着电子技术,控制电路地发展,步进电机地技术已很成熟,特别适合小功率开环定位系统,至今没有能取代它地更适合产品,今后将继续稳步发展和完善化.它广泛应用与打印机,电动玩具等消费类产品及数控机床等机电产品中.研究步进电机地控制系统,对提高控制精度和响应速度,节约能源都具有重要意义.本控制系统地设计由硬件部分和软件部分两部分组成,完成二相步进电机地控制.其中,硬件部分主要包括8086CPU,8255A,按键模块,步进电机驱动模块等功能模块地设计,以及硬件电路在PROTEUS上地仿真.软件部分主要包括主程序以及各个模块地控制程序,最终实现对步进电机转动方向和模式地控制,并且将步进电机速度动态显示出来.关键字:二相步进电机、8086、8255A,Proteus仿真.二相步进电机控制系统地设计1 设计任务及要求1.1 设计任务设计一个二相步进电机控制系统,要求采用8086最小模式,利用L298芯片,输出双极性模拟电压驱动二相步进电机,使其按不同速度正反转,电机以八个开关以补码形式输入并以发光二级管显示出来,转速为rpm~-.500rpm005硬件设计:系统总原理图及各部分详细原理图.软件设计:系统总体流程图、步进电机双四拍,单双八拍各模块流程图.同时编写程序,完成上述任务.1.2 任务分析设计任务要求设计一个二相步进电机控制系统,分析知该系统应具有以下功能:1)二相步进电机控制系统能实现二相双四拍、二相单四拍、二相八拍地方式运行.因此需要由输出相应地控制字序列进行控制.2)二相步进电机控制系统能实现正反转.2 方案选择及论证2.1 总体思路二相步进电机控制可以由单片机、PLC、8086CPU实现.这里我们采用8086最小模式来实现控制,具有成本低地特点.步进电机地驱动地电路是由八个开关控制按键经过8255A到8086CPU然后在产生控制信号又通过8255A产生地控制信号进行工作地.因此通过按键输入用户对电机地控制要求,由8086CPU、 8255A芯片读取按键信息并通过处理调用相应地模块输出到驱动芯片完成对电机地控制要求.因此,此系统主要由8086CPU及8255A构成地控制部分、电机及驱动电路、工作状态控制模块组成.总体设计框图如图1所示.图1总体设计框图2.2控制部分设计步进电机是将电脉冲信号转换成响应地角位移或者线位移地数字控制电机.按照输入脉冲指令旋转,脉冲数决定旋转位移地大小,脉冲频率决定旋转速度.其控制可以用硬件电路和以微型计算机为核心地控制系统地实现.硬件方式地电路实现地控制功能较为单一,这会导致改变控制功能时还要重新设计硬件电路,灵活性差,应用起来成本也会增加.而以微型计算机控制系统属于硬件结合地控制方式,少量地硬件连接和软件实现控制完成主要地控制功能,灵活性大.本电路要求采用8086来实现电机地控制.步进电机通过数据线进行与驱动电路地数据传送,硬件连线只需信号传输线路即可,对电机地运行状态等各项控制要求通过软件来实现.8086通过8255A来实现对驱动电路地控制,使驱动电路进行相应地绕组通电操作完成各种用户要求.2.3驱动电路部分设计步进电机地驱动方法一般有两种:一种是直接由CPU来驱动,但因为输出电流地脉冲很小不足以让步进电机转动;另一种通过CPU间接来驱动,把其输出信号进行放大,然后来驱动步进电机.任务要求采用双极性控制,典型地两相双极驱动电器原理图如图2所示,本设计采用芯片L298来控制电机地驱动系统.L298构成地驱动系统需要时间很少.关于脉冲分配以及对步进电机地各种控制操作由软件控制完成,能够灵活均衡地控制步进电机.图2 两相双极驱动电器原理图3 硬件电路设计模块3.1硬件系统总原理图由前面分析可得控制电路用到8086,并通过8255A与驱动电路相连,再由驱动电路控制电机地运转,其硬件系统原理图如图3所示图3 硬件系统原理图3.2控制部分3.2.1 8086CPU地介绍8086CPU地内部结构如图4所示,图4 8086CPU内部结构框图8086CPU由两部分组成,指令执行部件和总线接口部件.指令执行部件主要功能是执行指令,总线接口部件主要功能是形成访问存储器地物理地址,访问存储器并运行指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数并参加指令执行部件运算或存放运算结果等.因为功能是分开地,所以在大多数情况下,在取指令地同时,执行指令部件也在工作这就有效地加快了系统地运算速度.3.2.2 8255A地介绍8255A内部结构图如图5所示DB7-PA7-PB4-PCPC47-PCPC图5 8255A内部结构图8255A具有24条输入/输出引脚、可编程地通用并行输入/输出接口电路.它是一片使用单一+5V电源地40脚双列直插式大规模集成电路.8255A地通用性强,使用灵活,通过它CPU可直接与外设相连接.8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自地工作方式,共有三种:方式0 :基本地输入输出方式,即无须联络就可以直接进行地 I/O方式.其中A、B、C口地高四位或低四位可分别设置成输入或输出.方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口地某些线被规定为A口或B口与外围设备地联络信号,余下地线只有基本地I/O功能,即只工作在方式0.方式2: 双向I/O 方式,只有A 口可以工作在这种方式,该I/O 线即可输入又可输出,此时C 口有5条线被规定为A 口和外围设备地双向联络线,C 口剩下地三条线可作为B 口方式1地联络线,也可以和B 口一起方式0地I/O 线.8255A 是一个并行输入、输出器件,具有24个可编程设置地I/O 口,包括3组8位地I/O 为PA 口、PB 口、PC 口,又可分为2组12位地I/O 口:A 组包括A 口及C 口高4位,B 组包括B 口及C 组地低4位.8255A 管脚图如图6所示:图6 8255A 管脚分布图一般,CPU 地数据线及其读写控制线直接与8255A 地70D D —及RD 和WR 连接.RESET 线是高电平有效.因为8086CPU 也是高电平复位,所以可以直接与8086CPU 地复位线相连.片选信号CS 是低电平有效.当其有效时,表示本片地8255A 被CPU 选中,可工作.它一般由CPU 地高位地址线及其地址译码电路产生.0A 、1A 地组合状态如表1所示,可以选择8255A 地3个I/O 端口和控制口.它们一般由CPU 地低位地址线直接产生.表1 0A 、1A 地组合与端口关系8255A 地工作方式控制字如图7所示图7 8255A 地工作方式控制字17 D ,为该控制字地标志.A 组由6D 、5D 、4D 和3D 组成.其中6D 和5D 为工作方式选择;4D 为A 口地输入、输出选择;3D 为C 口高4位地输入输出选择.B 组由2D 、1D 和0D 组成.其中2D 味工作方式选择;1D 为B 口地输入、输出选择;0D 为C 口低4位地输入、输出选择.方式控制字未规定C 口地工作方式,只规定了C 口地数据地传输方向,这就表明C 口要么作为联络线用,要么就只工作在方式0.3.2.3原理分析本设计以8086CPU为控制核心,并以8255A为I/O接口电路,8086CPU地READY 端口为高电平,说明CPU访问地存储器或I/O端口已准备好传输数据,同时要求MN/接高电平,为保证8086正常工作,RESET 8086CPU工作在最小模式所以MX端口接低电平;ALE端口与两片74LS373锁存器地LE端相连,控制其是否选中;AD配合使用表示当前总线地使用情况;RD端口与WR端口与BHE与地址线0M/端8255A读、写端口相连,由8086发出控制信号,控制8255A是否工作;IO口与74LS138地一个低电平有效地使能端相连,当为高电平时,CPU正在访问存储器,此时译码器停止工作,当为低电平时,CPU正在访问I/O端口,此时译码器正常工作.8086CPU连接图如图8所示:图8 8086CPU连接图原理图中用到74LS373地址锁存器,其中OE接地与LE与8086CPU地ALE端连接,由8086控制器是否工作,当ALE为高电平时,芯片工作,8086地输入AD与芯片地输入端连接其输出端与8086一起控制74LS138译码器地导通,[0...7]其电路图如图9所示:图9 74LS373与74LS138地连接图其中74LS138译码器地使能端一部分由74LS373锁存器地输出5_Q 4U 与_Q74U 经过一两输入与非门控制,一个由锁存器输出_Q64U 直接控制,还有一个控制端由8086CPU 地IO M/控制.并且译码器由_Q04U 、_Q34U 、_Q44U 译码,输出U7_Y4控制8255A 地工作,其中8255A 地连接图如图10所示:图10 8255A 连接图由图可知:RD ,WR 端口与8086连接,即8086与8255A 同时进行读写操作,8255A 地工作方式由锁存器地输出_Q14U 与_Q24U 决定,8255A 地片选信号由译码器地输出U7_Y4决定,8255A 地输出分别决定驱动电路和LED 显示电路地输入.由上图可知8255A端口地址分配表如表2所示:表2 8255A端口地址分配设计地硬件控制部分地总电路图如图11所示:图11 硬件控制部分总电路图3.3步进电机地介绍3.3.1 步进电机地特点步进电机是将电脉冲信号转换成相应地角位移或线位移地一种特殊电机.电机每输入一次电脉冲信号,电动机就转动一个角度,从而形成地不仅是运动,所以称为步进电机,另外由于输入地是脉冲电流,也称为脉冲电机.步进电机具有很多优点也有不少缺点,步进电机地特点主要有下面几点: 1 步进电机地输出脚与输入脉冲地个数成正比,控制输入地脉冲数就能控制位移量.2 步进电机地转速与输入地脉冲频率成正比,改变通电相序即可改变电动机地转向.步进电机地启动,停止迅速,当停止脉冲输入时,若维持绕组内电流不变,电动机转子会保持停止时地位置.3.3.2 步进电机工作原理步进电机是一种电脉冲进行控制,将电脉冲信号转换成相位移电机,其机械位移和转速分别与输入电机绕组地脉冲个数和脉冲频率成正比,每一个脉冲信号可使步进电机旋转一个固定地角度.当步进驱动器收到一个脉冲信号,它就驱动步进电机按设定地方向转动一个固定地角度(称为“步距角”),他地旋转是以固定地角度一步一步运行地.可以通过控制脉冲频率来控制电机转动地速度和加速度,从而达到调速地目地.对于反应式步进电机转速与脉冲频率地关系为:NZfn 60= 式中:f 为脉冲频率,单位是HZ .N 为电机运行拍数,Z 为转子齿数. 对于反应式步进电机地步距角θ为:NZ360︒=θ式中;N 为步进电机运行拍数,Z 为转子齿数.3.3.3 二相步进电机根据设计要求本设计对象是二相步进电机,有两组带中心抽头地线圈,设为1dd V ,2dd V ;有四个绕组出线端设为A ,A ,B ,B .图12为二相六线式步进电机地工作原理示意图.图12 二相六线制步进电机结构示意图对各绕组施加通电脉冲,转子会在电磁力作用下向磁导率最大地状态转动,由于相是有选择性地通电且通电时间是有限地,对各绕组在各拍下按某种既定地通电顺序通电即可以使电机转动,调整对各绕组施加地脉冲频率可以调整电机转速地大小,改变各绕组通电顺序即可调整其转动方向.通过改变绕组通电顺序组合可以改变电机运行拍数.二相步进电机运行状态有二相四拍与二相八拍两种运行状态,其中四拍又分为单四拍与双四拍.3.4 电机驱动部分3.4.1 L298芯片介绍L298是双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动芯片,是一种二相和四相步进电机地专用驱动器,可同时驱动2个二相或1个四相步进电机,内含一个H-Bridge地高电压,大电流双全桥式驱动器,接收准TTL逻辑准位信号,可驱动46V、2A以下地步进电机,且可以直接透过电源来调节输出电压,此芯片可直接由单片机地IO端口来提供模拟时序信号.L298管脚图如图13所示.图13 L298管脚图管脚说明:VCC:逻辑电压源,此引脚必须接100nF电容器;VS:功率电压源,此引脚也必须接100nF电容器;IN1、IN2、IN3、IN4:输入端,TTL电平兼容;OUT1、OUT2、OUT3、OUT4:输出端,TTL电平兼容;ENA:使能端,ENA控制OUT1、OUT2,低电平禁止输出;ENB:使能端,ENB控制OUT3、OUT4,低电平精致输出;SENA、SENB:电流检测端,不用是可以直接接地.3.4.2 驱动电路原理分析电机驱动部分连接线路图如图14所示:图14 驱动部分接线图由接线图可以看出驱动芯片地输入由8255A地B口地PB0—PB3控制步进电机地正转,反转和转速,ENA、ENB分别接高电平,SENA、SENB分别接低电平.其中步进电机有二相双四拍控制通电方式,二相单双八拍控制通电方式和二相单二拍控制通电方式,本设计主要介绍实现二相双四拍正反转控制通电方式与二相单双八拍正反转控制通电方式.其中表3和表4分别列出二相双四拍控制通电方式(正转)与二相单双八拍控制通电方式(正转)表3步进电机四拍控制通电方式(正转)表4 步进电机八拍控制通电方式(正转)3.5 电机正反转与调速电路控制步进电机地正反转与转速地原理图如图15所示:图15 电机调速与转向接线图由图15可以知道,开关闭合,相应地LED 就会亮,说明相应地PA 口输出为低电平.与7PA 相连地开关控制电机地正反转,剩余开关决定步进电机地转速,以上图为例,只有7PA 所对应地开关闭合,此时向8255A 输入地数值为01111111V ,此数为正数,所以电机正转.当7PA 所对应地开关断开时,则开关电路向8255A 输出值为负数,此时电机反转,而从0PA 到6PA 所对应地开关状态可以实现对步进电机转速地控制,所以此模块可以实现对电机地正反转及速度地控制.4 软件设计4.1 设计思路设计要求用8086CPU 最小模式对步进电机实现正反转,以及速度地控制.这些控制主要由软件实现.通过编写四拍正反转子程序,八拍正反转子程序并通过按键地结合使用从而实现正反转地功能.对于速度地控制主要通过按键地开通与闭合实现.4.2 各程序流程图步进电机四拍模块流程图如图16所示:图16步进电机四拍模块流程图由图可得二相步进电机依次导通地线圈顺序为:正转:AB→→AB→→AABBAB反转:ABB→→→AAABB步进电机八拍模块流程图类似,导通线圈为8次,二相八拍各绕组通电顺序为:正转:A→AB→→→→B→→BBABAAAB反转:AB→A→B→→→→→AABBAABB5 系统仿真分别载入程序,在PROTUES里面仿真地结果分别如下:PA所对应地开关闭合,由前面分析可得此时电机四拍正转如图17所示,此时7正转.图17 四拍正转仿真图7图18 四拍反转仿真图PA所对应地开关闭合. 八拍正转仿真图如图19所示,7图19 八拍正转仿真图7图20 八拍反转仿真图心得体会经过与同小组同学地共同努力,近一个多星期地学习,本次课程设计课题二相步进电机控制系统告一段落.二相步进电机控制系统地设计主要分为硬件设计和软件设计两个部分:硬件设计主要是把8086CPU、8255A、按键控制模块、步进电机驱动模块(L298)、等各个硬件功能模块及其它元件合理搭配并连接起来使其能够为软件运行提供一个硬件平台.软件设计主要是通过编写程序代码,实现对整个系统地控制.本次设计由于设计时间较短,个人能力以及精力等因素地限制,加之设计经验地不足,该系统还有许多不尽如人意地地方.该系统具有一定地缺陷,并不完美,但仿真成功地那一刻地感觉是很美妙地,努力有了收获,学地很充实.通过这次课程设计,使我从一开始对系统地不太熟悉,到能开发一个简单地系统,在这整个过程中我学到了很多东西,掌握了一些常用地开发技能,也发现了大量地问题,有些在设计过程中已经解决,有些还有待今后慢慢学习.近十天地课程设计,我不仅了解了把理论设计转换成现实实物地整个过程.如:查阅资料,方案选定,电路设计,仿真电路图,检查调试,软件流程控制,编写调试软件到整个软硬件系统地调试,最后直到系统完成.为我以后地设计打下了一个好地基础.而且使我更加熟悉了整个设计地过程和一些软件及硬件设备地使用.总之,收获很大.参考文献[1] 彭虎、周佩玲、傅忠谦. 微机原理与接口技术(第2版).电子工业出版社出版社,2006[2]马建国电子系统设计高等教育出版社,2004[3] 康华光电子技术甚础模拟部分高等教育出版社,2005[4] 周灵彬, 任开杰《基于Proteus地电路与PCB设计》电子工业出版社,2010[5] 于海生计算机控制技术机械工业出版社 2008附录一系统地总设计图附录二部分代码CODE SEGMENTASSUME CS:CODESTART:PORTA EQU 0A0H ; A口地址PORTB EQU 0A2H ; B口PORTC EQU 0A4H ; C口PORTD EQU 0A6H ;CPU-8255控制寄存器控制口地址REGIS EQU 90H ;A IN, B OUT,AB口工作方式0 BEGIN:XOR CX,CXXOR BX,BXMOV DX,PORTD ;设置8255工作方式MOV AL,REGIS ;controlOUT DX,ALMOV DX,PORTAIN AL,DX ;读A口数据MOV BL,ALAND BL,10000000BJNZ G4 ;最高位按,0,正转NEG AL ; 反转MOV AX,255 ;四拍时255 八拍时620MOV BL,ALDIV BLMOV BL,ALMOV BL,ALJMP G3G4: MOV BL,ALMOV AX,255MOV BL,ALDIV BLMOV BL,AL;;//////////////////////////8正////////////////////////////////// G2: MOV DX,PORTBMOV AL,2OUT DX,ALMOV AL,0AHOUT DX,ALMOV AL,8OUT DX,AMOV AL,9OUT DX,ALMOV AL,1OUT DX,ALMOV AL,5OUT DX,ALMOV AL,4OUT DX,ALMOV AL,6OUT DX,ALCALL DELAYJMP G2DELAY PROC ;USES CXPUSH BXMOV CX,1D1:LOOP D1POP BXRETDELAY ENDPCODE ENDSEND STAR个人收集整理-仅供参考版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.TuWrU。
步进电机通电时序

型号 参数 单价 型号 参数 单价
小
功
率
三
极
管
9011 NPN 50V 0.03A 0.4W 2N2222 NPN 60V 0.8A 0.5W
9012 PNP 50V 0.5A 0.6W C3355 NPN 20V 0.15A 6500MHz
单极:2根中线接地 其他4线轮流拉高
反转相反 驱动ic资料里都有的
如:TA8435H
单极驱动 用达林顿管阵列
两相四线的步进电机,有两个绕组:A,B。
A绕组通正向电流用(+A)表示;通反向电流用(-A)表示。
B绕组表示方法同上。
同电次序:
两相,四拍:(+A)(+B)--(-A)(+B)--(-A)(-B)--(+A)(-B)--
C1815 NPN 50V 0.15A 0.4W
A733 PNP 50V 0.1A 0.25W
C945 NPN 50V 0Fra bibliotek1A 0.25W
步进电机驱动器,都是宽压输入,输入电压很大的范围可以选择;电源电压通常根据电机的工作转速和响应要求来选择。如果电机工作转速较高或响应要求较快,那么电压取值也高,但注意电源电压的纹波不能超过驱动器的最大输入电压,否则可能损坏驱动器。如果选择较低的电压有利于步机电机的平稳运行,振动小。
mbke你的步进电机应该是两相四拍的吧?其转动信号应该是: 正转(A-AB-B-BA-A)、反转(A-BA-B-AB-A),A代表A相通电,AB表示A、B两相同时通电,其余类推。
你指的2相6线制不仅电机
驱动方式由于两种
双极:A相施加正电压->B相正电压->A无电压->A相负电压->B相无电压->B相负电压->A相无电压->A相正电压->返回
2相4线步进电机

分类:2020-07-18 09:24 14630人阅读(15)依照正常接线4个端口依次接A,A\,B,B\。
8拍事实上是如此的:A-AB-B-BA\-A\-A\B\-B\-B\A-A那个地址面隐含了一个0的问题,确实是比如第一拍A为1,那么A\为0.则AA\通电。
BB\不通电。
第二拍A,B为1,那么A\,B\为\通电。
BB\通电。
依次类推,从而实现2细分,比如度的电机就操纵成度的了。
步进电机原理依照常理来讲,步进电机接线要依照线的颜色来区分接线。
可是不同公司生产的步进电机,线的颜色不一样。
专门是国外的步进电机。
那么,步进电机接线应该用万用表打表。
步进电机内部构造如以下图:通过上图可知,A,~A是联通的,B和~B是联通。
那么,A和~A是一组a,B和~B是一组b。
不管是两相四相,四相五线,四相六线步进电机。
内部构造都是如此。
至于究竟是四线,五线,仍是六线。
就要看A和~A之间,B和B~之间有无公共端com抽线。
若是a组和b组各自有一个com端,那么该步进电机六线,若是a和b组的公共端连在一路,那么是5线的。
因此,要弄清步进电机如何接线,只需把a组和b组分开。
用万用表打。
四线:由于四线没有com公共抽线,因此,a和b组是绝对绝缘的,不连通的。
因此,用万用表测,不连通的是一组。
五线:由于五线中,a和b组的公共端是连接在一路的。
用万用表测,当发觉有一根线和其他几根线的电阻是相当的,那么,这根线确实是公共com端。
关于驱动五线步进电机,公共com端不连接也是能够驱动步进电机的。
六线:a和b组的公共抽线com端是不连通的。
一样,用万用表测电阻,发觉其中一根线和其他两根线阻止是一样的,那么这根线是com端,另2根线就属于一组。
关于驱动四相六线步进电机,两根公共com端不接先也能够驱动该步进电机的。
步进电机相关概念:相数:产生不同对极N、S磁场的激磁线圈对数。
经常使用m表示。
拍数:完成一个磁场周期性转变所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。
步进电机代码2

ioport unsigned portFFFF;
#define WSGR portFFFF
/*系统模块寄存器
;~~~~~~~~~~~~~~~~~~~~*/
volatile unsigned int *PIRQR0 =(volatile unsigned int *)0x7010;
/*外围中断请求寄存器 0*/
volatile unsigned int *PIRQR1 =(volatile unsigned int *)0x7011;
/*外围中断请求寄存器 1*/
volatile unsigned int *PIRQR2 =(volatile unsigned int *)0x7012;
;~~~~~~~~~~~~~~~~~~~*/
volatile unsigned int *IMR =(volatile unsigned int *)0x0004;
/*中断屏蔽寄存器*/
volatile unsigned int *GREG =(volatile unsigned int *)0x0005;
/*系统控制和状态寄存器 1*/
volatile unsigned int *SCSR2 =(volatile unsigned int *)0x7019;
/*系统控制和状态寄存器 2*/
volatile unsigned int *DIN =(volatile unsigned int *)0x701C;
/* SCI 优先级控制寄存器*/
/* 外围中断配置寄存器
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
[整理]2相4线步进电机
![[整理]2相4线步进电机](https://img.taocdn.com/s3/m/bb38b10d87c24028915fc3f0.png)
通过上图可知,A,~A是联通的,B和~B是联通。
那么,A和~A是一组a,B和~B是一组b。
不管是两相四相,四相五线,四相六线步进电机。
内部构造都是如此。
至于究竟是四线,五线,还是六线。
就要看A和~A之间,B和B~之间有没有公共端com抽线。
如果a组和b 组各自有一个com端,则该步进电机六线,如果a和b组的公共端连在一起,则是5线的。
所以,要弄清步进电机如何接线,只需把a组和b组分开。
用万用表打。
四线:由于四线没有com公共抽线,所以,a和b组是绝对绝缘的,不连通的。
所以,用万用表测,不连通的是一组。
五线:由于五线中,a和b组的公共端是连接在一起的。
用万用表测,当发现有一根线和其他几根线的电阻是相当的,那么,这根线就是公共com端。
对于驱动五线步进电机,公共com端不连接也是可以驱动步进电机的。
六线:a和b组的公共抽线com端是不连通的。
同样,用万用表测电阻,发现其中一根线和其他两根线阻止是一样的,那么这根线是com端,另2根线就属于一组。
对于驱动四相六线步进电机,两根公共com端不接先也可以驱动该步进电机的。
步进电机相关概念:相数:产生不同对极N、S磁场的激磁线圈对数。
常用m表示。
拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。
θ=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。
四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。
定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。
两相四拍步进电机波形

两相四拍步进电机波形两相四拍步进电机,也称为四拍步进电机,是一种常见的步进电机类型。
它由两个相互垂直的驱动线圈组成,每个线圈都有两个相位,即A相和B相。
通过改变不同线圈的通电顺序和极性,可以控制步进电机的运动。
在两相四拍步进电机中,波形是指电流在不同线圈之间的变化形式。
常见的波形类型有正弦波和方波。
正弦波形:正弦波形是指电流在两个线圈之间以正弦函数的形式变化。
它的优点是电流变化平稳,减少了振动和噪音,也减少了对步进电机的磨损。
正弦波形的控制更加精确,可以实现步进电机的微步控制。
然而,正弦波形需要更复杂的控制电路和更高的驱动功率,所以在实际应用中并不常见。
方波形:方波形是指电流在两个线圈之间以方波的形式变化。
它的优点是控制简单,成本低。
方波形的控制电路较简单,只需改变线圈的通电顺序和极性即可。
方波形的速度控制十分灵活,可实现高速运动。
然而,方波形会产生较大的振动和噪音,也容易引起磨损,因此对步进电机的寿命有一定影响。
在实际应用中,由于成本和控制的简易性考虑,方波形是最常见的两相四拍步进电机波形。
它的波形形态可以分为四个相位:A相正极,A相负极,B相正极和B相负极。
当A相通电时,步进电机的转子会朝着特定方向转动;当B相通电时,转子则反向旋转。
通过改变A相和B相的通电顺序和极性,可以实现步进电机的不同运动和转向控制。
总结起来,两相四拍步进电机的波形可以是正弦波形或者方波形。
正弦波形具有平稳性和精确性的优点,但成本和控制复杂度较高;方波形则更加常见,具有简单控制和成本低的特点,但容易引起振动和噪音。
在实际应用中,选择合适的波形类型要根据具体需求和系统成本来决定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
两相步进电机4拍代码
一、什么是两相步进电机?
两相步进电机是一种常见的电机类型,它可以通过控制电流来实现旋转。
它通常由两个独立的电路组成,每个电路都控制一个相位。
当交
替通电时,步进电机可以以固定的角度进行旋转。
二、两相步进电机的原理
两相步进电机由定子和转子组成。
定子上有两个线圈,每个线圈都被
称为一个相位。
当交替通电时,线圈就会产生磁场,这些磁场会与转
子上的永久磁铁互动,并使其旋转。
三、两相步进电机的控制方式
两相步进电机可以通过控制其线圈上的电流来实现旋转。
这可以通过
使用特殊的驱动器来实现。
驱动器将输入信号转换为正确的输出信号,并将其传递给线圈。
四、两相步进电机4拍代码
以下是一段用于控制两相步进电机旋转的4拍代码:
```
int steps[] = {0b01, 0b11, 0b10, 0b00}; // 定义4种状态
int current_step = 0; // 当前状态索引
int dir = 1; // 方向标志位
void setup() {
pinMode(2, OUTPUT); // 第一个线圈
pinMode(3, OUTPUT); // 第二个线圈
}
void loop() {
digitalWrite(2, bitRead(steps[current_step], 0)); // 设置第一个线圈状态
digitalWrite(3, bitRead(steps[current_step], 1)); // 设置第二个线圈状态
delay(10); // 等待10毫秒
current_step += dir; // 更新当前状态索引
if (current_step >= sizeof(steps) / sizeof(int)) { // 判断是否超出数组范围
current_step = 0;
} else if (current_step < 0) {
current_step = sizeof(steps) / sizeof(int) - 1;
}
if (digitalRead(4) == HIGH) { // 判断是否需要改变方向
dir = -dir;
delay(100);
}
}
```
该代码使用了一个整数数组来存储4种不同的状态。
每个状态都代表两相步进电机的不同位置。
在每次循环中,代码将当前状态的值写入两个线圈中,并等待一段时间。
然后它会更新当前状态索引并检查是否需要改变方向。
如果需要改变方向,代码会将方向标志位取反。
五、总结
两相步进电机是一种常见的电机类型,可以通过控制其线圈上的电流来实现旋转。
在控制两相步进电机时,可以使用特殊的驱动器和代码来实现。
以上提供的4拍代码可以帮助控制两相步进电机旋转并改变方向。