基于单片机控制的步进电机控制器论文 (2)_第1页
基于单片机控制的步进电机控制器论文 (2)_第2页
基于单片机控制的步进电机控制器论文 (2)_第3页
基于单片机控制的步进电机控制器论文 (2)_第4页
基于单片机控制的步进电机控制器论文 (2)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、. . . 毕业设计(论文)报告 题 目 基于单片机控制的步进电 机控制器21 / 26基于单片机控制的步进电机控制器摘要:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。本系统采用AT89S51单片机来控制步进电机,不

2、仅可以实现电机的正反转,还可以实现17级调速,以与LED状态显示功能,电路设计可靠且易于实现,程序设计简单易懂。本系统主要由按键电路、单片机最小系统、AT89S51单片机、步进电机状态显示电路、驱动电路以与步进电机等几部分组成。输出驱动电路采用一个六非门芯片74LS04和四个三极管,来驱动步进电机的四相绕组。短路保护采用一个0.4A的保险管,防止因绕组短路而烧毁烧毁电机。关键词:步进电机 单片机 单片机最小系统 子程序 Based on thesingle chip microcomputer to control thestep motor controllerAbstract:Steppe

3、r motor is electrical pulse signal into angular or linear displacement of open-loop control stepping parts. In non-overload of situation Xia, motor of speed, and stop of location only depends on pulse signal of frequency and pulse number, and does not by load changes of effect, dang step into drive

4、received to a pulse signal, it on drive step into motor by set of direction turns a fixed of angle, called "step from angle", it of rotating is to fixed of angle a step a step run of. By controlling the number of pulses to control the amount of angular displacement, so as to achieve accura

5、te positioning of purpose ; at the same time you can control pulse frequency controlled motor rotation speed and Acceleration, so as to achieve the purpose of speed.The system uses AT89S51single-chip microcomputer to control the stepper motor,which can not only realizethe motor positive inversion,ca

6、n also realize the17 step speed regulation,and the LEDstate displayfunction,circuit designand reliableand easy to realize,the program design is simple andeasy to understand.This system is mainly composed ofa key circuit,MCU minimum system,AT89S51 MCU,step motorstatus display circuit,drivingcircuit a

7、nd step motoretc.The output driver circuituses a sixNANDchip 74LS04and fourthreetransistor,to drive the steppermotorfour phase winding.Short circuit protectionusing a 0.4Ainsurancetube,prevent thewinding short circuitandburn downmotor.Key Words:Stepping motor Single chip microcomputer The smallest s

8、ingle-chip system Subroutine目录引言1第一章 设计方案21.1 设计思路21.2 总体设计框图2第二章 设计原理分析32.1 步进电机32.1.1 概述32.1.2 优点32.1.3 驱动方法42.2 AT89S51单片机与其最小系统52.2.1 结构62.2.2 功能62.3 按键电路92.4 步进电机状态显示电路92.5 步进电机驱动电路9第三章 程序原理分析1131 程序设计思路1132程序分析113.3 定时器计数初值的设定123.4 程序设计流程图14总结15参考文献16附录17附录1 步进电机总体控制电路17附录2 源程序代码18引言步进电机能将输入的电

9、脉冲信号转换成输出轴的角位移或直线位移。这种电机每输入一个脉冲信号,输出轴便转动一定的角度或前进一步,因此又被称作脉冲电机或步级电机。步进电机输出轴的角位移量与输入脉冲数成正比,不受电压以与环境温度的影响,也没有累积的定位误差,因此控制输入的数字脉冲数即可实现电机的精确定位;而步进电机输出轴的转速与输入的脉冲频率成正比,控制输入的脉冲频率就能准确的控制步进电机的转速,可以实现在宽广的围精确调速。由于步进电机的这一特点正好符合数字控制系统的要求,同时电子技术的发展也解决了步进电机的电源问题。因此随着计算机技术和数字控制技术的发展,步进电机的应用也日益广泛。目前,步进电机应用于磁盘驱动器、数控机床

