单片机课设步进电机控制正反转

时间:2024.4.20

单片机课程设计报告

设计题目: 步进电机控制系统

学    院  自动化与信息工程学院 

专    业   电气工程及其自动化  

班    级                      

姓    名                    

学    号                      

指导教师       王水鱼          

2010 年 秋季 学期

起止时间:20##年1月10日至20##年1月14日

目录

1.    设计目的…………………………………………2

2.    设计的主要内容和要求…………………………2

3.    题目及要求功能分析……………………………2

4.    设计方案…………………………………………5

4.1  整体方案……………………………………5

4.2  具体方案……………………………………5

5.硬件电路的设计…………………………………6

   5.1 硬件线路……………………………………6

   5.2 工作原理……………………………………7

   5.3 操作时序……………………………………8

6. 软件设计…………………………………………8

   6.1 软件结构……………………………………8

   6.2 程序流程……………………………………9

   6.3 源程序清单…………………………………9

7. 系统仿真…………………………………………9

8. 使用说明…………………………………………10

9. 设计总结…………………………………………10

参考文献 ……………………………………………11

附录 …………………………………………………12

步进电机的控制

1. 设计目的

(1)    熟悉单片机编程原理。

(2)    熟练掌握51单片机的控制电路和最小系统。

(3)    单片机基本应用系统的设计方法。

2.设计的主要内容和要求

(1)    查阅资料,了解步进电机的工作原理。

(2)    通过单片机给参数控制电机的转动。

(3)    通过按钮控制启停及反转。

(4)    其他功能。

3题目及要求功能分析

步进电机:步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其精度高等特点,广泛应用于各种工业控制系统中。

三相单、双六拍步进电机的结构和工作原理:

三相单、双六拍步进电机通电方式:这种方式的通电顺序是:U-UV-V-VW-W-WU-U或为U-UW-W-WV-V-VU-U。按前一种顺序通电,即先接通U相定子绕组;接着是U、V两相定子绕组同时通电;断开U相,使V相绕组单独通电;再使V、W两相定子绕组同时通电;W相单独通电;W、U两相同时通电,并依次循环。这种工作方式下,定子三相绕组需经过六次切换才能完成一个循环,故称为“六拍”,而“单、双六拍”则是因为单相绕组与两相绕组交替接通的通电方式。

步进电机的驱动电源

步进电机应由专用的驱动电源来供电,由驱动电源和步进电机组成一套伺服装置来驱动负载工作。步进电机的驱动电源,主要包括边频信号源、脉冲分配器和脉冲放大器等三个部分,如图1-4所示。边频信号源是一个频率从几十赫兹到几千赫兹的可连续变化的信号发生器。变频信号员可以采用多种线路。最常见的有多谐振荡器和单结晶体管构成的驰张振荡器两种。它们都是通过调节电阻和电容的大小来改变电容充放电的时间常数,以达到选取脉冲信号频率的目的。脉冲分配器是由门电路和双稳态处发起组成的逻辑电路,它根据指令把脉冲信号按一定的逻辑关系加到放大器上,使步进电机按一定的运行方式运转。

步进电机的钉子绕组可以是任意相数,常有三相制,四相制,五相制,六相制4种。根据转子结构不同,步进电机分为3种:反应式步进电机(VR)、永磁式步进电机(PM)和混合式步进电机(HB)。其中反应式步进电机结构最为简单,应用最广泛。绕组通电方式通常有单排方式、双拍方式和单双拍方式3种。

通过软件编程,用单片实现步进电机控制的脉冲分配;实现步进电机的正常工作。根据题目要求,开机后,电机不转,按下前进,后退,左转,右转任意一按钮,电机按设置的方式转动,当按下停止按钮后,电机停止转动。

电机的不同转速通过设置延时时间常数来确定。延时时间常数越小电机转速越快.反之越快。

4. 设计方案

4.1 整体方案

   本系统主要是由AT89C51,步进电机控制器ULN2004,步进电机,通过单片机编程,实现步进电机控制的脉冲分配,使电机实现正转,反转以及停止等功能。

4.2具体实现方案

         根据系统要求画出单片机控制步进电机的控制框图,见下图(1)。系统包括单片机、按键和步进电机。

(1)            单片机控制步进电机的控制框图

开始通电后,步进电机停止转动,单片机分别接有按钮开关K1,K2,K3,K4用来控制步进电机的不同转向,不同转速,当按下K1后,电机正转;当按下K2后,电机反转,当按下K3,电机停转。

      为实现电机加速,减速,给电机设置不同延时时间常数,根据时间常数的不同,电机转速不同,延时时间常数越大,电机转速越慢,延时时间常数越小,电机转速越快。

