步进电机课程设计报告

步进电机的驱动系统的设计

课程设计说明书

系(部):                    

    级:                           

学生姓名:                            

学号:                             

指导教师:                              

       时间:20111226 20##年 12月30

课 程 设 计 任 务 书

      步进电机驱动系统的设计 

  ()    

          

                    

学生姓名                

                   

 12  月  26  日至 12  月 30   1

指导教师(签字)             

(签字)             

                     

       20##年 12 月 30

目录

摘要... 7

一、         系统方案... 8

1、元件介绍... 8

二、         实验原理... 9

1、步进电机原理... 9

2.三相六拍环形脉搏冲分配器... 10

三、         源程序... 18

四、         结果分析与总结... 20

五、         主要参考资料... 21

摘要

本次课程设计主要基于试验台的步进电机控制的设计。主要使用AT89C51芯片以及ULN2003驱动芯片等来驱动步进电机,主要通过脉冲的输入顺序来控制步进电机的正反转,通过延时来控制步进电机的转速,软件部分采用了汇编语言编写程序代码,通过判断 ,跳转,循环,延时等基本技术实现。

关键词: Keil  Proteus  步进电机  AT89C51  ULN2003

一、       系统方案

1、元件介绍

本实验用到了AT89C51.ULN20##、步进电机等主要芯片。实验的主要过程是通过按键的扫描和串口程序的输入,根据输入值得不同来设置不同的数值。然后通过8255输出不同的电压来控制不进电机的转速

通过8253设置延时中断,以每一步中间的延时来控制转动速度。

LED模块的功能是显示步进电机的速度。

此次试验主要分为软件设计和硬件设计两方面来实施,在掌握步进电机的原理之上来了解硬件电路,再通过汇编语言的编程和串口的功能扩展实现外部串口的软件通信。

2、流程图如图1所示、

 

图1、试验流程图

二、       实验原理

1、步进电机原理

电机是工业过程控制及仪表中常用的控制元件之一,例如在机械装置中可以用丝杠把角度变为直线位移,也可以用步进电机带螺旋电位器,调节电压或电流,从而实现对执行机构的控制。步进电机可以直接接收数字信号,不必进行数模转换,用起来非常方便。步进电机还具有快速启停、精确步进和定位等特点,因而在数控机床、绘图仪、打印机以及光学仪器中得到广泛的应用。

步进电机实际上是一个数字/角度转换器,三相步进电机的结构原理如图所示。从图中可以看出,电机的定子上有六个等分磁极,A、A′、B、B′、C、C ′,相邻的两个磁极之间夹角为60°,相对的两个磁极组成一相(A-A′,B-B′,C-C′),当某一绕组有电流通过时,该绕组相应的两个磁极形成N极和S极,每个磁极上各有五个均匀分布矩形小齿,电机的转子上有40个矩形小齿均匀地分布的圆周上,相邻两个齿之间夹角为9°。

当某一相绕组通电时,对应的磁极就产生磁场,并与转子形成磁路,如果这时定子的小齿和转子的小齿没有对齐,则在磁场的作用下,转子将转动一定的角度,使转子和定子的齿相互对齐。由此可见,错齿是促使步进电机旋转的原因。

 

三相步进电机结构示意图

例如在三相三拍控制方式中,若A相通电,B、C相都不通电,在磁场作用下使转子齿和A相的定子齿对齐,我们以此作为初始状态。设与A相磁极中心线对齐的转子的齿为0号齿,由于B相磁极与A相磁极相差120°,不是9°的整数倍(120÷9=40/3),所以此时转子齿没有与B相定子的齿对应,只是第13号小齿靠近B相磁极的中心线,与中心线相差3°,如果此时突然变为B相通电,A、C相不通电,则B相磁极迫使13号转子齿与之对齐,转子就转动3°,这样使电机转了一步。如果按照A→B→C的顺序轮流通电一周,则转子将动9°。

步进电机的运转是由脉冲信号控制的,传统方法是采用数字逻辑电路--环形脉冲分配器控制步进电机的步进。 下图为环形脉搏冲分配器的简化框图。

 

20041027144121830

2.三相六拍环形脉搏冲分配器

