1、单片机基于80C51单片机的步进电机控制系统中国地质大学长城学院 本 科 课 程 设 计 题 目:基于80C51单片机的步进电机控制系统 系 别信息工程系学生姓名专 业电气工程及其自动化学 号指导教师职 称讲师2014 年6 月 11 日摘 要本文研究基于51系列单片机的步进电机控制系统设计,该系统包括以下几个部分:数据采集、数据处理、终端接收,该系统以汇编语言为单片机的驱动程序语言,单片机控制步进电机,主要任务是把二进制数变成脉冲序列,按相序输入脉冲以实现电机转动方向控制,利用单片机实现对步进电机的远距离实时监控,从而达到高效、节能的控制步进电机工作的目的,该系统具有成本低、控制方便的特点。
2、使用单片机驱动四相步进电机,控制步进电机以四相八拍的方式运行,来实现步进电机正向/反向旋转,P1.0P1.3分别控制步进电机;P1.5P1.7分别控制步进电机的停止、正转、反转。 关键词: 51单片机 ;步进电机 ;数据采集 ;汇编语言 ; 摘要 01 设计目的 12设计内容与要求 13 总体设计方案 13.1整体方案 13.2具体方案实现 14系统硬件设计 24.1复位电路 24.2晶振电路 24.3按键电路 34.4指示灯电路 34.5驱动电路 44.6步进电机 45程序软件设计 55.1程序流程图 55.2源程序 66系统调试与仿真 77总结 81设计目的1掌握单片机控制步进电机的硬件接
3、口电路。2掌握步进电机驱动程序的设计和调试方法。3熟悉步进电动机的工作特性。2设计内容与要求1查阅资料,了解步进电机的工作原理。2通过单片机给定参数控制电机转动。3通过按钮控制正转、反转和停止。3总体设计方案3.1整体方案本系统主要是由AT89C51,步进电机控制器ULN2004,步进电机,通过单片机编程,实现步进电机控制的脉冲分配,使电机实现正转,反转以及停止等功能3.2具体实现方案 根据系统要求画出单片机控制步进电机的控制框图,见下图。系统包括单片机、按键、驱动电路和步进电机。 开始通电后,步进电机停止转动,单片机分别接有按钮开关正,反,停用来控制步进电机的正转、反转和停止。当按下正后,电
4、机正转;当按下反后,电机反转,当按下停,电机停转。 4 系统硬件设计本系统主要由单片机主控模块、复位电路模块、晶振电路模块、独立键盘电路模块、指示灯电路模块、驱动电路模块、步进电机模块等组成,下面将对各模块作简要介绍。4.1复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。AT89C52 的复位端是一个施密特触发输入,高电平有效3。RST端如果由低电平上升到高电平并持续2个机器周期,系统将实现一次复位操作。此复位电路中,上电或按一下复位开关都能在RST端出现一段时间的高电平,使系统复位。如图1示。图表 14.2晶振电路每个单片机系统里都有晶振,
5、全称是叫晶体振荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步6。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。本次设计的晶振其输入端为芯片引脚XTAL1,其输出端为芯片引脚XTAL2。通过这两个引脚在芯片外并接12MHz晶振和两只30F的电容,这样就构成一个稳定的自激振荡器。如图2示。图表 24.3按键电路本设计的键盘电路由3独立按键组成,如图
6、3示。图表 3功能如下:正:正转键。按下时步进电机正转。反:反转键。按下时步进电机反转。停:停止键。运行状态按下此键即停止运转。4.4指示灯电路 指示灯电路包括D1、D2、D3、D4四个LED灯组成,分别串联一个分别串联一个电阻,提供稳定的电压与电流。图表 44.5驱动电路模块 驱动电路模块包括四个非门和unl2003,通过脉冲让步进电机转动。图表 54.6步进电机 有三线式、五线式、六线式三种,但其控制方式均相同,必须以脉冲电流来驱动。若每旋转一圈以20 个励磁信号来计算,则每个励磁信号前进18 度,其旋转角度与脉冲数成正比,正、反转可由脉冲顺序来控制。励磁方式可分为全部励磁及半步励磁,其中
7、全步励磁又有1 相励磁及2相励磁之分,而半步励磁又称1-2 相励磁。图为步进电动机的控制等效电路,适应控制A、B、/A、/B 的励磁信号,即可控制步进电动机的转动。每输出一个脉冲信号,步进电动机只走一步。因此,依序不断送出脉冲信号,即可步进电动机连续转动。励磁顺序: AABBBCCCDDDAA。图表 65 程序软件设计5.1程序流程图本设计中采用了主程序调用各个子程序的方法。包括对系统初始化和对硬件设备进行初始化,并使硬件处于准备开始的状态。扫描是否有按键按下,有则跳转到相应的子程序执行,没有则循环等待。子程序采用查表法获取数值,使得单片机发出相应的脉冲驱动步进电机转动。具体程序流程图如下。
8、5.2源程序 ORG 0000 LJMP START ORG 0100HSTART: 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开始正转 ACA
9、LL DELAY ;转动的速度 INC R0 ;取下一个码 JMP FOR1 ;继续正转rev: MOV R0,#09H ;反转到tab取码指针初值rev1: MOV A,R0 MOV DPTR,#TABLE ;取码 MOVC A,A+DPTR JZ LOOP ;是否到了结束码00h CPL A ;把acc反向 MOV P1,A ;输出到p1开始反转 ACALL DELAY ;转动的速度 INC R0 ;取下一个码 JMP REV1 ;继续反转stop: MOV P1, #00H JMP LOOPDELAY: MOV R1,#150 ;步进电机的转速20msD1: MOV R2,#248 DJ
10、NZ R2,$ DJNZ R1,D1 RETTABLE: db 01h,03h,04h,06h,04h,12h,08h,09h ;正转表 db 00 ;正转结束 db 01h,09h,08h,12h,04h,06h,04h,03h ;反转 db 00 ;反转结束 END6 系统调试与仿真7 总结 主要以单片机为基础,用单片机来控制电机的转动,熟悉单片机的一般搭建电路,了解一般电子电路与单片机构成简单系统及简单编程的方法。进一步加深对单片机常用指令的理解与运用。能够较熟练的运用protues绘制电路原理图以及进行仿真。在课设过程中,使我得到了一次用专业知识、专业技能分析和解决问题、全面系统的锻炼
11、。使我在单片机的基本原理、单片机应用系统开发过程,以及常用编程设计思路技巧的掌握方面有了很大的提高。同时在老师的悉心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域对我今后进一步学习计算机方面的知识有极大的帮助,使我们积累实际电子制作经验,达到学以致用的目的,真正的吧理论和实践结合起来,让我们进一步体验到实践的重要性。对我们以后的工作有很大的帮,同时锻炼了我们团队合做精。同时非常感谢老师的细心指导,当我们遇到困难时,能及时给予我们帮助。参考文献:1潘晓宁,朱耀东。单片机程序设计实践教程2刘海宽,包建华。单片机实验与实训教程3杨居义,马宁。单片机原理与工程应用4胡健,刘玉宾。单片机原理及接口技术实践教程5韩志军,刘新民。单片机系统设计与应用实例6朱博,马鸣鹤。单片机应用技术教程
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1