基于FPGA的四相步进电机细分控制电路设计_第1页
基于FPGA的四相步进电机细分控制电路设计_第2页
基于FPGA的四相步进电机细分控制电路设计_第3页
基于FPGA的四相步进电机细分控制电路设计_第4页
基于FPGA的四相步进电机细分控制电路设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、基于 FPGA 的四相步进电机细分控制电路设计摘要步进电动机又称阶跃电动机或脉冲电动机, 它是一种典型的机电一体化器件。步进电动机可以接收数字脉冲信号并转变其为角位移或线位移。本次设计使用的是四相步进电机,而目的是要实现四相步进电机的细分控制,即对四相电流先进行八拍细分,而后再对每拍进行细分,而 FPGA 技术的发展和改善,很有可能实现步进电机的细分,并且可以进行稳定、精确的响应和控制。要想实现基于 FPGA 的四相步进电机细分控制电路设计,首先我要对 FPGA(现场可编程集成电路)进行了解,并按照 FPGA 设计流程进行编写和仿真实现,电路的设计和输入我应用了 VHDL 编程语言,在 Qua

2、rtus 软件上进行了波形仿真,在设计过程中,我应用了 PWM 细分驱动技术,从而于每拍电流形成阶梯性向上的波形,由此实现细分的目的。对每个模块儿进行编写和成功仿真后,完成了软件设计部分。硬件设计部分我应用了 L298N 驱动集成电路,L298N 能够实现 FPGA 弱信号的功能放大,并针对弱信号和强电流的冲突问题在连接中设置了光电耦合器,最终成功驱动步进电机,实现了步进电机的细分驱动。关键词:步进电机;FPGA; PWM 细分驱动FPGA based four phase stepping motor subdivision control designAbstractStepper mot

3、or is also called step motor or pulse motor, it is a typical mechatronics device. Stepper motor can receive digital pulse signal and change it into angular displacement or line displacement. This design is the use of four phase stepping motor, and the aim is to achieve the four phase stepping motor

4、subdivision control, namely the four phase current for the first eight shot segmentation, and then to take every segment, and the development of FPGA technology and improved, it is possible to achieve the breakdown of stepper motor, and can be a stable, accurate response and control.In order to real

5、ize based on the FPGA four phase stepping motor subdivision control circuit design, first of all I want to understand the FPGA ( field programmable integrated circuit ), and according to the FPGA design process for the preparation of and simulation, circuit design and input I used VHDL programming l

6、anguage, on the Quartus software had waveform simulation, in the design process, I used PWM subdivision driving technology, thus to take every step to form the current waveform, thereby realizing the aim of subdivision. Each of the modules of infants were prepared and successful simulation, complete

7、d the part of software design.The hardware design part I used L298N driver integrated circuits, L298N can achieve FPGA weak signal amplifying function, and aiming at the weak signal and the current conflict problem in connecting in the setting of photoelectric coupler, the ultimate success of the st

8、epper motor drive, realize the stepper motor subdivision drive.Key words: stepping motor; FPGA; PWM subdivision drive目录1绪论.1引言.1步进电机的特点和应用.1课题研究的目的与意义.22步进电机的结构和细分驱动原理.3步进电机的结构.3步进电机细分驱动原理.4步进电机细分驱动的研究现状.53步进电机细分驱动系统的软件设计.7FPGA.73.2VHDL.9PWM 细分驱动电路 .10控制部分.11模块仿真.144步进电机细分驱动系统的硬件设计.164.1 驱动系统的组成 .16

9、4.2 L298N .164.3 L298N 对功能放大的实现.165结论.18参考文献:.19致 谢.201 绪论引言步进电动机又称阶跃电动机或脉冲电动机, 它是一种典型的机电一体化器件。步进电动机可以接收数字脉冲信号并转变其为角位移或线位移。因为不必进行数模转换, 故使用起来非常方便, 它广泛于阀门控制、数控机床、绘图仪、打印机以及光学仪器等需要高定位精度及高灵活控制性的系统中应用。步进电动机运行时对于有相当功率的时序脉冲按要求的逻辑馈送给它的各个控制绕组有着要求, 并且为了步进电动机调速的实现, 要求其能够改变送给各个控制绕组的时序脉冲的频率。现如今,随着 FPGA 技术的发展和改善,很

