四相八拍步进电机调速.docx

上传人:b****6 文档编号:12718436 上传时间:2023-06-07 格式:DOCX 页数:27 大小:211.99KB
下载 相关 举报
四相八拍步进电机调速.docx_第1页
第1页 / 共27页
四相八拍步进电机调速.docx_第2页
第2页 / 共27页
四相八拍步进电机调速.docx_第3页
第3页 / 共27页
四相八拍步进电机调速.docx_第4页
第4页 / 共27页
四相八拍步进电机调速.docx_第5页
第5页 / 共27页
四相八拍步进电机调速.docx_第6页
第6页 / 共27页
四相八拍步进电机调速.docx_第7页
第7页 / 共27页
四相八拍步进电机调速.docx_第8页
第8页 / 共27页
四相八拍步进电机调速.docx_第9页
第9页 / 共27页
四相八拍步进电机调速.docx_第10页
第10页 / 共27页
四相八拍步进电机调速.docx_第11页
第11页 / 共27页
四相八拍步进电机调速.docx_第12页
第12页 / 共27页
四相八拍步进电机调速.docx_第13页
第13页 / 共27页
四相八拍步进电机调速.docx_第14页
第14页 / 共27页
四相八拍步进电机调速.docx_第15页
第15页 / 共27页
四相八拍步进电机调速.docx_第16页
第16页 / 共27页
四相八拍步进电机调速.docx_第17页
第17页 / 共27页
四相八拍步进电机调速.docx_第18页
第18页 / 共27页
四相八拍步进电机调速.docx_第19页
第19页 / 共27页
四相八拍步进电机调速.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

四相八拍步进电机调速.docx

《四相八拍步进电机调速.docx》由会员分享,可在线阅读,更多相关《四相八拍步进电机调速.docx(27页珍藏版)》请在冰点文库上搜索。

四相八拍步进电机调速.docx

四相八拍步进电机调速

 

引言

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

步进电机的调速一般是改变输入步进电机的脉冲的频率来实现步进电机的调速,因为步进电机每给一个脉冲就转动一个固定的角度,这样就可以通过控制步进电机的一个脉冲到下一个脉冲的时间间隔来改变脉冲的频率,延时的长短来具体控制步进角来改变电机的转速,从而实现步进电机的调速。

在本设计方案中采用单片机内部的定时器改变脉冲的频率从而实现对步进电机的转速进行控制,实现电机调速与正反转的功能。

关键词:

步进电机,单片机,调速系统

 

第1章绪论

1.1步进电机的概述

1.1.1步进电机的特点

1)一般步进电机的精度为步进角的3-5%,且不累积。

2)步进电机外表允许的温度高。

步进电机温度过高首先会使电机的磁性材料退磁,从而导致力矩下降乃至于失步,因此电机外表允许的最高温度应取决于不同电机磁性材料的退磁点;一般来讲,磁性材料的退磁点都在摄氏130度以上,有的甚至高达摄氏200度以上,所以步进电机外表温度在摄氏80-90度完全正常。

3)步进电机的力矩会随转速的升高而下降。

当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。

在它的作用下,电机随频率(或速度)的增大而相电流减小,从而导致力矩下降。

4)步进电机低速时可以正常运转,但若高于一定速度就无法启动,并伴有啸叫声。

步进电机有一个技术参数:

空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。

在有负载的情况下,启动频率应更低。

如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。

1.1.2步进电机的工作原理简述

步进电机是一种用电脉冲进行控制,将电脉冲信号转换成相位移的电机,其机械位移和转速分别与输入电机绕组的脉冲个数和脉冲频率成正比,每一个脉冲信号可使步进电机旋转一个固定的角度.脉冲的数量决定了旋转的总角度,脉冲的频率决定了电机运转的速度.当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。

可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

1.2四相八拍步进电机

1.2.1四相步进电机工作原理

图1.5是该四相反应式步进电机工作原理示意图。

图1.5四相步进电机步进示意图

开始时,开关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方向转动。

四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。

单四拍与双四拍的步距角相等,但单四拍的转动力矩小。

八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以保持较高的转动力矩又可以提高控制精度。

单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图1-6.a、b、c所示:

a单四拍 b双四拍          c八拍

图1.6步进电机工作时序波形图

1.2.2八拍得工作方式

单双八拍工作方式:

A-AB-B-BC-C-CD-D-DA(即一个脉冲,转3.75度)八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。

1.3单片机概述

1.3.1单片机原理简述

单片机(SINGLE-CHIPMICROCOMPUTER)是把微型计算机主要部分都集成在一块芯片上的单芯片微型计算机。

图1.7中表示单片机的典型结构图。

由于单片机的高度集成化,缩短了系统内的信号传送距离,优化了结构配置,大大地提高了系统的可靠性及运行速度,同时它的指令系统又很适合于工业控制的要求,所以单片机在工业过程及设备控制中得到了广泛的应用。

图1.7典型单片机结构图

单片机在进行实时控制和实时数据处理时,需要与外界交换信息。

人们需要通过人机对话,了解系统的工作情况和进行控制。

单片机芯片与其它CPU比较,功能虽然要强得多,但由于芯片结构、引脚数目的限制,片内ROM、RAM、I/O口等不能很多,在构成实际的应用系统时需要加以扩展,以适应不同的工作情况。

单片机应用系统的构成基本上如图1.8所示。

图1.8单片机的应用系统

单片机应用系统根据系统扩展和系统配置的状况,可以分为最小应用系统、最小功耗系统、典型应用系统。

本设计是设计一款最小应用系统,最小应用系统是指能维持单片机运行的最简单配置的系统。

这种系统成本低廉、结构简单,常用来构成简单的控制系统,如开关量的输入/输出控制、时序控制等。

对于片内有ROM/EPROM的芯片来说,最小应用系统即为配有晶体振荡器、复位电路和电源的单个芯片;对与片内没有ROM/EPROM芯片来说,其最小应用系统除了应配置上述的晶振、复位电路和电源外,还应配备EPROM或EEPROM作为程序存储器使用

1.3.28031单片机

8031单片机具有体积小,重量轻,价格低,耗电少,电源单一,抗干扰能力强,可靠性高,面向控制,控制功能强,运行速度快等特点。

所以本次调速设计芯片采用8031来控制。

8031单片机内部组成:

1个8位微处理器CPU;128字节的数据存储器(RAM);32条I/O位线(四个8位口P0,P1,P2,P3);2个定时器;1个具有5个中断源,2个优先级的中断嵌套机构;1个全双工的串行通信端口,特许功能寄存器以及一个震荡和时钟电路。

各部分通过芯片内部总线连接。

8031单片机的硬件机构特点:

8031单片机无内部存储器(ROM),有数据存储器(RAM);输入/输出(I/O)端口:

它具有一个全双的串行口,该串行口由两根I/O位线构成,有四种工作方式,可通过编程选定,且8031还有32个I/O位线。

中断与堆栈:

8031单片机有5个中断源,分为2级优先,每个中断源的优先级是可以编程的。

它的堆栈位置也是可以编程的,堆栈深度可以达到128字节。

定时/计数器与寄存区:

8031单片机有2个16位定时/计数器,通过编程可以实现四种工作模式。

8031单片机在内部RAM中设置了四个通用工作寄存器区,共32个寄存器,以适应多种终端或子程序嵌套的要求。

指令系统:

8031单片机指令系统功能大,指令段,执行速度快。

外接晶振的频率为128MHZ时,大部分指令执行时间为1μM。

1.4总体方案设计

1.4.1系统的组成

本系统主要组成部分为:

主机芯片8031,转速测量采集系统,步进电机的驱动系统,8279扩展外部中断子系统,报警系统等多部分

系统原理图

图1.10系统原理框图

1.4.2系统的工作原理

系统的工作原理如下:

有主机芯片8031发出指令至步进电机的驱动和隔离电路,步进电机启动,通过8031的内部中断来实现步进电机的加速运转。

电机的转速通过光电传感器,传输到采样保持电路到A/D转换器,转换成数字信号,存到主机芯片8031进行处理,在传输到8279到LED显示器。

如果转速超过规定速度,通过8031发出指令到报警电路报警。

单片机控制步进电机工作是,电机在几十伏,甚至一百幅的高压条件下工作,而单片机则在5V的低压条件下工作,一旦步进电机的电压窜到单片机部分,竟会引起单片机损坏;或者步进电机部分的有关信号干扰单片机,也会引起系统工作失误。