运转方向控制。如图所示,步进电机以三相六拍方式工作,若按A→AB→B→BC→C→CA→A次序通电为正转,则当按A→AC→C→CB→B→BA→A次序通电为反转。

运转速度的控制。图中可以看出,当改变CP脉冲的周期时,ABC三相绕组高低电平的宽度将发生变化,这就导至通电和断电时速率发生了变化,使电机转速改变,所以调节CP脉冲的周期就可以控制步进电机的运转速度。

旋转的角度控制。因为每输入一个CP脉冲使步进电机三相绕组状态变化一次,并相应地旋转一个角度,所以步进电机旋转的角度由输入的CP脉冲数确定。

超想-3000TB实验仪选用的是20BY-0型4相步进电机,其工作电压为4.5V,在双四拍运行方式时, 其步距角为18O ,相直流电阻为55Ω,最大静电流为80Ma。采用8031单片机控制步进电机的运转,按四相四拍方式在P1口输出控制代码,令其正转或反转。因此P1口输出代码的变化周期T控制了电机的运转速度:  n=60/T.N

式中:n —— 步进电机的转速(转/分);

N ——步进电机旋转一周需输出的字节数;

      T ——代码字节的输出变化周期。

设N=360°/ 18°=20,T=1.43ms,则步进电机的转速为2100转/分。

控制P1口输出的代码字节个数即控制了步进电机的旋转角度。

步进电动机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。若每旋转一圈以20个励磁信号来计算,则每个励磁信号前进18度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。

步进电动机的励磁方式可分为全部励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,而半步励磁又称1-2相励磁。图为步进电动机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断送出脉冲信号,即可步进电动机连续转动。

相励磁法:在每一瞬间只有一个线圈导通。消耗电力小,精确度良好,但转矩小,振动较大,每送一励磁信号可走18度。若欲以1相励磁法控制步进电动机正转,其励磁顺序如图所示。若励磁信号反向传送,则步进电动机反转。

励磁顺序:  A→B→C→D→A

相励磁法:在每一瞬间会有二个线圈同时导通。因其转矩大,振动小,故为目前使用最多的励磁方式,每送一励磁信号可走18度。若以2相励磁法控制步进电动机正转,其励磁顺序如图所示。若励磁信号反向传送,则步进电动机反转。

励磁顺序:  AB→BC→CD→DA→AB

相励磁法:为1相与2相轮流交替导通。因分辨率提高,且运转平滑,每送一励磁信号可走9度,故亦广泛被采用。若以1相励磁法控制步进电动机正转,其励磁顺序如图所示。若励磁信号反向传送,则步进电动机反转。

励磁顺序:  A→AB→B→BC→C→CD→D→DA→A

电动机的负载转矩与速度成反比,速度愈快负载转矩愈小,当速度快至其极限时,步进电动机即不再运转。所以在每走一步后,程序必须延时一段时间。

本实验需要用到CPU模块(F3区)和步进电机模块(A7区)。步进电机电路原理参见图2。

图2 步进电机电路

  步进电机是将给定的电脉冲信号转变为角位移或线位移的开环控制元件。     
  给定一个电脉冲信号,步进电机转子就转过相应的角度,这个角度就称作该步进电机的步距角。目前常用步进电机的步距角大多为1.8度(俗称一步)或0.9度(俗称半步)。以步距角为0.9度的进步电机来说,当我们给步进电机一个电脉冲信号,步进电机就转过0.9度;给两个脉冲信号,步进电机就转过1.8度。以此类推,连续给定脉冲信号,步进电机就可以连续运转。由于电脉冲信号与步进电机转角存在的这种线性关系,使得步进电机在速度控制、位置控制等方面得到了广泛的应用。     
  步进电机的使用至少需要三个方面的配合,一是电脉冲信号发生器,它按照给定的设置重复为步进电机输送电脉冲信号,目前这种信号大多数由可编程控制器或单片机来完成;二是驱动器(信号放大器),它除了对电脉冲信号进行放大、驱动步进电机转动以外,还可以通过它改善步进电机的使用性能,事实上它在步进电机系统中起着重要的作用,一般一种步进电机可以根据不同的工况具有多种驱动器;三是步进电机,它有多种控制原理和型号,现在常用的有反应式、感应子式、混合式等。     
  步进电机的速度控制是通过输入的脉冲频率快慢实现的。当发生脉冲的频率减小时,步进电机的速度就下降;当频率增加时,速度就加快。还可以通过频率的改变而提高步进电机的速度或位置精度。     
  步进电机的位置控制是靠给定的脉冲数量控制的。给定一个脉冲,转过一个步距角,当停止的位置确定以后,也就决定了步进电机需要给定的脉冲数。在包装机控制中,给定脉冲数的多少,还与机构的参数有关,例如螺杆的直径等。     
  在包装机械中,很多情况下需要控制执行机构的运行速度和运行位置,以前都是通过机械或其它方式来完成的,机构复杂、调节不易。改用步进电机后,不仅能使包装机械结构变得简单、调节方便、可靠

 