10、有可能使用其进行各种各样的运算,并且可以进行稳定、精确的响应和控制。近些年,随着不断增加的需求量,FPGA 的技术得到了迅速的发展,总的来说现在的FPGA 的性能等同于 2.0um 时代的门阵列水平,仍未达到固定标准程序阶段。在光通信区域的商家为了保持竞争力,必须采用以 FPGA 设计的 ASIC 电路。近些年我国迅速发展的光通信系统中也较多的采用了 FPGA 器件。FPGA 的市场发展、FPGA 研究开发最早、产品系列最多、换代最快的是美国,至于日本,因为一些厂家认为 FPGA 只是产品开发阶段被采用,批量生产时就会被门阵列电路代替,所以占有率不是很高,而在我国电子产品的开发及生产蓬勃发展,

11、FPGA 的应用也受到人们极大的关注,FPGA 不但可以应用于某些高档次产品,一些消费性电子产品也已经广泛使用。不少大学还将 FPGA 应用于科研教学工作之中。且预计我国的 FPGA 的需求量还会不断的上升。步进电机是把脉冲信号转换成角位移或直线位移的执行原件,是一种对应于输出与输入数字脉冲中的增量驱动元件。具有定位、精度高、无积累误差、启动性能好、价格低廉、易于控制及计算机接口方便等优点,广泛应用于数控系统中。计算机技术的发展,对数字控制系统技术的发展起到了促进的作用。步进电机细分驱动技术可以减小步进电机的步距角、提高电机运行的平稳性,增加控制的灵活性等。利用 FPGA 中的嵌入式 EAB可

12、以构成存放电机各相电流所需的控制波形表,再利用数字比较器同步产生多路 FPGA 电流波形,以控制多相步进电机。改变控制波形表的数据、增加计数器和比较器的位数、提高计数精度、就可以予 PWM 波形的细分精度以提高,进而对步进电机的步进转角进行任意级的细分,以实现转角的精确控制。步进电机的特点和应用步进电机是一种由数字系统控制的执行电动机,其具有以下优点:(1) 整个系统简单廉价且可以用数字信号直接进行控制。(2) 位移与输出脉冲信号数一一对应,可以组成结构较为简单而且具有一定精度的开环控制,步距误差不长期积累,也可在要求更高精度的情况下组成闭环控制系统。(3) 无刷,电动机本体部件比较少,可靠性

13、高。(4) 正反转及速度响应性好,易于启动/停止。(5) 停止时有自锁能力。(6) 步距角可以在大范围内进行选择,通常可以不经减速器直接驱动负载,在小步距情况下,通常可以在超低转速下高速矩稳定运行。(7) 速度可平滑调节在相当宽范围内,同时用一台控制器控制几台步进电动机可完全同步运行。但是步进电动机也存在着很多的不足,其带惯性负载能力较差。因为存在失步和共振,步进电机的加减速方法根据利用状态的不同而复杂化。且需要专用的伺服控制器控制,不可以直接使用普通的交直流电源驱动。步进电机却别于其他电动机的最大特点为:它接受电脉冲信号(数字控制信号) ,并将其转换成与之相对应的角位移或是直线位移。它本身就