10、、轧钢机、机器人、以与自动化仪表等方面。第一章 设计方案1.1 设计思路本系统主要由按键电路、单片机最小系统、AT89S51单片机、步进电机电机电路、驱动电路以与步进电机等几部分组成。驱动电路可以采用FT5754芯片来实现,芯片部有四组3A、5W、100V的PNP达林斯顿电路与四个二极管,输出四个管脚、分别与步进电机的四相绕组向连接。但考虑到所采用的步进电机功率和额定电流都较小,以与经济性方面,本设计直接采用四个NPN型三极管来作为驱动电路。步进电机的控制主要通过5个按键来实现,这5个按键分别表示“正转”、“反转”、“加速”、“减速”和“停止”。单片机输出四路脉冲信号触发驱动电路的四个NPN型

11、三极管,其中触发导通的三极管可驱动步进电机的相应绕组得电,即步进电机获得脉冲,而产生一定的角位移。单片机循序不断的输出时序脉冲,就可以实现步进电机的旋转了。1.2 总体设计框图总体设计框图如图1所示。89S51单片机按键控制电路单片机最小系统步进电机状态显示电路步进电机驱动电路步进电机图1 总体设计框图第二章 设计原理分析2.1 步进电机2.1.1 概述步进电机是一种感应电机,它的工作原理是利用电子电路,将直流电变成分时供电的,多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作,驱动器就是为步进电机分时供电的,多相时序控制器 虽然步进电机已被广泛地应用,但步进电机并不能像普通的直

12、流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机却非易事,它涉与到机械、电机、电子与计算机等许多专业知识。 步进电机作为执行元件,是机电一体化的关键产品之一, 广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。 步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。您可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速

13、度,从而达到调速的目的。2.1.2 优点l 电机旋转的角度正比于脉冲数; l 电机停转的时候具有最大的转矩(当绕组激磁时); l 由于每步的精度在百分之三到百分之五,而且不会将一步的误差积累到下一步因而有较好的位置精度和运动的重复性; l 优秀的起停和反转响应; l 由于没有电刷,可靠性较高,因此电机的寿命仅仅取决于轴承的寿命; l 电机的响应仅由数字输入脉冲确定,因而可以采用开环控制,这使得电机的结构可以比较简单而且控制成本; l 仅仅将负载直接连接到电机的转轴上也可以极低速的同步旋转。 l 由于速度正比于脉冲频率,因而有比较宽的转速围。2.1.3 驱动方法步进电机不能直接接到工频交流或直流

14、电源上工作,而必须使用专用的步进电动机驱动器,如图2所示,它由脉冲发生控制单元、功率驱动单元、保护单元等组成。图中点划线所包围的二个单元可以用微机控制来实现。驱动单元与步进电动机直接耦合,也可理解成步进电动机微机控制器的功率接口。 图2本系统采用25Y48H01型步进电机,其相关参数如表1所示,部接线图如图3所示。表1 25Y48H01型步进电机的相关参数型号步距角相数电压(V)电流(A)电阻()最大静止转矩(g·cn)转子转动惯量(g·cm2)重量(g)25Y48H017.5450.5101001.035图3 25Y48H01型步进电机部接线图绕组脉冲1234567891

15、0A1001100110B1100110011C0110011001D0011001100 表2 步进电机四相绕组的励磁时序步进电机的励磁方式有1相励磁、2相励磁和1-2相励磁3种。由于2相励磁具有转矩大、振动小等优点,在目前使用较为普遍,本系统的设计也采用这种励磁方式。步进电机各相绕组的励磁时序如表2所示。2.2 AT89S51单片机与其最小系统Atmel公司的生产的89C51单片机是一种低功耗/低电压、高性能的8位单片机,它采用CMOS和高密度非易失性存储器技术,而且其输出引脚和指令系统都与MCS-51兼容;片的Flash ROM允许在系统改编程序或用常规的非易失性编程器来编程,部除CPU

16、外,还包括256字节RAM,4K字节的ROM,4个8位并行I/O口,5个中断源,2个中断优先级,2个16位可编程定时计数器。89C51单片机是一种功能强、灵活性高且价格合理的单片机,完全满足本系统设计需要。2.2.1 结构l 4k Bytes Flash片程序存储器; l 128 bytes的随机存取数据存储器(RAM); l 2个外部双向输入/输出(I/O)口; l 5个中断优先级、2层中断嵌套中断; l 6个中断源; l 2个16位可编程定时器/计数器; l 2个全双工串行通信口; l 看门狗(WDT)电路; l 片振荡器和时钟电路; l 与MCS-51兼容; l 全静态工作:0Hz-33

