收藏 分销(赏)

单片机优秀课程设计步进电机.doc

上传人:精*** 文档编号:2687318 上传时间:2024-06-04 格式:DOC 页数:14 大小:389.54KB
下载 相关 举报
单片机优秀课程设计步进电机.doc_第1页
第1页 / 共14页
单片机优秀课程设计步进电机.doc_第2页
第2页 / 共14页
单片机优秀课程设计步进电机.doc_第3页
第3页 / 共14页
单片机优秀课程设计步进电机.doc_第4页
第4页 / 共14页
单片机优秀课程设计步进电机.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、江南大学物联网工程学院课程设计汇报课程名称: 单片机原理及应用 设计题目: 基于单片机步进电机控制器设计 班 级: 姓 名: 学 号: 指导老师: 评 分: 年 月 日基于单片机步进电机控制器设计 摘要:本设计是用80C52单片机作为关键部件进行逻辑控制及信号产生,用单片机技术和C语言编程设计来进行步进电机控制。经过人手动按开关实现步进电机开启和停止、步进电机正转反转,加速及减速等功效,另外还有LCD数码管进行实时显示功效。同时本文也经过了proteus软件仿真,在仿真结果中能看出近似真实效果。经过proteus仿真,结果表明,系统实现了要求。该系统电路简单,可靠性强,运行稳定。 关键词:步进

2、电机 单片机 LCD proteus仿真1课题关键研究内容和要求本设计采取单片机80C52来作为整个步进电机控制系统运动控制关键部件。所选步进电机是四相五线,因为步进电机需要高功率驱动,单片机不能和步进电机直接相连,所以我们需要采取了电机驱动芯片ULN连接步进电机和单片机。为了显示步进电机转速,我用数码管来显示速率。再加上部分独立按键来实现步进电机调速、改变转向功效。这么就组成了一个基础步进电机控制系统。系统具体功效和要求以下:1、电机转速能够平稳控制;2、经过键盘和显示器能够设置电机转速;3、能显示电机运动趋势;2所需仪器设备所需器件备注所需器件备注STC89C52单片机一片12M晶振一个U

3、LN驱动芯片一片按键五个八位共阳数码管芯片一片异步电机一个不一样阻值电阻若干+5V电源一个30pF电容两个3系统总体设计本设计硬件电路包含独立按键控制模块、步进电机驱动模块、数码管显示模块和单片机最小系统四部分。单片机最小系统由时钟电路和复位电路组成,确保单片机正常运行;独立按键控制模块由开关和按键组成,当按下按键时,该系统就根据该按键控制功效运作;显示模块关键是为了显示电机工作状态和转速;驱动电路关键是对单片机输出脉冲进行功率放大,从而驱动电机转动。因为步进电机受电脉冲控制,所以要求电脉冲信号产生,放大全部依靠电子元件来实现。而步进电机需要较大功率,而电子电路产生功率较弱,所以必需设计功率放

4、大电路。此方法步进电机控制系统包含以下三个部分:信号产生电路,信号分配电路,功率放大电路。在单片机引脚配置中,我选择是用P0口和P2口控制数码管显示,其中P0口控制数码管段,P2口控制数码管位。P1.0-P1.3控制电机驱动,P3.2-P3.5为按键输入。 图1 系统设计示意图4硬件设计4.1步进电机介绍步进电机是将电脉冲信号转变为角位移或线位移开环控制元步进电机件。在非超载情况下,电机转速、停止位置只取决于脉冲信号频率和脉冲数,而不受负载改变影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定方向转动一个固定角度,称为“步距角”,它旋转是以固定角度一步一步运行。能够经过控制脉冲个数来

5、控制角位移量,从而达成正确定位目标;同时能够经过控制脉冲频率来控制电机转动速度和加速度,从而达成调速目标。图2 异步电机连线示意图通常电机转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转一角度,使得转子一对磁场方向和定子磁场方向一致。当定子矢量磁场旋转一个角度。转子也伴随该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前深入。它输出角位移和输入脉冲数成正比、转速和脉冲频率成正比。改变绕组通电次序,电机就会反转。所以可用控制脉冲数量、频率及电动机各相绕组通电次序来控制步进电机转动。异步电机控制接线图为图2所表示。步进电机有以下特点:(1)步进电机角位移和输入