14、是一个完成模拟/数字转换的执行元件。且它可以进行开环位置控制,通过输入一个脉冲信号就可以得到一个规定的位置增量,这样的增量位置控制系统比较起传统的直流伺服务器系统,成本有显著的降低。因此,步进电机的应用随着运动控制系统数字化的到来而日益广泛。在通过控制买成个数来控制角位移两从而达到准确定位目的的同时,也可以通过控制脉冲频率来控制电机转动的速度/加速度以达到调速的目的。基于步进电机再生产应用上的优点,其已经在许多工业控制系统中作为重要执行部件得到了应用。在计算机外围设备种总有步进电机的出现。步进电机在数字、工具程序控制系统之中得到了广泛的应用。课题研究的目的与意义步进电机由于其可用数字信号直接进

15、行开环控制,唯一于输入脉冲信号数相对应,步距误差步长期累积,可靠性高,无刷,电机本体部件少;易于启动和停止、正反转及变速,响应性好等优点的存在,被广泛应用于工业控制之中,但是,步进电机运行工况也存在着许多的不阻止住,例如噪声大,分辨率较低,低频震荡等,严重对其应用范围造成了制约。如果步进电机能够克服以上的缺点,那可以肯定其应用范围可进一步扩大。采用电路细分控制的策略便是为了有望克服步进电机在运行工况中出现的诸多不足之处。但是目前的状况为:基于单片机细分驱动器性能不好,并且发展空间局限,基于占用控制芯片的细分驱动器通常只能用来驱动较小功率的步进电机,而基于 DSP 的细分驱动器的成本又比较高。故

16、本课题利用的基于 FPGA 的低成本构成,步进电机驱动器的高性能便成为了首选。FPGA 的大容量,高速处理能力可以集所有的控制部分于 FPGA 芯片之中,很大程度上的提高了系统可靠性。这种新型驱动器体积小,硬件结构简单,成本低,控制能力强,并可以轻易完成驱动器升级换代,一旦投入使用必将步进电机的应用范围扩大,并使步进电机驱动系统的成本降低。2步进电机的结构和细分驱动原理步进电机的结构本课题使用的是四相步进电机,它采用单极性直流电源供电。只要按合适的时序通电给步进电机的各相绕组,就可以使步进电机步进转动。如图 2-1 所示,该四相反应式步进电机工作原理示意图。图 2-1四相步进电机步进示意图开始

17、时,开关 SB 接通电源,断开 SA、SC、SD,对齐 B 相磁极和转子 0、3 号齿,于此同时,C、D 相绕组磁极就和转子的 1、4 号齿产生错齿,D、A 相绕组磁极就和 2、5 号齿产生错齿。当接通开关 SC,SB、SA、SD 断开时,因为 C 相绕组的磁力线和 1、4 号齿之间磁力线的作用,使转子转动,C 相绕组的磁极和 1、4 号齿对齐。而 A、B 相绕组和 0、3 号齿产生错齿,A、D 相绕组磁极就和 2、5 号齿产生错齿。依次类推,A、B、C、D 四相绕组轮流供电,则转子会沿着 A、B、C、D 方向转动。反之,转子就会沿着 D、C、B、A 转动。四相步进电机按照通电顺序的不同,可分

18、为双四拍、单四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩较小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍工作方式既可以提高控制精度又可以保持较高的转动力矩。本课题研究的是八拍的工作方式。步进电机细分驱动原理步进电机的驱动是靠通电流给步进电机的各相励磁绕组轮流, 实现步进电机内部磁场合成方向的变化,从而使步进电机转动的。即转子就会转过一个步距角,每伴随着一次通电状态的改变。该步距角的计算公式为: (2-xbamZQ3601)其中: 为接入绕组的线路状态数, m 为电动机的相数, Zr 为转子齿数。由此可见, 一旦步进电机制造出来, 其转子齿数与相数将为定值,

19、 要想减小其步距角, 以达到细分的目的,只能通过改变 实现。而在无细分的步进电机驱动系统中, 通过各相绕组的电流幅值是不发生变化的, 只有在变化各相通电状态的时候, 值才相应地进行变化。针对四相步进电机来说, 单四拍或双四拍运行时, = l ; 单双八拍运行时, =2。如果要想增大 , 必须使绕组中的电流按阶梯上升和下降, 即在零与最大相电流之间有多个稳定的中间电流状态。如图 2-2 所示为四相八拍四细分时各相电流波形, 各相电流均以最大电流值的 1/4 上升和下降。与单双八拍方式相比, 值从 2 增加到 8, 步距角 b 为四相八拍运行方式时的 1/4。所以步进电机细分驱动的关键在于控制电机

