版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I本科毕业设计(论文)基于51单片机的步进电机驱动器设计学院机电工程学院专业机械设计制造及其自动化(机械电子工程方向)年级班别学号学生姓名指导教师年月摘要步进电机被越来越地广泛应用,但步进电机驱动器技术仍不够成熟,需要进行改进完善才能更方便地让用户进行操作使用,所以需要更多更成熟的步进电机驱动系统的开发以满足社会的需要。本设计采用软件控制代替硬件搭建电路控制步进电机驱动器的方法以达到简化硬件电路、降低驱动器成本的目的,主要使用STC89C52RC芯片作为主控芯片,来达到对外界输入的脉冲进行接收、判断分析并分配给二相四线步进电机四条线路进行电机驱动。但由于电机的驱动电压是12V,而主控芯片输出的电压只有5V,所以需要设计一个步进电机驱动电压电路以达到电压要求,于是本设计采用了L298N芯片,其主要功能是对主控芯片发送过来的脉冲信号进行处理,然后再转化成足够驱动步进电机的脉冲信号输出给电机。其次,因为步进电机工作时是高速运转,所有电路中还需要加一定的保护才能保证电路能长期稳定工作不受影响。本设计采用高速光电耦合器6N137和低速光电耦合器TLP521-1对电路的输入脉冲信号及正反转控制信号进行保护。再者,为防止步进电机高速转动时自感电压对电路造成冲击,在电机接线部分加了二极管对电路进行保护。综上所述,本设计实现了一个使用软件控制来进行电机驱动的稳定的步进电机驱动器,能够精准地驱动步进电机进行工作。关键词:步进电机,驱动器,软件控制,脉冲信号注:本设计(论文)题目来源于自选项目。IIAbstractSteppermotorismoreandmorewidelyused,butthesteppermotordrivertechnologyisstillnotmatureenough,needtobeimprovedinordertomoreeasilyallowuserstooperate,sotheneedformorematuresteppermotordrivesystemdevelopmentmeettheneedsofsociety.Thisdesignusessoftwarecontrolinsteadofhardwaretobuildcircuitcontrolsteppermotordrivermethodtoachievesimplifiedhardwarecircuit,reducethecostofthepurposeofthedrive,themainuseofSTC89C52RCchiptoachievetheinputpulsetoreceive,todeterminetheanalysisandassignedtothetwo-phasefour-wiresteppermotorfourlinesformotordrive.Butbecausethemotordrivevoltageis12V,andthemasterchipoutputvoltageisonly5V,sotheneedtodesignasteppermotordrivevoltagecircuittomeetthevoltagerequirements,sothedesignusestheL298Nchip,itsmainfunctionisthemasterchipThetransmittedpulsesignalisprocessedandthenconvertedintoapulsesignalsufficienttodrivethesteppermotortothemotor.Second,becausethesteppermotorisrunninghigh-speedoperation,allthecircuitalsoneedtoaddsomeprotectioninordertoensurelong-termstableoperationofthecircuitwillnotbeaffected.Thedesignuseshigh-speedoptocoupler6N137andlow-speedoptocouplerTLP521-1onthecircuitinputpulsesignalandforwardandreversecontrolsignalprotection.Inaddition,inordertopreventthesteppermotorhigh-speedrotationwhentheself-inducedvoltageonthecircuitimpact,inthemotorwiringpartofthediodetoaddthecircuitprotection.Insummary,thisdesignimplementsastablesteppermotordriverthatusessoftwarecontrolformotordrive,enablingaccurateoperationofthesteppermotor.Keywords:steppermotor,driver,softwarecontrol,pulsesignalTOC\o"1-3"\h\u目录35051绪论 绪论1.1引言步进电机又被称为脉冲电机,其工作原理源于最基本的电磁铁原理,它可以被看作为一个自由地转动的电磁铁,其动作原理是依靠气隙磁导的变化来产生电磁转矩。步进电机最开始的模型起源于1830年到1860年之间。1870年前后开始被尝试用来控制氢弧灯的电极输送机构。这个应用被认为是原始的步进电机。后来,步进电机被广泛应用于电话自动交换机中。因为西方资本主义列强争夺殖民地,在缺乏交流电源的船舶和飞机等独立系统中广泛使用了步进电机。二十世纪五十年代后期发明的晶体管也逐渐被应用在步进电机控制系统上,使得数字化的控制变得更为普遍。到了八十年代后,由于廉价的微型计算机以多功能的姿态出现,步进电机的控制方式变得更加灵活多样[1~3]。战后全球社会经济发展的历史经验证明,一个国家的实力及其繁荣,主要取决于其制造业所能提供的产品与劳务的竞争力。二战期间,大量的制造技术有了很大的发展。二战后50年来,计算机、微电子、信息和自动化技术有了迅速的发展,并在制造业中得到了愈来愈广泛的应用,先后出现了数控(NC)、计算机数控(CNC)、柔性制造单元(FMC)、柔性制造系统(FMS)、计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)等多项先进制造技术与制造模式。制造业正经历着一场新的技术革命[4]。但我国技术水平远远落后于美国、德国、英国等先发起工业革命的国家,其中包括电机控制技术。1.2设计的目的及意义步进电机是用电脉冲信号进行控制,将电脉冲信号转化为相应的角位移或线位移的微电动机[5],是机电一体化的关键产品之一,由于步进电机具有控制方便、体积小等特点,所以在数控系统、自动生产线、自动化仪表、绘图机和计算机外围设备得到广泛应用。随着微电子和计算机技术的发展,为步进电机的应用开辟了广阔前景,使得以往用硬件电路构成的庞大复杂的控制器得以用软件实现,既降低了硬件成本又提高了控制的灵活性、可靠性及多功能性,步进电机的需求量与日俱增,因此研制步进电机驱动器具有十分重要的意义[6]。虽然步进电机已经被广泛地应用,但步进电机并不能像普通的直流电机与交流电机在常规下使用。它必须有双环形脉冲信号、功率驱动电路等组成的控制系统才可以使用。步进电机系统包括控制器、驱动器以及步进电机,三者缺一不可[7]。因此用好步进电机却非易事,它涉及到机械、电机、电子及计算机等许多专业知识。步进电机是用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或者线位移的微电动机,它最突出的优点是可以在宽广的频率范围内通过改变脉冲频率来实现调速,快速起停、正反转控制及制动等,并且用其组成的开环系统既简单、廉价,又非常可行,在被广泛应用于各个领域当中。所以步进电机驱动器的研发与更新显得很迫切需要,不断地研发改进驱动器能够更进一步提高步进电机的工作效率以及工作精度,使其更好地为我们服务。1.3国内外发展现状步进电机是国外发明的,但在文化大革命期间,中国已经开始生产和应用,例如在江苏、浙江、北京、南京、四川等地区生产应用,而且在各行业中均有使用。数控机床的发展,带动着电机的不断更新换代,先后出现了更高精度的直线电机、音圈电机等,其控制精度远远高于步进电机,但价格也较为昂贵。数控机床中高精度的主轴通常会使用精度比较高的电机进行带动,保证加工质量,但除此之外的机床传动一般均会使用步进电机进行控制,以降低机床成本。步进电机是一种简易的开环控制,对运用者的要求低,不适合在大功率或者高精度的场合使用。随着电机控制技术的不断发展,步进电机使用细分控制技术提高了步进电机的精度,提高了步进电机的性能标准。步进电机细分驱动器使用高精度D/A转换器,分割方法通过“电流相量永久均匀旋转”实现了高精度定位。步进电机的动态特性得到极大提高,振动也得到了改善。1.4步进电机简介1.4.1步进电机的分类及相关参数步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变得非常的简单[8]。正常情况下,步进电机转过的总角度和输入的脉冲数成正比,连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电机能直接接收数字量的输入,所以特别适合于微机控制。1、现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单项式步进电机等。反应式:定子上有绕组、转子由软磁材料组成。结构简单、成本低、步距角小,可达1.2°,但动态性能差、效率低、发热大、可靠性难保证。永磁式:永磁式步进电机的转子用永磁材料制成,转子的极数与定子的极数相同。其特点是动态性能好、输出力矩大,但这种电机精度差、步距角大(一般为7.5°或15°)。混合式:混合式步进电机综合了反应式和永磁式的优点,其定子上有多相绕组、转子上采用永磁材料,转子和定子上均有多个小齿以提高步矩精度。其特点是输出力矩大、动态性能好、步距角小,但结构复杂、成本相对较高。步进电机的基本参数(1)步进电机的静态指标术语a.相数:产生不同对N、S磁场的激磁线圈对数。常用m表示。b.拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以二相电机为例,有二相四拍运行方式即,二相八拍运行方式即。c.步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度(转子齿数*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=3.6度(俗称整步),八拍运行时步距角为360度/(50*8)=0.9度(俗称半步)。d.定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)。e.静转矩:电机在额定静态电作用下,电机不坐旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过分采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。(2)步进电机动态指标及术语:a.步距角精度:步进电机没转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在7.5%之内,八拍运行时应在15%以内。b.失步:电机运转时运转的步数,不等于理论上的步数。称之为失步。c.失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。d.最大空载起动频率:电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。e.最大空载的运行频率:电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。f.运行矩频特性:电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态特性曲线中最重要的,也是电机选择的根本依据。电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大,电机输出力矩越大,即电机的频率特性越硬。要使平均电流大,尽可能提高驱动电压,使采用小电感大电流的电机。g.电机的共振点:步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180-250pps之间(步距角1.8度)或400pps(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。h.电机正反转控制:当电机绕组通电时时序为时为正转,时为反转[9~14]。1.4.2步进电机的工作原理步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移或时直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步,步进电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步矩角。步进电机区别于其他控制电机的最大特点就是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。步进电机的驱动电路根据控制信号工作,控制信号由单片机产生。其基本原理作用如下:1、控制换相顺序通电换相这一过程称为脉冲分配。例如:三相步进电机的三拍工作方式,其各相通电顺序为A→B→C→D,通电控制脉冲必须严格按照这一顺序分别控制A、B、C、D相的通断。2、控制步进电机的转向如果给定工作方式正序换相通电,如果按反序通电换相,则电机就反转。3、控制步进电机的速度如果给步进电机发一个控制脉冲信号,它就转一步,再发一个脉冲,它就会再转一步。两个脉冲的间隔时间越短,步进电机就转动越快。调整单片机发出的脉冲频率,就可以对步进电机进行调速。步进电机是数字化控制电机,它将脉冲信号转变为角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。1.5步进电机驱动器介绍1.5.1步进电机驱动器系统介绍步进电机不能直接连接到直流电源,而必须使用专用设备进行连接,即步进电机驱动器。步进电机驱动系统的性能,除了电机本身的性能外,还在很大程度上取决于驱动器的优缺点。步进电机由步进电机控制器、驱动器以及电机这三部分组成,缺一不可。步进电机控制器发送步进脉冲和方向信号。每次发出脉冲时,步进电机驱动器驱动步进电机转子旋转一个步进角,即进一步。步进电机速度或加减速度、启动或停止完全取决于脉冲频率。控制器的方向信号决定了步进电机的顺时针或逆时针旋转。通常,步进电机驱动器由逻辑控制电路、功率驱动器电路、保护电路和电源组成。一旦步进电机驱动器接收到来自控制器的方向信号和阶跃脉冲,控制电路根据预设的电动机通电模式产生步进电动机的每相励磁绕组的导通或截止信号。控制电路输出信号功率非常低,不能提供步进电机所需的输出功率,必须进行功率放大,这是步进电机驱动器的电源驱动部分。功率驱动电路对步进电机控制绕组输入电流,从而形成旋转磁场,驱动转子运动,保护电路能在发生短路、过载、过热等故障时快速停止驱动器和电机。1.5.2步进电机的控制系统原理典型的步进电机控制系统如图1.1所示,主要是由步进电机主控芯片、功率放大器及步进电机等组成。脉冲输入信号步进电机主控芯片功率放大器步进电机负载 正反转脉冲信号步进电机驱动器图1.1步进电机控制系统的组成2系统硬件设计本设计硬件设计软件主要使用了ALTIUMDESIGNER。考虑到用硬件设计驱动电路的方法会比较复杂,调试也不方便,而且采用多个元器件来搭接电路成本比较高。而直接使用集成的驱动芯片会使电路稳定,成本也比较低,更易于控制,所以最终本设计是直接使用STC89C52RC芯片、电机驱动芯片L298N作为电机驱动的核心元件。2.1ALTIUMDESIGNER软件介绍及设计思路介绍ALTIUMDESIGNER综合了电子产品一体化开发所需要的所有必须技术和功能。ALTIUMDESIGNER在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。图2.1为ALTIUMDESIGNER工作界面。图2.1ALTIUMDESIGNER工作界面利用ALTIUMDESIGNER来进行电路硬件设计主要包括四个步骤:构思电路,确定所要使用的主要元器件有哪些。通过查阅相关文献,了解二线四线步进电机驱动器的工作原理,确定使用STC89C52RC芯片作为主要CPU,进行电路控制,查阅相关数据手册,了解L298N芯片的工作原理、控制方法、接线等。最后,确定电路需要哪些保护,通过查阅资料确定使用高速光电隔离6N137芯片和低速光电隔离TLP521-1芯片搭建光电保护电路,其次,为了防止二相四线步进电机高速旋转时产生自感电压对电路造成破坏,在电路中加入二极管进行保护。画所需要用到的元件封装库。电路设计需要用到的元件有很多,但一些比较普遍的元件,例如电容、电阻、开关等常用的都会有自带的封装库,不需要自己画。STC89C52RC、L298N、6N137、TLP521-1等元件一般的封装库都不具备,需要自己查阅相关文献了解元件封装,并画封装库。绘制电路原理图。画电路原理图需要对电路由一定的了解,了解数字电路、模拟电路方面的知识,在设计过程中,不仅要参考相关文献,了解有关电路的常用接法,还有了解电路参数,例如,电流大小、电阻大小等,并进行计算,以免过大电压或者过大电流使电路产生过载等问题。绘制PCB图。PCB图绘制需要有一定的排版经验才能更好地对元件进行编排,PCB图连接关系在原理图中已经确定好,但由于连线比较多,所以有可能会出现线路交叉等问题,为了能使电路板布线更加方便以及电路板尽量做得比较小,本设计采用双面布线。其次,电路连线线宽也得依据布线规则,例如电源线及地线应当尽量大,以减小电阻,减小电路损耗,信号线由于电流比较小,线宽可以小一些等。通过以上四个步骤,可以完成电路的大部分设计,之后通过软件与硬件结合仿真进行实验,可以再次对电路进行改进。2.2STC89C52RC芯片简介STC89C52RC是由宏晶公司推出的一种小型单片机,是电子工程师常用器件。其主要特点为采用Flash存贮器技术,降低了制造成本,其软件、硬件与MCS-51完全兼容,且采用高密度非易失存储器制造技术制造,将多功能8位CPU和闪烁存储器组合在单个芯片中,可以很快被中国广大用户接受。其程序的电可擦写特性,使得开发与试验比较容易,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案[15]。引脚功能如下,图2.2为芯片引脚图:图2.2STC89C52RC芯片1、电源:VCC-芯片电源,接+5V;GND-接地端;2、时钟:XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。3、控制线:控制线共有4根:ALE/PROG:地址锁存允许/片内EPROM编程脉冲。(1)ALE功能:用来锁存P0口送出的低8位地址。(2)PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。PSEN:外ROM读选通信号。RST/VPD:复位/备用电源。(1)RST(Reset)功能:复位信号输入端。(2)VPD功能:在VCC掉电情况下,接备用电源。EA/VPP:内外ROM选择/片内EPROM编程电源。(1)EA功能:内外ROM选择端。(2)VPP功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源VPP。4、I/O口线:P0、P1、P2、P3共四个八位口。(1)P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。P0口也用以输出外部存储器的低8位地图1址。由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存,信号用ALE。(2)P1口是专门供用户使用的I/O口,是准双向口。(3)P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时,P2口也可以作为用户I/O口线使用,P2口也是准双向口。(4)P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。作为第一功能使用时操作同P1口。2.3L298N芯片简介L298N芯片是SGS-THOMSONMicroelectronics公司所生产的双全桥步进电机专用驱动芯片,内部包含有四信道逻辑驱动电路,是一种二相步进电机和四相步进电机的专用驱动器,可以同时驱动两个二相步进电机或者一个四相步进电机,内部包含有两个H-Bridge的高电压、大电流双全桥式驱动器,接收信号标准:TTL逻辑准位信号,可驱动46V、2A以下的步进电机,而且可以直接通过过电源来调节输出电压。这个芯片可以直接由单片机的IO接口来提供模拟时序信号[16]。L298N的引脚图如图所示,Pin1和Pin5可以与电流侦测用电阻连接在一起来控制负载的电路;OUT1、OUT2、OUT3和OUT4之间分别接步进电机的不同相线;IN1、IN2、IN3和IN4输入控制点位来控制电机的正反转;ENABLE则用来控制电机停转。L298N引脚功能介绍如下,图2.3为L298N引脚图。图2.3L298N芯片1、1脚、15脚(CURRENTSENSINGA、CURRENTSENSINGB):电流检测端,分别为两个H桥的电流反馈脚,不使用时可以直接接地。2、2脚、3脚、13脚及14脚(OUTPUT1~OUTPUT4):电压输出端,输出脉冲电压给步进电机。3、4脚(VS):功率电源电压,该引脚与地线必须连接100nF电容器。4、5脚、7脚、10脚和12脚(INPUT1~INPUT4):输入端,兼容TTL电平。5、6脚、11脚(ENABLEA、ENABLEB):TTL电平兼容输入1EN、2EN使能端,低电平禁止输出。6、8脚(GND):GND接地端。7、9脚(VSS):逻辑电源电压端。该引脚必须与地线连接100nF电容器。2.4电机驱动电路设计本设计的电机驱动部分是用驱动芯片L298N及其外围电路构成,其中从L298N的2脚、3脚、13脚和14脚(即芯片的输出端)依次按顺序连接到插座上,分别和步进电机的四根相线相连。而5脚、7脚、10脚和12脚就依次按顺序和单片机的P0.0、P0.1、P0.2、P0.3四个引脚相连。通过这一连接实现了单片机与L298N芯片以及步进电机的串联控制。二相四线步进电机驱动器设计设计思路如图2.4所示。脉冲信号高速光电耦合电路主控制芯片L298N电路二相四线步进电机低速光电耦合电路正反转控制信号二相四线步进电机驱动器图2.4驱动电路原理图电机驱动控制电路原理图及PCB图见附录A。2.4.1电源部分稳压电路如图2.5所示,本设计采用12V电源供电,但由于主控CPU用的是5V电压,所以需要设计一个LM7805稳压电路,将12V电压稳定转换为5V电压,为CPU提供电源。图2.5电源稳压电路2.4.2高速光电耦合电路本设计采用高速光电耦合器6N137芯片来搭建电路,该电路的主要功能是接收脉冲产生电路发出的脉冲信号,经过处理后发送给主控芯片进行电机控制。6N137芯片工作原理:信号从脚2和脚3输入,发光二极管发光,经片内光通道传到光敏二极管,反向偏置的光敏管光照后导通,经电流-电压转换后送到与门的一个输入端,与门的另一个输入为使能端,当使能端为高时与门输出高电平,经输出三极管反向后光电隔离器输出低电平。当输入信号电流小于触发阈值或使能端为低时,输出高电平,但这个逻辑高是集电极开路的,可针对接收电路加上拉电阻或电压调整电路。图2.6为高速光电耦合电路接线,6N137芯片左端引脚2连接的是高电平电压,但此电压不与右端电压共用,如果共用同一电压会干扰6N137芯片内部电路两端的耦合。引脚3接的是外部脉冲输入信号,如果输入信号为低电平信号,那么引脚2及引脚3内部电路导通,内部LED发光,检测器检测到信号电路导通,通过引脚6输出一个信号送给主控芯片。图2.6高速光电耦合电路6N137电路是脉冲信号输入保护电路,防止信号倒流对脉冲信号输入端造成影响,甚至损坏脉冲信号输入电路。2.4.3低速光耦隔离电路本设计采用低速光耦隔离器TLP521-1芯片来搭建电路,主要是用来接收脉冲产生板上发出的电机正反转信号,经过处理后发送给主控芯片进行电机正反转控制。图2.7为低速光电耦合电路接线,TLP521-1芯片左端引脚1连接的是高电平电压,但此电压不与右端电压共用,如果共用同一电压会干扰TLP521-1芯片内部电路两端的耦合。引脚2接的是外部脉冲输入信号,如果输入信号为低电平信号,那么引脚1及引脚2内部电路导通,内部LED发光,检测器检测到信号电路导通,通过引脚4输出一个信号送给主控芯片。图2.7低速光电耦合电路本设计主要使用TLP521电路来实现电机正反转控制电路保护,防止控制端被损坏。2.4.4主控CPU电路设计主控CPU电路采用STC89C52RC芯片来作为主要部件,主控制电路包括复位电路、晶振电路等部分。(1)复位电路。本设计复位电路采用按键复位,复位电路,就是利用它把电路恢复到起始状态。复位电路就像计算器的清零按钮的作用一样,当你进行完了一个题目的计算后的清零,或者输入错误、计算失误时都要进行清零操作。以便回到原始状态,重新进行计算。STC89C52RC芯片的复位引脚为引脚9(RST),该口连接电路如图2.8所示,每当按下按键会给RST口输入一个高电平电压,促使电路进行复位。(2)晶振电路。晶振电路是一个时序电路,单片机必须在时钟信号的作用下以节拍方式工作,因此必须有一个时钟发生器电路。输入微处理器的时钟信号的周期称为时钟周期。引脚19(XTAL1)、引脚18(XTAL2)分别是系统时钟信号fosc的输入、输出端。如图2.9所示,XTAL1、XTAL2与晶体振荡器(简称晶振)及电容C6和C7按所示的方式连接构成晶振电路。晶振、电容C6、C7构成了电容三点式振荡器。在由晶振构成的电容三点式振荡器电路中,由于石英晶体振荡器中的静态电容C0、外接振荡电容C6和C7均远大于晶片弹性等效串联电容CS,因此,振动频率主要由晶体振荡器并联谐振频率fp决定。振荡电容C6和C7的取值范围与晶振的种类及频率有关。本设计采用频率为11.0592MHz的晶振,电容C6及C7采用22pF电容器。(3)芯片程序烧录电路。芯片需要一个烧录电路才能将编写完成生成的HEX程序文件烧录到芯片中,如图2.10所示,芯片引脚10(RXD)及引脚11(TXD)接到排针上,排针作为一个插座,如图2.11所示烧录器有与之匹配的插口,实现CPU与电脑的连接。(4)输入电路。如图2.12所示,芯片引脚1接收低速光电耦合电路输出的信号,并进行正反转控制判断。引脚2接收高速光电耦合电路输出的信号,并对输入脉冲进行处理分配到各个输出引脚上。(5)输出电路。如图2.13所示,芯片引脚36、引脚37、引脚38、引脚39为脉冲信号输出端口,芯片将输入信号进行分析后分配到这四个输出口上输出到L298N芯片上。STC89C52RC的P0口作为信号输出口时需要加上拉电阻保证输出电压。(6)保护电路。如图2.14所示,在L298N输出端与电机连接之间加上二极管保护电路,能有效地防止电机高速运转时产生的互感电压对电路的冲击,从而保护电路不被损坏。图2.8复位电路图2.9晶振电路图2.10芯片程序烧录电路图2.11烧录器图2.12输入电路图2.13输出电路图2.14保护电路2.5脉冲信号产生电路步进电机是采用电脉冲信号进行控制,将电脉冲信号转换成相应的角位移或者线位移的微电动机,所以需要设计一个脉冲产生电路来对驱动电路的准确性进行试验。脉冲产生电路的设计有两个方案,第一,采用硬件搭建电路来获得脉冲信号,然后供给驱动电路工作,例如可以采用555芯片搭建脉冲时序电路,通过硬件设计输出一个合适的时序脉冲驱动步进电机,但由于使用555芯片搭建的时序脉冲电路无法控制及记录脉冲个数,不能对驱动电路的准确性进行试验,所以放弃这一种使用硬件搭建脉冲信号电路的方案。第二,采用以STC89C52RC芯片作为主控芯片的脉冲时序电路,通过软件来实现控制脉冲信号的输出以及控制脉冲输出个数、记录脉冲输出个数,从而能对驱动电路的准确性进行验证。脉冲驱动电路采用STC89C52RC芯片来作为主要部件,包括复位电路、晶振电路、按键开关电路和显示电路等部分。(1)复位电路、晶振电路、烧录电路在上个部分已经详细讲过。(2)按键电路。按键电路主要是让用户与单片机进行交互控制,如图2.15所示,该电路中有五个按键,从上往下分别控制电机的百位加脉冲数、十位加脉冲数、个位加脉冲数、开始、停止这五个功能,用户可以通过按键来选择电机运行方式,通过加脉冲数及减脉冲数来控制电机运转时间。(3)输出电路。脉冲产生电路由一个四位排针作为一个插座通过杜邦线与步进电机驱动电路进行连接,如图2.16所示,排针的引脚1是电机正反转信号控制接口,通过杜邦线连接到步进电机驱动电路的低速光电耦合电路。引脚2接芯片引脚14,该引脚为脉冲信号输出口,然后引脚2通过杜邦线连接到步进电机驱动电路的高速光电耦合电路。引脚3接电源。引脚4接地线。(4)显示电路。本设计中使用数码管来作为脉冲信号个数显示器。如图2.17、图2.18、图2.19所示,该电路中有三个数码管DS1、DS2、DS3,分别显示脉冲信号个数的百位、十位和个位。数码管的位选口与芯片的P0口连接,需加上拉电阻保证输出电压,同时还得加限流电阻保证数码管内二极管不因电流过大损坏。三个数码管的连接方式是共阳连接,显示方式为动态显示,段选口分别为引脚23(P2.2)、引脚22(P2.1)、引脚21(P2.0)这三个I/O口,在设计过程中既需保证三极管放大电流能够供应数码管内8个LED灯同时显示,又得保证不超过I/O口最高输出电流要求。脉冲信号产生电路原理图及PCB图见附录B。图2.15按键电路图2.16输出电路图2.17显示电路1图2.18显示电路2图2.19显示电路33系统软件设计3.1KEILUVISION软件介绍及设计思路介绍KEILUVISION是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。KEIL提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION)将这些部分组合在一起。运行KEIL软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么KEIL几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。图3.1为KEILUVISION工作界面。图3.1KEILUVISION工作界面利用KEILUVISION来进行电路软件设计主要包括三个步骤:要进行软件编写控制,必须先确定电路所使用的芯片以及电路连线。这个在电路硬件设计中已经完成,在编写程序时只要确认好电路连接即可。确定所需要使用的语言。单片机控制最主要的控制语言为汇编语言及C语言,汇编语言主要是偏向于底层控制的语言,需要对单片机内部硬件电路比较了解才能进行编写,但由于使用汇编语言编写较为复杂,所以本设计采用C语言进行编写,C语言程序编写较为简洁、灵活,能对电路更好地进行控制,修改也比较方便。进行程序编写及生成HEX程序。该步骤需要对C语言有一定的了解,能够熟悉使用的语句进行编写,并能够善用子程序,能够大大简化主程序。最后程序编译完通过设置输出生成HEX文件。图3.2HEX文件生成设置最后需要通过软件与硬件结合仿真进行实验,可以对程序一些不足之处进行改进。至此才算把程序设计完成。3.2驱动器软件设计两相步进电机的基本控制方式有三种:整步:单相励磁两拍:A+→B+→A-→B-双相励磁两拍:A+B+→B+A-→A-B-→B-A+半步:单-双相励磁四拍:A+→A+B+→B+→B+A-→A-→A-B-→B-→B-A+其中,A+B+和A-B-分别代表A相和B相正向通电和反向通电。本设计采用的是整步双相励磁两拍工作方式,采用的是二相四线步进电机,电机驱动电路主控CPU的作用是实现对输入脉冲分配到电机的各个绕组上以及控制电机的正反转,充当一个脉冲分配器。脉冲分配情况表3.1及表3.2所示。表3.1正转环形脉冲分配表步数P0.0P0.1P0.2P0.3ABA-B-11100201103001141001表3.2反转环形脉冲分配表步数P0.0P0.1P0.2P0.3ABA-B-11100210013001140110步进电机驱动电路控制流程如图3.3所示。开始模式初始化否是否正转是否是否有脉冲信号是否有脉冲信号否是是输出脉冲控制输出脉冲控制电机正转电机反转结束图3.3步进电机驱动电路控制流程图详细程序请见附录C。驱动板的主控芯片主要功能是判定正反转以及实现脉冲分配,所以程序必须能实现该功能。本设计采用P0.0、P0.1、P0.2、P0.3口四个I/O口输出脉冲进行电机控制。脉冲产生电路只能给驱动电路一个脉冲信号,而不是四个脉冲信号,所以需要对脉冲信号进行分配,部分脉冲分配程序如图3.4所示,本设计将脉冲信号产生电路的脉冲信号作为一个开关信号,对脉冲下降沿进行检测,每当有一个下降沿存在,主控芯片会分配给四个输出I/O口中的其中一个。设置一个变量m=3,当检测到有下降沿时,P0组口输出如图3.4(b)数组中对应的16进制数,同时,每检测到一个下降沿m会自动减1,当m=0时,m不会再继续减1,而是重新变为3,以保证数组的循环输出,实现脉冲分配功能。此外,程序中还用到了延时功能,延时程序如图3.5所示,本设计将延时程序作为一个子程序,以简化主程序。延时程序用for语句循环,第一个循环的次数时一个变量,由主程序确定,第二个循环的次数为固定值110,例如,使用12MHz的晶振时,每个机器周期是1μs,我们在主程序中设置第一个循环次数为200,那么总共循环次数为22000次,即22ms,本程序中的延时程序主要是用在下降沿检测部分,如图3.6所示。(a)宏定义(b)输出数组(c)分配程序图3.4脉冲分配程序图3.5延时程序图3.6下降沿检测程序3.3脉冲产生电路软件设计脉冲产生电路是采用STC89C52RC芯片进行编程对脉冲进行控制,通过软件来控制脉冲发送的个数,本试验采用3个数码管来显示脉冲设置个数,也即总共可以显示999个脉冲,二相四线步进电机每步步距角是1.8°,所以每200个脉冲可以转过一圈,所以理论上本脉冲产生电路设计能让电机转过5圈。显示数码管分别为百位、十位、个位,采用动态显示,但在设置脉冲个数时不想干扰,可以直接设置百位为多少、十位为多少、个位为多少而不互相影响。能够较快地设置脉冲个数。之后每输出一个脉冲,数码管的个位会自动减1并显示出来,当减10个脉冲时,会借十位减1,个位恢复为9,每减100个脉冲时,会借百位减1,另外两位恢复为9,三位数码管是有关系的。脉冲信号产生电路控制流程图3.7所示。开始模式初始化设置脉冲个数是脉冲个数是否为0否输出脉冲信号结束图3.7脉冲信号产生电路控制流程图详细程序请见附录D。脉冲产生电路的主要功能是产生指定个数脉冲信号给电机驱动电路,脉冲输出为P3.4口,该部分设计使用了延时程序,主程序设置第一次循环次数为400次,子延时函数中第二次循环次数设置为55次,所以脉冲产生电路为电机驱动电路提供了一个周期为44ms的脉冲信号。该电路最主要的设计部分是脉冲信号个数的设置以及显示。个数的设置使用的是按键电路,按键检测程序如图3.8所示,该部分也用到了之前讲到的延时程序,但该部分是用在松手检测功能上,为了避免误触造成错误,所以设置了该功能,能减少操作中的错误。图3.8按键检测程序脉冲信号个数显示使用的是三个数码管,详细功能在上文已经介绍,由于数码管使用的是动态显示,所以仍需要用到延时程序来实现功能,部分显示电路程序如图3.9所示。程序中设置了变了ge、shi、bai分别是个位数码管、十位数码管、百位数码管对应显示的数字,使用延时分别进行三个显示,因为人们肉眼能见的闪烁是在20Hz以上,所以只要保证三个数码管的闪烁频率在25Hz以下就可以显示出让人感觉是恒亮的效果。在主函数中把第一次循环次数设置为400次,第二次循环的次数仍为55次,循环时长为22ms,闪烁周期T=44ms,根据公式3.1可计算出频率。(3.1)可得频率为23Hz,小于25Hz,所以不会显示出闪烁效果,而是显示为恒亮。(a)宏定义(b)数码管显示位选数组(c)显示子程序(d)显示主程序图3.9显示电路程序4调试电路硬件设计以及软件设计已经完成,再次检查后确认该设计可行,最后进行电路板制作并调试。步进电机驱动电路板如图4.1所示。图4.1步进电机驱动电路板脉冲信号产生电路板如何4.2所示。图4.2脉冲信号产生电路板电路板连接图如图4.3所示。图4.3电路板连接图程序烧录界面如图4.4所示。图4.4程序烧录界面将程序烧录好后发现结果不太理想,脉冲信号产生电路板上的按键可用但数码管只有个位显示数码管可用,按键操作可以分别显示1至9这9个数字,但百位数码管、十位数码管无法显示,使用示波器测试发现这两个数码管选择引脚电压只有150mV,其他部分检查发现未出现短路现象,根据分析得出结论--芯片烧坏,可能是焊接时焊接时间过长或者电烙铁温度过高造成芯片损坏。但由于时间不足,无法重新制作电路板以及购买元件进行焊接。步进电机驱动板调试也未能成功,测试发现芯片损坏,使用测试程序后测试不到有任何输出,有可能仍是焊接时损坏芯片,但也有可能是因为芯片质量问题,但由于毕业设计时间比较急,也没办法重新制作。结论本文论述了由单片机控制二相四线步进电机的方法,解决了传统由硬件搭建来实现步进电机控制器线路复杂的问题,通过编程可以在一定范围内自由地设置步进电机的转动次数等问题,并能够对步进电机驱动器准确性进行一个检验。其次,本设计采用STC89C52RC芯片来作为主控芯片,设计较为容易,设计成本也比较低,准确性也比较高,步进电机驱动器的主要功能是对输入脉冲进行处理,然后再输出给步进电机,控制步进电机进行转动,步进电机驱动器的另外一个功能是保护输入电路不被顺坏,保护电机不会因为高速转动时产生自感电压对步进电机以及驱动电路造成损坏。本文一个主要的创新点是采用L298N芯片来构成步进电机驱动控制器,使设计的步进电机驱动器电路具有元件少,可靠性高、占空间少、装配成本低等优点。通过软件的开发,可以在一定程度上简化和减轻微型计算机的负担,并减低成本。由于设计周期比较短,电路板在制作之后调试时间不足,未能达到预期效果,希望之后做项目能更好地把握时间,将实物制作并调试完成。很多功能也因为时间问题没办法加上,例如,可以增加细分方式选择,实现对步进电机运动精度更好地控制;增加输出脉冲频率选择,能够改变步进电机的运动速度,能够实现更好地控制启动和停止平稳性;将数码管改进为LCD显示屏,能够对电路运行情况,如步进电机运动速度、加速度等进行更加详细的显示,以便让操作者对步进电机工作状态实时了解,并更好地进行操控。参考文献[1]RobinsonDJ,DynamicAnalysisofMagneticStep-pingMotors.IEEETransonIndustrialElectronics&ControlInstrument,1999,16(2).[2]王宗培.步进电动机的发展及建议[J].微电机,2004,4.[3]DuXu,YongpingJiang,AMethodandImplementmionofFullyDigitizedContinuousMicrostepforStepMotor.IEMDC’97,milwaukee;Wisconsin,USA.18-21May,1999.[4]张伯鹏等,先进制造技术基础研究现状及发展趋势,中国机械工程,1997.2:60-62.[5]孟武胜,李亮.基于AT89C52单片机的步进电机控制系统设计[M].测控技术,2006,11:45-47.[6]徐益民.步进电机的单片机控制系统的设计[J],煤矿机械,2005.[7]刘宝廷,程树康等.步进电机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版社,1997:48-56.[8]余世超,高志,邵鹏.基于单片机的步进电机控制系统设计与研究[J].煤矿机械.2010.31(5):210-212.[9]李玲娟.多细分两相混合式步进电机驱动器的研制[D].西北工业大学,2007.[10]刁奉丽.二相混合式步进电机微步驱动技术的研究与实现[D].西安理工大学,2006.[11]杨和平,周旋,童军.步进电机的特点及应用[J1.黑龙江科技信息,2007.[12]韩利虎.浅谈步进电机的基本原理[J].内蒙古石油化工,2007,11:240.[13]MICROCHIP.SteppingMotorsFundamentals[EB/OL].www..[14]王志强.步进电机和交流伺服电机性能综合比较[J].天津职业院校联合学报,2006,8(5):14-17.[15]宏晶科技STC89C52RC芯片技术资料[EB/OL].http://www.MU-memory.com.[16]STMicroelectronics公司L298N芯片技术资料[EB/OL]./content/ccc/resource/technical/document/datasheet/82/cc/3f/39/0a/29/4d/f0/CD00000240.pdf/files/CD00000240.pdf/jcr:content/translations/en.CD00000240.pdf附录A电机驱动控制电路原理图及PCB图(a)原理图(b)PCB图附录B脉冲信号产生电路原理图及PCB图(a)原理图(b)PCB图附录C驱动电路程序#include<reg52.h>#include<math.h>#defineucharunsignedchar#defineuintunsignedint#defineout_chooseP0ucharcodetab1[]={0x09,0x0c,0x06,0x03};ucharcodetab2[]={0x03,0x06,0x0c,0x09};sbitcl=P1^0;sbitin1=P1^1;uintm=3;uintn=3;voiddelay_ms(uintxms){ uinti,j; for(i=xms;i>0;i--) for(j=110;j>0;j--);}voidmain(){ while(1) { if(cl==1) { if(in1==1) { delay_ms(20); if(in1==1) { while(in1); out_choose=tab1[m]; if(m==0) { m=3; m=m-1; } else { m=m-1; } } } else { if(cl==1) { if(in1==1) { delay_ms(20); if(in1==1) { while(in1); out_choose=tab2[n]; if(n==0) { n=3; n=n-1; } else { n=n-1; } } } } } } }}附录D脉冲产生电路程序#include<reg52.h>#include<math.h>#defineucharunsignedchar#defineuintunsignedint#definebit_chooseP0#definerotate_choose P3ucharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};sbitled1=P2^2;sbitled2=P2^0;sbitled3=P2^1;sbitkey1=P1^0;sbitkey2=P1^1;sbitkey3=P1^2;sbitkey4=P1^3;sbitkey5=P1^4;sbitout1=P3^4;uintnum=0;uintge=0;uintshi=0;uintbai=0;uintk;uintm;uintn;voiddelay_ms(uintxms){ uinti,j; for(i=xms;i>0;i--) for(j=110;j>0;j--);}voidge_display(ge){ led1=1; led2=1; led3=0; bit_choose=tab[ge];}voidshi_display(shi){ led1=1; led3=1; led2=0; bit_choose=tab[shi];}voidbai_display(bai){ led3=1; led2=1; led1=0; bit_choose=tab[bai]; }voidmain(){ led1=0; led2=0; led3=0; P0=0xc0; while(1) { ge_display(ge); delay_ms(20); shi_display(shi); delay_ms(20); bai_display(bai); delay_ms(20); if(key3==0) { delay_ms(10); if(key3==0) { while(!key3); if(ge<=8) { num=num+1; ge=ge+1; ge_display(ge); delay_ms(20); shi_display(shi); delay_ms(20); bai_display(bai); delay_ms(20); } else { num=num; ge=9; ge_display(ge); delay_ms(20); shi_display(shi); delay_ms(20); bai_display(bai); delay_ms(20);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 表格图表在中的应用课件
- 2026年重大妇幼项目培训试题有答案
- 2026年养老护理员《老年照护》培训试卷
- 2026年护士绩效考核制度及激励措施
- 2026年初级注册安全工程师(金属非金属矿山安全)经典模拟题含答案
- 2026年畜牧兽医考试及答案
- 2025年事业单位工勤技能考试试题含答案详解
- 2025年常见呼吸科吸入剂及患者用药教育培训习题(附答案)
- 膀胱手术后护理课件
- 办公室安全生产课件
- 2026年重庆高考地理试卷真题及答案详解(精校打印版)
- 2026秋新教材人教版九年级上册英语Unit 1–8全册各单元语法讲义+练习题(含答案)
- 大学本科二年级生物化学课程教案:糖类化合物的结构解析、性质与多功能性比较
- 第一单元 健康生活(单元自测)科学教科版六年级上册2026秋
- 电气设计强条审图要点速查手册(2026版)
- 一核四维:小学语文基于层级解读理论的进阶学习策略实践
- 民族英雄戚继光课件
- 常见体表肿物课件
- 统编版2025-2026学年语文六年级上册期中阶段培优情境卷试题(有答案)
- 冠心病的介入手术术后护理
- 2025内蒙古巴彦淖尔市能源(集团)有限公司招聘笔试历年参考题库附带答案详解
评论
0/150
提交评论