基于某单片机控制步进电机.docx

上传人:b****1 文档编号:12514226 上传时间:2023-04-19 格式:DOCX 页数:14 大小:904.17KB
下载 相关 举报
基于某单片机控制步进电机.docx_第1页
第1页 / 共14页
基于某单片机控制步进电机.docx_第2页
第2页 / 共14页
基于某单片机控制步进电机.docx_第3页
第3页 / 共14页
基于某单片机控制步进电机.docx_第4页
第4页 / 共14页
基于某单片机控制步进电机.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于某单片机控制步进电机.docx

《基于某单片机控制步进电机.docx》由会员分享,可在线阅读,更多相关《基于某单片机控制步进电机.docx(14页珍藏版)》请在冰豆网上搜索。

基于某单片机控制步进电机.docx

基于某单片机控制步进电机

课程设计(论文)说明书

 

题目:

基于单片机控制步进电机

院(系):

专业:

自动化

学生姓名:

杨健

学号:

0316680007

指导教师:

薛云灿

职称:

 

2017年5月1日

摘要

本课程设计的要求是用51系列单片机对步进电机进行控制,对单片机控制步进电机系统的控制方式和软件设计进行研究,分别从速度控制,正反转进行详细的分析,步进电机是一种常用的执行机构,它的用途是将电脉冲转化为角位移。

当步进驱动收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。

通过控制脉冲个数即可控制角位移量,从而达到准确定位的目的。

关键字:

单片机;步进电机;控制系统;

 

Abstract

Inthispaper,thedesignused51microcontrollerseriesofsteppermotorcontrolSCMcontrolofthesteppermotorcontrolsystemandsoftwaredesignofthestudyfromthespeedanddirection,steppermotorelectromechanicalcontroltheimplementation.Whensteppingdriversreceiveapulsesignalitsteppermotordriveninthedirectionsetbyafixedrotatingangulardisplacement,thusachievingthepurposeofaccuratepositioning;passcontroltocontrolthepulseFrequencyofmotorrotationspeedandaccelerationsoastoachievethepurposeofspeed.

Keywords:

Singleslicemachine;Steppermotor;Controlsystem

 

引言

现在科技越来越发达,单片机实现的步进电机控制系统具有成本低、使用灵活的特点,广泛应用于数控机床、机器人,定量进给、工业自动控制以及各种可控的有定位要求的机械工具等应用领域。

步进电机是数字控制电机,将脉冲信号转换成角位移,电机的转速、停止的位置取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,非超载状态下,根据上述线性关系,再加上步进电机只有周期性误差而无累积误差,因此步进电机适用于单片机控制。

步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速由脉冲信号频率决定。

步进电机的驱动电路是根据单片机产生的控制信号进行工作。

因此,单片机通过向步进电机驱动电路发送控制信号就能实现对步进电机的控制。

 

1设计目标

1.1设计方案意义

单片机是一种集成在电路芯片,单片机实现的步进电机控制系统具有成本低、使用灵活的特点,广泛应用于数控机床、各种小车,机器人,定量进给、工业自动控制以及各种可控的有定位要求的机械工具等应用领域。

步进电机是数字控制电机,将脉冲信号转换成角位移,电机的转速、停止的位置取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,非超载状态下,根据上述线性关系,再加上步进电机只有周期性误差而无累积误差,因此步进电机适用于单片机控制。

步进电机通过输入脉冲信号进行控制,即电机的总转动角度由输入脉冲总数决定,而电机的转速由脉冲信号频率决定。

步进电机的驱动电路是根据单片机产生的控制信号进行工作。

这次课程设计,我运用到了我上个学期实验刚学到的单片机,设计一个单片机控制步进电机的速度和正反转,虽说功能不是很完善,但已经实现了基本的功能。

正所谓学以致用,这次课程设计我的确学到了很多东西,所以我以后要多动动手,这样有助于我们学以至用。