20、各相励磁绕组中的电流大小及其稳定性。而如图 2-2 所示我们可以分析得各相电流是以 1/4 的步距上升或者下降的,而在两相Ta、Tb 中间再次插入了七个稳定的中间状态,原来每一步所转过的角度将经由八部完成,实现了步距角的八细分。图 2-2四相步进电机八细分电流波形改变步进电机相电流通常采用电流矢量恒幅均匀旋转的细分方法来实现, 即同时改变两相电流 iA 和 iB 的大小, 使电流合成矢量等幅均匀旋转。iA 和 iB 的变化曲线可描述为:iA= imcosxiB= imsinx四相步进电机八细分时的各相电流是以 1/4 的步距上升或下降的, 在两相稳定的中间状态, 原来一步所转过的角度将由八步完

21、成, 实现了步距角的八细分。步进电机的驱动是靠着给步进电机的各相励磁绕组轮流通过电流,实现步进电机内部磁场合成方向的变化来转动步进电机。设置矢量 Ta、Tb、Tc、Td 为四相步进电机的励磁绕组分别通电的时候产生的磁场矢量:Tab、Tbc、Tcd、Tda 是步进电机种AB、BC、CD、DA 两相同时通电而产生的合成磁场矢量。每当步进电机内部磁场产生这样的变化:TATBTCTD,即磁场产生了旋转,步进电机的步距角计数公式可以表示为:;公式中参数为步进电机的转子齿数;而参数:为步进电机运行时相邻稳定磁场之间的夹角。以上分析可知,步进电机细分控制实际上是通过对步进电机定子绕组电流的控制,来达到使步进

22、电机每步的合成磁场按某种要求变化,从而完成对步进电机步距角细分的目的。在普遍情况下,不仅地阿基旋转力矩的大小和步距角的大小是由合成磁场矢量决定的。均匀细分是最佳的细分方式,却要想完成对步进电机的恒力矩均匀的细分控制的实现,必须合理的对电机绕组中的电流控制使步进电机内部合成的磁场幅值恒定,且每个进给买成引发的合成磁场的角度变化也要均匀。步进电机细分驱动的研究现状步进电机的细分驱动技术在实践中得到了广泛的应用,且技术上获得了很大的发展。实践证明,步进电机细分驱动技术可以提高步进运行的平稳性,增加控制的灵活性等等。国内外研究步进电机细分驱动的文献非常丰富,分别对细分数、均匀步距、低噪音、低震动、抗干

23、扰等方面进行研究,总结这些研究,可得到一下特点:(1)必须产生真实的给定细分的电压波形,并且一般性采用可逆循环计数器对 EPROM 存储器进行寻址,再经 D/A 转换器之后输出,理应模拟期间进行输出的调节。反馈电流的测量全部采用霍尔传感器。离线计算出步进电机励磁状态转换表,得到所需的唤醒分配器输出状态表后存入 EPROM 中。该模式实际上是一种软硬结合的技术,通过编辑 EPROM存储器的软件即可实现不同细分波形的输出。(2)因为步进电机的电子转子转角与电机绕组电流之间的非线性关系,是很难精确的进行计算的,所以一般采用相似的方法。想要得到近似均匀步距的细分波形,一般采用以下三种方法:数值插值法,

