课程设计(论文)基于AT89C51单片机的步进电机控制系统设计.doc
《课程设计(论文)基于AT89C51单片机的步进电机控制系统设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于AT89C51单片机的步进电机控制系统设计.doc(38页珍藏版)》请在三一办公上搜索。
1、摘 要 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。本次课程设计是用单片机来控制步进电机的定位和正反旋转。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。整个系统有89C51单片机控制系统,L298驱动电路,4*4的键盘控制电路,LED显示电路。用89C51单片机控制两相四线步进电机,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲的相序来改变步进电机的转动方向,从而达到
2、的控制正反转的目的。本系统采用单片机AT89C51为中心器件来控制步进电机,系统实用性强。关键字:单片机 ;步进电机;脉冲; 步距角目 录1 前言. 32 步进电机工作原理. 42.1两相步进电机结构.42.2两相步进电机的原理 .42.3两相步进电机的供电方式.53 硬件系统设计.63.1系统总体设计框图.63.2单片机系统.63.3时钟信号控制电路.73.4电源电路.83.5驱动电路.83.6显示电路.93.7 4*4键盘电路.94 软件系统设计.104.1主程序流程图及源代码.104.2扫描键盘流程图及源代码. .114.3 LED显示流程图及源代码.125 开发系统简介. .145.1
3、 WAVE6000编译器简介.145.2 protues仿真平台简介.146 仿真结果及分析.167 课程设计总结.19附录.201 前言本次课程设计是以步进电机控制和驱动为要求,用单片机来控制步进电机的定位和正反旋转圈数的显示。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。步进电机是机电控制中一种常用的执行机构通常电机
4、的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。步进电机是一种通过电脉冲信号控制想绕组电流实现定角转动的机电元件,与其它类型电机相比具有易于开环精确控制、无积累误差等优点,在众多领域中获得广泛运用。本文介绍了两相四线混合式步进电机的工作原理及其模型,怎样驱动,使其按照要求进行运转。2 步进电机工作原理2.1两相步进电机结构 图2.1 两相步进电机结构图电动机轴向结构如图2.1所示。转子被分为完全对称的两段,一段转子的磁力线沿转子表面呈放射形进入定子铁心,称为N极转子;另一段转子的
5、磁力线经过定子铁心沿定子表面穿过气隙回归到转子中去,称为S极转子。图中虚线闭和回路为磁力线的行走路线。相应地定子也被分为两段,其上装有A、B两相对称绕组.同时,沿转子轴在两段转子中间安装一块永磁铁,形成转子的N、S极性。从轴向看过去,两段转子齿中心线彼此错开半个转子齿距。2.2两相步进电机的原理图2.2 两相步进电机如图 2.2所示两相步进电机实物图。通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子的一对磁场方向与定子的磁场方向一致。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。
6、改变绕组通电的顺序,电机就会反转。所以可用控制脉冲数量、电动机各相绕组的通电顺序来控制步进电机的转动。2.3 两相步进电机的供电方式两相四线的步进电机,有两个绕组:A,B。在半步供电方式时,电机的通电方式采用顺序八拍一个循环给两相绕组供电为: 八拍,半步:(+A)(+B)-(+B)-(-A)(+B)-(-A)-(-A)(-B)-(-B)-(+A)(-B)-(+A)-。两相混合式步进电动机还有一种供电方式为双4拍整步方式,即采用通电次序两相,四拍:(+A)(+B)-(-A)(+B)-(-A)(-B)-(+A)(-B)。3 硬件电路设计3.1 系统总体设计框图根据设计要求设计了如图3.1图所示系统
7、总体设计框图,步进电机是较早实用的典型的机电一体化组件。步进电机本体、步进电机驱动器和控制器构成步进电机系统不可分割的三大部分其设计框图。 图3.1系统总体设计框图3.2 单片机系统如图3.2电路中采用的是Atmel公司的AT89C51型号的单片机,其内部结构结构如图3.2所示。64KB总线扩展控制器可编程I/O可编程全双工串行口振荡器和时序OSC程序存储器4KB Flash ROM256字节 RAM/SFR216位定时器/计数器80C51CPU 图 3.2 89C51内部结构图按照图3.2它具有如下一些特点:(1)集成度高。AT89C51为40脚封装,内部有4K字节的ROM,128字节的RA
8、M,四个8位并行口,一个全双工的串行口,二个16位定时器计数器,一个功能很强的中央处理器以及内部晶体振荡电路。(2)系统结构简单。一片Ar89C51即可构成一个小型的控制系统。该芯片扩充能力强,具有对64K外部程序存储器和64K外部数据存储器的寻址能力。两个单片机间还可进行通讯,可以构成双CPU系统。可靠性高。AT89C51能在常温下工作,大部分总线在芯片内部不易受干扰,系统简单,体积小,容易采取屏蔽措施,因此有较高的可靠性。(3)处理功能强,速度快。AT89C51具有丰富的指令系统,除加减指令外,还有字节的乘除运算指令,具有对128个控制位的位操作指令,因此特别适用于控制要求。CPU时钟高达
9、12MHz,机器周期只有1微秒,多数指令为一个机器周期或两个机器周期,所以运算速度快,可使系统有较强的功能和较高的响应。3.3 时钟信号控制电路 如图3.3所示,89C51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容C1和C2通常取30pF左右,可以稳定频率并对振荡频率有微调作用。振荡脉冲频率为0到24。振荡信号从XTAL2端输入到片内的时钟发生器上。 图 3.3 时钟信号控制电路3.4 电源电路 如图3.4所示为电源电路,在电子电路中,通常都需要电压稳定的直流稳压电源供电,小功率
10、的稳压电源是由电源变压器、整流电路、滤波电路和稳压电路等四部分组成。它的指标是输入电压为220V/50HZ交流电;输出电压分别为+12V/1A,-12V/1A,+5V/1A,-5V/1A,+5V/3A及一组可调正电压,本次电路系统多用到+5V/1A的电源,通过具体的调节可以得到稳定的需求电压。 图 3.4 电源电路3.5 驱动电路如图3.5所示,驱动电路用L298来驱动步进电机,L298可以驱动两个两相电机,和一个四相电机,输出电压最大可达到+50V,可以通过电源来调节输出电压,可直接用单片机IO输出信号。图 3.5 驱动电路3.6 显示电路 如图3.6所示,步进电机的数字显示是通过四个七段数
11、码显示,断选由P0口接上上拉电阻输出。位选有P1口高四位控制,通过查断码表,每个数码管可显示0-9的数。 图3.6 数码管显示电路3.7 4*4键盘电路本次设计要对电机进行定位和显示圈数,需要用到多个按键,因此选用了4*4的键盘8个端口由P2口控制,如图3.7所示。 图3.7 4*4键盘电路4 软件系统设计4.1 主程序流程图及源代码 如图4.1是主程序流程图,初始化程序后,将寄存器R7的5、6、7三位做为功能标志位,当检测到哪一位为1时立即转向相应的程序执行。根据指令要知道电机是要正转还是反转从R7=?来进行控制步进电机的正反转,然后调用显示程序显示圈数,如此进行旋转和显示。图4.1主程序流
12、程图主程序源代码如下START:SETB 20H ;主程序 CJNE R7,#1,L1 ;判断正反转 CLR 20H LCALL ZZ ;ZZ进入正转 SETB 20HL1:CJNE R7,#2,L2 CLR 20H LCALL FF ;FF进入反转 SETB 20HL2:LCALL LEDNNT3:JMP START4.2 扫描键盘流程图及源代码如图4.2所示为扫描键盘的程序流程图,由中断进入,去除抖动,判断确定有无按键按下,开始扫描键盘得键号,判别按键是否释放,将扫描的键号保存并返回,继续执行其它的指令。 中断抖动扫描键盘得键号键释放键号入累加器返回主程序YN 图4.2扫描键盘流程图键盘程
13、序源代码如下KEYH:MOV A,01H ;列键盘扫描 JNB ACC.0,D0 JNB ACC.1,D1 JNB ACC.2,D2 JNB ACC.3,D3 SETB EX1 RETIKEYL: MOV DPTR,#JS ;行键盘扫描 CLR EX1 MOV 70H,R0 MOV 71H,R1 MOV 72H,R3 MOV A,P2 MOV P2,#0FH MOV 01H,P2 MOV P2,#0F0H JNB ACC.4,E1 JNB ACC.5,E2 JNB ACC.6,E3 JNB ACC.7,E4 SETB EX1 RETI4.3 LED显示流程图 如图4.3所示为LED显示程序流程
14、图,开始扫描一个数码管,要显示那个数码管是由位选决定的,要显示的数字是根据P0口输出的信号决定的,P0口输出信号时扫描七段显示管,依据P0口的信号,然后查七段断码表可以得到相应的数字,当第一个数码管显示完后,延时一段时间,扫描下一个数码管知道四个数码管显示完后。图4.3 LED显示流程图LED流程图源代码如下LED:MOV DPTR,#TAB ;初始化 SETB P1.4 CLR P1.5 CLR P1.6 CLR P1.7 MOV A,43H MOVC A,A+DPTR MOV P0,A LCALL TT5开发系统简介5.1 WAVE6000编译器的简介 Wave6000是一款功能强大的优秀
15、的单片机程序编辑、调试、仿真中文Windows软件。该软件可以配有MCS51系列、80C196系列和8088系列编译功能,程序采用了机器码。汇编、C语言等三种语言。利用该软件进行单片机软件的编辑调试和模拟仿真,结合一台写码器,就可进行低投入的单片机的开发工作。实验程序采用多种语言适应不同的语言适应不同层次的学生需要。高级语言编写应用程序,是一种时代的需要,通过应用高级语言的汇编和实验们可以更好的掌握。的它可以对C语言和汇编语言进行编译检查,利用它可以很好的进行编程设计,通过运行可以生成.HEX文件,被89c51用于仿真。其工作界面如图5.1所示。 图 5.1 WAVE6000编译器5.2 Pr
16、otues仿真平台简介Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐,Protues是一个能仿真模拟和数字电路,特别是能够仿真单片机、ARM、DSP、FPGA等的软件,它还能和KEIL软件在同一台机子实现联调Protues可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表
17、、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 AT89C51 单片机 步进 电机 控制系统 设计
链接地址:https://www.31ppt.com/p-4150538.html