性增加,而且粗度会得到很大提高

试验电路及连线

步进电机的驱动电压输入接J10的VB脚;步进电机的A、B、C、D四相输入接J10的A、B、C、D脚。

   步进电机有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。若每旋转一圈以20个励磁信号来计算,则每个励磁信号前进18°,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。

   步进电动机的励磁方式可分为全步励磁及半步励磁,其中全步励磁又有1相励磁及2相励磁之分,二半步励磁又称1-2相励磁。图5-1为步进电机的控制等效电路,适应控制A、B、/A、/B的励磁信号,即可控制步进电动机的转动。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断送出脉冲信号,即可使步进电动机连续转动。

相励磁法:在每一瞬间只有一个线圈导通。消耗电力小,精确度良好,但转矩小,振动较大,每送一励磁信号可走18°。若欲以1相励磁法控制步进电动机正转,其励磁顺序如表5-1所示。若励磁信号反向传送,则步进电动机反转。

表5-1 以1相励磁法控制步进电动机正转的励磁顺序

 b. 2相励磁法:在每一瞬间有两个线圈同时导通。因其转矩大,振动小,故为目前使用最多的励磁方式,每送一励磁信号可走18°。若以2相励磁法控制步进电动机正转,其励磁顺序如表5-2所示。若励磁信号反向传送,则步进电动机反转。

表5-2 以2相励磁法控制步进电动机正转的励磁顺序

c. 1-2相励磁法:为1相与2相轮流交替导通。因分辨率提高,且运转平滑,每送一励磁信号可走9°,故亦被广泛采用。若以1-2相励磁法控制步进电机正转,其励磁顺序如表5-3所示,若励磁信号反向传送,则步进电动机反转。

表5-3 以1-2相励磁法控制步进电动机正转的励磁顺序

电动机的负载转矩与速度成反比,速度越快负载转矩越小,当速度快至其极限时,步进电动机即不再运转。所以在每走一步后,程序必须延时一段时间。

本实验需要用到CPU模块(F3区)和步进电机模块(A7区)。步进电机电路原理参见图3

 


图3步进电机电路

3、数码显示

数码管中的每一段相当于一个发光二极管,8段数码管则具有8个发光二极管。对于“共阳极”的数码管,内部每个发光二极管的阳极被接在一起,成为该各段的公共选通线;发光二极管的阴极则成为段选线。对于“共阴极”数码管,则正好相反,内部发光二极管的阴极接在一起,阳极成为段选线。这两种数码管的驱动方式是不同的。当需要点亮“共阳极”数码管的一段时,公共段需接高电平(即写逻辑1)、该段的段选线接低电平(即写逻辑0),从而该段被点亮。当需要点亮“共阴极”数码管的一段时,公共段需接低电平(即写逻辑0)、该段的段选线接高电平(即写逻辑1),该段被点亮。

数码管的段位顺序如右图所示:一般来说在一个字节中按照abcdefg dp的顺序放置字型码,比如在一个“共阴极”数码管上要显示“1”,则b、c段需被点亮,因此在段选线中写入60H。例如使用P0口接段选线,则使用下面的语句即可点亮数码管:      MOV   P0,#06H

对应规则:

a----->D7

b----->D6

c----->D5

d----->D4

e----->D3

f----->D2

g----->D1

dp---->D0

多位数码管的显示

