版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的步进电机硬件和软件设计案例目录TOC\o"1-3"\h\u14174基于单片机的步进电机硬件和软件设计案例 1304871基于单片机的步进电机硬件设计 1180601.1单片机的设计 112811.1.1单片机的介绍 1309971.1.2单片机的分类 2114441.1.3单片机的应用 3183571.1.4单片机的引脚图和主要性能 4257941.1.5单片机模块选用 5215971.2步进电机显示器设计 7159911.3电机驱动的设计 9281191.4步进电机的设计 1134201.5其他硬件的设计 124582基于单片机的步进电机的软件设计 14224572.1系统软件设计 14306452.2系统软件主程序和子程序流程图 14164102.2.1主程序 1412312.2.2ULN2803控制程序 16225762.2.3键盘处理程序 18184272.2.4电机正反转和加减速显示程序 2039712.3C51编程语言及其总结 21138612.4系统调试 22176042.1.1硬件调试 22252872.1.2软件仿真调试 22304162.1.3整机调试 261基于单片机的步进电机硬件设计1.1单片机的设计1.1.1单片机的介绍单片机是一种功能强大的集成芯片,它的构成主要是由许多的集成电路组成。把所有这些集成电路集中在一起了,然后我们再利用现有的技术,也就是用集成电路的技术把这个刚刚形成的硅片制变成一个微型的,并且功能强大的的小型计算机的内部系统,这样就方便我们通过控制这个计算机去实现很多我们需要的功能和控制。下图为89C51单片机图片:图3-189C51单片机实物图1.1.2单片机的分类单片机大致可以分为三种具体如图3-2所示:图3-2三类单片机1.1.3单片机的应用单片机的应用范围已经越来越广泛了,比如实验室的仪器仪表盘、家里的某些电气设备、医院的一些医用检查设备、航天飞行器的设计、机械制造的专用设备和自动化过程控制等方方面面的领域。因为各种各样的设备只要加上了单片机之后,就会发生非常大的变化,让这些原本很普通的东西脱胎换骨,产生了不起的功效,也就是这些产品都会变成智能化的设备,如智能型汽车等。1、单片机可以使用的范围非常大,从小型的计算器系统中到大型复杂(如脉搏监测器)的基本器件。基本上所有医院用到的电子设备,如血压测量计,血糖检测仪和血氧是否饱和度计都是利用了先进的单片机制造出来的。2、国防领域使用的许多复杂精确的电子武器也具有单片机的身影。反坦克导弹系统、的面对天空防导弹系统和我们现在部队使用的一些枪械,这些武器都是利用在它们的电路设计中加入单片机来实现复杂的功能。3、在我们的日常生活中,小孩子经常玩的电子玩具也有很多由单片机组成的,因为单片机的集成的强大功能,使得现在的玩具变得更加智能化,迷你型的机器人玩具,智能型的遥控车,遥控无人直升机和飞机都是用单片机的功能来控制的。并且现在有许多可以学习单片机的课程和教育机构,为我们孩子从小学习单片机提供了一个非常好的教育环境。4、同时单片机的应用已经走进我们自家的生活当中,比如厨房和家里经常使用的各种设备,如智能型的冰箱,液晶显示电视,老人用的收音机,还有我们经常使用的洗衣机、洗碗机和夏天用到的加湿器,都于单片机息息相关。所以说单片机已经在不知不觉中提高了我们的生活质量,为我们的智能化生活发挥了不可或缺的作用。1.1.4单片机的引脚图和主要性能下图是AT89S52单片机的一些主要的功能:图3-3单片机的主要功能1.1.5单片机模块选用因为我们经常使用的单片机是51和52系列的,图3-4是这2个系列的对比:图3-4子系列对比图51子系列的有:8031/8051/8751和80C31/80C51/87C51等52子系列的有:8032/8052/8752和80C32/80C52/87C52等因为单片机的型号有非常多,又因为我们想要实现的功能不是很多,所以选取单片机还是比较简单的,所以我选用了AT89S52单片机。但是因为市场的限制和资金的有限,我们在设计中发现仿真数据库中没有89S52单片机,所以选用了89C52单片机来代替完成本次实验,下图是单片机的引脚图:图3-5AT89S52单片机引脚图根据我们本次论文基于单片机的步进电机设计进行思考,我们可以选择带有EPROM的单片机,就不需要再买一个外部储存器了,就不用在外部在加上一个扩展程序存储器,同时我们设计的电路图也可以得到有效的简化。ATMEL公司生产的AT89SXX系列单片机,AT89SXX系列与MCS-51系列单片机相比,它具有两大优势:第一,片内程序存储器采用闪速存储器,使程序的读或者写入更方便;第二,提供了规格更小的单片机芯片,使整个硬件电路的建立起来更小且更加简便。所以它以较小的体积、非常好的的性能和价格比广受许多工厂的青睐。因为我们实际过程中发现资金有限和市场上不好买到AT89S52的单片机,同时因为仿真数据库中没有89S52单片机,所以本次课程设计采用AT89C52单片机来代替完成本次的论文设计,因为89C52单片机与我们自己想要选用的89S52单片机引脚功能基本相同。本设计使用的AT89C52单片机,利用它的可编程性来实现步进电机的启动、停止、正转、反转功能,从而初步模拟出一些智能电器的基本功能,单片机主要完成脉冲的分配,使步进电机根据我们设定的程序进行运转,从单片机的P0.0到P0.7的八个I/O口输出口与LCD显示的八个输出端口相连接,同时将这单片机的八个输出端口接一个上拉电阻,再将RST端口接一个复位按钮,同时把显示器的RS、RW和E端口依次与单片机上的P1.0、P1.1和P1.2连接,再将单片机的P1.3到P1.5这三个端口与我们设计步进电机正反转按钮、加速按钮和减速按钮连接,最后把单片机的P2.0、P2.1、P2.2和P2.3四个端口作为输出端口,与我们设计的ULN2803驱动器的四个端口连接,这样单片机的端口就连接完成了,通电之后,单片机的四个输出端口发出脉冲信号;因为单片机自己输出的脉冲信号没有办法驱动步进电机,所以必须要加上一个驱动器,经过驱动器把单片机的脉冲进行放大,然后通过驱动器来驱动我们的单片机,本设计选用ULN2803芯片来驱动。下面是AT89C52单片机的接口图如图所示:图4-3单片机接线图1.2步进电机显示器设计步进电机显示是选用LCD1602的显示器,LCD1602引脚功能如图4-4所示:图4-4引脚功能图1,VL引脚:是对液晶显示器的对比度进行调整,当它接VCC的时候,对比度效果最差的,如果把它接地的时候,对比度效果最好的,但是当对比度过高的时候会产生重影,想要消除这个重影,我们在使用它的时候接一个10K的可变电阻器来调节对比度。2,RS引脚:RS可以选择不同的寄存器,例如我们想要选择数据寄存器,我们可以把RS引脚设为VCC,相反的,把RS引脚设为GND的时候,它就会选择指令寄存器。3,R/W引脚:R/W为读写信号线,只有在VCC的时候,执行读的指令,当它为GND的时候,会执行写的指令。如果需要它写入指令和显示的址的情况,我们可以把RS和R/W同时设为低电平就可以了,执行读指令的情况可以把RS设为GND,R/W设为VCC就能实现了,如果反过来,把RS设为高电平,R/W设为低电平,这个时候可以执行写入数据的指令。4,EN引脚:E端是控制端口,当E端从VCC跳转到GND的时候,液晶模块就会执行语句命令。我们把VSS接的,把VDD接高电平,VEE接一个可变电阻来调节,同时把显示器的RS、RW和E端口依次与单片机上的P1.0、P1.1和P1.2连接,再降LCD显示的D0到D7八个端口连接到单片机的P0.0到P0.7好端口上,这样连接完成之后,我们就可以通过这个显示器看出速度的增加和减少还有步进电机的正反转,F代表正转,B代表反转,speed代表速度的大小,如下图所示。图4-5LCD1602显示1.3电机驱动的设计因为单片机无法直接驱动电动机,所以要加上一个驱动器,这里我们选用ULN2803驱动器,由8个NPN达林顿晶体管构成,连接在排列组合很合适的逻辑接口电平电路或者是数字电路还有较高的电流/电压,如灯泡,电磁开关,家用电器的使用,复印器或其他相同功能的电路上,使用范围非常大:计算机硬件的控制,工业机械设备和消费领域中的使用。这种ULN2803的驱动器是特地为符合标准TTL制造的,所以ULN2803驱动适合6至15V的高级别大规模集成电路芯片。这种驱动电路的输出是反向的,一般的都是输入高电平才能导通,但是它的输入必须是低电平电压,输出端才能正常的导通工作。它的引脚功能图和内部原理图如图所示:图4-6aULN2803引脚功能图图4-6bULN2803内部原理图在电路连接图中输入端与单片机的P2.0,P2.1,P2.2,P2.3连接,同时ULN2803的四个输出端口与步进电机连接,要注意步进电机的正负,同时驱动器的COM端口要接高电平,如图所示:图4-7电路连接图1.4步进电机的设计我们这里选用了一个二相四线的步进电机,是一种叫42BYG的一个步进电机,但是在电路编译中选用的是三相抽头的步进电机,中间的二相要接高电平,其余的与驱动连接,注意相序,在电路中的电路连接图如图所示:图4-8步进电机的连接图1.5其他硬件的设计根据实际的电路情况,还需要晶振选用11,0592MHZ,普通的按钮(Button),还有电阻和电容,电阻有定值电阻、可变电阻等,定值电阻数值用的是1K的,电容用10uf等,这些数值都是通过多次实验测试出来的,因为只有在这些数值下,该电路才可以很好的工作和运行,如图4-9所示:图4-9硬件电路的编译图
2基于单片机的步进电机的软件设计2.1系统软件设计判断一个电路设计是否能够准确可靠的运行和工作,除了硬件的合理设计和选用之外,同时一个完整的控制电路功能与一个好的完善的软件设计也脱不了关系。本次设计的编程是在keil中完成的,首先我们要确定每一个模块的要实现的功能,再分别对每一个进行编程,是每一个模块都可以达到我们想要实现的目标。2.2系统软件主程序和子程序流程图下面主要是系统的主程序分析和流程图的解释。2.2.1主程序我们设计系统软件的模块主要是由89S52单片机的主程序、ULN2803的控制程序、按钮处理程序、电机正反转和加减速显示程序几个方面组成,主程序设计的流程图和部分程序如图5-1所示:图4-1a部分程序图图4-1b主程序框图(1)主程序框图的主要功能是对我们的控制系统进行初始化,然后再自我诊断,没有问题之后,再进行LCD的显示的运行和单片机的按钮键盘扫描等程序;(2)ULN2803控制程序的主要功能就是通过接收单片机的脉冲信号进行放大,来控制步进电机的运转等功能;(3)键盘按钮的程序主要是通过键盘按钮信号的输入,来读取程序从而去控制步进电机的运动的状态,比如正反转转变,加速运动,减速运动等;(4)电机正反转和加减速通过LCD显示程序进行设计,可以让我们可以更加直接的观看到步进电机的加减速,不然光看步进电机自身,我们肉眼很难辨别步进电机运动的快慢,所以这个显示程序设计可以让我们更能直观的了解步进电机实时的工作状态。2.2.2ULN2803控制程序因为单片机无法直接控制步进电机,所以需要加上一个驱动器,由单片机的输出脉冲作用给驱动器从而达到控制步进电机的功能。如下图所示:图4-2ULN2803驱动框图步进电机的驱动芯片ULN2803是根据控制信号工作的,这种控制信号主要是由单片机发出的,它的基本的工作原理如下图:图4-3工作原理图2.2.3键盘处理程序图4-3键盘扫描流程图这次设计系统中我们使用4个按钮来控制步进电机工作状态的设定,它的扫描程序的顺序如上图所示:首先我们要进行键盘的初始化,第二步看看有没有按键按下,判断是哪一个按键,接着定义这个按键的功能也就是编写这个按键的程序,同时我们还要一点需要注意,因为按键在按下和松开的时候会发生抖动,我们需要消除这个抖动,就是把按键每一个都接的,按键的另一端输入按键的状态,通过行扫描的值和反馈信号一起组成的按键编码来识别按键的功能,然后再通过单片机里面编写的主程序找到这个按键的定义值,从而实现这个按键的功能,去达到控制电机的状态。当我们按下时,立刻执行相应的电机转向和转速,使系统可以控制电机运转,极大的提高系统的工作效率。下面是编译的按键图和部分程序图:图4-4a按键图图4-4b程序图2.2.4电机正反转和加减速显示程序下图是电机显示的流程图:图4-5电机显示流程图上图是用来显示步进电机的正反转和加减速功能,因为我们这个论文想要实现的就是步进电机的加减速和正反转,但是我们无法在电机上直接观察出来,所以考虑到这个原因,我们加入了LCD1602显示器,从它的显示上我们可以看出步进电机的工作状态,我们定义步进电机正转为字母F,反转为字母B,加减速就用1,2,3,4来表示,数字越大表示步进电机运动的越快,有了这个模块之后,我们就能更加直观的看到步进电机的工作状态了,下面是实物图中的显示和部分程序图:图4-6aLCD实物显示图图4-6bLCD实物显示程序2.3C51编程语言及其总结本次我们使用的编程方法是用C51编程语言进行程序编程,因为C语言编程可以很好的实现我们想要控制的效果,同时C语言编程比较简洁,可以分块编辑,让我们可以在对每一个模块编程之后,仿真的时候可以很容易发现错误,及时发现和修改错误,直到程序完全编写完成。本次编程方法如下图编写:图4-7编程方法图2.4系统调试系统调试主要包括硬件调试和软件调试。2.1.1硬件调试总的硬件电路包括电源、单片机、外部延时电路、复位电路、以及LED显示电路,调试过程中注意了以下几点;(1)
检查
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年成人高考英语(二)专升本考试真题单套试卷
- 2026年成人高考计算机信息管理专业考试模拟试卷
- PLC控制变频器的应用探析
- 2026年成人高考法学专业本科模拟单套试卷
- 2026年11月医学检验技术(士)考试真题单套试卷
- 证券从业考试试题及答案
- 招标师历年真题及答案
- 2025-2026学年人教版七年级数学上册有理数应用题专项卷(含答案解析)
- 2026年农村创业项目策划考试题库及答案
- 主题实践活动策划方案(3篇)
- 2023年华南师范大学教师招聘考试历年真题库
- 课本剧《刘姥姥进大观园》剧本
- 长春版小学一年级语文上册写字表虚宫格写法教学提纲教学课件
- 湖南国际会展中心项目屋盖张弦梁施工技术交流
- 【教案】伴性遗传第1课时教学设计2022-2023学年高一下学期生物人教版必修2
- DL-T 807-2019 火力发电厂水处理用 201×7 强碱性阴离子交换树脂报废技术导则
- 简化的WHOQOL表WHOQOL-BREF-生活质量量表
- 语言学纲要(新)课件
- 经济责任审计的程序与方法
- 打靶归来 课件
- 施工升降机安装及拆除专项施工方案
评论
0/150
提交评论