1.2设计功能简介

(1)接通电源步进电机以自己设定的转速运行。

(2)有四个功能按键,控制步进电机加速,减速,正转,反转。

(3)液晶显示器上分别显示步进电机的运行速度和运行状态。

1.3总体设计框图

 

图1.1设计框图

 

2电路实现方案及软件仿真

2.1方案选择论证

(1)ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。

该芯片的特点如下:

ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

ULN2003驱动芯片价格相对与L297和L298芯片更便宜,用其实现,成本较低。

 

图1.2ULN2003芯片内部结构

(2)单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。

此次课程设计与我们上学期刚学完的《单片机实验》联系紧密,上学期实验课学到了用单片机控制步进电机,本方案将其进行功能和电路上的扩延,能将所学知识与实际联系起来,达到学以致用。

(3)在日常生活中,我们对液晶显示器并不陌生。

液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。

在单片机系统中应用晶液显示器作为输出器件有以下几个优点:

显示质量高:

由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。

因此,液晶显示器画质高且不会闪烁。

数字式接口:

液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。

体积小、重量轻:

液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。

功耗低:

相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。

 

图1.3LCD1602液晶内部结构

(4)步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。

我在本课程设计中采用的是M35SP-7NP四相五线步进电机,有的步进电机要12V电压或者更高的电压,M35SP-7NP四相五线步进电机5V就能驱动,方便单片机开发板的使用,控制十分方便。

并且这个步进电机优质,带齿轮减速,噪音极低,运转平稳。

开放性接口,也可用通过本板驱动其他步进电机。

参数如下:

相数:

      四相

     相阻:

      8欧/相

     控制电压:

  5-6V

     角度:

      7.5度/步

     最大工作电流:

807mA

     最大扭距:

  18.1mNm/200pps

 

图1.4步进电机内部结构

 

2.2单元电路

2.2.1驱动电路

该电路主要由ULN2003驱动芯片及小部分外围电路组成,再加四个控制步进电机运行速度和运行状态的按键开关组成,对于电流小的步进电机,采用ULN2003的是一种小而美的驱动装置,它能提供的输出电路可达0.5安培。

功能是:

按键开关按下即给单片机的端口输入低电平,从而跳到中断程序,利用驱动芯片ULN2003从而达到实现对步进电机的运行速度和运行状态的控制。

2.2.2液晶显示电路

本课程设计中该电路主要由LCD1602液晶及部分外围电路组成,实现的功能是:

电路接通电源后,在液晶显示屏上显示步进电机的初始设置运行速度和运行状态,通过按键开关改变步进电机的运行速度和运行状态在液晶显示屏上显示出来。

2.2.3单片机控制电路

本课程设计中该段电路由单片机芯片和部分外围电路组成,通过编程在将程序烧进芯片中,从而达到对液晶显示电路和步进电机驱动电路的控制。

2.2.4步进电机电路

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。

在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。

这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点。

使得在速度、位置等控制领域用步进电机来控制变的非常的简单。

虽然步进电机已被广泛地应用,但步进电机并不能象普通的直流电机,交流电机在常规下使用。

本课程设计中该段电路主要由五线步进电机组成,单片机控制输出脉冲信号的频率和脉冲数来控制步进电机的运行速度等功能。

2.3用proteus仿真

由于proteus软件比较容易操作易学,所以用这个软件挺方便的,所以用起来得心应手,对照设计方案将元件在proteus上进行正确的连接后,用KeiluVision3软件进行编程生成.hex文件,在将此文件导入proteu中仿真,调试,以检验设计思路的正确性,仿真后结果可以运行,在检查是否有冗余的电路,刚开始的时候电路元件上选择了L297和L298做步进电机的驱动电路,价格昂贵并且操作和功能的实现上很繁琐,走了很多的弯路,但通过查找资料,发现用ULN2003芯片做驱动芯片即简单功能也很容易实现,最终用ULN2003驱动芯片代替L297和L298做步进电机的驱动芯片,逐一攻破了问题,感觉学到了很多的东西和知识。

