文档库 最新最全的文档下载
当前位置:文档库 › 四相五线步进电机控制程序

四相五线步进电机控制程序

四相五线步进电机控制程序
四相五线步进电机控制程序

#include

sbit LA=P2^0; //定义两相,选择P2口的低四位输出//LA为A,LB为B,LC为C,LD为D

sbit LB=P2^1;

sbit LC=P2^2;

sbit LD=P2^3;

sbit key1 = P3^7; //定义按键1

sbit key2 = P3^6; //定义按键2

sbit key3 = P3^5; //定义按键3

sbit key4 = P3^4; //定义按键4

sbit key5 = P3^3; //定义按键5

sbit key6 = P3^2; //定义按键6

/********函数声明*************************************************************/ void right(unsigned int Speed,unsigned int road); //正转

void left(unsigned int Speed,unsigned int road); //反转

void mDelay(unsigned int DelayTime); //延时函数

/********变量定义*************************************************************/ int MotorStep=0; //步进索引

/***********主函数开始********************************************************/

void main()

{

P2&=0XF0; //因ULN2003A直接驱动,初始时为低电平,这里一定不能少了while(1){ //循环

if(key1==0) //1键按下正转

right(20,32); //两个参数代表转速和步进量,以20的速度进32步if(key2==0) //2键按下反转

left(20,32);

if(key3==0) //3键接下正转

right(10,32); //两个参数代表转速和步进量,以10的速度进32步if(key4==0) //4键接下反转

left(10,32);

}

}

/***********正转,两个参数代表转速和步进量*************************************/

void right(unsigned int Speed,unsigned int road)

{

//步进节拍:A-B-C-D

while(road){

switch(MotorStep){

case 0:

LB=0;

LC=0;

LD=0;

LA=1; //A

MotorStep=1;

break;

case 1:

LA=0;

LC=0;

LD=0;

LB=1; //B

MotorStep=2;

break;

case 2:

LA=0;

LB=0;

LD=0;

LC=1; //C

MotorStep=3;

break;

case 3:

LA=0;

LB=0;

LC=0;

LD=1; //D

MotorStep=0;

break;

}

mDelay(Speed); //这里的延时即控制转速

road--; //完成一步

}

P2&=0XF0; //将四个脚复位0,停止

}

/***********反转,两个参数代表转速和步进量*************************************/ void left(unsigned int Speed,unsigned int road)

{

//步进节拍:D-C-B-A

while(road){

switch(MotorStep){

case 3:

LA=0;

LC=0;

LD=0;

LB=1; //B

MotorStep=2;

break;

case 2:

LB=0;

LC=0;

LD=0;

LA=1; //A

MotorStep=1;

break;

case 1:

LA=0;

LB=0;

LC=0;

LD=1; //D

MotorStep=0;

break;

case 0:

LA=0;

LB=0;

LD=0;

LC=1; //C

MotorStep=3;

break;

}

mDelay(Speed); //这里的延时即控制转速

road--; //完成一步

}

P2&=0XF0; //将四个脚复位0

}

/***********延时函数*******************************************************/ void mDelay(unsigned int DelayTime)

{

unsigned char j=0;

while(DelayTime--){

for(j=0;j<100;j++){}

}

}

五线四相步进电机简介

1、概念 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 【开环控制系统:不将控制的结果反馈回来影响当前控制的系统 举例:打开灯的开关——按下开关后的一瞬间,控制活动已经结束,灯是否亮起已对按开关的这个活动没有影响;投篮——篮球出手后就无法再继续对其控制,无论球进与否,球出手的一瞬间控制活动即结束。 闭环控制系统:可以将控制的结果反馈回来与希望值比较,并根据它们的误差调整控制作用的系统 举例:调节水龙头——首先在头脑中对水流有一个期望的流量,水龙头打开后由眼睛观察现有的流量大小与期望值进行比较,并不断的用手进行调节形成一个反馈闭环控制;骑自行车——同理,不断的修正行进的方向与速度形成闭环控制。 开环闭环的区别:1、有无反馈;2、是否对当前控制起作用。开环控制一般是在瞬间就完成的控制活动,闭环控制一定会持续一定的时间,可以借此判断, 投篮第一次投篮投近了第二次投的时候用力一些,这也是一种反馈但不会对第一次产生影响了,所以是开环控制】 步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器。 【所谓时序,就是内存的时钟周期数值,脉冲信号经过上升再下降,到下一次上升之前叫做一个时钟周期,随着内存频率提升,这个周期会变短。例如CL9的意思就是CL这个操作的时间是9个时钟周期。 时序电路,是由最基本的逻辑门电路加上反馈逻辑回路(输出到输入)或器件组合而成的电路,与组合电路最本质的区别在于时序电路具有记忆功能。 如触发器、锁存器、计数器、移位寄存器、存储器等电路都是时序电路的典型器件,时序逻辑电路的状态是由存储电路来记忆和表示的。虽然组合逻辑电路能够很好地处理像加、减等这样的操作,但是要单独使用组合逻辑电路,使操作按照一定的顺序执行,需要串联起许多组合逻辑电路,而要通过硬件实现这种电路代价是很大的,并且灵活性也很差。为了实现一种有效而且灵活的操作序列,我们需要构造一种能够存储各种操作之间的信息的电路,我们称这种电路为时序电路。】 【步进电机、直流电机和无刷直流电机的主要区别在于他们的驱动方式。步进电机是以步阶方式分段移动,直流电机和无刷直流电机通常采用连续移动的控制方式。步进电机采用直接控制方式,它的主要命令和控制变量都是步阶位置。直流电机则是以电机电压为控制变量,以位置或速度为命令变量。