24、近似波形法,曲线拟合法。之后在进一步的实验修正下达到近似均匀的步距。(3)步进电机细分驱动电路的下一个特点是通用性较弱,各个研究单位基于机型开发不同和不同的目标和机型开发不同的细分驱动电路,他们普遍具有较强的专用性,基于功率、微步距、噪音的指标等参数的不用,要求驱动电路也不能“兼容” 。且一点电机的型号、应用指标发生了改变,驱动系统必须重新设计。接口标准不统一,通用性也进一步的降低。通过以上的分析,步进电机细分驱动电路已经日渐趋于成熟,但是目前细分驱动器的设计仍然有不少缺陷:(1)使用的期间很多,使调试复杂化,占用很大的系统空间,且抗干扰能力不足。(2)励磁状态转换表的修正相当繁琐,使得在线调

25、节很难实现。(3)控制单元通常采用单片机,可靠性和相应速度低。(4)在体积重量方面没有优势,能源利用率低。(5)超过负载时会破坏同步,高速工作会发出振动和噪声。3步进电机细分驱动系统的软件设计3.1FPGA3现场可编程门阵列 FPGA 结构现场可编程门阵列 FPGA 器件于 1985 年由 Xilinx 公司推出,它是一种新型的高密度PLD。它的结构一般分为三个部分,可编程逻辑模块、可编程 110 模块和可编程内部互联区 IRO,FPGA 的结构与门阵列 PLD 是不相同的,其内部由许多独立的可编程逻辑单元组成,可编程逻辑单元是 FPGA 芯片实现逻辑的最基本结构,其之间能够灵活的相互连接。可

26、编程逻辑单元的功能非常强大,步进可以完成逻辑函数的实现,还可以实现 RAM 等复杂形式的配置。配饰数据是存放在熔丝图或者片内的 SRAM 上的,基于 SRAM 的 FPGA 期间工作前需要从芯片的外部对配置数据进行加载。配置数据可以存储在计算机或者片外的EPROM 上,设计人员可以对加载过程进行控制,并对期间的逻辑功能进行控制,在现场对期间的逻辑功能进行修改,即为所谓的现场可编程。FPGA 的基本结构形式,由一个用于存放编程数据的静态存储器和三种可编程单元组成。上述三种可编程单元分别是: I/O Block(输入/输出模块),LE(逻辑单元)和互连资源,它们的工作状态全都设定于数据存储器中。而

27、对于 FPGA 为迎合未来的发展,它即将迎接的挑战为:(1) 系统芯片时代的来临,要求 FPGA 向着密度更高,速度更快,频带更宽的数百门超大规模发展。(2) 为了方便用户设计和对于特殊功能的应用,就要向标准功能模块或嵌入功能发展。(3) 低压,低功耗的绿色原件以迎合全球环保潮流。同时,涌现出数模混合可编程阵列,模拟可编程阵列,动态可重构阵列期间等新概念。3现场集成的编程方式应用设计现场可编程集成电路,针对具体目标,需要不同的编程方式来完成目标数字系统下载的实现。根据器件结构的不同,目前有三种下载方式。1、在线系统可编程技术。具有 ISP 功能的期间,没有下载时专门的编程器,芯片可直接在已制成

28、的系统中进行编成数据下载。ISP 技术使系统设计和制造更加灵活。目前大多数芯片均采用编程技术。2、在线系统可重配置技术 ISR。具备 ISR 功能的器件可直接在印制电路板上通过数据或者在目标系统种下载电缆配置和重新配置,不需要专门的编程器。因为 ISR 期间是基于 SRAM 的编程技术,所以系统掉电后,会丢失芯片的编程信息。3、一次性编程技术。一旦编程就不能发生改变,这种编程技术的 FPGA 应用的工艺为反熔丝制造,比较适合高可靠低功耗的使用场合。3FPGA 设计总体流程开始电路设计与输入综合优化综合仿真是否正确实现过程布局布线后时序仿真与验证加载配置在线调节是否为实现问题YYYNNN图 3-

