基于FPGA的步进电机控制系统的数字硬件设计研究毕业论文.docx
《基于FPGA的步进电机控制系统的数字硬件设计研究毕业论文.docx》由会员分享,可在线阅读,更多相关《基于FPGA的步进电机控制系统的数字硬件设计研究毕业论文.docx(41页珍藏版)》请在冰豆网上搜索。
![基于FPGA的步进电机控制系统的数字硬件设计研究毕业论文.docx](https://file1.bdocx.com/fileroot1/2022-11/14/f9d832c6-adba-43ff-af79-f43cd4a09961/f9d832c6-adba-43ff-af79-f43cd4a099611.gif)
基于FPGA的步进电机控制系统的数字硬件设计研究毕业论文
基于FPGA的步进电机控制
系统的数字硬件设计研究
摘要
步进电机因其能够精确地控制机械的移动量而被广泛采用。
步进电机是由输入的脉冲信号来加以控制的。
模拟电路虽然可以用来产生连续可调的脉冲信号,但却难以控制,而用数字集成电路来对步进电机进行控制,则能克服以上缺点。
现在,数字集成电路的设计越来越多地采用VHDL+FPGA的设计方法。
采用VHDL的设计方法有着不依赖器件、移植容易、能加快设计的特点。
并且,VHDL在现场就能进行修改,与FPGA器件相结合,能大大提高设计的灵活性与效率,缩短产品的开发周期,加快产品的上市时间。
VHDL+FPGA的设计方法是数字系统设计的一个创新,也是未来的一种发展方向。
步进电机是一种将电脉冲转化为角位移的执行机构,已广泛应用于各种自动化控制系统中。
为了提高对步进电机的细分要求,提出了基于FPGA控制的步进电机控制器方案。
给出了用VHDL语言层次化设计各功能模块的过程,利用QuartusⅡ进行仿真,给出了仿真结果,并成功地在FPGA器件上验证了设计的可能性。
采用FPGA器件和VHDL语言,只需修改模块程序参数,而无须修改硬件电路就能实现各种控制。
该设计硬件结构简单可靠,可根据实践需要灵活方便进行配置。
关键词:
VHDLFPGA步进电机
Abstract
Steppermotorscanbeprecisebecauseofmechanicalcontrolofthemovementofproductionandarewidelyused.Steppermotorinputfromthepulsesignaltocontrol.Althoughanalogcircuitscanbeusedtoproducecontinuouslyadjustablepulsesignal,butitisdifficulttocontrol,andtheuseofdigitalintegratedcircuitstothesteppermotorcontrol,toovercometheabovedrawbacks.
Now,digitalICdesignincreasinglyusedVHDL+FPGAdesignmethods.VHDLdesignisnotdependentondevices,easilytransplanted,canspeedupthedesigncharacteristics.Furthermore,VHDLatthescenecanmakechangesandFPGAdevicescombinecangreatlyimprovethedesignflexibilityandefficiency,shortenproductdevelopmentcycles,accelerateproducttimetomarket.VHDL+FPGAdesignmethodologyfordigitalsystemsdesignaninnovative,aswellasthefuturedirectionofdevelopment.
Steppingmotorisaelectricalimpulsesintoangulardisplacementoftheexecutiveagency,hasbeenwidelyusedinallkindsofautomaticcontrolsystem.Inordertoimprovethesteppermotorsubdivisionrequirements,isputforwardbasedonFPGAcontrolsteppingmotorcontrollerscheme.Inthispaper,aVHDLlanguagethefunctionmoduledesignofhierarchicalprocess,useⅡQuartussimulation,thenthesimulationresults,andsucceededintheFPGAdevicevalidatedesignofpossibilities.BasedonFPGAdeviceandVHDLlanguage,onlymodifymoduleprocedureparameters,withouthavingtochangehardwarecircuitcanachieveallkindsofcontrol.Thehardwaredesignofsimplestructureandreliable,butaccordingtothepracticeneedsisflexibleandconvenientforconfiguration.
Keywords:
FPGA,VHDL,steppermotor
前言
电子系统设计的变革是从八十年代中期开始的。
Altera公司发明了现场可编程门阵列(FPGA)器件,随后研制了复杂可编程逻辑器件(CPLD)。
这些器件最大的特点是用户可编程,使电子系统设计工程师通过利用与器件兼容的EDA软件,在办公室或实验室里就可以设计自己的专用集成电路(下称ASIC)系统,实现用户规定的各种专门用途,因此构成了可编程ASIC类器件应用的广阔前景,推动了数字系统现场集成技术的形成与发展。
随着FPGA和CPLD技术的不断发展,产品的集成度和性能不断提高,而价格却逐步降低。
目前,FPGA/CPLD产品可以完成更加复杂的工作,其应用范围扩展到了数据处理、网络、仪器仪表、工业控制、军事和航空航天等更广泛的领域。
同时,随着FPGA产品的高度集成化、系统化,以及FPGA厂商日益完善的远程控制方案,大大缩短和简化了工程技术人员的硬件设计和升级的过程,提高了用户产品设计和实现的工作效率。
一、设计目标
本论文的设计目标是,采用VHDL方式,用FPGA来设计和实现步进电机脉冲信号控制系统,以构成步进电机测试用的信号发生器。
二、实现目标的技术路线
在EDA技术平台上,利用硬件描述语言VHDL(VHDL—VeryHighSpeedIntegratedcircuit(VHSIC)HardwareDescriptionLanguage(超高速集成电路硬件描述语言))进行数字逻辑设计,进行系统的逻辑功能和时延仿真,并用FPGA实现其所要求的逻辑功能定义。
三、设计意义
VHDL和FPGA为特征的数字系统现场集成技术是将来ASIC设计的主要发展趋势之一,通过本课题研究,学习和掌握数字逻辑的VHDL设计方法和系统功能的FPGA实现方法,推动了数字系统现场集成技术的应用。
1步进电机脉冲信号发生器原理与设计要求
近来,呈高速发展的OA、FA(机器人技术)缺少不了电机。
电机己广泛应用于工业制造的各个领域。
电机的种类有很多种。
二十世纪末以来,步进电机因其能够精确地控制机械的移动量而被广泛采用。
上述这两个领域均利用电机来精密地控制机械的移动量,一般多采用步进电机(steppingmotor,又称Pulsemotor)。
本章将对步进电机及其控制部分—脉冲信号发生器的原理和本研究课题的有关设计要求作简要的介绍。
1.1步进电机原理
步进电机是由输入的脉冲信号来加以控制的。
其最大特征是容易精确地控制机械位置。
·步进电机的特征
(l)电机的总旋转角度与输入脉冲总数成比例,电机的速度与每秒的输入脉冲数目(脉冲速率:
Pulserate)成比例。
图1.1输入脉冲与旋转角的关系
图1.1所示为输入脉冲与旋转角的关系。
在实用上,输入脉冲数的单位多为pps(pulsepersecond:
每秒的脉冲数)
(2)旋转角误差不会逐步累积。
1.2测试原理
电机驱动电路图1.2为现在广泛使用的4相步进电机驱动电路(相激磁电路)。
此电路由4BIT双方向移位暂存器构成,每次当脉冲输入CLK端子时往右或往左(CW或CCW)移位(Shift)。
图1.24相步进电机的驱动电路
表1.1移位暂存器的4个输出在移位时的状态
当移位暂存器移位一次,步进电机就会转一个角度,而暂存器的移位是由输入到CLK的脉冲所决定的,每输入1个脉冲则移位一次,因此,步进电机的转速及所旋转的角度就由输入脉冲的速率和总脉冲数所决定。
图1.3脉冲速率与电机旋转速度的关系
如果步进电机仅需能够旋转即可的场合,则只要脉冲产生电路所产生的脉冲供给步进电机即可。
但是,在实际上,我们往往需要调节步进电机的旋转速度或旋转量,看看是否符合我们的要求。
测试一个步进电机是否能完全同输入脉冲同步,就需要一个能精确设定脉冲速率和脉冲总数的脉冲发生器。
有了这样的脉冲发生器,就可以控制步进电机完成一系列复杂的动作,例如加速、减速等。
1.3设计要求
用户要求,步进电机的控制系统一脉冲信号发生器的输出脉冲能完成定速、加速、减速,且速率和加减速度都能做到连续可调。
主要的功能定义是:
(l)基准时钟
65536Hz
(2)输出脉冲个数设定范围
l~16777215
(3)输出脉冲速率设定范围
l~65535pps(1pps/step)
(4)输出脉冲加速度设定范围
0~65535pps/s
(5)用FPGA实现
1.4目前可以实现的方法及比较
要实现上述的脉冲信号发生器,有多种实现方法可供选择,具体如下:
(1)模拟电路的方
图1.4用模拟信号控制脉冲
用模拟电路实现的方法见图1.4。
图中的纵向坐标代表了电压和输出脉冲频率的大小,从图中可以看出,不同的电压大小可以得出不同频率的输出脉冲。
模拟电路来实现脉冲信号发生器,主要是通过精确地控制输出电压的大小,再通过压控震荡电路,从而获得不同频率的脉冲输出。
这种方法的优点是:
用模拟电路可以比较容易地得到连续可调的脉冲信号。
缺点是:
用模拟电路设计脉冲信号发生器,精度有限,而且,抗干扰能力差,也难以用微机来控制。
(2)单片机的方法
通常,单片机的时钟信号(clock)来源于晶振,所以,可以得到稳定度相当高的脉冲。
因此,以子程序控制单片机运行一定数量周期的空操作即可构成定时器,根据定时器令输出端呈ON/OFF动作即可产生脉冲。
这种方法所具有的优点是:
输出脉冲的稳定度很高。
缺点是:
如果所要求的脉冲周期不是单片机时钟(clock)周期的整数倍时,实现起来就有一定的困难。
而且,编制这样的汇编程序也不是一般的操作人员所能完成,如果要改变输出脉冲,程序就得重新写,显得较为烦琐。
(3)采用专用逻辑电路的方法
采用专用逻辑电路来设计脉冲信号发生器,即用硬件的方法来实现,可以在能够输出连续可调的不同频率的脉冲信号的同时,系统又具有更高的可靠性和稳定性。
结合上述几种传统的方法进行比较之后得出:
我们可以采用可编程ASIC来实现步进电机的控制,其主要优点在于:
①根据具体的逻辑要求来设计ASIC;
②ASIC具有较高的稳定