《二相步进电机控制系统的设计.docx》由会员分享,可在线阅读,更多相关《二相步进电机控制系统的设计.docx(25页珍藏版)》请在第一文库网上搜索。
1、二相步进电机控制系统的设计-CA1-FENGHAI-(2023YEAR-YICAI)_JINGBIAN摘要随着微电子和计算机技术的发展,步进电机的需求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国民经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。本控制系统的设计,由硬件设计和软件设计两部分组成,完成二相步进电机的控制。其中,硬件设计主要包括单片机系统、按键控制模块、步进电机驱动模块、数码显示模块等功能模块的设计,以及硬件电路在PROTUS上的仿真。软件设计包括主程序以及各个模块的控制程序
2、,最终实现对步进电机转动方向及转动模式(四拍,八拍)的控制,并且将步进电机的步进数动态显示在1ED数码管上。本系统具有智能性、实用性及可靠性的特点。关键词:二相步进电机单片机四拍八拍1ED显示AbstractWiththedeve1opmentofmicroe1ectronicsandcomputerart,step-by-stepe1ectricmotorneedamountsincreasewitheachpassingday,itisusedfortheproductsconsumingakindsuchasprinter,e1ectricity-driventoybroad1yandn
3、umerica1contro1machinetoo1,e1ectromechanica1productssuchasindustryrobot,medica1apparatusandinstrumentsarehitby,thepersonapp1iestoeachnationa1economyfie1dItboth.Studystep-by-stepe1ectricmotornavar,havingimportancetoimprovingunderthecontro1ofaccuracyandrespondingtospeed,theenergysavingandsoon.Contro1s
4、ystematicdesignorigina11y,themadeupofdesigningtwopartsfromthehardwaredesignandthesoftware,contro11ingaccomp1ishingtwo-phasestep-by-stepe1ectricmotor.Andamongthem,thehardwaredesigninc1udesthemono1ithicmachinesystemmain1y,buttonunderthecontro1ofmodu1e,step-by-stepe1ectricmotordrivefunctionmodu1edesign
5、suchasmodu1e,numerica1codedisp1aymodu1e,hardwarecircuitemu1ationonPROTUS.Thesoftwaredesignsunderthecontro1ofprocedureinc1udingthehostprocedureandeachmodu1eszrea1izescontro11ingturningdirectiontostep-by-stepe1ectricmotorandturningthepattern(fourshootzeightshoots)u1timate1y,step-by-stepe1ectricmotorst
6、ep-by-stepnumberdeve1opmentisdemonstratedandon1EDnumerica1code.Systemhasinte11igence,pragmatismandthere1iabi1itycharacteristic.Keywords:日ectricmotorMCUFourshootsEightshoots1EDdispIay目录摘要31总体分析与解决方案1问题的提出与简述1设计目的级系统功能12硬件电路设计模块2单片机系统原理2二相步进电机工作原理分析52.31298驱动电路设计7四位1ED数码管显示设计7总体硬件仿真设计103软件设计模块11整体流程分析
7、与设计11步进电机四拍,八拍流程分析与设计11显示模块流程分析与设计144系统调试运行与仿真155小结与心得体会16参考文献17附录18二相步进电机控制系统的设计1总体分析与解决方案问题的提出与简述如今,电动机在工农业生产、人们日常生活中起着十分重要的作用。步进电机是最常见的一种控制电机,在各领域中得到广泛应用。步进电机作为执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的
8、角度(称为“步距角),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,其优点是结构简单、运行可靠、控制方便。尤其是步距值不受电压、温度的变化的影响、误差不会长期积累的特点,给实际的应用带来了很大的方便。它广泛用于消费类产品(打印机、照相机)、工业控制(数控机床、工业机器人)、医疗器械等机电产品中。研究步进电机的控制和测量方法,对提高控制精度和响应速度、节约能源等都具有重要意义。为此,本文设计了一个步进电机控制系统,可以实现对步进电机转
9、动方式和转动方向的控制。设计目的及系统功能本设计的目的是以单片机为核心设计出一个二相步进电机控制系统。本系统采用ATmega128作为控制单元,通过按键实现对二相步进电机转动方向及转动模式的控制,并且将步进电机的步进步数动态显示在1ED数码管上。通过本课题,查阅相关资料,由于本学期所学单片机课程型号为ATmega128,了解了ATmega128单片机控制的一些基本技术,掌握其控制系统的分析方法与实现方法,能对单片机外围电路设计进行系统学习与掌握;另一方面,通过设计步进电机控制系统的硬件电路,控制程序和相应的电路图,以此培养自己的自学和动手能力,从而为今后参加工作或进一步深造打下良好的基础。设计
10、的步进电机控制系统有以下功能:1 .二相步进电机采用双极性(H桥)控制2 .用KO-K1作为通电方式选择键,KO为四拍,K1为八拍3 .用K2作为启动/停止控制键4 .用K3作为方向控制5 .用4位1ED数码管显示工作步数6 .用3个发光二极管显示状态:正转时红灯亮,反转时黄灯亮,不转时绿灯亮考虑到二相步进电机需采用双极性控制,故电机的驱动模块使用芯片1298实现,接线简洁,稳定性好。选定好设计方案后,可以由分析得到系统的总体原理框图如下所示:2硬件电路设计模块单片机系统原理本次课题采用的单片机型号是ATmegaI28,ATmega128为基于AVRRISe结构的8位低功耗CMoS微处理器。由
11、于其先进的指令集以及单周期指令执行时,ATmega128的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(A1U)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的复杂指令集微处理器高10倍的数据吞吐率。ATmega128具有如下特点:128K字节的系统内可编程F1aSh(具有在写的过程中还可以读的能力,即RWW)、4K字节的EEPROM,4K字节的SRAM、53个通用I/O口线、32个通用工作寄存器、实时时钟RTC,4个灵活
12、的具有比较模式和PWM功能的定时器/计数器(T/C)、两个USART,面向字节的两线接口TWI、8通道10位ADC(具有可选的可编程增益)、具有片内振荡器的可编程看门狗定时器、SP1串行端口、与IEEE规范兼容的JTAG测试接口(此接口同时还可以用于片上调试),以及六种可以通过软件选择的省电模式。ATmegaI28AVR有整套的开发工具,包括C编译器,宏汇编,程序调试器/仿真器和评估板。芯片引脚图如下所示:二vWdrSsIWdG8AnQTen一Bbz9v-En(81.9OaV)FGTISanr)EC6rwoQnPWrRXDQIPOhPEOC(TXDg06PE1C(XOgAINSPC2C(0C3
13、A.A1NnPE1CQCrmiNTaPF4C(OC3O*WT7Pt7C(PBOC(9CK)PeICMOSIPB2CtSOPB3C(OCO(PB4C(OC1A)PB5C31IhPDOC1O.PAB(AD6(PA7(A7ZPG2(A1E)PC7(AIS)PCe(AU)JPC6(A13)PC4(A12)昌住u90dpt一FrMOIOuMdp-ednpJ-Oda1NIZVQS-IaidtO1NmsJUHV1X一?DCIONoU8usgJBDdZOGQ1JZad-Oryzoo-PA3(AD33PM(AD4PC2(AIO)PCI(A9)PCO(AB)图2ATmega128的引脚图本次课设所使用的单片机功能
14、主要有单片机的1/0口以及定时器/计数器功能。作为通用数字1/0使用时:所有.AVR1/0端口都具有真正的读.修改-写功能。这意味着用SB1或CB1指令改变某些管脚的方向(或者是端口电平、禁止/使能上拉电阻)时不会无意地改变其他管脚的方向(或者是端口电平、禁止/使能上拉电阻)。输出缓冲器具有对称的驱动能力,可以输出或吸收大电流,直接驱动1ED。所有的端口引脚都具有与电压无关的上拉电阻,并有保护二极管与VeC和地相连。每个端口都有三个I/O存储器地址:数据寄存器-PORTX、数据方向寄存器-DDRx和端口输入引脚-PINx。数据寄存器和数据方向寄存器为读/写寄存器,而端口输入引脚为只读寄存器。当
15、寄存器SFIC)R的上拉禁止位PUD置位时所有端口的全部引脚的上拉电阻都被禁止。DDxn位于DDRX寄存器,PORTxn位于PORTX寄存器,P1NXn位于P1NX寄存器。DDXn以来选择引脚的方向。当DDXn为1时,PXn配置为输出;否则为输入。当引脚配置为输入时,若PORTXn为“1”,上拉电阻将使能。如果需要关闭这个上拉电阻,可以将PORTXn清零,或者将这个引脚配置为输出。复位时各引脚为三态,即使此时没有时钟在运行。当引脚配置为输出时,若PORTXn为U”,引脚输出高电平(“1),否则输出低电平(0”)。在(高阻态)三态(DDxn,PORTxn=ObOO)输出高电平(DDxn,PORTxnJ=Ob11)两种状态之间进行切换时,上拉电阻使能(DDxn,PORTxn=ObO1)或输出低电平(DDxn,PORTxn=Ob1O)这两种模式必然会有一个发生。通常,上拉电阻使能是完全可以接受的,因为高阻环境不在意是强高电平输出还是上拉输出。如果使用情况不是这样子,可以通过置位SF1oR寄存器的PUD来禁止所有端口的上拉电阻。在上拉输入和输出低电平之间切换也有同样的问题。必须选择高阻态