6、脉冲成正比,没有累计误差。(2)步进电机和驱动电路组成系统,简单而又廉价。(3)易于控制,能快速开启和停止,方便控制方向和转速。(4)步进电机不能直接使用交流直流电源。4.2单片机介绍采取STC89C52单片机是新一代高速/低功耗/超强抗干扰单片机,指令代码完全兼容传统8051单片机,12 时钟/机器周期和 6 时钟/机器周期能够任意选择。其关键特征以下: (1)增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期能够任意选择,指令代码完全兼容传统 8051. (2)工作电压:5.5V3.3V(5V 单片机)/3.8V2.0V(3V 单片机) (3)工作频率范围:040MHz,

7、相当于一般 8051 080MHz,实际工作频率可达 48MHz (4)用户应用程序空间为 8K 字节 (5)片上集成 512 字节 RAM (6) P1/P2/P3/P4 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。 (7) ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可经过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片(8) 含有 EEPROM 功效 (9) 含有看门狗功效 (10) 共 3 个 16 位定时器/计数器。即定时器 T0、T1、T2(11

8、) 外部中止 4 路,下降沿中止或低电平触发电路,Power Down 模式可由外部中止低电平触发中止方法唤醒 (12) 通用异步串行口(UART),还可用定时器软件实现多个 UART 图3 STC89C52芯片引脚图4.3单片机最小系统单片机最小系统通常由时钟电路和复位电路组成。经过时钟电路提供单片机多种微操作基准,经过复位电路使单片机片内存放器初始化。由图4能够看出,时钟电路是在引脚XTAL1和XTAL2外部接一个十二兆晶振,同时在晶振两脚分别接了30pF电容。晶振作用是产生震荡时钟脉冲。电容起稳定震荡频率,快速起震作用。复位电路使由独立按键,10k欧电阻和一个10Uf电容组成。复位电路使

9、单片机从一个确定状态开始运行。图4 单片机最小系统示意图4.4电机驱动设计 此次设计用ULN来驱动步进电机,电路图图2所表示。经过单片机P1.0P1.3输出脉冲到ULN1B4B口,信号放大后从1C4C出口分别输出到电机ABCD四相。ULN输入只需要5V电平,不过输出能够高达50V,所以它含有工作电压高,电路增益高,能够提供大功率负载特点,适应于多种功率驱动电路。图5所表示为ULN引脚示意图。图5 ULN引脚图4.5显示电路设计为了能看出步进电机转速,我们用显示电路数码管显示电机速度,关键是利用了单片机P0口接一个两位共阳极数码管。数码管a、b、c、d、e、f、g、dp分别接P0.0P0.7口.

10、数码管公共角3,4分别接p2.2,p2.3。同时为了看出显示出电机正反转,利用数码管来显示出电机转动,同电机转速一样,利用单片机P0口接一个共阳极数码管。数码管a、b、c、d、e、f、g、dp分别接P0.0P0.7口。数码管公共角1分别接p2.0。数码管部分连接电路图图6所表示。图6 数码管连接图4.6总体设计电路把各个部分电路图组合成总电路图,以下图所表示:图7 总体设计电路图5软件部分5.1主程序经过上述分析我们发觉要实现系统功效,我们要设计一下多个模块程序:主程序,延时程序,按键子程序,数码管显示程序。为了实现操作灵活性,随时能够加速减速,我们采取定时器中止。当通电后,单片机首先检测正反

11、转键是否按下,然后检测加减速按键是否也按下,同时数码管显示速度等级。当按一下正转或反转按键时候,电机开始转动。按下停止键电机立马停止转动。进入主程序显示初始化状态,主程序由键盘程序、显示程序、步进电机驱动程序三部分组成,主程序首先初始化各变量,步进电机驱动各引脚均输出高电平,然后调用键盘程序,并作判定,有键按下,则调用键盘程序,并显示出状态。当我们给系统供入5V电压时,由复位电路给系统进行初始化。然后便开始实施按键查询等候对应操作,当有按键按下时,程序便调用并实施对应子程序,下图为主步骤图: 图8 主程序框图5.2显示子程序转速显示是给用户最直观概念,知道电机转快慢,知道电机目前转速,而需要怎

