版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中国地质大学长城学院2014课程设计中国地质大学长城学院 本 科 课 程 设 计 题 目:基于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掌握单片机控制步进电机的硬件接口电路。2掌握步进电机驱动程序的设计和
3、调试方法。3熟悉步进电动机的工作特性。2设计内容与要求1查阅资料,了解步进电机的工作原理。2通过单片机给定参数控制电机转动。3通过按钮控制正转、反转和停止。3总体设计方案3.1整体方案本系统主要是由AT89C51,步进电机控制器ULN2004,步进电机,通过单片机编程,实现步进电机控制的脉冲分配,使电机实现正转,反转以及停止等功能3.2具体实现方案 根据系统要求画出单片机控制步进电机的控制框图,见下图。系统包括单片机、按键、驱动电路和步进电机。80c51单片机步进电机键盘驱动电路开始通电后,步进电机停止转动,单片机分别接有按钮开关正,反,停用来控制步进电机的正转、反转和停止。当按下正后,电机正
4、转;当按下反后,电机反转,当按下停,电机停转。 4 系统硬件设计本系统主要由单片机主控模块、复位电路模块、晶振电路模块、独立键盘电路模块、指示灯电路模块、驱动电路模块、步进电机模块等组成,下面将对各模块作简要介绍。4.1复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。AT89C52 的复位端是一个施密特触发输入,高电平有效3。RST端如果由低电平上升到高电平并持续2个机器周期,系统将实现一次复位操作。此复位电路中,上电或按一下复位开关都能在RST端出现一段时间的高电平,使系统复位。如图1示。图表 14.2晶振电路每个单片机系统里都有晶振,全称
5、是叫晶体振荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步6。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。本次设计的晶振其输入端为芯片引脚XTAL1,其输出端为芯片引脚XTAL2。通过这两个引脚在芯片外并接12MHz晶振和两只30F的电容,这样就构成一个稳定的自激振荡器。如图2示。图表 24.3按键电路本设计的键盘电路由3独立按键组成,如图3示
6、。图表 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、步进电机停止扫描是否按键Y正转模块按下正转了吗?NY反转模块按下反转了吗?读取表格NY步进电机停止按下停止了吗?输出结束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+DPT
9、R JZ LOOP ; 是否到了结束码00h CPL A ;把acc反向 MOV P1,A ;输出到p1开始正转 ACALL 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, #0
10、0H JMP LOOPDELAY: MOV R1,#150 ;步进电机的转速20msD1: MOV R2,#248 DJNZ 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绘制电路原理图以及进行仿真。在课设过程中,使我得到了一次用专业知识、专业技能分析和解决问题、全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及常用编程设计思路技巧的掌握方面有了很大的提高。同时在老师的悉心指导和严格要求下,获得了丰富的理论知识,极大地提高了实践能力,单片机领域对我今后进一步学习计算机方面的知识有极大的帮助,使我们积累实际电子制作经验,达到学以致用的目的,真正的吧理论和实践结合起来,让我们进一步体验到实践的重要性。对我们以后的工作有很大的帮,同时锻炼了我们团
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论