5.硬件电路的设计

5.1 硬件线路

    根据系统框图,可以设计出单片机控制步进电机的硬件电路图,电路图见附录图(2),图(3),图(4)为提高部分电

5.2工作原理:

单片机的选择,单片机的种类较多,选择时应根据控制系统的程序和数据量的大小来确定。由于本系统控制简单,程序和数据量都不大,因此我们选用89C51单片机,89C51晶振频率采用12MHZ。

外接晶体引脚XTAL1XTAL2

①XTAL1:接外部晶体的一个引脚.在单片机内部,它是构成片内振荡器的反相放大器的输入端.当采用外部振荡器时,该引脚接受振荡器的信号,即把此信号直接接到内部时钟发生器的输入端.

②XTAL2:接外部晶体的另一个引脚.在单片机内部,它是上述振荡器的反相放大器的输出端.采用外部振荡器时,此引脚应悬浮不连接.

③单片机外接电路

时钟产生产生和复位电路

片内电路与片外器件就构成一个时钟产生电路,CPU的所有操作均在时钟脉冲同步下进行。片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~12MHz之间选取。C1、C2是反馈电容,其值在5pF~30pF之间选取,典型值为30pF。本电路选用的电容为30pF,晶振频率为12MHz。这样就确定了单片机的4个周期分别是:

振荡周期=1/12

    机器周期(SM)=

指令周期=

晶振电路如下图所示。

按键采用5个功能,前进,后退,左转,右转按键分别接在单片机的P2.0至P2.4引脚上,用来控制步进电机的转向,作为控制信号的输入端键,按下不同键,电机按要求实现正转反转。提高电路图,则用8个按键,K1至K6为设置电机的不同转速,K7和K8为电机的正转和反转。

驱动电路,单片机的输出电流太小,不能直接接与步进电机相连,需要增加驱动电路。对于小直流0.5A的步进电机,可采用ULN2003类的驱动IC。ULN2003的技术参数如下所示

最大输出电压:50V。

最大连续输出电流:0.5A。

最大连续输入电流:25mA。

功率:1W。

如下图(4)为ULN2003系列驱动器的引脚图,左边1-7为输入端,接单片机P1口的输出端,引脚8接地;左侧10-16引脚为输出端,接步进电机,引脚9接电源5V,该驱动器可提供最高0.5A的电流。

    正转采用1相激磁方式,反转采用一到俩相激磁方式。

5.3 操作时序

    按电路图再Proteus中连接号电路图,检查无误后导入程序,编译连接后进行仿真。按不同的键实现不同的功能。从而控制电机正转,反转,停止以及电机以不同的速度转动。

6. 软件设计

     6.1 软件结构

对单片机的P2口设置堆栈,开始时步进电机停转,按键进行扫描,判断是否有按键按下,由于按键的时间特性,程序中加入了消抖程序,当判断按键按下时消除按键的抖动,按下不通的键跳至不同的转动模块,调用转动程序,转动程序通过查表实现,当执行完之后继续扫描看是否有按键按下,没有则继续当前循环,有则跳至相应的模块。

     6.2 程序流程图

附录(二)

     6.3 源程序清单

程序采用ASM51汇编语言编写。

附录(三)

7. 系统仿真

      连接好电路后,对程序进行装载编译连接后,仿真。

结果:按下前进按钮   电机1正转,电机2反转

      按下后退按钮   电机1反转,电机2正转

      按下左转按钮   电机1正转,电机2正转

      按下右转按钮   电机1反转,电机2反转

注:步进电机控制模拟小车的轮子转动模型。

提高要求:按下K7,按下K1时电机正转且转速较快,当按下K1至K6不同键时,电机的转速不同,越来越慢。

按下K8,按下K1时电机正转且转速较快,当按下K1至K6不同键时,电机的转速不同,越来越慢。

8. 使用说明

     步进电机控制模拟小车使用说明,系统上有5个按键,每个按键都有不同的功能:

      按下前进按钮,电机1正转,电机2反转,小车前进

      按下后退按钮,电机1反转,电机2正转,小车后退

      按下左转按钮,电机1正转,电机2正转,小车左转

      按下右转按钮,电机1反转,电机2反转,小车后退