步进电机的工作原理

1. 步进电机的工作原理 该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式 步进电机工作原理示意图。 图1 四相步进电机步进示意图 开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的4号齿就和C、D相 绕组磁极产生错齿,2、5号齿就和D 当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。 四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。 单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图、b、c所示: a. 单四拍 b. 双四拍c八拍 51单片机驱动步进电机的方法。 驱动电压12V,步进角为度 . 一圈 360 度 , 需要 48 个脉冲完成!!! 该步进电机有6根引线,排列次序如下:1:红色、2:红色、3:橙色、4:棕色、5:黄色、6:黑色。采用51驱动ULN2003的方法进行驱动。 ULN2003的驱动直接用单片机系统的5V电压,可能力矩不是很大,大家可自行加大驱动电压到12V。 1.步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流

4四相五线减速步进电机28BYJ48原理仿真及演示程序使用ULN2019A驱动-4页文档资料

减速步进电机28BYJ-48的原理如下图:中间部分是转子,由一个永磁体组成,边上的是定子绕组。当定子的一个绕组通电时,将产生一个方向的电磁场,如果这个磁场的方向和转子磁场方向不在同一条直线上,那么定子和转子的磁场将产生一个扭力将定子扭转。 依次改变绕组的磁场,就可以使步进电机正转或反转(比如通电次序为 A->B->C->D正转,反之则反转)。而改变磁场切换的时间间隔,就可以控制步进电机的速度了,这就是步进电机的驱动原理。 由于步进电机的驱动电流较大,单片机不能直接驱动,一般都是使用 ULN2003达林顿阵列驱动,当然,使用下拉电阻或三极管也是可以驱动的,只不过效果不是那么好,产生的扭力比较小。 参考:减速步进电机28BYJ-48最简单的驱动方法 28BYJ-48的内部结构请见这里 下面是一个步进电机的演示程序: #include sbit key=P2^0; //按键控制步进电机的方向 unsigned char speed=5; //步进电机的转速

//八拍方式驱动,顺序为A AB B BC C CD D DA unsigned char code clockWise[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x0d}; void delay(unsigned char z) { unsigned char x,y; for(x=0;x

步进电机的速度控制

步进电机的速度控制 步进电机区别于其他控制用途电机的最大特点是,它可接受数字控制信号(电脉冲信号)并转化成与之相对应的角位移或直线位移,因而本身就是一个完成数字模拟转化的执行元件。而且它能进行开环位置控制,输入一个脉冲信号就得到一个规定的位置增量。这样的增量位置控制系统与传统的直流伺服系统相比,其成本明显降低,几乎不必进行系统调整。因此,步进电机广泛应用于数控机床、机器人、遥控、航天等领域,特别是微型计算机和微电子技术的发展,使步进电机获得更为广泛的应用。 步进电机的速度特性 步进电机的转速取决于脉冲频率、转子齿数和拍数。其角速度与脉冲频率成正比,而且在时间上与脉冲同步。因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度。由于步进电机是借助它的同步转矩而启动的,为了不发生失步,启动频率是不高的。特别是随着功率的增加,转子直径增大,惯量增大,启动频率和最高运行频率可能相差10倍之多。 为了充分发挥电机的快速性能,通常使电机在低于启动频率下启动,然后逐步增加脉冲频率直到所希望的速度,所选择的变化速率要保证电机不发生失步,并尽量缩短启动加速时间。为了保证电机的定位精度,在停止以前必须使电机从最高速度逐步减小脉冲率降到能够停止的速度(等于或稍大于启动速度)。因此,步进电机拖动负载高速移动一定距离并精确定位时,一般来说都应包括“启动-加速-高速运行(匀速)-减速-停止”五个阶段,速度特性通常为梯形,如果移动的距离很短则为三角形速度特性,如图1所示。 图1 步进电机的速度曲线 步进电机控制系统结构 PC机在适当的时刻通过对硬件控制电路上的8253计数器0赋初值,设置好加减速过程的频率变化(即速度、加速度变化),以防止失步。例如,在点位控制中设置好速度曲线图,在起动和升速时,使步进电机产生足够的转矩驱动负载,跟上规定的速度和加速度;在减速时,下降特性使负载不产生过冲,停止在规定的位置。硬件控制电路板上的8253产生脉冲方波作为中断信号源,启动细分驱动电路中的固化程序以产生一定频率的脉冲,经功率放大后驱动步进电机运动。步进电机运动方向的改变及启动和停止均由计算机控制硬件控制电路实现。 图2 步进电机控制系统 软件和硬件结合起来一起进行控制,具有电路简单、控制方便等优点。在这种控制中,微机软件占用的存储单元少,程序开发不受定时限制。只要外部中断允许,微机就能在电机的每一步之间自由地执行其他任务,以实现多台步进电机的运动控制。 定时器初值的确定 步进电机的实时控制运用PC机,脉冲方波的产生采用8253定时器,其计数器0工作于方式0以产生脉冲方波,计数器 1工作于方式1起记数作用,8253计数器0的钟频由2MHz晶振提供。设计算机赋给8253计数器0的初值为D1,则产生的脉冲方波频率为f1=f0/D1,周期为T1=1/f1=D1/f0,D1=f0T1=f0/f1。其中,f1为启动频率,f0为晶振频率。步进电机升降速数学模型为使步进电机在运行中不出现失步现象,一般要求其最高运行频率应小于(或等于)步进响应频率fs。在该频率下,步进电机可以任意启动、停止或反转而不发生失步现象。步进电机升降速有两种驱动方式,即三角形与梯形驱动方式(见图1),而三角形驱动方式是梯形驱动的特例,因而我们只要研究梯形方式。电机的加速和减速是通过计算机不断地修改定时器初值来实现的。在电机加速阶段,从启动瞬时开始,每产生一个脉冲,定时器初值减小某一定值,则相应的脉冲周期减小,即脉冲频率增加;在减速阶段,定时器初值不断增加,