17、MHz; l 三级程序存储器锁定; l 可编程串行通道; l 低功耗的闲置和掉电模式。2.2.2 功能VCC:电源电压输入端。 GND:电源地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 图4P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低

18、电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是

19、8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(T0定时器的外部计数输入) P3.5 T1(T1定时器的外部计数输入) P3.6 /WR(外部数据存储器的写选通) P3.7 /RD(外部数据存储器的读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。

20、I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的容读入到部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。 RST:复位输入端,高电平有效。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:地址锁存允许/编程脉冲信号端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变

21、的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号,低电平有效。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:外部程序存储器访问允许。当/EA保持低电平时,则在此期间外部程序存

22、储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:片振荡器反相放大器和时钟发生器的输入端。 XTAL2:片振荡器反相放大器的输出端。单片机最小系统包括振荡电路和复位电路两部分。振荡电路用12M晶振,这样一个机器周期 。复位电路采用手动复位,当按下RESET按键,电阻R1、R2接通5V电源,此时R2分得电压大约为4V,为高电平,即置单片机RST脚为高电平,单片机复位。2.3 按键电路采用5个按键用来控制步进电机的5种状态,即“

23、正转”、“反转”、“加速”、“减速”和“停止”。当按下其中一个按键时,电源通过上拉电阻和按键到地形成通路,使相应输入管脚接地,即给单片机送入一个低电平,此低电平即为有效电平。按键电路如图4所示。2.4 步进电机状态显示电路状态指示采用三种颜色的发光二极管,“绿色”、“黄色”和“红色”分别表示步进电机的“正转”、“反转”和“停止”状态。限流电阻选择1K的电阻,使发光二极管的压降为3V左右。2.5 步进电机驱动电路从单片机输出四路脉冲信号,经过非门和限流电阻,送到四个NPN型三极管的基极。如果从单片机输出的是高电平,经过非门变成低电平,送入三极管,使三极管截止;如果从单片机输出的是低电平,经过非门

24、变成高电平,此高电平使三极管导通。步进电机的每相绕组并上一个二极管,目的是防止在三极管瞬间截止时,绕组电感所产生很高的感应电动势击穿三极管。非门采用74LS04芯片,其部共有六个独立的非门,这里只用了其中的四个。驱动电路如图6所示。图5按键控制电路图6步进电机驱动电路第3章 程序原理分析31 程序设计思路根据外围电路的设计,单片机的输入为P1口的前五个管脚,输出为P1口的后三个管脚和P2口的前四个管脚。主程序部分首先向驱动电路输出四路高电平,使电机停转,然后设置定时器T0的工作方式以与给允许中断位置高电平,点亮“停转”的状态显示,接下来进行按键扫描,如果有“正转”或“反转”按键按下,则跳转到相

25、应的程序段;如果有“停止”按键或没有任何按键按下,则跳转到程序的初始部分。正转部分,首先点亮“正转”的状态指示,随后输出起始脉冲,接下来扫描按键,判断是否执行加速、减速或停转,然后调用给定时器T0赋初始值子程序,最后左移累加器A中的数值,如此循环便可实现步进电机的正转。反转部分与正转部分的程序设计雷同,不再赘述。加速和减速部分,改变定时器定时的初始值,即改变定时时间便可实现。32程序分析首先,进行P2口以与定时器的初始化,定时器工作于方式1,对P1.7清零,即点亮红色发光二极管,表示步进电机的“停止”的状态。用JNB指令来扫描按键电路,按下则跳转,没有按下则继续向下执行。如果P1.0按下,则跳

26、转到首地址为RUN的位置,先调用一个10ms的延时子程序来消除按键的抖动,对P1.6清零,即点亮绿色发光二极管,表示步进电机的“正转”状态,然后通过累加器A输出起始脉冲信号00110011B到P2口。随后判断加速、减速和停止按键是否按下,如果其中一个被按下,则跳到相应的程序段,否则程序继续向下执行。接下来调用赋定时器初始值子程序TIME,根据R0的数据的不同,使用查表指令来读取TABLE1和TABLE2中的数据分别赋给定时器T0的两个八位寄存器TH0和TL0。返回后,利用查询法来等待T0的中断,当定时结束时跳出循环,并对中断标志位TF0清零。左移指令使累加器A中的数据循环左移一位,最后返回到R

27、UN1的位置。如果P1.1按下,则执行反转程序,该程序执行过程与正转部分相似,不同之处:一是反转要点亮黄色发光二极管,二是对脉冲信号循环右移,从而实现反转。加速子程序主要使R0的数据加1,即把速度提高一个级别,R0的数据还要与16相减,来确认是否达到最高转速,如果R0的数据大于16,则把16赋给R0,表示已达到最高转速,不能再加速了。减速子程序主要使R0的数据减1,即把速度降低一个级别,如果R0的数据为0,即速度为最低转速,则直接跳过减一指令,保持这个最低转速。赋定时器初值子程序,利用两个查表指令来读取预置的数据,当转速改变时,R0的数据发生变化,这时赋给定时器的初值也发生了变化,改变了定时时

28、间,即脉冲的时间间隔发生变化,从而实现了电机变速。3.3 定时器计数初值的设定程序设计选用定时器T0的定时中断,来控制步进电机每走一步所用的时间,改变了T0的定时时间,就改变了步进电机的转速。定时器T0工作于方式1,晶振fosc=12MHZ。由于采用的步进电机的步距角为7.5°,转一圈需要48个脉冲,设转速为N(r/min),则每分钟需送脉冲数据的个数为48N,即每送一个脉冲信号需时:。定时器T0的计数初值 。设步进电机最低转速为20r/min,最高转速为100r/min,每5r设为一个速度级,一共17级。经过计算,得出步进电机的转速对应于定时器初值如表3所示。表3 电机速度与对应定

29、时器计数初值转速N/(r/min)单步时间T/(s)T0的计数初值Tx (十进制)T0的计数初值Tx (十六进制)206250079361F002550000194564C003041666.67271366A003535714.2932621.717F6D4031250367368F804527777.78399369C00502500042496A6005522727.2744590.55AE2E6020833.3345673.93B2696519230.7747812.92BAC47017857.1449078.86BFB67516666.6750176C400801562551136C

30、7C08514705.8851983.06CB0F9013888.8952736CE009513157.8753280.68D0201001250054016D3003.4 程序设计流程图程序流程如图7所示:开始程序初始化清零P1.5,点亮红色LED延时10ms,去抖动点亮状态指示灯输出脉冲信号扫描按键调用加速或减速子程序赋定时器初值,并开启定时器A左移或右移扫描按键主程序赋定时器初值子程序A入栈TH0R0+TABLE1TL0R0+TABLE2开启定时器T0A出栈返回10ms延时子程序R710HR60FFHR6为零吗?R7为零吗?返回YN YN总结通过此次单片机课程设计,使我对单片机控制系统有

31、了更加全面和深入的了解,对电路板的设计和制作也更加的熟练。电路的设计并不复杂,两天的时间就完成了,但之后编写程序,发现有一些不妥的地方,进行了调整,随后开始制作PCB版图,还算顺利。程序的设计让我犯了不少的困惑,以前编写的都是一些功能简单的程序,这样系统的程序编写还是第一次,发现自己好像有些摸不到头脑,可能是编写程序的时机还不够成熟。而后,在图书馆借了几本资料,仔细的研究一下,虽然实现的功能不大一致,但至少可以提供一些思路。果然,有了效果,我居然只用了一个下午的时间就编写完成了,真是太神奇了。等拿到步进电机进行调试,电机却没有一点反应,经过仔细的审查,发现按键输入我使用的是单片机的P1口,可程

32、序里我用的却是P0口,于是对程序做了相应的修改,调试成功。三周的实习即将结束,经过了这样一个设计和制作的过程,体会到这样实践真的是很必要,不仅可以加深对书本上的知识理解,还可以锻炼自己的动手能力和综合运用能力。经过这次实习,我更加喜欢自己的专业了,也对自己更有信心了。参考文献1 朝青.单片机原理与接口技术M.:航空航天大学,2005.92 蔡朝洋.单片机控制实习与专题制作.:航空航天大学,2006.113 汪道辉.单片机系统设计与实践.:电子工业,2006.54 大明.单片机控制实训指导与综合应用实例.:机械工业,2007.35 天明,杰.电机与拖动.:中国林业;大学,2006.8附录附录1 步进电机总体控制电路附录2 源程序代码ORG 0000HAJMP MAINORG 0030HMAIN: MOV P2,#0FFHMOV R2,#00HMOV SP,#40HMOV TMOD,#01HMOV IE,#82HCLR P1.7SETB P1.5SETB P1.6KEY: JNB P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论