9. 设计总结体会

     一周的课设很快的就结束了,本次课设主要以单片机为基础,用单片机来控制电机的转动,熟悉单片机的一般搭建电路,了解一般电子电路与单片机构成简单系统及简单编程的方法。熟练掌握了KeilC51集成开发环境的使用方法,进一步加深对单片机常用指令的理解与运用。能够较熟练的运用protues绘制电路原理图以及进行仿真。以及keilc51和protues的联合调试。在课设过程中,使我得到了一次用专业知识、专业技能分析和解决问题、全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及常用编程设计思路技巧的掌握方面有了很大的提高。同时在老师的悉心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域对我今后进一步学习计算机方面的知识有极大的帮助,使我们积累实际电子制作经验,达到学以致用的目的,真正的吧理论和实践结合起来,让我们进一步体验到实践的重要性。对我们以后的工作有很大的帮,同时锻炼了我们团队合做精。同时非常感谢老师的细心指导,当我们遇到困难时,能及时给予我们帮助。

参考文献:

[1]潘晓宁,朱耀东。单片机程序设计实践教程

[2]刘海宽,包建华。单片机实验与实训教程

[3]杨居义,马宁。单片机原理与工程应用

[4]胡健,刘玉宾。单片机原理及接口技术实践教程

[5]韩志军,刘新民。单片机系统设计与应用实例

[6]朱博,马鸣鹤。单片机应用技术教程

(3)程序流程图

附录(二)硬件原理图

   

(2)基本电路图

(3)基本电路图

(4)提高电路图

附录(三)源程序