12、样速度,再对它进行加减速。而这个显示是调用显示子程序。显示程序则经过对对应数码管通断,然后送段码。以这种方法来控制其动态显示,同时需要关键每个数码管全部应该延时亮一段时间。而且要对其消隐。以取得很好显示效果。具体步骤图图9图9 显示子程序框图5.3 具体程序#include #define uchar unsigned char#define uint unsigned intunsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/09代码unsigned char code table1=0x03

13、,0x06,0x0c,0x09;/正转unsigned char code table2=0x09,0x0c,0x06,0x03;/反转 uint maichong; uchar speed; uchar flag;sbit key_reset=P30;sbit key_z=P31;sbit key_f=P32;sbit key_jia=P33;sbit key_jian=P34;void delay(uchar x)/延时uchar i,j;for(i=0;i0;j-);void reset(void)flag=2;speed=0;void display()uchar A1,A2,A3,A

14、4; if(flag=0) A1=0xc0; /显示0 else if(flag=1) A1=0xf9;/显示1 else A1=0x3f;/显示 A2=0x3f; A3=speed/10; A4=speed%10;P0=A1;/第一个数码管显示正反转P2=0x01;delay(1);P2=0x00;P0=A2;/第二个自定义显示 P2=0x02; delay(1);P2=0x00;P0=tableA3;/第三个显示转速等级十位P2=0x04;delay(1);P2=0x00;P0=tableA4;/第四个显示转速等级个位P2=0x08; delay(1);P2=0x00;void key()

15、/按键判定if(key_reset=0)delay(5);if(key_reset=0) reset();if(key_z=0)delay(5);if(key_z=0)flag=0;speed=10;while(key_z=0);if(key_f=0)delay(5);if(key_f=0)flag=1;speed=10;while(key_f=0);if(key_jia=0) delay(5);if(key_jia=0) speed+;if(speed=21)speed=20;while(key_jia=0);if(key_jian=0) delay(5);if(key_jian=0)spe

16、ed-;if(speed0&speed=20) for(j=0;j4;j+)/正反转实施 if(flag=0)P1=table1j; else P1=table2j;for(i=0;imaichong;i+)display(); void main()reset();display(); for(;)key(); dispose(); if(flag=2) display(); else zhuandong();6仿真和调试6.1 仿真调试操作步骤此次仿真软件采取是proteus,编程工具采取是keil,原理图设计采取是protel具体操作以下:1) 在protel中画出系统电路图; 2) 编

17、写程序并在keil中编译并生成hex文件;3)在proteus中画出系统仿真电路图;4) 把在keil中编译生成HEX文件载入proteus中89C52芯片中;5) 运行仿真。6.2仿真结果这次设计比较成功,在经过了器件选择,软件仿真及调试后,步进电机能根据预先要求,实现按键控制电机复位、正转、反转、加速、减速五个操作。并对应地在LED上显示出象征性数字,从而直观地观察到电机转速改变。仿真结果以下图所表示:当点下proteusplay键时候,此时数码管显示速度为零,电机不转。按下开启按键时,再按下正转或反转按键,系统开始开启,图显示为正转,初始速度被被设置为10,第一位0表示电机正,若电机反正

18、则显示为1.接下来假如再控制加减按键,能够实现对电机速度调整,并在数码管有个直观转速等级显示。7总结经过这次课程设计,让我对单片机有了一个更深入认识,对单片机应用愈加熟练,而且对步进电机有了一定了解,提升了我硬件和软件设计能力,从中学到了很多知识。在调试过程中,我明白了很多设计时细节问题,为以后设计打下基础。在设计过程中,查阅了相关资料,并将它们和自己实际问题相结合,锻炼了自己独立处理问题能力。即使完成了设计,但因为对多种电机了解不够深入,查阅资料不够齐全,所以设计东西存在很多偏差和不足,比如:电机转速控制不够正确;转速测量不严密,只是象征性地显示转速。即使存在部分问题,不过我学习单片机热情不会改变,在以后学习过程中我将尽可能拓宽自己知识面,分析问题时尽可能做到面面俱到,设计出愈加好作品。在整个过程中我明白了多个道理:首先,做学问要一丝不苟,要以科学态度对待问题,不能存在侥幸心理,出现了任何偏差全部不要轻视;其次,做任何事情之前,全部要有充足准备,正所谓“磨刀不误砍柴工”,这么话做事情才有效率;最终,做事要有耐心和毅力,不要碰到困难就退缩,要迎难而上,只有坚持下来人才是最终取得胜利人。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服