故单片机与不进电极之间的硬件接口一般需要进行电压隔离;对于四相步进电机,需要四路控制电路,每一路控制步进电机的一相;有时需要步进电机以不同的速度工作,不适应不同的目的,硬件接口中将包括工作频率发生器。

 

第2章系统软件设计

2.1显示子程序的设计

图2.1显示程序流程图

8279的初始化程序如下:

INIT:

MOVDPTR,#7FFFH;置8279命令/状态口地址

MOVA,#0D1H;置清显示命令字

MOVX@DPTR,A;送清显示命令

WEIT:

MOVXA,@DPTR;读状态

JBACC.7,WEIT;等待清显示RAM结束

MOVA,#34H;置分频系数,晶振12MHZ

MOVX@DPTR,A;送分频系数

MOVA,#00H;置键盘/显示命令

MOVX@DPTR,A;送键盘/显示命令

MOVIE,#84H;允许8279中断

RET

显示子程序如下:

DIS:

MOVDPTR,#7FFFH;置8279命令/状态口地址

MOVR0,#30H;字段码首地址

MOVR7,#08H;8位显示

MOVA,#90H;置显示命令字

MOVX@DPTR,A;送显示命令

MOVDPTR,#7FFEH;置数据口地址

LP:

MOVA,@R0;取显示数据

ADDA,#6;加偏移量

MOVCA,@A+PC;查表,取得数据的段码

MOVX@DPTR,A;送段码显示

INCR0;调整数据指针

DJNZR7,LP;

RET

SEG:

DB3FH,06H,5BH,4FH,66H,6DH

;字符0、1、2、3、4、5段码

DB7DH,07H,7EH,6FH,77H,7CH

;字符6、7、8、9、A、B段码

DB39H,5EH,79H,71H,73H,3EH

;字符C、D、E、F、P、U段码

DB76H,38H,40H,6EH,FFH,00H

;字符H、L、-、Y、“空”段码

2.2键盘子程序的设计

图2.2键盘程序流程图

键盘中断子程序如下:

KEY:

PUSHPSW

PUSHDPL

PUSHDPH

PUSHACC

PUSHB

SETBPSW.3

MOVDPTR,#7FFFH;置状态口地址

MOVXA,@DPTR;读FIFO状态

ANLA,#0FH;

JZPKYR;

MOVA,#40H;置读FIFO命令

MOVX@DPTR,A;送读FIFO命令

MOVDPTR,#7FFEH;置数据口地址

MOVXA,@DPTR;读数据

LJMPKEY1;转键值处理程序

PKYR:

POPB

POPACC

POPDPH

POPDPL

POPPSW

RETI;

KEY1:

……;键值处理程序

键盘程序清单:

KEY1:

ACALLKS1;有无键按下子程序

JNZLK1;有键按下,转去抖延时

AJMPKEY1;无键按下,继续扫描

LK1:

ACALLDELA12;12MS延时程序调用

ACALLKS1;判断键是否真正按下

JNZLK2;有键按下,转逐列扫描

AJMPKEY1;无键按下,继续扫描

LK2:

MOVR2,#0FEH;设置首列扫描字

MOVR4,#00H;保存首列号

LK4:

MOVDPTR,#7F01H;列扫描字送至PA口

MOVA,R2

MOVX@DPTR,A

INCDPTR;指向PC口

INCDPTR

MOVXA,@DPTR;读入行状态

JBACC.0,LONE;第0行无键按下,转LONE

MOVA,#00H;有键按下,设置行首键号

AJMPLKP;转求键号

LONE:

JBACC.1,LTWO;第1行无键按下,转LTWO

MOVA,#08H;有键按下,设置行首键号

AJMPLKP;转求键号

LTWO:

JBACC.2,LTHR;第2行无键按下,转LTHR

MOVA,#10H;有键按下,设置行首键?

AJMPLKP;转求键号

LTHR:

JBACC.3,NEXT;第3行无键按下,查下一列

MOVA,#18H;有键按下,设置行首键

LKP:

ADDA,R4;求键号,键号=行首键号+列号

PUSHACC;保护键号

LK3:

ACALLKS1;等待键释放

JNZLK3;键未释放,继续等待

POPACC;键释放,键号送A

AJMPOVER;键扫描结束

NEXT:

INCR4;列号加1,指向下一列

MOVA,R2;判断8列扫描完否

JNBACC.7,KND;8列扫描完,继续

