单片机------课程设计罗鹏慧.

上传人:今*** 文档编号:105808441 上传时间:2019-10-13 格式:DOC 页数:21 大小:2.28MB
返回 下载 相关 举报
单片机------课程设计罗鹏慧._第1页
第1页 / 共21页
单片机------课程设计罗鹏慧._第2页
第2页 / 共21页
单片机------课程设计罗鹏慧._第3页
第3页 / 共21页
单片机------课程设计罗鹏慧._第4页
第4页 / 共21页
单片机------课程设计罗鹏慧._第5页
第5页 / 共21页
点击查看更多>>
资源描述

《单片机------课程设计罗鹏慧.》由会员分享,可在线阅读,更多相关《单片机------课程设计罗鹏慧.(21页珍藏版)》请在金锄头文库上搜索。

1、 山西工程技术学院 课程设计报告 题 目 单片机控制步进电机 课 程 名 称 单片机原理及接口技术 系 部 名 称 电气工程与自动化系 专 业 电气自动化 班 级 电气自动化三班 学 生 姓 名 罗鹏慧 学 号 140723112 指 导 教 师 刘彬 目 录1设计任务22设计思路23主要元件介绍33.1 步进电机33.2 89C51单片机63.3硬件设计图83.4控制模块:84软件编程95 调试过程与结果175.1反转加速:175.2反转减速:186 总结与体会197 参考资料201设计任务步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适

2、合于单片机控制。在实验平台上扩展一个四相步进电机,利用单片机通过开关控制步进电机进行正转的加速减速和停止,并用LED红灯表示正转,绿灯表示停转。2设计思路单片机课程设计是考察学生利用所学过的专业知识,能够使学生对电气与自动化的专业知识进行综合应用,培养学生的创新能力和团队协作能力,提高学生的动手实践能力。本次设计考核的能力主要有:1) 专业知识应用能力,包括电路分析、电子技术、单片机、电气控制、电机与拖动、计算机高级语言、计算机办公软件等课程,2) 电气与自动化系统的设计与实际应用能力。基于单片机和proteus的步进电机控制电路的基本组成如图2-1所示: 图2-1根据设计要求,采用的方案如下

3、。硬件部分实现电机转动,包括控制开关模块;电机转动模块。软件部分实现对步进电机的控制功能,主要设计思想通过控制台控制程序的开关来控制电机的转动。电源驱动89C51单片机,在89C51中装载程序,通过开关按键来输入信号,89C51向驱动电路提供信号使步进电机动作,该设计是团队完成,我完成了对步进电机的反转转加/减速和停止的控制。3.主要元件介绍:3.1步进电机:步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转

4、速由脉冲信号频率决定。 步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),步进电机又称为脉冲电机,是工业过程控制和仪表中一种能够快速启动,反转和制动的执行元件,其功用是将电脉冲转换为相应的角位移或直线位移,由于开环下就能实现精确定位的特点,使其在工业控制领域获得了广泛应用。步进电机的运转是由电脉冲信号控制的,其角位移量或线位移量与脉冲数成正比,每个一个脉冲,步进电机就转动一个角度(不距角)或前进、倒退一步。步进电机旋转的角度由输入的电脉冲数确定,所以,也有人称步进电机为数字/角度转换器。步进电机28BYJ48:如图3-1图3-1步进电机28BYJ48型四相八拍电机,电压为DC5V

5、DC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信 号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。 四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A。),双(双相绕组通电)四拍(AB-BC- CD-DA-AB-。),八拍(A-AB-B-BC-C-CD-D-DA-A。)四相步进电机有两种运行方式,一、四相四拍;二、四相八拍。要想搞清楚四相八拍运行方式下步进电机的转速如果计算,需要先清楚两个基本概念。1、拍数:完