29、1FPGA 设计总体流程图现场可编程门阵列的总体流程图如图 3-1 所示,在电路设计并输入后,进行仿真,如果仿真成功则对其编程进行综合性的优化和判断,并对其原理和优化过程进行探究,之后对程序进行实现与布线,而后实现最终的配置加载和在线的调节。VHDLVHDL 语言是告诉集成电路的硬件描述语言,可以抽象的对电路行为和结构进行描述,支持逻辑设计中范围和层次的描述,能够借用高级语言精巧的结构对电路的行为描述进行简化,并具有对电路仿真与验证机制保证正确性的能力。VHDL 语言的编写在用 VHDL 进行电路设计前,首先要由逻辑电路基础,VHDL 编程语言与其他软件语言是不同的,虽然语法看上去也是一种编写

30、语言的软件,但是 VHDL 语言和编写软件语言有着本质的区别。VHDL 语言根本就对电路的描述,通常软件是顺序执行的,而 VHDL 语言大部分是并发执行的。所以,在编程时,应该时刻记住自己是在描述电路,应对要综合的电路有概念才能正确写出功能且能综合实现的程序。3.2.2VHDL 程序的结构一个完整的 VHDL 设计是由构造体和实体说明组成的。并且一个 VHDL 语言程序按需要调用程序包和库文件。1 VHDL 库和程序包库文件是存放可编程设计单元的地方,通过其目录查询和调用。不同的设计单元存放在不同的库当中,不同的编译软件相同的库名称也不同。在程序开头要按需调用不同的库,这些库的调用有 libr

31、ary 语句实现。程序包是其中一种类型、原件、函数、和其他说明对设计单元可见的类型,原件和子程序,而包体则是用来存放说明中的函数和程序。2 实体实体是能表达完整系统、芯片小函数、电路板和逻辑功能的设计概述。实体说明主要描述实体输入和输出,也可以描述参数化的数值。实体说明可以理解为电路的符号,其设计其余部分的连接关系和描述一个原件。3 构造体构造体主要说明实体存在,也就是描述实体的功能。VHDL 允许采用不同格式对构造设计。4 VHDL 主要语法结构(1) 组合逻辑设计(2) 顺序语句(3) 同步逻辑设计(4) 进程设计所以在编程时,程序的执行一般根据语句的先后,此时程序的顺序显得尤为重要,但是

32、在写 VHDL 的时候就不同了,因为 VHDL 描述的是一张电路图,你只要清楚的描述各个模块就可以了,至于先后顺序的描述则较为自由。3.3PWM 细分驱动电路3.3.1系统软件总体设计遵照上述电路图的设计和流程图,且为了更好、更清楚的表达,下面将要使用 VHDL对每个模块进行描述。首先对脉冲部分进行描述:脉冲序列的生成:步进电机控制软件中必须首要解决产生一个周期性脉冲序列的问题。脉冲是用周期、接通与断开电源时间、脉冲高度来表示的。对于一个数据线来说,脉冲高度决定于使用的数字电平。例如一般的 TTL 电平为 0-5V,使用的借口电路多为 0-5V 等。再如当传送高电平到步进电机相应的数据线时,步

33、进电机开始步进,因为步进是需要一定的时间的,故在高电平后进行一段时间的延长,便可使步进电机达到指定的位置。利用软件生成脉冲序列的方法是先输出高电平,接着利用软件延长一段时而后输出低电平,延时时间的长短决定于步进电机的工作频率。3.3.2PWM 细分步进电机的细分控制方法是通过控制各相绕组中的电流分配,使其按一定的规律阶梯上升或下降,从而获得从 0 到最大相电流之间的多个稳定的中间电流状态。相应地,定子磁场也就存在多个中间状态,这样各相的合成磁场也将有多个稳定的中间状态,相邻两个合成磁场矢量的夹角决定了微步距的大小,转子沿着这些中间状态以微步距转动。3-2步进电机 PWM 细分驱动电路图如图 3