QJ     EQU    P2.0        ; 前进

 HT     EQU    P2.1        ; 后退

 LZ     EQU    P2.2        ; 左转

 RZ     EQU    P2.3        ; 右转

 TZ     EQU    P2.4        ; 停止

 OUT    EQU    P1          ;p1口 输出`

;-----------------------------------------------------

        ORG  40H

STOPS1: ORL  OUT,#0FFH    ;步进电机停转

LOOP:   JNB  QJ,ZZ1       ;判断是否按下前进按钮

        JNB  HT,FZ1

        JNB  LZ,LZ1

        JNB  RZ,RZ1

        JNB  TZ,STOPS

        JMP  LOOP          ;循环

;----------------------------------------------

ZZUAN:  MOV  R0,#00H  ; 前进-----》1正转 ,2反转;制表初值

ZZUAN1: MOV  A,R0

        MOV  DPTR,#TAB           ;表指针

        MOVC A,@A+DPTR           ;取表代码

        JZ   ZZUAN                ;是否取到结束码?

        ;CPL  A

        MOV  OUT,A                ;从P1输出,前进

        JNB  HT,FZ1

        JNB  LZ,LZ1

        JNB  RZ,RZ1

        JNB  TZ,STOPS

        CALL DELAY               ;步进电机转速

        INC  R0                  ;取下一个码

        JMP  ZZUAN1

;-------------------------------------------------

FZUAN:  MOV  R0,#05H          ; 后退-----》2正转 ,1反转

FZUAN1: MOV  A,R0

        MOV  DPTR,#TAB

        MOVC A,@A+DPTR

        JZ   FZUAN

        ;CPL  A

        MOV  OUT,A

        JNB  QJ,ZZ1

        JNB  LZ,LZ1

        JNB  RZ,RZ1

        JNB  TZ,STOPS

        CALL DELAY

        INC  R0

        JMP  FZUAN1

;----------------------------------------------------

ZZ1:    CALL DELAY         ;键盘去干扰;按前进按钮消除抖动

        JNB  QJ,$          ;放开了前进按钮吗?

        CALL DELAY         ;放开消除抖动

        JMP  ZZUAN         ;步进电机正转

FZ1:    CALL DELAY

        JNB  HT,$

        CALL DELAY

        JMP  FZUAN

LZ1:    CALL DELAY

        JNB  LZ,$

        CALL DELAY

        JMP  LZUAN

RZ1:    CALL DELAY

        JNB  RZ,$

        CALL DELAY

        AJMP  RZUAN

STOPS:  CALL DELAY

        JNB  TZ,$

        CALL DELAY

        JMP  STOPS1

;-------------------------------------------------------

LZUAN:  MOV  R0,#0AH                ;左转-----》1,2正转

LZUAN1: MOV  A,R0

        MOV  DPTR,#TAB

        MOVC A,@A+DPTR

        JZ   LZUAN

        ;CPL  A

        MOV  OUT,A

        JNB  QJ,ZZ1

        JNB  HT,FZ1

        JNB  RZ,RZ1

        JNB  TZ,STOPS

        CALL DELAY

        INC  R0

        JMP  LZUAN1

;-------------------------------------------------------

RZUAN:  MOV  R0,#0fH                ;右转---》1,2反转

RZUAN1: MOV  A,R0

        MOV  DPTR,#TAB

        MOVC A,@A+DPTR

        JZ   RZUAN

        ;CPL  A

        MOV  OUT,A

        JNB  QJ,ZZ1

        JNB  HT,FZ1

        JNB  LZ,LZ1

        JNB  TZ,STOPS

        CALL DELAY

        INC  R0

        JMP  RZUAN1

;-------------------------------------------------

DELAY:  MOV R1,#255                    ;延时

D1:     MOV R2,#255

        DJNZ R2,$

        DJNZ R1,D1

        RET

;DelayS:  MOV  R5,#0AH

;L1:     MOV R6,#0FFH

;Delay0: MOV R7,#0FFH

;Delay1: DJNZ R7,Delay1

       ; DJNZ R6,Delay0

        ;DJNZ R5,L1

        ;RET

;-----------------------------------------------------

TAB:    DB 33H,96H,0CCH,69H,00H     ;正转码

        DB 33H,69H,0CCH,96H,00H     ;反转码

        DB 33H,66H,0CCH,99H,00H     ;左转码

      DB 33H,99H,0CCH,66H,00H     ;右转码

END

;

  

更多相关推荐:
单片机课程设计总结

单片机课程设计心得体会这个学期的单片机课已经早早的上完了但是理论纯属理论没有与实践的结合总让我们学的不踏实感觉没有达到学以致用的效果所庆幸的是在课程介绍考试完之后老师给我们安排了这次单片机课程设计给了我们学以致...

单片机课程设计及个人心得感受

本科课程设计(论文)单片机控制流水灯的正常工作及外部中断控制灯的亮灭学院名称:汽车与交通工程学院专业:汽车服务工程班级:13汽服B学号:*************姓名:*******指导教师姓名:***二〇**…

单片机课程设计心得体会

单片机课程设计心得体会文章发布课程设计网发布时间20xx0505做了两周的课程设计有很多的心得体会有关于单片机方面的更多的是关于人与人之间关系方面的我们组一共有三个人但其他两个人是真的神龙见首不见尾除了在最后答...

单片机课设报告

燕山大学课程设计说明书题目虚拟电子琴设计学院系电气工程学院年级专业学号学生姓名指导教师教师职称电气工程学院课程设计任务书说明1此表一式四份系指导教师学生各一份报送院教务科一份2学生那份任务书要求装订到课程设计报...

单片机课程设计小结

单片机课程设计小结单片机课程设计小结一做了两周的课程设计有很多的gt心得体会有关于单片机方面的更多的是关于人与人之间关系方面的我们组一共有三个人但其他两个人是真的神龙见首不见尾除了在最后答辩的时候他们一起坐在了...

单片机课程设计心得

课程设计心得课设的选题,方案的设计与确定,元器件的选择,硬件的焊接,这一系列的课设准备工作早在课设开始之前,老师就向我们做了相关的介绍和明确的说明,同时非常友好的提示我们早点着手准备自己的课设项目。但是如此语重…

单片机课程设计总结

单片机基础知识单片机的外部结构:1、DIP40双列直插;2、P0,P1,P2,P3四个8位准双向I/O引脚;(作为I/O输入时,要先输出高电平)3、电源VCC(PIN40)和地线GND(PIN20);4、高电平…

单片机贪食蛇课程设计报告

单片机课程设计报告目录1设计任务及要求12总体设计思路及功能描述13各部分软硬件设计原理及方案详细说明331人机接口电路332单片机与PC机通信电路533其他部分电路说明534软件模块设计6341LCD初始化6...

单片机课程设计 交通灯

目录目录第一章课程设计内容与要求分析111课程设计内容112课程设计要求分析2121系统单元电路组成2第二章控制系统程序设计4第三章单片机原理及应用课程设计总结18参考文献19附录20第一章课程设计内容与要求分...

单片机课程设计题目

单片机课程设计题目,内容附图。

单片机课设-电子时钟JD51

单片机课设电子时钟单片机应用课程设计电子时钟姓名邢昊学号12211016班级通信1201指导老师周永华129单片机课设电子时钟目录一实验目的3二设计任务及要求3三软件设计思路3四设计分析4五源程序代码及注释10...

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计摘要本设计是基于51系列的单片机进行的双字节十六进制减法设计可以完成计算器的键盘输入进行加减3位无符号数字的简单运算并在LED上相应的显示结果设计过程在硬件与软件方面进行同步设计...

单片机课设总结(30篇)