6、成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A.2、步距角:对应一个脉冲信号,电机转子转过的角位移用表示。=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为=360度/(50*8)=0.9度(俗称半步)。这两个概念清楚后,我们再来计算转速,以基本步距角1.8的步进电机为例(现在市场上常规的二、四相混合式步进电机基本步距角都

7、是1.8),四相八拍运行方式下,每接收一个脉冲信号,转过0.9,如果每秒钟接收400个脉冲,那么转速为每秒400X0.9=360,相当与每秒钟转一圈,每分钟60转。由于单片机接口信号不够大需要通过ULN2003放大再连接到相应的电机接口,如图3-2: 图3-2所以可以定义正转励磁序列为A-AB-B-BC-C-CD-D-DAuchar code FFW=0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;/反转励磁序列为AD-D-CD-C-BC-B-BA-Auchar code REV=0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01;如

8、表3-110000x0811000x0c01000x0401100x0600100x02橙黄粉蓝十六制(P1口)00110x0300010x0110010x09表3-1步进电机28BYJ48的主要技术参数:如表3-2表3-23、四相步进电机的脉冲分配规律 目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。各种工作方式在电源通电时的时序 与波形分别如图1 a、b、c所示。本设计的电机工作方式为四相单四拍,根据步进电机的

9、工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。3.2 89C51单片机图3-3Atmel公司生产的89C51单片机是一种低功耗/低电压高性能的8位单片机,它采用CMOS和高密度非易失性存储技术,而且其输出引脚和指令系统都与MCS-51兼容;片内的Flash ROM允许在系统内改编程序或用常规的非易失性编程器来编程,内部除CPU外,还包括256字节RAM,4个8位并行I/O口,5个中断源

10、,2个中断优先级,2个16位可编程定时计数器,89C51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。89C51单片机部分引脚功能介绍:图3-4单片机引脚功能图XTAL2(18脚):接外部晶体和微调电容的一端;在89C51 片内它是振荡电路反向放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。89C51/8031正常工作时,该引脚应有脉冲信号输出。XTAL1(19脚):接外部晶体和微调电容的另一端;在片内它是振荡电路反向放大器的输入端,在采用外部时钟时,该引脚输入外部时钟脉冲。RST/VPD(9脚):RST:复位信号输入端

11、,高电平有效。当此输入端保持两个机器周期的高电平时,就可以完成复位操作。RST/VPD(9脚):VPD :RST引脚的第二功能,备用电源输入端。当主电源Vcc 发生故障,降低到低电平规定值时,将+5V电源自动接入该引脚,为RAM提供备用电源,以保证RAM中的信息不丢失,使得复位后能继续正常运行。EA/Vpp(31脚):Vpp:对8751片内EPROM固化编程时,编程电压输入端(12-21V)。P0口:漏极开路的8位准双向I/O口,每位能驱动8个LS型TTL负载。P0口可作为一个数据输入/输出口;在CPU访问片外存储器时,P0口为分时复用的低8位地址总线和8位数据总线。P1口:带内部上拉电阻的8

12、位准双向I/O端口,每位能驱动4个LS型TTL负载。P3口:带内部上拉电阻的8位准双向I/O端口,每位能驱动4个LS型TTL负载。P3口除作为一般I/O口外,每个引脚都有第二功能。3.3硬件设计图图3-5硬件设计图通过对开关k1 k2 k3的开关,来实现对步进电机的正反转和停止,通过k4 k5来进行加减速,并且有相应的LED灯的显示。3.3控制模块图3-6控制模块图功能:通过控制台实现对单片机程序的开与关4软件编程4.1主流程图根据设计任务,相应的软件设计如下:开始If(k5=0)If(k2=0)If(k1=0)判断按键减速按键加速停止反转正转按键If(k4=0)If(k3=0)图4-1程序流

13、程图4.2初始化程序:#include #define uint unsigned int#define uchar unsigned charuchar code FFW= 0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09;uchar code REV= 0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01;sbit K1 = P30; sbit K2 = P31; sbit K3 = P32; sbit K4 = P33; sbit K5 = P34; void DelayMS(uint ms) uchar i;while(ms-) for(i=0;i120;i+);void SETP_MOTOR_FFW(uchar n) uchar i,j;int M=25;for(i=0;i5*n;i+) for(j=0;j8;j+) if(K3 = 0)bre

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号