(整理)四相步进电机原理图.

四相步进电机原理图 本文先介绍该步进电机的工作原理,然后介绍了其驱动器的软、硬件设计。 1. 步进电机的工作原理 该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图1是该四相反应式步进电机工作原理示意图。 图1 四相步进电机步进示意图 开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。 当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。 四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。 单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.a、b、c 所示:

a. 单四拍 b. 双 四 c八拍 图2.步进电机工作时序波形图 2.基于AT89C2051的步进电机驱动器系统电路原理 步进电机驱动器系统电路原理如图3: 图3 步进电机驱动器系统电路原理图 AT89C2051将控制脉冲从P1口的P1.4~P1.7输出,经74LS14反相后进入9014,经9014放大后控制光电开关,光电隔离后,由功率管TIP122将脉冲信号进行电压和电流放大,驱动步进电机的各相绕组。使步进电机随着不同的脉冲信号分别作正转、反转、加速、减速和停止等动作。图中L1为步进电机的一相绕组。AT89C2051选用频率22MHz的晶振,选用较高晶振的目的是为了在方式2下尽量减小AT89C2051对上位机脉冲信号周期的影响。 图3中的RL1~RL4为绕组内阻,50Ω电阻是一外接电阻,起限流作用,也是一个改善回路时间常数的元件。D1~D4为续流二极管,使电机绕组产生的反电动势通过续流二极管(D1~D4)而衰减掉,从而保护了功率管TIP122不受损坏。

四相八拍步进电机调速

目录 引言 (1) 第1章绪论 (2) 1.1步进电机的概述 (2) 1.1.1 步进电机的特点 (2) 1.1.2步进电机的工作原理简述 (2) 1.2四相八拍步进电机 (2) 1.2.1 四相步进电机工作原理 (2) 1.2.2 八拍得工作方式 (4) 1.3单片机概述 (4) 1.3.1 单片机原理简述 (4) 1.3.2 8031单片机 (5) 1.4总体方案设计 (5) 1.4.1 系统的组成 (5) 1.4.2 系统的工作原理 (6) 第2章系统软件设计 (7) 2.1显示子程序的设计 (7) 2.2键盘子程序的设计 (8) 2.3正反转程序流程图 (11) 2.3.1 正反转程序流程图 (11) 2.3.2 转速快慢程序流程图 (14) 2.4定时中断流程图 (17) 2.5语音报警系统 (19) 2.6主程序设计 (20) 参考文献 (23) 致谢 (24)

引言 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。在本设计方案中采用单片机内部的定时器改变脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。 关键词:步进电机,单片机,调速系统

基于单片机步进电机速度控制研究(正式版)

文件编号:TP-AR-L2541 In Terms Of Organization Management, It Is Necessary To Form A Certain Guiding And Planning Executable Plan, So As To Help Decision-Makers To Carry Out Better Production And Management From Multiple Perspectives. (示范文本) 编订:_______________ 审核:_______________ 单位:_______________ 基于单片机步进电机速 度控制研究(正式版)

基于单片机步进电机速度控制研究 (正式版) 使用注意:该安全管理资料可用在组织/机构/单位管理上,形成一定的具有指导性,规划性的可执行计划,从而实现多角度地帮助决策人员进行更好的生产与管理。材料内容可根据实际情况作相应修改,请在使用时认真阅读。 本文对步进机一个全面的介绍,再基于单片机对 步进电机的控制。本文采用硬件控制系统,通过单片 机MC9S12XS128与光电编码器对步进电机进行速度的 控制。最后对步进电机的速度曲线进行研究。 步进电机又称为脉冲电动机或者阶跃电动 机,作为执行元件,是机电一体化的关键产品之一, 广泛应用于各种自动化控制系统之中,比如当今电子 钟表、工业机械手、包装机械和汽车制动元件的测试 中等。步进电机在未来应用前景会往更加小型化、从 圆形电动机往方形电动机和四相、五相往三相电动机

发展。而这便需要对步进电机的控制提出了更高的要求。 1.步进电机综合介绍 1.1.步进电机分类 步进电动机的种类很多,从广义上讲,步进电机的类型分为机械式、电磁式和组合式三大类型。按结构特点电磁式步进电机可分为反应式(VR)、永磁式(PM)和混合式(HB)三大类;按相数分则可分为单相、两相和多相三种。目前使用最为广泛的为反应式和混合式步进电机。 1.1.1.反应式步进电机 反应式步进电机的转子是由软磁材料制成的,转子中没有绕组。一般为三相,可实现大扭矩的输出,步进角一般为1.5度。它的结构简单,成本低,但噪音大。

