




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机设计实验题目:两相步进电机转速控制班级:10自动化2班设计者:姚树杰、卢晓玲、姜鹏、孙慧、何瑶、姜龙、杨揆指导教师:文远熔摘 要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。本次课程设计是用单片机来控制步进电机的定位和正反旋转。步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。整个系统有89C51单片机控制系统,L298驱动电路,键盘控制电路,LCD显示电路。用89C51单片机控制两相四线步进电机,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角
2、。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲的相序来改变步进电机的转动方向,从而达到的控制正反转的目的。本系统采用单片机AT89C51为中心器件来控制步进电机,系统实用性强。关键字:单片机 ;步进电机;脉冲; 步距角目录1设计内容31.1 设计目的31.2 设计任务42 步进电机工作原理42.1两相步进电机结构42.2两相步进电机的原理52.3 两相步进电机的供电方式53 硬件电路设计53.1 系统总体设计框图53.2 单片机系统63.3 时钟信号控制电路73.4 电源电路73.5 驱动电路83.6 显示电路93.7键盘电路104 软件系统设计104.1 主程
3、序流程图104.2 键盘处理114.3 LCD显示115开发系统简介125.1 keilc_51编译器的简介125.2 Protues仿真平台简介126 仿真结果及分析137 课程设计总结14附录程序表161设计内容1.1 设计目的单片机应用基础课程设计是学好本门课程设计的又一重要环节,课程设计的目的就是配合笨课程设计的教学和平时的实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,是以培养学生综合运用所学知识的过程,培养学生查阅相关资料撰写文档的能力和自学,科研的能力,是知识转化为能力和能力转化为工程素质的重要阶段。1.2 设计任务根据给定的任务要求选
4、择合适的单片机和其他电子元件,进行系统硬件电路设计和软件编程,根据系统制作并调试电路板,使之实现任务要求。两相步进电机,步距角为3度,编程实现下列功能:(1) 按键,步进电机按一定速度正转。(2) 按键,步进电机按一定速度反转。(3) 任何时候按一下“STOP”键,步进电机停止转动。(4) 点动:按键,步进电机转过3度步距角;再按,再转过3度步距角(5) 用1602显示屏显示转过的角度。(6) 用L298芯片驱动。2 步进电机工作原理2.1两相步进电机结构 图2.1 两相步进电机结构图电动机轴向结构如图2.1所示。转子被分为完全对称的两段,一段转子的磁力线沿转子表面呈放射形进入定子铁心,称为N
5、极转子;另一段转子的磁力线经过定子铁心沿定子表面穿过气隙回归到转子中去,称为S极转子。图中虚线闭和回路为磁力线的行走路线。相应地定子也被分为两段,其上装有A、B两相对称绕组.同时,沿转子轴在两段转子中间安装一块永磁铁,形成转子的N、S极性。从轴向看过去,两段转子齿中心线彼此错开半个转子齿距。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、的机电一体化组件。步进电机本体、步进电机驱动器和控制器构成步进电机系统不可分割的三大部分其设计框图。单片机L298显示屏键盘步进电机图3.1总体设计框图3.2 单片机系统如图3.2电路中采用的是Atmel公司的AT89C51型号的单片机,其内部结构结构如图3.2所示。64KB总线扩展控制器可编程I/O可编程全双工串行口振荡器和时序OSC程序存储器4KB Flash ROM256字节 RAM/SFR2×16位定时器/计数器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可以稳定频率并对振荡频率有微调作用。振荡脉冲频率为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.5 驱动电路如图3.5所示,驱动电路用L298来驱动步进电机,L298 所出产的双全桥步进电机专用驱动芯片,内部包含4信道逻辑驱动电路,是一种二相 和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的
11、步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号。图 3.5 驱动电路引脚功能说明:引脚NameFunction 功能说明1;15Sense A; Sense B电流监测端,1、15和PowerSO的2、19用法一样,SEN1、SEN2分别为两个H桥的电流反馈脚,不用时可以直接接地2;3Out 1; Out 21Y1、1Y2输出端4VS功率电源电压,此引脚与地必须连接100nF电容器5;7Input 1; Input 21A1、1A2输入端,TTL电平兼容6;11Enable A; Enable BTTL电平兼容输入 1EN、2EN使能端,低电平禁止
12、输出8GNDGND地9VSS逻辑电源电压。 此引脚与地必须连接100nF电容器10; 12Input 3; Input 42A1、2A2 输入端,TTL电平兼容13; 14Out 3; Out 42Y1、2Y2 输出端 监测引脚15N.C.Not Connected 空3.6 显示电路 如图3.6所示,步进电机的转速显示是通过1602来实现的。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如
13、此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 ( LCD1602引脚图)1602采用标准的16脚接口,其中: 第1脚:VSS为电源地第2脚:VCC接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作
14、。 第6脚:E(或EN)端为使能(enable)端。 第714脚:D0D7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。图3.6 LCD显示电路3.7键盘电路本次设计要对步进电机实现正转、反转和点动等功能,所以设计了键盘按键分别进行步进电机的“正转”、“反转”、“点动”和“停止”。图3.7键盘电路4 软件系统设计4.1 主程序流程图 如图4.1是主程序流程图,初始化程序后,有键按下该按键对应值为0,其他按键则为1来进行按键的处理,并且进行控制步进电机的正反转及点动以及停转。在处理案件的过程中,如有其他键按下,则退出该键的循环改为进入更改过后的按键的处理程序然
15、后调用显示程序显示转过的角度数。如此进行旋转和显示。开始初始化K1=0正转K2=0反转K3=0点动K4=0停转液晶显示图4.1主程序流程图4.2 键盘处理共设置4个键盘,分别为K1、K2、K3、K4,分别代表:sbit K1 = P24 ;/顺转sbit K2 = P25 ;/反转sbit K3 = P26 ;/点动sbit K4 = P27 ;/停止4.3 LCD显示如图4.3所示为LCD显示程序流程图,开始判断LCD是否忙碌。Result=1则为忙碌状态,需要等待。Result=0则为不忙,可以对液晶模块进行读和写。RS为低电平,RW为高电平时,可以读状态。E=1,才允许读写。RS和R/W
16、同时为低电平时,可以写入指令,将数据送入P0口,即写入指令或地址。RS为高电平,RW为低电平时,可以写入数据,将数据送入P0口,即将数据写入液晶模块。当E由高电平跳变成低电平时,液晶模块开始执行命令。Result是否为1NY数据入P1口稍作延时液晶开始执行 4.3液晶显示流程图5开发系统简介5.1 keilc_51编译器的简介Keilc_51是一款功能强大的优秀的单片机程序编辑、调试软件。程序采汇编、C语言语言,利用该软件进行程序的编辑与调试。实验程序采用多种语言适应不同的语言适应不同层次的学生需要。高级语言编写应用程序,是一种时代的需要,通过应用高级语言的汇编和实验们可以更好的掌握。它可以对
17、C语言和汇编语言进行编译检查,利用它可以很好的进行编程设计,通过运行生成的文件,被89c51用于仿真。5.2 Protues仿真平台简介Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐,Protues是一个能仿真模拟和数字电路,特别是能够仿真单片机、ARM、DSP、FPGA等的软件,它还能和KEIL软件在同一台机子实现联调Protues可提
18、供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大
19、量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。因此在不具备实验前可以利用protues进行仿真的检查。其仿真的界面如图5.2所示。 图5.2 protues仿真平台6 仿真结果及分析1、打开文件,进行编译,无误后,点击工具栏中的运行工具,就得到了图中的正确运行。2、准备调试3、调入文件后,开始调试硬件电路,点击运行,电路接通,电路正常显示。图6 protues调试硬件电路4、从键盘输入,按正转,电机正转运行。5、从键盘输入,按反转,电机反转运行。6、从键盘输入,按点动,点一下电机转过一个步距角。7、从
20、键盘输入暂停,电机停转。调试完毕,通过键盘输入数电机按照给定的要求进行正确运转,数码管正确显示角度。所得的结论与理论的相符合,调试成功。7 课程设计总结本次课程设计采用AT89C51单片机对两相四线步进电机进行控制,通过改变相序可以改变电机的转向,通过键盘的按键控制步进电机的正转、反转、点动和停止,所运行的角度由LCD进行显示。通过调试和运行,得到了正确的结果。开始接到任务时候感觉不知道从哪儿开始,后面通过从网上找了相关的资料后开始对我们的课程设计有所了解,然后慢慢的进行,从发现问题到慢慢的去解决问题,慢慢的感觉自己好像懂得的多了一些,感觉问题一步步的得到了解决。但是我在学习的过程中也发现了不
21、少的问题,也花了不少的时间。有时候遇到的困难一下子很难发现和解决,那时候真想放弃,但最后还是坚持了下来,不动就去问,到处问到处找,感觉这也很有趣,一种学习的乐趣。虽然这次课程设计做的不是很好。但是还是通过了自己的努力。通过对本次的课程设计,不但了解了怎样设计课程设计的方法更重要的是将书本上的知识用到了现实中,更加深刻的了解了89C51单片机的用法,以及端口的相应的功能和接线。附录 程序表#include<reg51.h>#include<intrins.h>sbit RS = P20 ;sbit RW = P21 ;sbit E = P22 ;sbit BF = P07
22、 ;sbit K1 = P24 ;/顺转sbit K2 = P25 ;/反转sbit K3 = P26 ;/点动sbit K4 = P27 ;/停止/步进电机八拍编码向量;unsigned char code bianma8=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;/09字符编码向量;unsigned char code word=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;/延时1毫秒void delay(unsigned int t)unsigned int k;while(t-)for(k=0
23、; k<125; k+)/*函数功能:判断液晶模块的忙碌状态返回值:result。result=1,忙碌;result=0,不忙*/ bit BusyTest(void) bit result;RS=0; /根据规定,RS为低电平,RW为高电平时,可以读状态 RW=1; E=1; /E=1,才允许读写 _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 result=BF; /将忙碌标志电平赋给resultE=0; return result; /*函数功能:将模式设置指令或显示地址写入液晶模块入口参数:dictate*
24、/void Write_com (unsigned char dictate) while(BusyTest()=1); /如果忙就等待 RS=0; /根据规定,RS和R/W同时为低电平时,可以写入指令 RW=0; E=0; /E置低电平(写指令时, / 就是让E从0到1发生正跳变,所以应先置"0" _nop_(); _nop_(); /空操作两个机器周期,给硬件反应时间 P0=dictate; /将数据送入P0口,即写入指令或地址 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 E=1; /E置高电平 _nop
25、_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 E=0; /当E由高电平跳变成低电平时,液晶模块开始执行命令 /*函数功能:指定字符显示的实际地址入口参数:x*/ void WriteAddress(unsigned char x) Write_com(x|0x80); /显示位置的确定方法规定为"80H+地址码x" /*函数功能:将数据(字符的标准ASCII码)写入液晶模块入口参数:y(为字符常量)*/ void WriteData(unsigned char y) while(BusyTest()=1); RS=1;
26、 /RS为高电平,RW为低电平时,可以写入数据 RW=0; E=0; /E置低电平(写指令时, / 就是让E从0到1发生正跳变,所以应先置"0" P0=y; /将数据送入P0口,即将数据写入液晶模块 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 E=1; /E置高电平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四个机器周期,给硬件反应时间 E=0; /当E由高电平跳变成低电平时,液晶模块开始执行命令 /屏幕初始化void LcdInt(void) delay(15); /延
27、时15ms,首次写指令时应给LCD一段较长的反应时间 Write_com(0x38); /显示模式设置:16×2显示,5×7点阵,8位数据接口delay(5); /延时5msWrite_com(0x38);delay(5);Write_com(0x38); /3次写 设置模式delay(5);Write_com(0x0F); /显示模式设置:显示开,有光标,光标闪烁delay(5);Write_com(0x06); /显示模式设置:光标右移,字符不移delay(5); Write_com(0x01); /清屏幕指令,将以前的显示内容清除delay(5); /主程序 main()unsigned int p=0;long int r=0;int D1,D2,D3,flag;LcdInt(); /LC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年营养师基础知识考核试卷:运动营养与特殊人群营养试题含答案
- 原材料实木颗粒板批量生产流程
- 2025年二级建造师《工程法规》考试试题含答案
- 职工食堂设备维护保障措施
- 加油站火灾事故应急处置措施
- 纺织服装行业2025年智能化生产智能生产数据分析与可视化报告
- 2025年家居行业线上线下融合模式创新案例研究与成功秘诀报告
- 2025至2030全球及中国汽车租赁服务行业发展研究与产业战略规划分析评估报告
- 胎儿超声软指标的临床意义与管理策略
- 2025至2030全球及中国护理点诊断和测试行业发展研究与产业战略规划分析评估报告
- 全国农信机构职业技能大赛理论知识考试复习总题库-中(多选题部分)
- 2025届高考英语语法复习倒装句专项练习(含答案)
- 2025年度新党章知识竞赛试题100题及答案
- 水利信息化与智能化技术作业指导书
- 矸石山综合治理设计方案
- 2025届河南省郑州市高三下学期3月二模政治试题(原卷版+解析版)
- 2025年上海新金山投资控股集团有限公司招聘笔试参考题库含答案解析
- 导播理论知识培训班课件
- 原材料检验员知识培训
- Moser迭代法在椭圆型方程梯度估计上的应用
- 数据中心机电安装施工方案
评论
0/150
提交评论