当前位置:文档之家› 步进电机角度控制

步进电机角度控制

步进电机角度控制
步进电机角度控制

步进电机角度控制

1.编程控制步进电机顺时针行走,180度(角度显示在七段LED上),3秒后行走45度(显示角度),3秒后行走90度(显示角度),3秒后行走180度,依次循环。

#include

#define uchar unsigned char

#define uint unsigned int

#define PA 0x60

#define PB 0x61

#define PC 0x62

#define CTRL 0x63

uchar pai[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};

uchar teble[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

uint m=0;

uchar a3,a2,a1,a0=0;

void delay(uint xms)

{

uint i,j;

for(i=xms;i>0;i--){

for(j=110;j>0;j--);}

}

void display()

{

outp(PA,teble[a0]);

outp(PB,0x07);

delay(10);

outp(PA,teble[a1]);

outp(PB,0x0b);

delay(10);

outp(PA,teble[a2]);

outp(PB,0x0d);

delay(10);

outp(PA,teble[a3]);

outp(PB,0x0e);

delay(10);

}

void zhuan(uint zz)

{

uint temp,i,j;

a3=zz/1000

a2=(zz%1000)/100;

a1=(zz%100)/10;

a0=(zz%10);

temp=(uint)(zz/15*4);

for(i=temp;i>0;i--)

{

for(j=3;j>0;j--)

display();

outp(PC,pai[m]);

m++;

if(m>7)

m=0;

}

}

void main()

{

int i;

outp(CTRL,0x88);

while(1)

{

zhuan(180);

for(i=75;i>0;i--)

display();

zhuan(45);

for(i=75;i>0;i--)

display();

zhuan(90);

for(i=75;i>0;i--)

display();

}

}

2.完成A/D转换实验并把转换结果在七段LED上显示出来。

#include

#define uchar unsigned char

#define uint unsigned int

#define PA 0x60

#define PB 0x61

#define PC 0x62

#define CTRL 0x63

#define AD 0x00

uchar pai[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; uchar teble[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; uint m=0;

uchar a3,a2,a1,a0;

void delay(uint xms)

{

uint i,j;

for(i=xms;i>0;i--){

for(j=110;j>0;j--);}

}

void display()

{

outp(PA,teble[a0]);

outp(PB,0x07);

delay(10);

outp(PA,teble[a1]);

outp(PB,0x0b);

delay(10);

outp(PA,teble[a2]);

outp(PB,0x0d);

delay(10);

outp(PA,teble[a3]);

outp(PB,0x0e);

delay(10);

}

void main()

{

int temp=0;

outp(CTRL,0x88);

while(1)

{

temp=inp(AD);

a3=0;

a2=0;

a1=temp/16;

a0=(temp%16);

display();

}

}

3.如实验指导书(3)。

#include

#define uchar unsigned char

#define uint unsigned int

#define PA 0x60

#define PB 0x61

#define PC 0x62

#define CTRL 0x63

#define AD 0x00

uchar pai[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //正转电机时序

uchar pai_fan[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; //反转电机时序

uchar teble[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, //数码管段选

0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

uint jiao[]={0,0,0}; //贮存三次设置的电机角度

uint m=0; //记录电机相序

uint disp; //数码管显示的数值

uint set_flag,jiao_max,jiao_now,change_flag=1,zhuan_flag;

uint qian,bai,shi,ge;

void delay(uint xms) //延时函数,约一毫秒

{

uint i,j;

for(i=xms;i>0;i--){

for(j=110;j>0;j--);}

}

void display() //显示子程序

{

uchar a3,a2,a1,a0;

uint temp1,temp;

if(change_flag==0) //如果change_flag=0;显示实时AD转换后对应的角度

{ //否则显示disp

temp=inp(AD);

if(temp==0)

temp=1;

temp1=(jiao_max*50)/256;

temp1=temp*temp1;

temp1=temp1/50;

disp=temp1;

}

a3=disp/1000; //分别取所显示数字的千,百,十,个位a2=(disp%1000)/100;

a1=(disp%100)/10;

a0=disp%10;

outp(PA,teble[a0]); //送段选

outp(PB,0x07); //送位选

delay(10); //延时

outp(PA,teble[a1]);

outp(PB,0x0b);

delay(10);

outp(PA,teble[a2]);

outp(PB,0x0d);

delay(10);

outp(PA,teble[a3]);

outp(PB,0x0e);

delay(10);

}

void fan_zhuan(uint xx) //电机反转程序

{

static uint temp,i,j;

temp=((xx*10)/15*4);

temp=temp/10; //计算要转的拍

for(i=temp;i>0;i--)

{

for(j=1;j>0;j--)

display();

outp(PC,pai_fan[m]); //反转

m++;

if(m>7) //8拍,如果等于8拍,从新

m=0;

}

}

void zhuan(uint zz) //正转

{

static uint temp,i,j;

temp=((zz*10)/15*4);

temp=temp/10;

for(i=temp;i>0;i--)

{

for(j=1;j>0;j--)

display();

outp(PC,pai[m]);

m++;

if(m>7)

m=0;

}

}

void key_bai() //键百,每按一次加一百,要进位时,自减一千{

static uint temp,temp1;

change_flag=1;

temp=jiao_max/1000;

jiao_max=jiao_max+100;

temp1=jiao_max/1000;

if((temp1-temp)==1)

jiao_max=jiao_max-1000;

disp=jiao_max;

}

void key_set() //键SET,

{

static uint temp,temp1;

change_flag=0;

outp(AD,0x0d); //读取当前AD值

temp=inp(AD);

if(temp==0)

temp=1;

temp1=(jiao_max*50)/256; //转换成要旋转的角度。

temp1=temp*temp1;

temp1=temp1/50;

if(set_flag==0)

disp=temp1;

else

{

jiao[set_flag-1]=temp1; //存储到JIAO数组中。

disp=temp1;

}

set_flag++;

if(set_flag==4) //存储3个角度

{

set_flag=0;

change_flag=1;

}

}

void key_clr() //键CLR,主要是让电机反转回到原来的位置。

{

static uint temp;

change_flag=1;

if(zhuan_flag==1) //加个标志,如果没有按下START,则按CLR不反转。

{

zhuan_flag=0;

temp=jiao[0]+jiao[1];

temp=temp+jiao[2];

//temp=temp%360;

disp=temp;

fan_zhuan(temp);

disp=0;

}

set_flag=0;

jiao[0]=0; //清楚角度值

jiao[1]=0;

jiao[2]=0;

}

void key_qian() ////键百,每按一次加一千,要进位时,自减一万。

{

static uint temp,temp1;

change_flag=1;

temp=jiao_max/10000;

jiao_max=jiao_max+1000;

temp1=jiao_max/10000;

if((temp1-temp)==1)

jiao_max=jiao_max-10000;

disp=jiao_max;

}

void key_ge() ////键百,每按一次加一,要进位时,自减一十{

static uint temp,temp1;

change_flag=1;

temp=jiao_max/10;

jiao_max=jiao_max+1;

temp1=jiao_max/10;

if((temp1-temp)==1)

jiao_max=jiao_max-10;

disp=jiao_max;

}

void key_kong() //有一个按键没用到。

{

change_flag=1;

}

void key_shi() ////键百,每按一次加十,要进位时,自减一百。{

static uint temp,temp1;

change_flag=1;

temp=jiao_max/100;

jiao_max=jiao_max+10;

temp1=jiao_max/100;

if((temp1-temp)==1)

jiao_max=jiao_max-100;

disp=jiao_max;

}

void key_start() //开始旋转,转了三个角度后停止。

{

static uint i;

change_flag=1;

zhuan_flag=1;

set_flag=0;

disp=jiao[0];

zhuan(jiao[0]);

for(i=75;i>0;i--)

display();

disp=jiao[1];

zhuan(jiao[1]);

for(i=75;i>0;i--)

display();

disp=jiao[2];

zhuan(jiao[2]);

for(i=75;i>0;i--)

display();

disp=0;

}

void keyscan() //键盘扫描。

{

static uint temp,temp1;

outp(PB,0xfe); //set bai

temp=inp(PC);

temp=temp&0xc0;

if(temp!=0xc0) //有按键按下。

{

switch(temp)

{

case 0x80:

key_set();

break;

case 0x40:

key_bai();

break;

}

while(temp!=0xc0) //等待按键放松

{

display();

outp(PB,0xfe);

temp=inp(PC);

temp=temp&0xc0;

}

}

outp(PB,0x0d);

temp=inp(PC);

temp=temp&0xc0;

if(temp!=0xc0)

{

switch(temp)

{

case 0x80:

key_qian();

break;

case 0x40:

key_clr();

break;

}

while(temp!=0xc0)

{

display();

outp(PB,0x0d);

temp=inp(PC);

temp=temp&0xc0;

}

}

outp(PB,0x0b);

temp=inp(PC);

temp=temp&0xc0;

if(temp!=0xc0)

{

switch(temp)

{

case 0x80:

key_kong();

break;

case 0x40:

key_ge();

break;

}

while(temp!=0xc0)

{

display();

outp(PB,0x0b);

temp=inp(PC);

temp=temp&0xc0;

}

}

outp(PB,0x07);

temp=inp(PC);

temp=temp&0xc0;

if(temp!=0xc0)

{

switch(temp)

{

case 0x80:

key_start();

break;

case 0x40:

key_shi();

break;

}

while(temp!=0xc0)

{

display();

outp(PB,0x07);

temp=inp(PC);

temp=temp&0xc0;

}

}

}

void main() //主函数。

{

outp(CTRL,0x88); //控制位,PA输出,PB输出,PC高位输入,低位输出while(1)

{

keyscan(); //调用按键扫描子程序

display(); //调用显示子程序。

}

}

步进电机控制实验

步进电机控制实验 一、实验目的: 了解步进电机工作原理,掌握用单片机的步进电机控制系统的硬件设计方法,熟悉步进电机驱动程序的设计与调试,提高单片机应用系统设计和调试水平。 二、实验容: 编写并调试出一个实验程序按下图所示控制步进电机旋转: 三、工作原理: 步进电机是工业过程控制及仪表中常用的控制元件之一,例如在机械装置中可以用丝杠把角度变为直线位移,也可以用步进电机带螺旋电位器,调节电压或电流,从而实现对执行机构的控制。步进电机可以直接接收数字信号,不必进行数模转换,用起来非常方便。步进电机还具有快速启停、精确步进和定位等特点,因而在数控机床、绘图仪、打印机以及光学仪器中得到广泛的应用。 步进电机实际上是一个数字/角度转换器,三相步进电机的结构原理如图所示。从图中可以看出,电机的定子上有六个等分磁极,A、A′、B、B′、C、C ′,相邻的两个磁极之间夹角为60o,相对的两个磁极组成一相(A-A′,B-B′,C-C′),当某一绕组有电流通过时,该绕组相应的两个磁极形成N极和S极,每个磁极上各有五个均匀分布矩形小齿,电机的转子上有40个矩形小齿均匀地分布的圆周上,相邻两个齿之间夹角为9°。 当某一相绕组通电时,对应的磁极就产生磁场,并与转子形成磁路,如果这时定子的小齿和转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子和定子的齿相互对齐。由此可见,错齿是促使步进电机旋转的原因。 三相步进电机结构示意图 例如在三相三拍控制方式中,若A相通电,B、C相都不通电,在磁场作用下使转子齿和A相的定子齿对齐,我们以此作为初始状态。设与A相磁极中心线对齐的转子的齿为0

步进电机的速度控制

步进电机的速度控制 步进电机区别于其他控制用途电机的最大特点是,它可接受数字控制信号(电脉冲信号)并转化成与之相对应的角位移或直线位移,因而本身就是一个完成数字模拟转化的执行元件。而且它能进行开环位置控制,输入一个脉冲信号就得到一个规定的位置增量。这样的增量位置控制系统与传统的直流伺服系统相比,其成本明显降低,几乎不必进行系统调整。因此,步进电机广泛应用于数控机床、机器人、遥控、航天等领域,特别是微型计算机和微电子技术的发展,使步进电机获得更为广泛的应用。 步进电机的速度特性 步进电机的转速取决于脉冲频率、转子齿数和拍数。其角速度与脉冲频率成正比,而且在时间上与脉冲同步。因而在转子齿数和运行拍数一定的情况下,只要控制脉冲频率即可获得所需速度。由于步进电机是借助它的同步转矩而启动的,为了不发生失步,启动频率是不高的。特别是随着功率的增加,转子直径增大,惯量增大,启动频率和最高运行频率可能相差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设计任务与要求 (2) 1.1设计目的 (2) 1.2设计要求和设计指标 (2) 2方案分析 (3) 3系统硬件部分 (4) 3.1主控模块 (4) 3.2键盘输入模块 (7) 3.3电机模块 (8) 3.4显示模块 (11) 4系统软件部分 (13) 4.1整体流程图及主程序 (13) 4.2按键流程图及程序 (14) 4.3显示模块程序 (19) 4.4电动机模块流程图及程序 (20) 4.5中断程序 (22) 5仿真运行 (24) 6心得体会 (25) 参考文献 (26) 附录一:Protues硬件仿真图 (27) 附录二:系统程序 (27)

摘要 步进电机在控制系统中具有很广泛的应用。它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器或角位移发生器等。 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。 此次设计使用C语言作为编程语言。C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件、三维、二维图形和动画,具体应用例如单片机以及嵌入式系统开发。 硬件部分使用89C51作为主控芯片,并使用ULN2003A将单片机的信号放大以控制步进电机,同时使用4位数码管显示转动角度及次数。 关键词:步进电机C语言AT89C51 ULN2003A 转动角度

步进电动机控制方法

<<技能大赛自动线的安装与调试>>项目二等奖 心得二 心得二:步进电机的控制方法 我带队参加《2008年全国职业院校技能大赛自动线的安装与调试》项目,我院选手和其他院校的三位选手组成了天津代表队,我院选手所在队获得了《2008年全国职业院校技能大赛自动线的安装与调试》项目二等奖,为天津市代表队争得了荣誉,也为我院争得了荣誉。以下是我这个作为教练参加大赛的心得二:步进电机的控制方法 《2008年全国职业院校技能大赛自动线的安装与调试》项目的主要内容包括如气动控制技术、机械技术(机械传动、机械连接等)、传感器应用技术、PLC控制和组网、步进电机位置控制和变频器技术等。但其中最为重要的就是PLC方面的知识,而PLC中最重要就是组网和步进电机的位置控制。 一、 S7-200 PLC 的脉冲输出功能 1、概述 S7-200 有两个置PTO/PWM 发生器,用以建立高速脉冲串(PTO)或脉宽调节(PWM)信号波形。 当组态一个输出为PTO 操作时,生成一个50%占空比脉冲串用于步进电机或伺服电 机的速度和位置的开环控制。置PTO 功能提供了脉冲串输出,脉冲周期和数量可由用户控制。但应用程序必须通过PLC内置I/O 提供方向和限位控制。 为了简化用户应用程序中位控功能的使用,STEP7--Micro/WIN 提供的位控向导可以帮助您在几分钟内全部完成PWM,PTO 或位控模块的组态。向导可以生成位置指令,用户可以用这些指令在其应用程序中为速度和位置提供动态控制。 2、开环位控用于步进电机或伺服电机的基本信息 借助位控向导组态PTO 输出时,需要用户提供一些基本信息,逐项介绍如下: ⑴最大速度(MAX_SPEED)和启动/停止速度(SS_SPEED) 图1是这2 个概念的示意图。 MAX_SPEED 是允许的操作速度的最大值,它应在电机力矩能力的范围。驱动负载所需的力矩由摩擦力、惯性以及加速/减速时间决定。

三相双三拍步进电机控制系统设计要点

摘要 进步电机是几点数字控制系统中常用的控制元件之一。由于其精度高,体积小,控制方便灵活,因此在智能仪表和位置中得到广泛的应用。 步进电机是机电控制中一种常见的执行机构。步进电机最早是在1920年由英国人所开发。1950年后期晶体管的发明也逐渐应用在步进电机上,这对于数字化的控制变得更为容易。以后经过不断改良,使得今日步进电机已广泛运用在需要高定位精度、高分解性能、高响应性、信赖性等灵活控制性高的机械系统中。在生产过程中要求自动化、省人力、效率高的机器中,我们很容易发现步进电机的踪迹,尤其以重视速度、位置控制、需要精确操作各项指令动作的灵活控制性场合步进电机用得最多。步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。他易于实现与计算机或其他数字元件接口,适用于数字控制系统。

1 课程设计任务和要求 课程设计任务 设计一个三相步进电机控制系统,设计一个计算机步进电机程序控制系统,可以对步进电机的转速、转向以及位置进行控制。通过设计,掌握步进电机的工作原理、掌握步进电机控制系统的设计原理、设计步骤,进一步提高综合运用知识的能力。 要求完成的主要任务: (1)设计接口电路和驱动电路,对步进电机进行控制。 (2)选择控制算法,编写控制程序,实现三相步进电机在双三拍工作方式下先正转90度,然后再反转60度,要求其速度可调,转向可控。 (3)写出设计说明书。 课程任务要求 (1)查阅资料,确定设计方案 (2)选择器件,设计硬件电路,并画出原理图和PCB图 (3)画出流程图,编写控制程序 (4)撰写课程设计说明书 2 步进电机的概述 2.1 步进电机的特点 1)一般步进电机的精度为步进角的3-5%,且不累积。 2)步进电机外表允许的温度高。步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。 3)步进电机的力矩会随转速的升高而下降。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。 4)步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的

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