四相步进电机控制系统设计资料讲解

四相步进电机控制系 统设计

课题:四相五线单4拍步进制电动机的正反转控制专业:机械电子工程 班级:2班 学号: 20110259 姓名:周后银 指导教师:李立成 设计日期: 2014.6.9~2014.6.20 成绩:

1概述 本实验旨在通过控制STC89C52芯片,实现对四相步进电机的转动控制。具体功能主要是控制电机正转10s、反转10s,连续运行1分钟,并用1602液晶显示屏显示出来。 具体工作过程是:给系统上电后,按下启动开关,步进电机按照预先 实验具体用到的仪器:STC89C52芯片、开关单元、四项步进电机、等硬件设 备。 实验具体电路单元有:单片机最小系统、步进电机连接电路、开关连接电路、1602液晶显示屏显示电路。 2四相步进电机 2.1步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 2.2步进电机的控制 1.换相顺序控制:通电换相这一过程称为脉冲分配。 2.控制步进电机的转向控制:如果给定工作方式正序换相通电,步进 电机正转,如果按反序通电换相,则电机就反转。

3.控制步进电机的速度控制:如果给步进电机发一个控制脉冲,它就 转一步,再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。 2.3步进电机的驱动模块 ABCD四相工作指示灯指示四相五线步进电机的工作状态 2.4步进电机的工作过程 开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动, 1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,

步进电动机的结构与工作原理

步进电动机的结构与工作原理 步进电机是利用电磁铁原理,将脉冲信号转换成线位移或角位移的电机。每来一个电脉冲,电机转动一个角度,带动机械移动一小段距离。 步进电动机 步进机将脉冲信号转换为角位移或线位移。主要要求:动作灵敏、准确、重量轻、体积小、运行可靠、耗电少等。 步进电动机的特点: (1)来一个脉冲,转一个步距角。 (2)控制脉冲频率,可控制电机转速。 (3)改变脉冲顺序,改变方向。 步进电动机的种类 根据励磁式方式的不同分为:反应式、永磁式和混合式(又叫感应子式)三种。反应式步进电机的应用较多。 下面以反应式步进电机为例说明步进电机的结构和工作原理。 图7-20 (a)三相反应式步进电动机工作原理图 A 相通电,A 方向的磁通经转子形成闭合回路。若转子和磁场轴线方向原有一定角度,则在磁场的作用下,转子被磁化,吸引转子,使转子的位置力图使通电相磁路的磁阻最小,使转、定子的齿对齐停止转动。

A 相通电使转子1、3齿和AA' 对齐。 图7-20 (b)三相反应式步进电动机工作原理图 同理,B相通电,转子2、4齿和B相轴线对齐,相对A相通电位置转30; 图7-20 (c)三相反应式步进电动机工作原理图 最后,C相通电,转子1、3齿和C相轴线对齐,相对B相通电比较,转子再次转动30。 步进电动机的结构 步进机主要由两部分构成:定子和转子。它们均由磁性材料构成,以三相为例其定子和转子上分别有六个、四个磁极。

步进电动机结构简图 定子的六个磁极上有控制绕组,两个相对的磁极组成一相。 注意:这里的相和交流电中的“相”的概念不同。步进机通的是直流电脉冲,这主要是指线图的联接和组数的区别。

单片机汇编语言步进电机转速控制系统

大连理工大学本科设计报告题目:步进电机转速控制系统设计 课程名称:单片机综合设计 学院(系):电子信息与电气工程学部 专业: 班级: 学号: 学生姓名: 成绩: 2013 年7 月20 日

题目:步进电机转速控制系统设计 1 设计要求 1)利用ZLG7290的键盘控制直流电机(或步进电机的转速、转向); 2)也可以利用ADC模块(与电位器配合),利用电位器控制转速; 3)利用ZLG7290的8位LED数码管显示电机转向、转速参数显示。 2 设计分析及系统方案设计 实验要求使用步进电机作为被控制对象,由ZLG7290做人机对话平台,利用单片机的P1(8位)和P3(部分口线)构造系统。实验最终实现功能、设计思路以及方案设计如以下几个小节所述。 2.1 系统设计实现功能 根据设计要求、现有设备以及知识储备,完成功能如下: ①由按键S1~S8实现转速切换,其中S1~S4正转,S5~S8反转 ②按键S16作为停止键,按下S10后步进电机停止转动,再按S1~S16步进电机按 照按键对应转速以及转向转动 ③按键S10作为复位键,当按下S10后,无论当前处于何种状态,系统恢复至初 始态 ④8为LED数码管显示当前步进电机转速(speed=0/1 1~4),转速前0表示正转, 1表示反转 ⑤若按下停止键,数码管显示当前转速;若按下复位键,数码管显示初始态speed=00 2.2 设计思路 本次的设计是LED显示与步进电机相结合以及若干功能键的组合的一种设计。根据之前学习的按键中断显示实验和定时器实验,使用INT0和INT1,INT0作为按键中断,INT1作为定时器。在主程序中实现LED初始显示、定时器计时初始、按键中断初始。INT0中断调用中断服务子程序实现对按键键值的判断,并根据相应的按键值实现对应步进电机的变化,并显示该按键对应的转速。INT1定时器中断根据INT0的按键键值,对定时器设定相应的初值,实现步进电机按规定的转速转动。对于按键停止,则是利用中断优先级,当INT0的中断优先级高时,系统进入中断,此时INT1停止计时,也就实现了步进电机的停止,当改变定时器与按键中断的优先级时,即把INT0设为低优先级,INT1设为高优先级,步进电机重新开始转动。此时添加一个对INT0位地址的查询,若有按键即正/反转的4档转速所对应的按键,步进电机开始重新转动。对于复位功能,则同样是利用按键键值的判断,在对应键值下控制电机初始化。