RLA;扫描字左移一位

MOVR2,A;送扫描字

AJMPLK4;转下一列扫描

KND:

AJMPKEY1

OVER:

RET;键扫描结束

KS1:

MOVDPTR,#7F01H;指向PA口

MOVA,#00H;设置扫描字

MOVX@DPTR,A;扫描字送PA口

INCDPTR;指向PC口

INCDPTR

MOVXA,@DPTR;读入PC口状态

CPL;以高电平表示有键按下

ANLA,#0FH;屏蔽高4位

RET

2.3正反转程序流程图

2.3.1正反转程序流程图

图2.3正反转程序流程图

主程序如下:

CON:

MOVR3,#N

MOVTMOD,#10H

MOVTL1,#LOW

MOVTH1,#HIGH

JNBFLAG,LEFT

MOVR0,RM

AJMPTIME-S

LEFT:

MOVR0,LM

TIME:

SETBEA

SETBET1

SETBTR1

步进电机控制程序P3.2正转,P3.3反转,P3.4停止步进电机接P1.0P1.1P1.2P1.3

ORG00h

STOP:

ORLP1,#0FFh;步进电机停止

LOOP:

JNBP3.2,FOR2;如果P3.2按下正转

JNBP3.3,REV2;如果P3.3按下反转

JNBP3.4,STOP1;如果P3.4按下停止

JMPLOOP;反复监测键盘

FOR:

MOVR0,#00h;正转到TAB取码指针初值

FOR1:

MOVA,R0;取码

MOVDPTR,#TABLE;

MOVCA,@A+DPTR

JZFOR;是否到了结束码00h

CPLA;把ACC反向

MOVP1,A;输出到P1开始正转

JNBP3.4,STOP1;如果P3.4按下停止

JNBP3.3,REV2;如果P3.3按下反转

CALLDELAY;转动的速度

INCR0;取下一个码

JMPFOR1;继续正转

REV:

MOVR0,#05h;反转到TAB取码指针初值

REV1:

MOVA,R0

MOVDPTR,#TABLE;取码

MOVCA,@A+TABLE

JZREV;是否到了结束码00h

CPLA;把ACC反向

MOVP1,A;输出到P1开始反转

JNBP3.4,STOP1;如果P3.4按下停止

JNBP3.3,REV2;如果P3.3按下反转

CALLDELAY;转动的速度

INCR0;取下一个码

JMPREV1;继续反转

STOP1:

CALLDELAY;按P3.4的消除抖动

JNBP3.4,$;P3.4放开否?

CALLDELAY;放开消除抖动

JMPSTOP;

FOR2:

CALLDELAY;按P3.2的消除抖动

JNBP3.2,$;P3.2放开否?

CALLDELAY;放开消除抖动

JMPFOR;

REV2:

CALLDELAY;按P3.3的消除抖动

JNBP3.3,$;P3.3放开否?

CALLDELAY;放开消除抖动

JMPREV;

DELAY:

MOVR1,#40;步进电机的转速20MS

D1:

MOVR2,#248;

DJNZR2,$

DJNZR1,D1

RET

TABLE:

DB03h,09h,0Ch,06h;正转表

DB00;正转结束

DB03h,06h,0Ch,09h;反转

DB00;反转结束

END

2.3.2转速快慢程序流程图

图2.4转速快慢程序流程图

步进电机正反快慢程序

ORG00h

x1:

MOVR3,#48一圈48步

START:

MOVR0,#00h正转取码初值

START1:

MOVP1,#0FFh;先停止

MOVA,R0

MOVDPTR,#TABLE

MOVCA,@A+DPTR

JZSTART;是否到了结束码00?

CPLA

MOVP1,A;输出运转

CALLDELAY;调用慢速的延时转动

INCR0;取码指针加1取下一个码

DJNZR3,START1;是否走了48步?

MOVR3,#48;是则重新设定48步

START2:

MOVP1,#0FFh

MOVR0,#05;逆转的取码初值

START3:

MOVA,R0;

MOVDPTR,#TABLE

MOVCA,@A+DPTR

JZSTART2

CPLA

MOVP1,A

CALLDELAY2

INCR0

DJNZR3,START3

JMPx1;重复开始

DELAY:

;延时程序(慢速)

MOVR7,#255

D1:

MOVR6,#50