文件编号: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度。它的结构简单,成本低,但噪音大。

步进电机控制开题报告

毕业设计(论文)开题报告 学生专业 学号姓名班级 指导教师及职称 题目步进电机控制设计结合毕业设计(论文)课题情况,根据所 查阅的文献资料,每人撰写500 字左右的文献综述: 一、选题的背景和意义: 步进电动机是数字控制系统中一种十分重要的自动化执行元件,在工业自动化装备,办公自 动化设备中有着广泛的运用,近年来,控制技术、计算机技术以及微电子技术的迅速发展,有力 地推动了步进电动机控制技术的进步,提高了步进电动机运动控制装置的应用水平。过去电动机 的控制多用模拟法,随着计算机应用技术的迅速发展,电动机的控制也发生了深刻的变化,步进 电机常常和计算机一起组成高精度的数字控制系统。模拟控制已经逐渐被使用单片机为主的混合 控制和全数字控制所取代。 步进电机是一种将电脉冲信号转换成角位移的执行机构,其转子角位移与输入脉冲的频率成 正比,通过改变脉冲频率可以实现大范围的调速;同时,步进电机易于与计算机和其他数字元件 接口,因此被应用于各种数字控制系统中[2] ,本设计的步进电动机控制系统由单片机(控制电路),脉冲分配电路、功率放大电路(驱动电路)、步进电动机及电源系统组成组成。 步进电动机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的微电动 机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反 转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,因此在打印机等办公自 动化设备以及各种控制装置等众多领域有着极其广泛的应用。随着微电子和计算机技术的发展, 步进电动机的需求量与日俱增,研制步进电机驱动器及其控制系统具有十分重要的意义。