四相步进电机控制系统设计

《单片机课程设计》设计报告 设计题目:四相步进电机控制系统设计 系别:自动化工程系 专业:测控技术与仪器 班级学号: 姓名:李建华 指导教师:吕江涛张宝健 设计时间:2011/12/29

目录 1 概述 (1) 2 四项步进电机 (2) 2.1步进电机 (2) 2.2步进电机的控制 (2) 2.3步进电机的工作过程 (2) 3 电路图设计 (4) 3.1 AT89S52概述 (4) 3.2 最小系统 (4) 3.3 复位电路 (5) 3.4 拨码电路 (5) 3.5 电机驱动电路 (6) 4 程序设计 (7) 4.1 主程序框图 (7) 4.2 步进电机速度控制程序框图 (8) 4.3 拨码开关输入程序框图 (10) 5 总结 (11) 5.1心得 (11) 5.2 收获 (11) 附录一源程序 (12) 附录二电路原理图 (15) 1概述

东 北 大 学 秦 皇 岛 分 校 报 告 用 纸 第 页 本实验旨在通过控制AT89S52芯片,实现对四相步进电机的转动控制。具体功能主要是控制电机正转、反转、加速与减速。 具体工作过程是:给试验箱上电后,拨动启动开关,步进电机按照预先设置的转速和转动方式转动。调整正反转按钮,步进电机实现正反转切换;拨动加速开关,步进电机转速加快,速度达到最大值,不再加速;拨动减速开关时,电机减速转动,速度减到最小速度,停止减速。 实验具体用到的仪器:AT89S52(试验箱上为89C58)芯片、拨码开关单元、四项步进电机等硬件设备。 实验具体电路单元有:单片机最小系统、步进电机连接电路、拨码开关连接电路。 2 四项步进电机 AT89S52 单片机 步进电机 (驱动) 独立按键 键盘 系统控制框图

A步进电机四相八拍

一.方案设计 本设计采用电压为DC12V的四相八拍步进电机35BYJ46型电机,用ULN2803作为步进电动机驱动电路主芯片,以8255A作为8088并行输出接口,8088对步进电机的控制信号则通过8255A送到ULN2803. 关于转向与转速,通过查表的方式实现,以逐次递增方向查表,依次输出表中数据,则步进电机正转;以逐次递减方向查表,则步进电机反转,即通过一个表实现步进电机的正转与反转。转速则通过调用延时子程序,当调用延时较长的子程序时,则步进电机转速慢,当调用延时较短的子程序时,步进电机转速加快。 二、硬件系统的基本原理 在工业控制系统里步进电动机是主要的控制元件之一。步进电机具有快速启动停止,精确定位和能够使用数字信号进行控制,能够实现脉冲-角度转换的特点,因此得到广泛的应用。在使用步进电机的控制系统里,脉冲分配器产生周期的控制脉冲序列,步进电机驱动器每接收一个脉冲就控制步进电机沿给定方向步进一步。 实验使用型号为35BYJ46的四相步进电机,采用四相八拍控制方式工作。步进电机的转角和转动方向取决于各相中通电脉冲的个数和顺序。8088控制机控制步进电机的电路见图1-1。计算机将表1-1所示的各种通电方式转换成相应的状态控制字,通过计算机将各种状态字依次送到接口电路,并根据速度的要求作相应的延时处理。由接口电路输出所需的控制脉冲通过驱动电路路使步进电机按要求动作。驱动电路使用ULN2803A达林顿晶体管,反相驱动,驱动电流可以达到500mA。驱动电路的作用是对控制脉冲进行放大,产生步进电机工作所需要的激励电流。

图1-1 步进电机控制实验原理图 35BYJ46型步进电机使用DC12V 电压,采用四相八拍控制相序。励磁线圈和励磁顺序如图1-2,控制相序如表1-1。表中的PB10~PB13对应并行接口8055的B 口0~3位。如果使用8255B 口的其它位则相应的状态字也要改变。 表1-1 步进电机四相八拍相序表 步 序 相 序 通电相 对应PB 口的输出值 (状态字) PB13 PB12 PB11 PB10 1 0 0 0 1 A 01H 2 0 0 1 1 AB 03H 3 0 0 1 0 B 02H 4 0 1 1 0 BC 06H 5 0 1 0 0 C 04H 6 1 1 0 0 CD 0CH 7 1 0 0 0 D 08H 8 1 0 1 DA 09H 1 2 3 4 5 6 7 8 5 + + + + + + + + 4 - - - 3 - - - 5 (黑) 4 (黄) 3 (棕) 2 (蓝) 1 (红) +12V A ’ B ’ C ’ D ’ A B C D PB0 PB1 PB2 PB3 8255 驱动单元 步进电动机

步进电机控制速度的方法