对此验证此方案可行,可以进行下一步的制板工作。

 

 

图1.5proteus仿真图

图1.6实物运行结果

3电路板的制作及调试

3.1电路的改进

3.1.1液晶屏的选择

刚开始选用的是LCD1601液晶,LCD1601只能显示一行,不方便显示运行状态和运行速度,而LCD1602可以显示两行,所以改用了LCD1602液晶代替LCD1601液晶做为转速和状态的显示器。

3.1.2驱动电路的选择

刚开始的时候电路驱动芯片上选择了L297和L298做步进电机的驱动电路,虽然也能实现本课程设计的个中功能,但价格昂贵并且操作和功能的实现上很繁琐,走了很多的弯路,但通过查找资料,发现用ULN2003芯片做驱动芯片即简单功能也很容易实现,并且价格比较便宜,符合高性价比的目的,最终用ULN2003驱动芯片代替L297和L298做步进电机的驱动芯片,逐一攻破了问题,感觉学到了很多的东西和知识。

3.1.3步进电机的选择

刚开始用的是四线二相步进电机虽功能上也能实现本课程设计的要求,但不宜买到,元件店里卖的常用到的五线和六线步进电机,并且五线电机易于借到,考虑到节省资金的目的,所以改用五线步进电机。

3.2protel原理图和pcb的印制

先前通过KeiluVision3软件的编程和proteus软件的仿真,调试和改进,反复验证电路可行性,然后开始转用protel软件进行原理图和pcb的印制,开始以为此过程会很简单,但却花了很长时间。

下载并安装protel99se软件,导入元器件库跟封装库,在库里找到电路图上所需要的各个元器件,放入原理图中,连接好电路,给元器件编号,标上标称值。

但是,首先有很多元器件没有封装,自己为此画了很多元件的封装图和原理图,其次发现封装库有很多的错误,为此花了很长时间来检查各管脚的标号与原理图的对应情况,最后,布线布了很多天,刚开始自动布线但发现有很多错误隐含在其中,弃之改为手动布线,但发现需要很多跳线需要做,为此重新布线摆元件,但总是需要跳很多的线,为此问了很多同学和老师,要不就双层,否则必须跳线,通过同学介绍,发现有元器件店有卖0欧电阻,为此并不影响电路的美观。

所以我选择了用0欧电阻跳线完成pcb的印制。

通过此次做板,对protel的应用有了更深的认识,对其用起来也更加得心硬应手和熟练。

 

图1.7protel原理图

图1.8pcb电路图

3.3电路板的制作

把PCB拿到打印店去打印出来,然后到科协实验室去制作电路板。

首先用砂纸把铜板磨至光滑,然后加热电熨斗,当电熨斗达到合适的温度以后就可以把PCB熨到铜板上,此步要掌握好压电熨斗的力度,一开始先把电熨斗压在板子上不动,然后才慢慢移动电熨斗,使板子各个部分受热均匀,熨好板以后腐蚀,把浓盐酸跟双氧水倒到盆里,加入一点水稀释,把熨好的板子放入腐蚀液中,翻动一下板子可以加快腐蚀速度,注意不要让腐蚀液溅到眼睛里去,腐蚀好以后用清水冲洗一下板子,擦干,接着打孔,最好再涂上一层助焊的松香水。

选用合适的钻针,打孔的时候要很细心,慢慢打,钻针要选得合适,太大的钻针会造成焊盘脱落,打好孔以后就可以安装元件啦,安装前先测量一下各元件的值是不是跟标称值吻合,不吻合要更换。

参照PCB把元件插上,特别要注意二极管跟极性电容的正负,所有元件都插上以后用焊锡跟焊笔把元件焊好,剪掉过长的管脚,至此电路板初步完成了。

