毕业设计(论文)-基于fpga的电机控制_第1页
毕业设计(论文)-基于fpga的电机控制_第2页
毕业设计(论文)-基于fpga的电机控制_第3页
毕业设计(论文)-基于fpga的电机控制_第4页
毕业设计(论文)-基于fpga的电机控制_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

基于FPGA的电机控制指导老师设计了一个基于现场可编程门阵列(FPGA)的电机控制系统。简单介绍了步进电机和直流电机的工作原理和工作特点,并根据两种电机的不同特性设计了基于FPGA的不同的控制电路以改变频率来控制步进电机的转速;调节脉冲的占空比大小改变输出电压的大小,从而达到控制直流电机的转速的目的。关键字FPGA步进电机直流电机电机控制PWMDESIGNOFTHEMOTORCONTROLBASEDONFPGAABSTRACTTHEELECTROMOTORCONTROLSYSTEMISDESIGNEDBASEDONFPGATHISPAPERSIMPLYINTRODUCESTHEPRINCIPLEANDTHECHARACRERSOFCURRENTMOTORANDSTEPMOTORANDWHATSMORE,DIFFERENTCONTROLCIRCUITSBASEDFPGAAREDESIGNEDACCORDERINGTOTHEDIFFERENTCHARACTERISTICOFCURRENTMOTORANDSTEPMOTORTHEROTATESPEEDOFSTEPMOTORISCONTROLLEDBYCHANGINGFREQUENCYTHEOUTPUTVOLTAGECHANGESACCORDERINGTOTHERATEOFIMPULSES,ANDSOTHEAIMTOCONTROLTHEROTATEOFCURRENTMOTORACHIEVEKEYWORDSTEPMOTORMOTORCONTROLPWMFPGA目录1系统设计311功能介绍312电机控制简介3121步进电机的控制3122直流电机的控制313总体设计方案4131总体设计思路4132方案论证与比较42单元电路设计721步进电机驱动电路722直流电机驱动电路83软件设计831实现方法832程序流程图94系统测试105结论及参考文献1051结论1052参考文献106附录10前言步进电机一般,电动机都是连续旋转,而步进电动机却是一步一步转动的。每输入一个脉冲信号,步进电机就将电脉冲信号转变为角位移或线位移。在正常情况下,电机的转速、停止的位置只取决于脉冲信号的频率,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。步进电机只有周期性的误差而无累积误差等特点。使它在速度、位置等控制领域应用非常广泛。步进电动机的种类很多,按励磁方式可分为反应式、永磁式和感应子式;按相数分则可分为单相、两相和多相三种。直流电机目前,直流电动机在控制系统中的应用十分广泛。直流电动机的工作原理比较简单当定子中的励磁磁通和转子中的电流相互作用时,就会产生电磁转矩驱动电枢转动,恰当地控制转子中电枢的电流的方向和大小,就可以控制直流电动机的转动方向和转动速度。电枢电流为零时直流电机则停止不动。1系统设计11功能简介一、基本功能(1)步进电机能够在四相八拍工作方式下连续运行。(2)能实现步进电机正反转及速度变换。(3)能够实现直流电机的正反转及速度调节(4)显示电机工作状态12电机控制简介121步进电机的控制步进电机能够直接将数字脉冲信号转化成为角位移,不需要A/D转换,步进电机的空载启动频率一般较高,而运行频率相对来说较低,以超过空载频率启动将出现失步甚至无法启动。为了保证控制速度的精确性,要从一个速度准确达到另外一个速度,就要建立一个校验机制,以防超过或未达到所需速度步进电机的脉冲分配步进电机的脉冲分配是通过电机的通电换相来实现的。例如四相步进电机的八拍工作方式,当电机正转时,其各相通电顺序为AABBBCCCDDDAA,当电机反转时,其各相通电相序为AADDDCCCBBBA。步进电机换向时,一定要在电机降速停止或降到频率较低时才换向,以免产生较大的冲击而损坏电机。换向信号一定要在前一个方向的最后一个CP脉冲结束后以及下一个方向的第一个CP脉冲前发出。步进电机的转速控制步进电机的转速控制实际上就是控制触发脉冲的频率。当脉冲的频率升高时,电机转速增加,当脉冲的频率降低时,电机的转速变慢。122直流电机的控制直流电机具有很好的线性调速特性,简单的控制性能。控制直流电动机的转动方向比较简单,只需使驱动电路控制直流电源正接、反接,便可以达到对方向的控制。直流电机转速N的表达式为KIRUN式中U电枢端电压;I电枢电流;R电枢电路总电阻;每极磁通量;K电机结构参数。由式可得,直流电机的转速控制方法可以分为两类一类是对励磁通进行控制的厉磁控制法即改变磁通,一类是对电枢电压进行控制的电枢控制法即改变电枢电压U。现在一般采用后面一种方法。13总体设计方案131总体设计思路用于控制的电机是广州致远电子公司生产的电机实验仪DP51MOTOR带有驱动电路,我们可以另外设计驱动电路。为了实现对电机的控制,我们没有去做FPGA最小控制系统,而是直接采用F广州致远电子有限公FPGA实验仪DPFPGA。关键问题是如何产生对电机的控制信号。132方案论证与比较一控制部分的方案论证方案一、用逻辑电路实现。用定时芯片产生脉冲,用组合和时序电路实现对脉冲的分配及频率的调节。整个电路用到的分立元件较多,电路构成复杂,不易焊接,且电路的抗干扰能力较差。方案二采用单片机作为核心控制部件。单片机设计控制电路省去了很多分立元器件。对于脉冲的产生及分配,频率的调节,转速及状态的改变都可以由单片机实现,不必再分别用分立元器件实现。但是按照给定的通电换相顺序,通过单片机的I/O向驱动电路发出控制脉冲,在电机的运行过程中要不停的产生控制脉冲,占用了大量的CPU时间,可能使单片机无法进行其它工作。方案三、用FPGA作控制部件,FPGA控制外围电路简单,整体性能好,有更好的稳定性好。精度高,抗干扰能力强。显然第三种方案具有更大的优越性,灵活性,经比较采用第三种方案。二功率驱动电路的方案论证为了便于控制,我们把步进与直流电机的驱动电路做在一块PCB板子上。由于从FPGA的I/O中出来的电流较少,不足以驱动电机,或者能够驱动起来,但功率达不到要求。对于直流电机的驱动方案,有一个非常精典的驱动电路,不做过多论证。即采用由晶体管功率放大器8050和8550组成的H型PWM电路。用FPGA控制晶体管功率放大器使之工作在占空比可调的开关状态,精确调整电动机的转速,这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单的实现转速和方向的控制;电子开关速度很快,稳定性也极强,是一种广泛应用的PWM调速技术。下面就步进电机的驱动作如下论证。方案一单电压驱动。单电压驱动是指电机在工作时,只用一个电压源对绕组供电。如下图所示。步进电机单电压驱动它的特点是电路最简单。电路中的限流电阻R1决定了时间常数,但R1太大会使绕组供电电流减小。可在R1两端并联一个电容C,这样就可使电流的上升波形变陡,改善了高频特性。该电路一般只适用于小功率步进电机的驱动。方案二斩波恒流驱动斩波驱动原理图T1是一个高频开关管,T2开关管的发射极接一只小电阻R0。以上的驱动过程表现为;T2每导通一次,T1导通多次,绕组的电流波形为在T2导通的时间里,电源是脉冲式供电,提高了电源效率,并且能在效抑制共振。但是,由于电流波形为锯齿形,将会产生较大的电磁噪声。经比较,单电压驱动电路简单,比较适合小功率驱动,正好适合本设计的要求。所以采用方案一。经过上面的比较与论证,可以得出电机控制的总方框图FPGA最小系统按键步进驱动直流驱动LED显示直流电机步进电机2单元电路设计21步进电机驱动电路步进电机的驱动电路如下图所示,其驱动电路原理为从FPGA出来的脉冲信号按一定的顺序分别接到晶体管Q3Q6的基极,四个8050的集电极分别有四个相应的信号输出,并接到电机的1、4、3、6脚,2、5脚接高电平。我们要求的电机的工作方式为四相八拍。正转各相通电顺序为AABBBCCCDDDAA,则只要依次通111011001101100110110011011101101110脉冲序列。反转也可以此类推。则电机在脉冲序列信号的作用下按预定方向转动,通过改变脉冲序列信号的快慢即频率来控制步进电机转速。步进电机驱动原理图22直流电机驱动电路直流电机驱动原理图P1为直流电机的选择信号,即直流电机的总控制信号。当P1为高电平时,就是让直流电机处于工作状态。当P2输入为低电平,P3输入为高电平时,晶体管功率放大器Q2、Q5导通,Q3、Q4截止。Q2、Q5与电机J10一起形成一个回路。从而驱动电机正转。当P2输入为高电平,P3输入为低电平时,晶体管功率放大器Q2、Q5截止,Q3、Q4导通,Q3、Q4与电机J10形成回路,驱动电机反转。从FPGA的I/O口中输出的电压只有33V,若功放管的基极直接与FPGA的I/O口相连,则控制电压最高为33V,再加上晶体管本身的压降,加到电动机两端的电压就更少了,电动机的驱动力明显不够。因此,我们运用了TLP5212光耦集成芯片,将控制部分与电机的驱动部分隔离开来,这样不仅增加了各系统模块之间的隔离度,也使驱动电流得到大大的加强。3软件设计31实现方法总控制模块是采用VHDL语言在DPFPGA实验板上编程。通过对各个按键的选择来实现各种功能。总的控制模块就是一个对不同按键的响应程序。共有复位RESET键,步进与直流电机选择SLECT键,正反选择SHIFT键,速度选择SPEED键四个按键32程序流程图NY开始程序初始化扫描按键是否有键按下按键处理程序步进电机控制进程直流电机控制进程LED显示步进电机的转速或者频率步进驱动模块直流驱动模块步进电机直流电机4系统测试41使用仪器FPGA实验仪DPFPGA,广州致远电子有限公司电机实验仪DP51MOTOR,广州致远电子有限公司数字万用表UT101MULTIMETER金创电子仪器厂直流稳压电源DCPOWERSUPPLYDF1731SL2A,ZHONGCEELECTRONICSCO,LTD5结论及参考文献51结论步进电机控制的控制通过程序较易实现,但要注意其起动时的频率不能太大,否则易产生失步,甚至根本起动不起来。步进电机的转速越快,其转矩将越小。52参考文献1王晓明电动机的单片机控制北京北京航空航天大学出版社2002年第一版2潘松,黄继业EDA技术实用教程M北京科学出版社20023黄智伟全国大学生电子设计竞赛训练教程北京电子工业出版社2005年第一版4南华大学第六届全国电子设计竞赛全体参赛成员第六届电子大赛资料6附录LIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALLUNCOMMENTTHEFOLLOWINGLINESTOUSETHEDECLARATIONSTHATAREPROVIDEDFORINSTANTIATINGXILINXPRIMITIVECOMPONENTSLIBRARYUNISIMUSEUNISIMVCOMPONENTSALLENTITYTOPISPORTCLKINSTD_LOGICRESETINSTD_LOGIC1为复位0开启BUTTON1INSTD_LOGIC速度选择BUTTON2INSTD_LOGIC正反选择CONTROLOUTSTD_LOGIC_VECTOR3DOWNTO0四相电机输入信号BUZZEROUTSTD_LOGIC报警信号CSOUTSTD_LOGIC数码管选中SHIFTOUTSTD_LOGIC_VECTOR3DOWNTO0数码管位选信号DATA_LEDOUTSTD_LOGIC_VECTOR7DOWNTO0数码管数据ENDTOPARCHITECTUREBEHAVIORALOFTOPISCOMPONENTKEYISPORTRESETINSTD_LOGIC输入复位信号CLKINSTD_LOGICBUTTON1INSTD_LOGIC输入速度按键信号BUTTON2INSTD_LOGIC输入正反转按键信号SPEEDOUTSTD_LOGIC_VECTOR2DOWNTO0速度数据输出端SELOUTSTD_LOGIC_VECTOR1DOWNTO0正反转信号输出端ENDCOMPONENTCOMPONENTMCFPISPORTPWM_CLKINSTD_LOGIC速度控制脉冲CLKINSTD_LOGICRESETINSTD_LOGICSELINSTD_LOGIC_VECTOR1DOWNTO0正反转QSOUTSTD_LOGICCONTROLOUTSTD_LOGIC_VECTOR3DOWNTO0ENDCOMPONENTCOMPONENTMCFSISPORTCLKINSTD_LOGICRESETINSTD_LOGICSPEEDINSTD_LOGIC_VECTOR2DOWNTO0PWM_CLKOUTSTD_LOGICENDCOMPONENTCOMPONENTJISHUISPORTRESETINSTD_LOGICQSINSTD_LOGICSELINSTD_LOGIC_VECTOR1DOWNTO0ALARMOUTSTD_LOGICSHUJU1OUTSTD_LOGIC_VECTOR7DOWNTO0SHUJU2OUTSTD_LOGIC_VECTOR7DOWNTO0ENDCOMPONENTCOMPONENTBAOJINISPORTCLKINSTD_LOGICALARMINSTD_LOGICBUZZEROUTSTD_LOGICENDCOMPONENTCOMPONENTXSISPORTCLKINSTD_LOGICRESETINSTD_LOGICSHUJU1INSTD_LOGIC_VECTOR7DOWNTO0SHUJU2INSTD_LOGIC_VECTOR7DOWNTO0CSOUTSTD_LOGICSHIFTOUTSTD_LOGIC_VECTOR3DOWNTO0DATA_LEDOUTSTD_LOGIC_VECTOR7DOWNTO0ENDCOMPONENTSIGNALLOAD1STD_LOGIC_VECTOR2DOWNTO0SIGNALLOAD2STD_LOGICSIGNALLOAD3STD_LOGIC_VECTOR1DOWNTO0SIGNALLOAD4STD_LOGICSIGNALLOAD5STD_LOGICSIGNALLOAD6STD_LOGIC_VECTOR7DOWNTO0SIGNALLOAD7STD_LOGIC_VECTOR7DOWNTO0BEGINU1KEYPORTMAPRESETRESET,CLKCLK,BUTTON1BUTTON1,BUTTON2BUTTON2,SPEEDLOAD1,SELLOAD3U2MCFSPORTMAPCLKCLK,RESETRESET,SPEEDLOAD1,PWM_CLKLOAD2U3MCFPPORTMAPPWM_CLKLOAD2,CLKCLK,RESETRESET,SELLOAD3,CONTROLCONTROL,QSLOAD4U4JISHUPORTMAPRESETRESET,QSLOAD4,SELLOAD3,ALARMLOAD5,SHUJU1LOAD6,SHUJU2LOAD7U5BAOJINPORTMAPCLKCLK,ALARMLOAD5,BUZZERBUZZERU6XSPORTMAPCLKCLK,RESETRESET,SHUJU1LOAD6,SHUJU2LOAD7,CSCS,SHIFTSHIFT,DATA_LEDDATA_LEDENDBEHAVIORALLIBRARYIEEEUSEIEEESTD_LOGIC_1164ALLUSEIEEESTD_LOGIC_ARITHALLUSEIEEESTD_LOGIC_UNSIGNEDALLUNCOMMENTTHEFOLLOWINGLINESTOUSETHEDECLARATIONSTHATAREPROVIDEDFORINSTANTIATINGXILINXPRIMITIVECOMPONENTSLIBRARYUNISIMUSEUNISIMVCOMPONENTSALLENTITYBAOJINISPORTCLKINSTD_LOGICALARMINSTD_LOGICBUZZEROUTSTD_LOGICENDBAOJINARCHITECTUREBEHAVIORALOFBAOJINISSIGNALCSTD_LOGICBEGINPROCESSCLK,ALARM,CVARIABLECNTINTEGERRANGE0TO50000BEGINIFCLKEVENTANDCLK1THENCNTCNT1IFCNT“1001“THENCNT3DOWNTO0“0000“CNT7DOWNTO4CNT7DOWNTO41ELSECNT3DOWNTO0CNT3DOWNTO01EN

温馨提示

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

评论

0/150

提交评论