在多位8段数码管显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个单片机的8位I/O口控制,形成段选线的多路复用。而各位数码管的共阳极或共阴极分别由单片机独立的I/O口线控制,顺序循环地点亮每位数码管,这样的数码管驱动方式就称为“动态扫描”。在这种方式中,虽然每一时刻只选通一位数码管,但由于人眼具有一定的“视觉残留”,只要延时时间设置恰当,便会感觉到多位数码管同时被点亮了。

8位8段LED动态显示器电原理图如图2-1所示。

 

                     

图2-1  8位8段LED动态显示器电原理图

图2-1所示为一个8位8段LED动态显示器电路原理图。其中段选线占用一个8位I/O口,位选线占用一个8位I/O口,由于各位的段选线并联,段线码的输出对各位来说都是相同的。因此,同一时刻,如果各位位选线都处于选通状态的话,8位LED将显示相同的字符。若要各位LED能够显示出与本位相应的显示字符,就必须采用扫描显示方式,即在某一位的位选线处于选通状态时,其它各位的位选线处于关闭状态,这样,8位LED中只有选通的那一位显示出字符,而其它位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他的位选线处于关闭状态。如此循环下去,就可以使各位“同时”显示出将要显示的字符。由于人眼有视觉暂留现象,只要每位显示间隔足够短,则可造成多位同时亮的假象,达到显示的目的。

三、       源程序

;功能: 开关控制步进电机的正转、反转和停止。

;接线: 用导线对应连接步进电机模块的SMA~SMD到CPU模块的P10~P13,

;八位逻辑电平输出的K0~K2对应连接CPU模块的P15~P17。

;//****************************************************************

;K0——停止

;K1——正转

;K2——反转

        ORG   0000

        LJMP  START

        ORG   0100H

START:   

LOOP:   MOV   P1,#00H     ; 步进电机停止

        ORL   P1,#0E0H

        MOV   A,P1

        JB    ACC.5,STOP    ; 停止

        JB    ACC.6,FOR     ; 正转

        JB    ACC.7,rev     ; 反转               

        JMP   LOOP          ;        

FOR:  MOV   R0,  #00H     ; 正转到tab取码指针初值

for1:   MOV   A,R0          ; 取码

        MOV   DPTR,#TABLE   ;

        MOVC  A,@A+DPTR

        JZ    LOOP          ; 是否到了结束码00h        

        CPL   A             ;把acc反向

        MOV   P1,A          ;输出到p1开始正转

        CALL  DELAY         ;转动的速度

        INC   R0            ;取下一个码      

        JMP   FOR1          ;继续正转       

rev:    MOV   R0,#05H       ;反转到tab取码指针初值

rev1:   MOV   A,R0

        MOV   DPTR,#TABLE   ;取码

        MOVC  A,@A+DPTR

        JZ    LOOP           ;是否到了结束码00h

        CPL   A             ;把acc反向

        MOV   P1,A          ;输出到p1开始反转

        CALL  DELAY         ;转动的速度

        INC   R0            ;取下一个码

        JMP   REV1         ;继续反转

stop:    MOV   P1,  #00H

        JMP   LOOP

DELAY:  MOV   R1,#150       ;步进电机的转速20ms

D1:     MOV   R2,#248

        DJNZ  R2,$

        DJNZ  R1,D1

        RET

TABLE: db 01h,02h,04h,08h  ;正转表

        db 00               ;正转结束

        db 01h,08h,04h,02h  ;反转

        db 00               ;反转结束

        END

四、       结果分析与总结

应该说这次课程设计还是基本达到了设计的要求,但是也存在着未能解决的问题,由于在执行语音程序时对资源的消耗比较大,在语音报数的时候会中断步进电机驱动信号的输出,导致电机停转。为此,我们修改了方案,使用了两块单片机,通过双机通讯来传递信号,遗憾的是问题仍然没有得到解决。

这次步进电机的综合实验我们学到了步进电机、数码管、4*4键盘、语音报数和双机通讯的使用,更重要的是学会了程序出问题时调试的方法,并养成了Debug的习惯,学到了程序出问题后怎样去解决的基本方法。

五、       主要参考资料

1.《电子设计自动化技术基础》马建国、孟宪元编 清华大学出版   20##年4月

2.《实用电子系统设计基础》   姜威   20##年1月

3.《单片机系统的PROTEUS设计与仿真》  张靖武  20##年4月

相关推荐