步进电机只能够由数字信号控制运行的,当脉冲提供给驱动器时,在过于短的时间里,控制系统发出的脉冲数太多,也就是脉冲频率过高,将导致步进电机堵转。要解决这个问题,必须采用加减速的办法。就是说,在步进电机起步时,要给逐渐升高的脉冲频率,减速时的脉冲频率需要逐渐减低。这就是我们常说的“加减速”方法。 步进电机转速度是根据输入的脉冲信号的变化来改变的,从理论上讲,给驱动器一个脉冲,步进电机就旋转一个步距角(细分时为一个细分步距角)。实际上,如果脉冲信号变化太快,步进电机由于内部的反向电动势的阻尼作用,转子与定子之间的磁反应将跟随不上电信号的变化,将导致堵转和丢步。 所以步进电机在高速启动时,需要采用脉冲频率升速的方法,在停止时也要有降速过程,以保证实现步进电机精密定位控制。加速和减速的原理是一样的。以加速实例加以说明:加速过程是由基础频率(低于步进电机的直接起动最高频率)与跳变频率(逐渐加快的频率)组成加速曲线(降速过程反之)。跳变频率是指步进电机在基础频率上逐渐提高的频率,此频率不能太大,否则会产生堵转和丢步。 步电机系统解决方案

加减速曲线一般为指数曲线或经过修调的指数曲线,当然也可采用直线或正弦曲线等。使用单片机或者PLC,都能够实现加减速控制。对于不同负载、不同转速,需要选择合适的基础频率与跳变频率,才能够达到最佳控制效果。指数曲线,在软件编程中,先算好时间常数存贮在计算机存贮器内,工作时指向选取。通常,完成步进电机的加减速时间为300ms以上。如果使用过于短的加减速时间,对绝大多数步进电机来说,就会难以实现步进电机的高速旋转。 深圳市维科特机电有限公司成立于2005年,是步进电机产品的销售、系统集成和应用方案提供商。我们和全球产品性价比高的生产厂家合作,结合本公司专家团队多年的客户服务经验,给客户提供有市场竞争力的步进电机系统解决方案。我们的主要产品有信浓(SHINANO KENSHI)混合式步进电机、日本脉冲(NPM)永磁式步进电机、减速步进电机、带刹车步进电机、直线步进电机、空心轴步进电机、防水步进电机以及步进驱动器、减振垫、制振环、电机引线、拖链线、齿轮、同步轮、手轮等专业配套产品。我们还供应德国TRINAMIC驱动芯片和日本NPM运动控制芯片。根据客户配套需要,我们还可以 步电机系统解决方案

四相步进电机驱动电路及驱动程序设计

四相步进电机驱动电路及驱动程序设计 我们用一个单片机控制多个步进电机指挥跳舞机器人的双肩、双肘和双脚伴着音乐做出各种协调舒缓充满感情的动作,荣获一等奖。电路采用74373锁存,74LS244和ULN2003作电压和电流驱动,单片机(Atc52)作脉冲序列信号发生器。程序设计基于中断服务和总线分时利用方式,实时更新各个电机的速度、方向。整个舞蹈由运动数据所决定的一截截动作无缝连接而成。本文主要介绍一下这个机器人的四相五线制步进电机驱动电路及程序设计. 1、步进电机简介 步进电机根据内部线圈个数不同分为二相制、三相制、四相制等。本文以四相制为例介绍其内部结构。图1为四相五线制步进电机内部结构示意图。

2、四相五线制步进电机的驱动电路 电路主要由单片机工作外围电路、信号锁存和放大电路组成。我们利用了单片机的I/O端口,通过74373锁存,由74LS244驱动,ULN2003对信号进行放大。8个电机共用4bit I/O端口作为数据总线,向电机传送步进脉冲。每个电机分配1bit的I/O端口用作74373锁存信号,锁存步进电机四相脉冲,经ULN2003放大到12V驱动电机运转。 电路原理图(部分)如图2所示。 (1)Intel 8051系列单片机是一种8位的嵌入式控制器,可寻址64K字节,共有32个可编程双向I/O口,分别称为P0~P3。该系列单片机上集成8K的ROM,128字节RAM可供使用。 (2)74LS244为三态控制芯片,目的是使单片机足以驱动ULN2003。

ULN2003是常用的达林顿管阵列,工作电压是12V,可以提供足够的电流以驱动步进电机。关于这些芯片的详细介绍可参见它们各自的数据手册。 (3)74373是电平控制锁存器,它可使多个步进电机共用一组数据总线。我们用P1.0~P1.7作为8个电机的锁存信号输出端,见表1。 这是一种基于总线分时复用的方式,以动态扫描的方式来发送控制信号,这和高级操作系统里的多任务进程调度的思想一致。这种方法明显的好处是节省I/O口,使系统可以控制更多的步进电机。本电路设计为控制8个。 3 、程序设计 传统的步进电机驱动程序利用简单的条件循环来发送脉冲序列,但当电机数目发生变化时,编程繁杂,冗余代码较多,难以做到信号占空比一致,进而产生“抖动” 现象。下面提出一种基于中断服务方式,面向舞蹈动作,可实时改变各个电机速度和方向(每200ms可改变一次)的程序设计方法。 3.1 速度归一化和线性关系 我们将速度量化成一个-128~127内可变的数,正号代表正转,负号代表返转,称之归一化速度(-128~127为一个字节)。给每个电机分

步进电机的速度控制要点.(DOC)