34、-2 所示,描述了步进电机 PWM 细分驱动电路,PWM 计数器产生周期性向上的阶梯波形,地址计数器控制方向和给定输入信号,并且以控制频率的方法对速度进行控制,PWM 波形 ROM 控制器对给定信号中每拍进行细分,并将其输入到四个数字比较器中,实现步进电机 PWM 电路的细分。接下来是对每个模块儿的说明。3.4控制部分要想实现步进电机的细分功能,必须用 VHDL 进行编译和实现。如图 3-2 所示的各个元件的功能和 VHDL 源代码如下。3.4.1PWM 计数器(cnt8):利用微处理器的数字输出来对模拟电路进行控制,产生周期性向上的锯齿波,用 VHDL 语言描述如下:BEGIN PROCES

35、S(CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN CQI = CQI + 1; END IF; END PROCESS; CQ = CQI (4 DOWNTO 1); END BEHAV;3.4.2地址计数器:为 PWM 波形 ROM 提供地址,为 A、B、C、D 输出提供参考;方向信号控制计数器的增减方向从而控制 PWM 波形输出顺序来控制电机正反转,使能信号程序中已接地,速度信号来自 CLK0,通过控制 CLK0 的频率来控制 PWM 波形的频率。用 VHDL 语言描述如下:BEGIN PROCESS(CLK,EN,U_D) BEGIN IF EN = 1

36、 THEN CQI = CQI; ELSIF CLKEVENT AND CLK =1 THEN IF U_D = 1 THEN CQI = CQI + 1; ELSE CQI = CQI-1; END IF; END IF; END PROCESS; CQ(4 DOWNTO 0) = CQI;END BEHAV;3.4.3PWM 波形 ROM(rom3):存储 PWM 细分波形参数,ROM 中的数据和标准为:WIDTH=16;DEPTH=32;ADDRESS_RADIX=HEX;DATA_RADIX=HEX;CONTENT BEGIN0:F000; 1:F600; 2:F900 3:FC00;

37、 4:FF00; 5:CF00; 6:9F00; 7:6F00; 8:0F00; 9:0F60; a:0F90; b:0FC0; c:0FF0; d:0CF0; e0AF0; f:06F0; 10:00F0; 11:00F6; 12:00F9; 13:00FC; 14:00FF; 15:00CF; 16:009F; 17:006F; 18:000F; 19:600F; 1a:900F; 1b:C00F; 1c:F00F; 1d:F00C; 1e:F009; 1f:F006;END;对以上十六进制代码进行描述,将其转化为二进制代码可知0:F000=1111 0000 0000 0000;1:F6

38、00=1111 0110 0000 0000;2:F900=1111 1001 0000 0000;3:FC00=1111 1100 0000 0000;4:FF00=1111 1111 0000 0000;5:CF00=1100 1111 0000 0000;6:9F00=1001 1111 0000 0000;7:6F00=0110 1111 0000 0000;8:0F00=0000 1111 0000 0000;以上 2 进制代码的描述可以清楚的表述出每拍电流在进行八细分后每次细分的电流走向呈阶梯形,而具体到 ROM 存储器的编写,则要实现以下过程。要成功设计出 ROM 模块首先要填充

39、 ROM 中的十六进制代码,由于 Quartus 中的内存初始化文件(memory initialization file)不能进行十六进制代码的填充,所以必须转化为十进制。图 3-3 就是对上 32 个十六进制代码的十进制转化的填充。图 3-3内存初始化文件的十进制填充将上述文件生成 mif 文件,之后对 ROM 存储器进行宏单元模块儿调用,按照上面要求的带宽和位数进行设置,之后将 mif 文件调用,填充并封装,ROM 模块的设计就完成了。3.4.4数字比较器:通过细分波形与 PWM 计数器输出的阶梯波型比较,产生周期性PWM 波,改变信号的占空比。可以宏单元模块调用或者用 VHDL 编程,

40、在此 VHDL 源代码省略。3.4.5电路复位器(BUSMUX)细分信号决定电路是否进行电机驱动细分,输出信号经过电机驱动芯片驱动,电路实现电机的驱动。宏单元模块调用即可。3.4.6各个模块生成的顶层文件图 3-4基于 FPGA 的四相步进电机 PWM 细分控制控制电路如图 3-4 所示连接电路,在 CNT8 前加以一个输入 clk5,给予输入信号,CNT8 对电流信号实行了四相八拍分后,将输出信号加以 BUSMUX 电路复位器上,电路复位器控制是否对输出信号进行细分,若不进行细分,则直接输出至数字比较器中,通过功能放大器,将信号放大,加到各相绕组之上,实现步进电机转子转动。若进行细分,则 D

41、EC2(PWM 计数器)实现其功能,将输入电流信号转化为每拍八细分的阶梯波电流,之后将其传达到 PWM 波形 ROM(存储器)中,对应着封装 ROM 中的八进制代码输出加至数字比较器之上,之后将信号放大,加到各相绕组上,实现步进电机转子转动。3.5模块仿真 本设计共分为两个阶段,即步进电机细分时和非细分时的波形仿真。3.5.1基于 FPGA 的四相步进电机非细分电路仿真仿真波形如图 3-5 所示,当给予 S 高电平时输出波形为非细分电路波形。图 3-5基于 FPGA 的四相步进电机非细分电路仿真3.5.2 基于 FPGA 的四相步进电机细分电路仿真仿真波形如图 3-6 所示,当给予 S 低电平

42、是输出波形为细分电路波形。图 3-6基于 FPGA 的四相步进电机细分电路仿真4 步进电机细分驱动系统的硬件设计4.1 驱动系统的组成步进电机驱动系统组成如图 4-2 所示,一般由信号处理器、PWM 细分电路、输入电路、驱动级、保护级等部分组成。输入电路保护推动级信号放大与处理PWM 细分电路驱动器图 4-2PWM 驱动器的组成PWM 细分电路的作用为:步进电机 PWM 细分驱动电路,PWM 计数器产生周期性向上的阶梯波形,地址计数器控制方向和给定输入信号,并且以控制频率的方法对速度进行控制,PWM 波形 ROM 控制器对给定信号中每拍进行细分,并将其输入到四个数字比较器中,实现步进电机 PW

43、M 电路的细分。信号处理级的作用为:一方面按照来自环形分配器的信号放大到驱动推动级,一方面对如斩波、抑制等特殊功能信号进行处理。推动级的作用是放大较小的信号。保护级的作用是保护驱动级的安全。4.2 L298N本课题中步进电机细分驱动系统采用电机驱动 L298N。L298N 是专用驱动集成电路,属于 H 桥电路,它的输出电流大,功率强。输出电流为 2A,最高电流为 4A,最高工作电压达 50V,可以驱动感性负载,例如步进电机,电磁阀等,特别是其输入端可以与单片机直接相联。当驱动直流电机时,可以直接控制两路电机,并可以实现电机正反转,实现此功能只需要对输入端的逻辑电平改变。4.3 L298N 对功

44、能放大的实现L298 具有体积小,控制方便的特点,并可以与光耦隔离驱动模块连接隔离开以达到避免 FPGA 微小信号与其大电流的冲突的效果,图 4-3 是 L298N 的驱动电路图。图 4-3L298N 驱动电路图当步进电机驱动软件实现仿真并下载后,由于 FPGA 的信号较弱,所以需要 L298N 对其实现放大功能,从而使步进电机接收到足够强大的信号实现转子转动,如图 4-3 所示,左边步进电机给予弱信号,中间光电耦合器的功能为避免弱信号和 L298 强电流冲突产生电路干扰,L298 在接受到信号放大后输入至右侧的步进电机 A、B、C、D 四相中,实现步进电机的转动。5 结论本设计主要开发一套基于 FPGA 芯片集成的步进电机脉冲细分驱动系统。通过对理想化四相步进电机模型的分析和讨论,将其视为一种

温馨提示

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

评论

0/150

提交评论