好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

步进电机角度控制设计.docx

36页
  • 卖家[上传人]:人***
  • 文档编号:480344222
  • 上传时间:2022-08-28
  • 文档格式:DOCX
  • 文档大小:1.28MB
  • / 36 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 目录摘要 11设计任务与要求 21.1设计目的 21.2设计要求和设计指标 22方案分析 33系统硬件部分 43.1主控模块 43.2键盘输入模块 73.3电机模块 83.4显示模块 114系统软件部分 134.1整体流程图及主程序 134.2按键流程图及程序 144.3显示模块程序 194.4电动机模块流程图及程序 204.5中断程序 225仿真运行 246心得体会 25参考文献 26附录一:Protues硬件仿真图 27附录二:系统程序 28摘要步进电机在控制系统中具有很广泛的应用它可以把脉冲信号转换成角位移,并且可用作电磁制动轮、电磁差分器或角位移发生器等步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的此次设计使用C语言作为编程语言。

      C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件、三维、二维图形和动画,具体应用例如单片机以及嵌入式系统开发 硬件部分使用89C51作为主控芯片,并使用ULN2003A将单片机的信号放大以控制步进电机,同时使用4位数码管显示转动角度及次数关键词:步进电机 C语言 AT89C51 ULN2003A 转动角度 1设计任务与要求1.1设计目的设计制作和调试一个由8086组成步进电机角度测控系统通过这个过程学习熟悉键盘控制和七段数码管的使用,掌握步进电机的角度控制和角度显示方法1.2设计要求和设计指标1.在显示器上显示任意四位十进制数2.将8个键定义键值为0~7,按任意键在显示器上显示对应键值3.实现:(1)定义键盘按键:5个为数字键1~5;3个功能键:设置SET、清零 CLR、开始START;(2)显示器上第一位显示次数,后三位显示每次行走的角度;(3)通过键盘的按键,设置步进电机各次的角度值;第一位设置次数,后三位设置角度值4)按START键启动步进电机开始转动,按SET键停止;按CLR键清零。

      2方案分析课程设计要求设计一个直流电机微型计算机角度控制系统,定义8个键盘按键:5个为数字键1~5;3个功能键:设置SET、清零 CLR、开始START;显示器上的四位可显示转动次数和每次转动角度;通过键盘的按键,设置步进电机转动次数和每次转动角度;按START键启动电机开始转动,按SET键停止;按CLR键清零综合分析之后,我们应该将电路实现利用键盘按键通过89C51的P3口实现输入功能,并通过89C51的P0口和P1口实现对数码管显示的控制同时我们可以通过P2口控制ULN2003A驱动电动机运行我们可以将整体电路设计成几个相对独立而又有机结合的模块,来逐一进行分析通过分析我们可以画出系统图,如图2-1所示图2-1 系统图3系统硬件部分3.1主控模块3.1.1 AT89C51芯片本次设计是使用AT89C51作为主控芯片,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机单片机的可擦除只读存储器可以反复擦除100次该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,89C2051是它的一种精简版本。

      89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案AT89C51的40个引脚主要有一下几种(1)VCC:供电电压2)GND:接地3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流当P1口的管脚第一次写1时,被定义为高阻输入P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故在FLASH编程和校验时,P1口作为低八位地址接收5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入并因此作为输入时,P2口的管脚被外部拉低,将输出电流这是由于内部上拉的缘故P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

      P2口在FLASH编程和校验时接收高八位地址信号和控制信号6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流当P3口写入“1”后,它们被内部上拉为高电平,并用作输入作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故P3口还有其他一些特殊功能,本事设计没有使用,故在此不做叙述7)RST:复位输入当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间8)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节在FLASH编程期间,此引脚用于输入编程脉冲在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6因此它可用作对外部输出的脉冲或用于定时目的然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲如想禁止ALE的输出可在SFR8EH地址上置0此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用另外,该引脚被略微拉高如果微处理器在外部执行状态ALE禁止,置位无效9)/PSEN:外部程序存储器的选通信号在由外部程序存储器取指期间,每个机器周期两次/PSEN有效但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

      10)/EA/VPP:当/EA保持低电平时,则在此期间为外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器读取外部ROM数据注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,单片机读取内部程序存储器扩展有外部ROM时读取完内部ROM后自动读取外部ROM)在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入12)XTAL2:来自反向振荡器的输出图3-1 AT89C51芯片时钟电路及复位电路在本次课程设计中,我们用到AT89C51单片机而他需要一些特定的控制电路的控制才能更好地工作具体到本次课设中,我们需要时钟电路、防抖电路、复位电路等如图3-2所示是我们的时钟电路,由电容C1、C2以及晶振组成图3-2 时钟电路如图3-3所示是我们的复位电路图3-3 复位电路3.2键盘输入模块在微机化仪器仪表中,键盘是最常用的一种输入设备,用于输入数据和命令键盘的每一个按键都被赋予一个代码,称为键码键盘系统的主要工作包括及时发现有键闭合,求闭合键的键码根据这一过程的不同,键盘可以分为两种,即全编码键盘和非编码键盘。

      全编码键盘多是商品化的计算机输入设备,自动提供对应于被安检的ASCII码,且能同时产生一个控制信号通知微处理器此外,这种键盘具有处理抖动和多键串键的保护电路,具有使用方便、价格较贵、体积较大、按键较多等特点非编码键盘恰如一组开关,一般组成行和列矩阵其全部工作过程,如按键的识别、键的代码获取、防止串键及消抖等问题,都靠程序完成因此,它所需要的硬件少,价格便宜,一般作为单板机、智能仪表等简单的输入设备键盘电路常用的有两种,一种是独立式键盘电路,另一种是矩阵式键盘独立式键盘每个按键独占一根I/O线因此键识别软件非常简单对于只有几个按键的系统,常采用这种电路对于多按键系统来讲,这种电路忧郁将占用更多的I/O线而变得无法实用矩阵式键盘电路将I/O口线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,这就构成了行列式键盘行列式键盘中按键的数量可达行线数n乘以列线数m由此可以看到行列式键盘在按键较多时,可以节省I/O线按键开关的两端分别接在行线和列线上行线通过一个电阻接到+5V电源上,在没有键按下时,行线处于高电平状态判断是否有键按下的方法是:向所有的列线I/O口输出低电平,然后将行线的电平状态读入累加器中,若无键按下,行线仍保持高电平状态,若有键按下,行线至少应有一条为低电平。

      当确定有键按下后,即可进行求键码的过程其方法是:依次从一条列线上输出低电平,然后检查各行线的状态,若全为高电平,说明闭合键不在该列;若不全为1,则说明闭合键在该列,且在变为低电平的行的交点上在键盘处理程序中,每个键都被赋予了一个键号,由从列线I/O口输出的数据和从行线I/O口读入的数据可以求出闭合键的键号图3-4键盘模块原理图3.3电机模块3.3.1步进电机结构及工作原理步进电机又叫脉冲电机,它是一种将电脉冲信号转换为角位移的机电式数模转换器在开环数字程序控制系统中,输出控制部分常采用步进电机作为驱动元件步进电机控制线路接受计算机发来的指令脉冲,控制步进电机作为驱动元件步进电机控制线路接收计算机发来的指令脉冲,控制步进电机做相应的转动在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点使得在速度、位置等控制领域用步进电机来控制变的非常的简单步进电机的驱动电路根据控制信号工作,控制信号由8086通过8255A产生此次设计采用四相式步进电机。

      图3-5 步进电机励磁线圈(1) 步进电机工作原理说明步进电机由转子和定子组成转子由一个永久磁铁构成,定子分别由四组绕组组成步进电机组成和电气连接分别如图3-6和3-7所示 图3-6 转子和定子示意图 图3-7 电气连接示意图当S1连通电源后,定子磁场将产生一个靠近转子为N极,远离转子为S极才磁场,这样的定子磁场和转子的固有磁场发生作用,转子就会转动,正确地S1、S4的送电次序,就能控制转子旋转的方向例如:若送电的顺序为S1闭合断开S2闭合断开S3闭合断开S4闭合断开,周而复始的循环,在定子和转子共同作用下,电机就瞬时针旋转:若送电的顺序为S4闭合断开S3闭合断开S2闭合断开S1闭合断开,周而复始的循环,则电机就逆时针旋转,原理同理3.3.2 电机驱动ULN2003。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.