步进电机的速度控制 步进电机是一种能将脉冲信号转换成角位移或线位移的执行器件,广泛应用于各种工业设备中。步进电机的角位移或线位移与控制脉冲数成正比。通过改变脉冲频率就可以调节电机的转速,实现电机的加减速,转向等。 在实际步进电机应用中,尤其在要求快速响应的控制系统中,其关键问题是如何保证步进电机在运行过程中不发生失步。 调速电动机控制系统按其功能分为以下几个部分:中央处理器首选8051系列单片机;测速电路;A/D转换电路;供电电路;过零脉冲的形成电路;可控硅的触发电路;通信串行接口电路;显示接口电路以及时钟复位电路。 步进脉冲的调频方法 1、软件延时:通过调用标准的延时子程序来实现。优点是程序简单,不占硬件资源,缺点是浪费CPU的宝贵时间,在控制过程中,CPU不能做其他的事。 2、硬件定时:假设控制器为AT89S52单片机,晶振频率为12MHZ,将T0作为定时器使用,设定T0工作在模式1(16为定时/计数器)。只需要改变T0的定时常数,就可以实现步进电机的调速。 步进电机的速度控制规律: 1、按梯形规律升降,即步进电机的转速每跃进一个台阶后,恒速行驶一段时间。这种方法的缺点是在恒速阶段没有加速,为充分利用步进电机的加速性能,而且高频阶段加速台阶高,步进电机在速度阶跃时会发生失步。 2、按直线规律升降速方式,由于这种升速方法的及速度是恒定的,其缺点是未充分考虑步进电机输出力矩随速度变化的特性,步进电机高速时会发生失步。 3、第三种是按指数规律升降速,在以微处理器为核心的驱动器中,常用定时常数递减(递加)的方法实现升降速,升速曲线成上凹形,低频时升速太慢,高速时升速太快。 (注:素材和资料部分来自网络,供参考。请预览后才下载,期待你的好评与关注!)

用PLC控制四相双四拍步进电机的电路设计

用PLC控制四相双四拍步进电机的电路设计 -------------------------------------------------------------------------------- 用PLC控制四相双四拍步进电机的电路设计 1 引言 步进电机是一种将电脉冲信号转换成直线位移或角位移的执行元件。步进电机的输出位移量与输入脉冲个数成正比,其转速与单位时间内输入的脉冲数(即脉冲频率)成正比,其转向与脉冲分配到步进电机的各相绕组的相序有关。所以只要控制指令脉冲的数量、频率及电机绕组通电的相序.便可控制步进电机的输出位移量、速度和转向。步进电机具有较好的控制性能,其启动、停车、反转及其它任何运行方式的改变,都在少数脉冲内完成,且可获得较高的控制精度,因而得到了广泛的应用 2 PLC的特点及应用 可编程序控制器(Programmable Logic Controller)简称PLC,是在继电器控制和计算机控制的基础上开发出来的,并逐渐发展成以微处理器为核心,把自动化技术、计算机技术、通讯技术融为一体的新型工业自动控制装置。它具有可靠性高、环境适应性好、编程简单、使用方便以及体积小、重量轻、功耗低等优点,因此迅速普及并成为当代工业自动化的支柱设备之一。 2.1高可靠性 PLC所有的I/O接口电路均采用光电隔离,使工业现场的外电路与PLC内部电路之间电气上隔离;各输入端均采用RC滤波器,其滤波时间常数一般为10~20ms;各模块均采用屏蔽措施,以防止辐射干扰;采用性能优良的开关电源:具有良好的自诊断功能.一旦电源或其他软、硬件发生异常情况,CPU立即采用有效措施,以防止故障扩大;简化编程语言,对信息进行保护和恢复.设置警戒时钟WDT;对程序和动态 数据进行电池后备。上述措施使PLC有高的可靠性。而采用循环扫描工作方式也提高其抗干扰能力。 2.2通用性强、采用模块化结构 各个PLC的生产厂家都有各种系列化产品和各种模块供用户选择。用户可以根据控制对象的规模和控制要求,选择合适的PLC产品,组成所需要的控制系统。在做应用设计时,一般不需要用户制作任何附加装置.从而能使设计工作简化。为了适应各种工业控制需要,除了单元式的小型PLC以外。绝大多数PLC均采用模块化结构。PLC的各个部件。包括CPU、电源、I/O等均采用模块化设计,由机架及电缆将各模 块连接起来,系统的规模和功能可根据用户的需要自行组合且扩充方便、组合灵活。 此外PLC具有丰富的I/O接口模块、编程简单易学、手段多;安装简单、维修方便;速度快等特点,是“机电一体化”特有的产品。 2.3 PLC的应用领域 PLC在工业自动化领域起着举足轻重的作用.在国内外已广泛应用于机械、冶金、石油、化工、轻工、纺织、电力、电子、食品、交通等行业。实践证明80%以上的工业控制可以使用PLC来完成。PLC可用于逻辑顺序控制、过程控制、运动及位置控制、数据处理、通信联网等。使用PLC可实现步进电机的控制.可使步进电机动作的抗干扰能力强、可靠

基于DC5V四相步进电机变频调速的控制