D2:

DJNZR6,D2

DJNZR7,D1

RET

DELAY2:

;延时程序(快速)

MOVR5,#255

D3:

MOVR2,#25

D4:

DJNZR2,D4

DJNZR5,D3

RET

TABLE:

DB03h,09h,0Ch,06h;正转表

DB00

DB06h,0Ch,09h,03h;反转表

DB00

END

2.4定时中断流程图

图2.5中断子程序流程图

中断服务程序如下:

INTTO:

PUSHA

PUSHPSW

MOVA,@R0

MOVP1,A

INCR0

MOVA,#00H

XRLA,@R0

JNZNEXT

MOVA,R0

CLRC

SUBBA,#03H

MOVR0,A

NEXT:

DJNZR3,RETU

CLRET1

CLREA

RETU:

POPPSW

POPA

RETI

利用软件形成脉冲序列的程序清单:

PULSE_S:

MOVR7,#NUM;设定脉冲个数

PUSHA;保护现场

PUSHPSW

LOOP:

SETBP1.0;输出高电平

ACALLDELAY1;延时

CLRP1.0;输出低电平

ACALLDELAY2;延时

DJNZR7,LOOP;R7≠0,继续输出脉冲

POPPSW;恢复现场

POPA

RET

定时中断子程序:

TIME0:

CLREA;关中断

INC30H

MOVA,30H

XRLA,#50H;判断是否到8秒

JZS_8;8秒定时到,转至S_8

AJMPRECOUN;未到8秒,继续计时

S_8:

SETBP3.2;触发外部中断0

NOP

CLRP3.2

NOP

RECOUN:

MOVTH0,#3CH

MOVTL0,#0B0H;设定定时器初值

SETBEA;开中断

RETI;中断返回

中断子程序

T_CON:

PUSHA;保护现场

PUSHPSW

MOVR7,#N;设定控制步数

JNBFLAG,LEFT;判断旋转方向

RIGHT:

MOVR0,RM;正转模型起始地址

AJMPROTATE

LEFT:

MOVR0,LM

ROTATE:

MOVA,@R0;取第一拍控制模型

MOVP1,A;输出第一拍控制模型

ACALLDELAY1;延时

INCR0

MOVA,@R0;取第二拍控制模型

MOVP1,A;输出第二拍控制模型

ACALLDELAY1;延时

INCR0

MOVA,@R0;取第三拍控制模型

MOVP1,A;输出第三拍控制模型

ACALLDELAY1;延时

DJNZR7,ROTATE;未走完要求的步数,继续

POPPSW;恢复现场

POPA

RET;返回

2.5语音报警系统

该系统采用专用集成语音芯片,将所要播放的语音信息一次性烧录到存储器内。

当检测电路检测到报警信号出现时,微处理器送出所要播报的语句地址信号,控制语音芯片播放对应的原理图语音报警原理图信息。

其原理图

图2.6语音报警系统原理框图

软件的设计

采用芯片外接寄存器,脉冲触发方式。

当报警信号出现,未处理报警语句的地址信息送到寄存器,同时控制信息触发寄存器的CLK引脚,地址信息存储器。

芯片收到地址信息后即发出报警音,由于地址信息在寄存器的存储,在脉冲触发方式下,报警信息将反复播报,当报警信号消失,未处理器送出报警停止信号(00000000),即实现语音报警信号停止。

2.6主程序设计

步进电机的旋转方向和内部绕组的通电顺序及通电方式有密切关系。

对于四相八拍的工作方式:

正相旋转:

A→AB→B→BC→C→CD→D→DA→A

反相旋转:

A→DA→D→DC→C→CB→B→BA→A

四相八拍步进电机控制程序:

ORG2000H

ROUT1:

MOVA,#N

JNB00H,LP2

LP1:

MOVP1,#01H

ACALLDELAY

DECA

JZDONE

MOVP1,#03H

ACALLDELAY

DECA

JZDONE

MOVP1,#02H

ACALLDELAY

DECA

JZDONE

MOVP1,#06H

ACALLDELAY

DECA

JZDONE

MOVP1,#04H

ACALLDELAY

DECA

JZDONE

MOVP1,#0CH

ACALLDELAY

DECA

JZDONE

MOVP1,#08H

ACALLDELAY

DECA

JZDONE

MOVP1,#0

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2