三相步进电机原理与控制方法资料(精)

本模块由45BC340C型步进电机及其驱动电路组成。 (一步进电机: 一般电动机都是连续旋转,而步进电动却是一步一步转动的,故叫步进电动机。每输入一个脉冲信号,该电动机就转过一定的角度(有的步进电动机可以直接输出线位移,称为直线电动机。因此步进电动机是一种把脉冲变为角度位移(或直线位移的执行元件。 步进电动机的转子为多极分布,定子上嵌有多相星形连接的控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机的转子就前进一步。由于输入的是脉冲信号,输出的角位移是断续的,所以又称为脉冲电动机。 随着数字控制系统的发展,步进电动机的应用将逐渐扩大。 步进电动机的种类很多,按结构可分为反应式和激励式两种;按相数分则可分为单相、两相和多相三种。 图1 反应式步进电动机的结构示意图 图1是反应式步进电动机结构示意图,它的定子具有均匀分布的六个磁极,磁极上绕有绕组。两个相对的磁极组成一组,联法如图所示。

模块中用到的45BC340型步进电机为三相反应式步进电机,下面介绍它单三拍、六拍及双三拍通电方式的基本原理。 1、单三拍通电方式的基本原理 设A相首先通电(B、C两相不通电,产生A-A′轴线方向的磁通,并通过转子形成闭合回路。这时A、A′极就成为电磁铁的N、S极。在磁场的作用下,转子总是力图转到磁阻最小的位置,也就是要转到转子的齿对齐A、A′极的位置(图2a;接着B相通电(A、C 两相不通电,转了便顺时针方向转过30°,它的齿和C、C′极对齐(图2c。不难理解,当脉冲信号一个一个发来时,如果按A→C→B→A→…的顺序通电,则电机转子便逆时针方向转动。这种通电方式称为单三拍方式。 图2 单三拍通电方式时转子的位置 2、六拍通电方式的基本原理 设A相首先通电,转子齿与定子A、A′对齐(图3a。然后在A相继续通电的情况下接通B相。这时定子B、B′极对转子齿2、4产生磁拉力,使转子顺时针方向转动,但是A、A′极继续拉住齿1、3,因此,转子转到两个磁拉力平衡为止。这时转子的位置如图3b所示,即转子从图(a位置顺时针转过了15°。接着A相断电,B相继续通电。这时转子齿2、4和定子B、B′极对齐(图c,转子从图(b的位置又转过了15°。

步进电机角度控制(1)

课程设计 课程名称微型计算机控制技术 题目名称步进电机角度控制(1) 学生学院自动化学院 专业班级自动化(4)班 学号 学生姓名 指导教师 2012 年 6 月26 日

一、系统设计说明 1.硬件设计 本次设计要求通过键盘按键实现对步进电机的转动次数和每次转动的角度的控制,并通过数码管显示出来。 本方案中通过按键对步进电机的转动角度进行设定,给各个按键设置不同的键值。按下按键时,给8255A一个信号设定步进电机下一步的动作。8086通过8255A的数据总线读取该信号,并作出反应,通过给8255A一系列的指令驱动其工作,从而驱动步进电机和LED 显示器 2.软件设计 3.显示模块设计说明: 为使显示程序具有通用性和灵活性,在8086内设置一个显示缓冲区,显示缓冲区的每个单元与LED的各位一一对应。当主程序需要显示,只需将要显示的字符送入显示缓冲区,然后调用显示子程序。显示子程序的任务则是逐一取出显示缓冲区中的字符、查字形表转换成相应字型码,然后通过字段口输出显示。显示模块是用四位七段数码管来显示转动次数和每次转动的角度。给八个按键设置不同的子程序,当按下按键时,根据事先设定好的各个按键对应的转动角度的值输出到数码管进行显示。 步进电机模块设计说明: 在此设计中,采用的是八拍步进电机。步进电机控制程序就是完成环形分配器的任务,从而控制电动机的转动,以达到控制转动角度和位移的目的。控制模型可以以立即数的形式一一给出。对于步进电机模块的程序设计采用循环程序设计方法。先把转动的次数和角度的控制模型存放在内存单元中,然后再逐一从单元中取出控制模块并输出。首先启动,按下按键选择步进电机的角度,然后读入转动的控制模型驱动步进电机转动。 二、程序设计流程图

西门子200系列PLC直流步进电机控制方法

直流步进电机plc控制方法 系统功能概述: 本系统采用PLC通过步进电机驱动模块控制步进电机运动。当按下归零按键时,电机1和电机2回到零点(零点由传感器指示)。当按下第一个电机运行按键时,第一个电机开始运行,直到运行完固定步数或到遇到零点停止。当按下第二个电机运行按键时,第二个电机开始运行,运行完固定步数或遇到零点停止。两电机均设置为按一次按键后方向反向。电机运行时有升降速过程。 PLC输入点I0.0为归零按键,I0.1为第一个电机运行按键,I0.2为第二个电机运行按键,I0.3为第一个电机传感器信号反馈按键,I0.4为第二个电机传感器信号反馈按键。 PLC输出点Q0.0为第一个电机脉冲输出点,Q0.1为第二个电机脉冲输出点,Q0.2为第一个电机方向控制点,Q0.3为第二个电机方向控制点,Q0.4为电机使能控制点。 所用器材: PLC:西门子S7-224xpcn及USB下载电缆。编程及仿真用软件为V4.0 STEP 7 MicroWIN SP3。 直流步进电机2个,微步电机驱动模块2个。按键3个。24V开关电源一个。导线若干。 各模块连接方法: PLC与步进电机驱动模块的连接:

驱动模块中EN+、DIR+、CP+口均先接3k电阻,然后接24V 电源。 第一个驱动模块CP-接PLC的Q0.0,DIR-接PLC的Q0.2,EN-接PLC的Q0.4 第二个驱动模块CP-接PLC的Q0.1,DIR-接PLC的Q0.3,EN-接PLC的Q0.4 注意: 1、PLC输出时电压为24V,故和驱动器模块连接时,接了3k 电阻限流。 2、由于PLC处于PTO模式下只有在输出电流大于140mA时,才能正确的输出脉冲,故在输出端和地间接了200欧/2w下拉电阻,来产生此电流。(实验室用的电阻功率不足,用200欧电阻时功率至少在24*24/200=2.88w,即用3w的电阻) 3、PLC与驱动模块连接时,当PLC输出低电平时不能将驱动模块电平拉低,故在EN-和DIR-上接了200欧/2W下拉电阻 驱动模块与电机接法: 驱动模块的输出端分别与电机4根线连接 电机传感器与PLC连接: 传感器电源接24v,信号线经过240欧电阻(试验中两个470电阻并联得到)与24v电源上拉后,信号线接到PLC的I0.3和I0.4

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

大连理工大学本科设计报告题目:步进电机转速控制系统设计 课程名称:单片机综合设计 学院(系):电子信息与电气工程学部 专业: 班级: 学号: 学生姓名: 成绩: 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档转速所对应的按键,步进电机开始重新转动。对于复位功能,则同样是利用按键键值的判断,在对应键值下控制电机初始化。

步进电机控制方法

第四节 步进电机的控制与驱动 步进电机的控制与驱动流程如图4-11所示。主要包括脉冲信号发生器、环形脉冲分配器和功率驱动电路三大部分。 步进脉冲 方向电平 图4-11 步进电机的控制驱动流程 二、步进电机的脉冲分配 环形分配器是步进电机驱动系统中的一个重要组成部分,环形分配器通常分为硬环分和软环分两种。硬环分由数字逻辑电路构成,一般放在驱动器的内部,硬环分的优点是分配脉冲速度快,不占用CPU的时间,缺点是不易实现变拍驱动,增加的硬件电路降低了驱动器的可靠性;软环分由控制系统用软件编程来实现,易于实现变拍驱动,节省了硬件电路,提高了系统的可靠性。 1.采用硬环分时的脉冲分配 采用硬环分时,步进电机的通电节拍由硬件电路来决定,编制软件时可以不考虑。控制器与硬环分电路的连接只需两根信号线:一根方向线,一根脉冲线(或者一根正转脉冲线,一根反转脉冲线)。假定控制器为AT89S52单片机,晶振频率为12MHz,如图4-18:P1.0输出方向信号,P1.1输出脉冲信号。 则控制电机走步的程序如下: (1)电机正转100步 MOV 0FH,#100D ;准备走100步 CONT1: SETB P1.0 ;正转时P1.0=1 CLR P1.1 ;发步进脉冲的下降沿(设驱动器对于脉冲的下降沿有效) NOP ;延时(延时的目的是让驱动电路的光耦充分导通) NOP ;延时(根据驱动器的需要,调整延时) SETB P1.1 ;发步进脉冲的上升沿 MOV 0EH,#4EH ;两脉冲之间延时20000μs(决定电机的转速) MOV 0DH,#20H ;20000的HEX码为4E20 CALL DELAY ;调用延时子程序 DJNZ 0FH,CONT1 ;循环次数减1后,若不为0则继续,循环100次 RET (2)电机反转100步 MOV 0FH,#100D ;准备走100步 CONT2: CLR P1.0 ;反转时P1.0=0 CLR P1.1 ;发步进脉冲的下降沿(设驱动器对于脉冲的下降沿有效) NOP ;延时(延时的目的是让驱动电路的光耦充分导通) NOP ;延时(根据驱动器的需要,调整延时) SETB P1.1 ;发步进脉冲的上升沿

步进电机控制速度的方法

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

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

步进电机控制系统设计

课程设计任务书 设计题目:微机步进电机控制系统设计 设计目的: 1.巩固和加深课堂所学知识; 2.学习掌握一般的软硬件的设计方法和查阅、运用资料的能力; 3.通过步进电机控制系统设计与制作,深入了解与掌握步进电机的运行方式、方向、速 度、启/停的控制。 设计任务及要求:(在规定的时间内完成下列任务) 任务:控制四相步进电机按双八拍的运行方式运行。按下开关SW1时启动步进电机,按ESC键停止工作。采用循环查表法,用软件来实现脉冲循环分配器的功能 对步进电机绕组轮流加电。 要求对题目进行功能分析(四项功能:快速顺时针旋转,慢速顺时针旋转, 快速逆时针旋转和慢速逆时针旋转),进行步进电机远程控制系统硬件电路设 计,画出电路原理图、元器件布线图、实验电路图;绘制程序流程图,进行 步进电机控制程序设计(采用8086汇编语言);系统调试、运行,提交一个 满足上述要求的步进电机控制系统设计。 时间安排:(部分时间,某些工作可以自己安排重叠进行) 具体要求:设计报告撰写格式要求(按提供的设计报告统一格式撰写), 具体内容如下: ①设计任务与要求②总体方案与说明 ③硬件原理图与说明④实验电路图与说明 ⑤软件主要模块流程图 ⑥源程序清单与注释 ⑦问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问 题、解决方法及改进设想); ⑧小结与体会 附录:①源程序(必须有简单注释)②使用说明③参考资料 指导教师签名:08 年12 月01 日 教研室主任(或责任教师)签名:年月日

目录 第1章需求分析 (1) 1.1课程设计题目 (1) 1.2步进电机介绍 (1) 1.3课程设计任务及要求 (1) 1.4软硬件运行环境及开发工具 (1) 第2章概要设计 (2) 2.1设计原理及实现方法 (2) 2.1.1 步进电机控制原理 (2) 2.1.2微机步进电机控制系统原理图 (2) 2.1.3 运行方式与方向的控制——循环查表法 (3) 2.1.4步进电机的启/停控制——设置开关 (4) 2.2微机步进电机控制系统设计流程图 (4) 第3章详细设计 (5) 3.1 硬件设计与实现 (5) 3.2软件设计 (5) 3.2.1正向慢转子程序 (5) 3.2.2正向快转子程序 (6) 3.2.3反向慢转子程序 (6) 3.2.4反向快转子程序 (6) 3.2.5长延时子程序 (7) 3.2.6短延时子程序 (7) 第4章系统调试与操作说明 (7) 4.1系统调试 (7) 4.2 操作说明 (8) 第5章课程设计总结与体会 (8) 参考文献 (9) 附录微机步进电机控制系统源程序 (9)

基于MCU和DSP的步进电机控制技术(精)

基于MCU和DSP的步进电机控制技术 步进电机已经渗透入我们生活的方方面面,本文介绍了一些重要的步进电机相关技术,为开发人员基本了解步进电机的工作原理提供了足够的信息,同时也介绍了用微控制器或数字信号处理器控制步进电机 的方法。 步进电机也叫步进器,它利用电磁学原理,将电能转换为机械能,人们早在20世纪20年代就开始使用这种电机。随着嵌入式系统(例如打印机、磁盘驱动器、玩具、雨刷、震动寻呼机、机械手臂和录像机等的日益流行,步进电机的使用也开始暴增。不论在工业、军事、医疗、汽车还是娱乐业中,只要需要把某件物体从一个位置移动到另一个位置,步进电机就一定能派上用场。步进电机有许多种形状和尺寸,但不论形状和尺寸如何,它们都可以归为两类:可变磁阻步进电机和永磁步进电机。本文重点讨论更为简单也更常用的永磁步进电机。 步进电机的构造 如图1所示,步进电机是由一组缠绕在电机固定部件--定子齿槽上的线圈驱动的。通常情况下,一根绕成圈状的金属丝叫做螺线管,而在电机中,绕在齿上的金属丝则叫做绕组、线圈、或相。如果线圈中电流的流向如图1所示,并且我们从电机顶部向下看齿槽的顶部,那么电流在绕两个齿槽按逆时针流向流动。根据安培定律和右手准则,这样的电流会产生一个北极向上的磁场。

现在假设我们构造一个定子上缠绕有两个绕组的电机,内置一个能够绕中心任意转动的永久磁铁,这个可旋转部分叫做转子。图2给出了一种简单的电机,叫做双相双极电机,因为其定子上有两个绕组,而且其转子有两个磁极。如果我们按图2a所示方向给绕组1输送电流,而绕组2中没有电流流过,那么电机转子的南极就会自然地按图中所示,指向定子磁场的北极。 再假设我们切断绕组1中的电流,而按图2b所示方向给绕组2输送电流,那么定子的磁场就会指向左侧,而转子也会随之旋转,与定子磁场方向保持一致。

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

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

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

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方向转动。 四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。 八拍工作方式的电源通电时序与波形如图所示:

步进电机角度控制 报告 最终

指导教师评定成绩: 审定成绩: 重庆邮电大学 自动化学院 综合设计报告 设计题目:步进电机角度控制 单位(二级学院): 学生姓名: 专业: 班级: 学号: 指导教师: 设计时间:2014年10 月 重庆邮电大学自动化学院制

摘要 本设计以STC12C5A60S2单片机为控制核心,主要由L298电机驱动模块,步进电机,按键输入等模块组成。步进电机的特性决定了其精确控制步进角的功能,在此次课程设计中我们采用了28BYJ48步进电机,其步进角为0.6°基本符合设计需求。系统由按键设定目标角度,之后将旋转角度折合为脉冲数驱动步进电机,从而达到角度控制的目的,在控制过程中同时将已给脉冲数折合回角度量,通过1602液晶显示实时显示,经检测控制系统基本达到题目要求。 关键词:51单片机步进电机 L298电机驱动

目录 摘要 ............................................................................................................................................................ I 一、设计题目 (3) 二、设计报告正文 (3) 2.1 系统设计思路及总体方案 (4) 2.1.1 设计思路 (4) 2.1.2 系统控制总体方案 (4) 2.2 总体方案论证 (4) 2.2.1 主控芯片的选择 (4) 2.2.2 电机选择........................................................................................ 错误!未定义书签。 2.2.3 驱动芯片选择 (5) 2.2.4液晶显示器选择 (6) 2.3 硬件电路设计 (6) 2.3.1 硬件设计总体方案 (6) 2.3.2 51单片机最小系统硬件设计 (7) 2.3.3按键设计 (8) 2.3.4显示单元硬件设计 (8) 2.3.5电机驱动硬件设计 (9) 2.3.6步进电机 (10) 2.3.7原理图与PCB板 (12) 2.4 程序设计 (13) 2.4.1 程序流程 (13) 2.4.2 LCD1602显示程序 (14) 2.4.3步进电机驱动程序 (15) 四、设计总结 (13) 参考文献 (18) 附录(源代码) (19) 附录一:主程序(main.c) (19) 附录二:LCD1602程序 (19)

步进电机速度控制系统设计

目录 1 总体方案的确定 (1) 1.1 对步进电机的分析 (1) 1.2 电机的控制方案 (2) 1.3 控制算法的方案 (3) 1.4 串口通讯的模拟 (3) 2 硬件的设计与实现 (4) 2.1 微处理器的选择 (4) 2.2 控制电路的实现 (4) 2.3 键盘和显示电路 (6) 3 软件的设计与实现 (6) 3.1 控制信号输入程序 (7) 3.2 步进电机控制程序设计 (8) 3.3 程序分析及说明 (9) 4 系统的仿真与调试 (10) 4.1 程序的调试 (11) 4.2 串口通信的调试 (11) 4.3 调试结果及分析 (11) 5 设计总结 (13) 参考文献 (14) 附录 (15)

步进电机速度控制系统设计报告 1 总体方案的确定 系统以单片机为核心,接收并分析来自键盘或串口的控制指令,经过CPU 的逻辑计算输出控制信息,让步进电机按要求转动。由于步进电机是开环元件,系统不需反馈环节,但也同时要求控制信号足够精确。此外,为实现单片机与电机之间信号对接,需要加入步进电机驱动单元。 1.1 对步进电机的分析 步进电机又叫脉冲电机,它是一种将电脉冲信号转化为角位移的机电式数模转换器。在开环数字程序控制系统中,输出控制部分常采用步进电机作为驱动元件。步进电机控制线路接收计算机发来的指令脉冲,控制步进电机做相应的转动,步进电机驱动数控系统的工作台或刀具。很明显,指令脉冲的总数就决定了数控系统的工作台或刀具的总位移量,指令脉冲的频率决定了移动的速度。因此,指令脉冲能否被可靠地执行,基本上取决于步进电机的性能。 步进电机的工作就是步进转动。在一般的步进电机工作中,其电源都是采用单极性的直流电源。要是步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,即可达到调速的目的。本设计是用单片机输出可调脉冲作为单片机的控制信号,通过改写脉冲频率调节单片机转速。 常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小;反应式步进一般为三相,可实现大转矩输出,但噪声和振动都很大。混合式步进是指混合了永磁式和反应式的优点,它又分为两相和五相,应用最为广泛。单片机管脚输出电压一般不足以驱动步进电机转动,所以需要在单片机和步进电机之间加入驱动电路。

相关主题
文本预览
相关文档 最新文档