题目:步进电机正反转及调速设计 陈超 渭南师范学院物理与电气工程系2008级电气(1)班 摘要:利用单片机组成的变频调速控制器可以实现从低频(1~2 Hz) 起动到50 Hz ,可以消除以往工频50 Hz 直接起动对电机的冲击, 延长电机的使用寿命,同时由于变频器的输出电压可以自适应调节, 使负载电机可以工作在额定电压以下,不仅节能且可延长电机的使用寿命。本设计利用Atmel公司的AT89S52单片机对步进电机的变频调速进行开发,设计了实现所需功能的硬件电路,应用C语言进行软件编程,并用实验板进行演示、验证。 关键词:单片机、AT89S52、变频调速、C语言编程 一、绪论 1.1 课题背景 随着电力电子技术的日益发展和PWM控制技术的成熟, 利用电机的转速和输入电源的频率是线性关系这一原理, 将50 Hz 的交流电通过整流和逆变转换为频率可调的电源, 供给异步电动机, 实现调速的目的。不仅在方便经济的基础上有一定的优势,同时21世纪又是一个低碳环保型社会,对变频调速的研发具有很高的实际价值。

1.2 设计任务系统控制原理图 1.3 课题意义 在相应绿色节能经济的同时,顺应21世纪低碳经济的发展模式,本设计采用 经济、小型、环保、低功耗的单片机作为核心控制模块,模拟变频器工作对电机实行“变频调速”控制。采用变频的目的在,于当前变频调速技术已经在经济社会,绿色环保社会,低碳节约型社会发挥着重要的最用。 目前变频调速器已全部采用了数字化技术,并且日趋小型化、高可靠性和高精度。从应用角度看,其不仅具有显著的节电性能,而且还具有如下的优良性能: (1) 高速响应、低噪声、大范围、高精度平滑无级调速; (2) 体积小、重量轻、可挂墙安装,占地面积小; (3) 保护功能完善,能自诊断显示故障所在,维护简便; (4) 操作方便、简单; (5) 内设功能多,可满足不同工艺要求; (6) 具有通用的外部接口端子,可同计算机、PLC 联机,便于实现自动控制; (7) 软起动、软停机,具有电流限定和转差补偿控制; (8) 电动机直接在线起动,起动转矩大,起动电流小,减小对电网和设备的冲击,并具有转矩提升功能,节省软起动装置; (9) 功率因数高,节省电容补偿装置; AT89S52 电源电路 时钟电路 键盘电路 LCD 显示电路 步进电机驱动电路 霍尔检测电路

自己做的四相八拍步进电机调速

1 引言 在工业控制系统里步进电动机是主要的控制元件之一。步进电机具有快速启动停止,精确定位和能够使用数字信号进行控制,能够实现脉冲-角度转换的特点,因此得到广泛的应用。在使用步进电机的控制系统里,脉冲分配器产生周期的控制脉冲序列,步进电机驱动器每接收一个脉冲就控制步进电机沿给定方向步进一步。 本实验旨在通过控制AT89S52芯片,实现对四相步进电机的转动控制。具体功能主要是控制电机正转、反转、加速与减速。 具体工作过程是:给试验箱上电后,拨动启动开关,步进电机按照预先设置的转速和转动方式转动。调整正反转按钮,步进电机实现正反转切换;拨动加速开关,步进电机转速加快,速度达到最大值,不再加速;拨动减速开关时,电机减速转动,速度减到最小速度,停止减速。 2 四相步进机 2.I 步进电机 步进电机是一种将电脉冲转化为角位移的执行机构。电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。 2.2 步进电机的控制

1.换相顺序控制:通电换相这一过程称为脉冲分配。例如:混合式步进电机 的工作方式,其各相通电顺序为A-B-C-D,通电控制脉冲必须严格按照这一顺序分别控制A,B,C,D相的通断。 2.控制步进电机的转向控制:如果给定工作方式正序换相通电,步进电机正 转,如果按反序通电换相,则电机就反转。 3.控制步进电机的速度控制:如果给步进电机发一个控制脉冲,它就转一步, 再发一个脉冲,它会再转一步。两个脉冲的间隔越短,步进电机就转得越快。 2.3 步进电机的工作过程 图2.1步进电机设计图 开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。 而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。 依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。 四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。 八拍工作方式的电源通电时序与波形如图所示:

51单片机控制四相步进电机解析

51单片机控制四相步进电机 2009年07月21日星期二 12:44 51单片机控制四相步进电机 2009-03-01 18:53 接触单片机快两年了,不过只是非常业余的兴趣,实践却不多,到现在还算是个初学者吧。这几天给自己的任务就是搞定步进电机的单片机控制。以前曾看过有关步进电机原理和控制的资料,毕竟自己没有做过,对其具体原理还不是很清楚。今天从淘宝网买了一个EPSON的UMX-1型步进电机,此步进电机为双极性四相,接线共有六根,外形如下 图所示: 详细内容: https://www.wendangku.net/doc/c55394352.html,/31907887_d.h tml

拿到步进电机,根据以前看书对四相步进电机的了解,我对它进行了初步的测试,就是将5伏电源的正端接上最边上两根褐色的线,然后用5伏电源的地线分别和另外四根线(红、兰、白、橙)依次接触,发现每接触一下,步进电机便转动一个角度,来回五次,电机刚好转一圈,说明此步进电机的步进角度为360/(4×5)=18度。地线与四线接触的顺序相反,电机的转向也相反。 如果用单片机来控制此步进电机,则只需分别依次给四线一定时间的脉冲电流,电机便可连续转动起来。通过改变脉冲电流的时间间隔,就可以实现对转速的控制;通过改变给四

线脉冲电流的顺序,则可实现对转向的控制。所以,设计了如下电路图: C51程序代码为: 代码一 #include static unsigned int count; static unsigned int endcount; void delay(); void main(void)

相关文档
相关文档 最新文档