3.4故障分析及调试

刚开始的时候电路的步进电机并不工作,液晶也不显示运行速度和运行状态,然后,我对照这电路图进行故障分析和调试,首先我先用万用表导通端检查电路焊接的是否通路,这是电路板成功与否的关键一步,防止有断路的情况发生,在进一步检查是否有虚焊的情况发生,结果有一条断路,画PCB的时候线太细了,印板腐蚀给划断了,我马上用锡接好后,再一次检测电路,结果全部导通了。

接下来用万用表检测一下单片机的引脚电压,检测是否到达了工作的电压,达到了工作电压在进行下一步的排查。

开始对液晶进行分析不显示的原因,通过查阅单片机等资料发现LCD1602液晶的15管脚BLA和16管脚BLK分别是背光电源的正负极,要接电源VCC和地GND才可以显示,但proteus软件的仿真电路却可以不接,从这里我知道了仿真和实际电路还是有很大的区别,这个太大意了,我用跳线的方式将这两极接好后,用万用表检测了一下,导通后,接上电源和地后发现液晶显示屏亮了并且开始显示编程时设置的初始运行速度和运行状态,从这里我学到了故障分析和调试要一步一步来检查来排除。

再开始检测步进电机不转的故障,首先查阅了五线步进电机的原理图和结构,发现并不是所有的五线步进电机的AABB和VCC五条线都是成一对的顺序排列了,通过万用电表检测出这个五线步进电机的VCC再第二跳线其他的没有错,所以将VCC导线分开接到连接电源的插口上,再将电路板接通电源和地后,步进电机开始按初始设定的速度运行,不过运行速度有些快,所以在调程序,将初始运行速度改成合适的转速值,至此,电路的故障和问题都检测完毕。

4心得体会

经过前后接近一个月的研究学习和制版,终于完成了课程设计。

从课题的选择、方案的论证、电路的编程和仿真,再到具体方案设计每一步制作对我来说无疑都是巨大的尝试和挑战。

通过这次课程设计我懂得了理论与实际相结合时很重要的,只有理论知识是远远不够的,有把所学的理论知识和实践相结合才能提高自己的动手能力和独立思考的能力。

在设计过程中可以说困难重重,会遇到各种各样的问题,同时在设计过程中发现自己的不足之处,对以前所学的知识理解不够深刻,掌握的不够牢固。

此次课程设计,学到了理论课学不到的东西,比如独立思考解决问题,出现差错如何分析解决,还有与人合作的共同提高,都受益匪浅。

在具体的设计过程中我不断给自己提出新问题,然后去论证、推翻。

在接着提出新问题,在这个循环往复的过程中每一次改进我都收获良多,每一次修改我都兴奋了好长一段时间,虽然我的设计作品不是很成熟,有很多不足之处,但我心里仍然有一种莫大的幸福感。

因为我实实在在走过了一个完整的设计做所应该走过的每一个过程,并且享受每个过程。

 

参考文献

[1]郭天祥编著:

《51单片机C语言教程》电子工业出版社2009

[2]谭浩强编:

《C语言设计》(第三版)清华大学出版社2005

[3]清源计算机工作室编著:

《protel99se原理图与pcb》机械工业出版社2007

[4]周灵彬任开杰编著:

《基于proteus的电路与PCB设计》电子工业出版社2010

[5](美)弗洛伊德著,余璆等译:

《数字电子技术(第九版)》电子工业出版社2008

[6]胡学海编著:

《单片机原理及应用系统设计》电子工业出版社2008

 

 

附录

1.设计相关附图

元件名称

数值

个数

LCD1602

1个

AT89C51

1个

电容

330p

2个

晶振

12M

1个

电阻

20k

6个

电阻

1欧

2个

按键开关

5个

L298

1个

L297

1个

四线二相步进电机

1个

图1.5元件清单

图1.6实物图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1