基于FPGA的步进电机的PWM控制__细分驱动的实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

姓名___ _ _ _

学号201016050136

院系电气信息工程学院

专业电子信息工程

班级___信息10-1______ __

目录

目录 (2)

摘要 (3)

关键词 (3)

Abstract (3)

Keywords (3)

一、引言 (4)

二、步进电机细分驱动的基本原理 (4)

三、Quartus II概述 (5)

四、课题设计 (5)

(一)总体设计 (5)

(二)细分电流的实现 (6)

(三)细分驱动性能的改善 (6)

(四)程序设计 (6)

六、仿真与测试结果分析 (10)

七、结论 (12)

参考文献 (12)

注释 (13)

附录 (14)

心得体会 (20)

摘要

在对步进电机细分驱动原理进行分析研究的基础上,提出一种基于FPGA 控制的步进电机细分驱动器。利用FPGA中的嵌入式EAB构成LPM-ROM,存放步进电机各相细分电流所需的PWM控制波形数据表,并通过FPGA设计的数字比较器,同时产生多路PWM电流波形,实现对步进电机转角进行均匀细分控制。实验证明,所研制的步进电机驱动器不仅体积小,简化了系统的设计,减少了延迟,改善了低频特性,有良好的适应性和自保护能力,提高了驱动器的稳定性和可靠性。

关键词

步进电机;细分驱动;脉宽调制;FPGA

Abstract

In this paper, a divided driving circuit for stepping motor controlled by FPGA is put forward, based on the analysis of the principle of stepping motor divided driving. Using embedded EAB in FPGA to compose LPM-ROM, store PWM control wave form data which stepping motor each phase subdivided driving current is needed.The magnitude comparator designed with FPGA generates several PWM current waveform synchronously, to realize the step angles even division control for three–phase stepping motor.Experimments have proved that the developed subdivision driver is not only smaller,sampler in system, can shorten the delay time,improve the stability in low frequency ,but has good self-adaptation and self-protection ability,and its stability and relibility are higher.

Keywords

stepping motor; divided driving;PWM; FPGA

B 相

A 相 C 相

一、引言

步进电机是把脉冲信号转换成角位移或直线位移的执行元件,是一种输出与输入数字脉冲相对应的增量驱动元件。具有定位精度高、惯性小、无积累误差、启动性能好、易于控制、价格低廉及与计算机接口方便等优点,被广泛应用于数控系统中。但由于脉冲的不连续性又使步进电机的运行存在许多的不足之处,如低频震荡,噪声大,分辨率不高及驱动系统的可靠性差等,严重制约了其应用范围。步进电机的细分控制有效的解决了这一问题,步进电机细分驱动技术可以减小步进电机的步距角,提高电机运行的平稳性,增加控制的灵活性等。但是传统的步进电机驱动大多数采用的是用单片机作为控制芯片,外加分立的数字逻辑电路和模拟电路构成。受单片机工作频率的限制,细分数不是很高,因此控制器的精度较低,控制性能不是很理想。近年来随着可编程逻辑器件的飞速发展,似的可编程逻辑器件功能越来越强大从而促使高集成化高精度的驱动器的出现。本系统是以FPGA 为核心的控制器件,将驱动逻辑功能模块和控制器成功地集成在FPGA 上。利用FPGA 中的嵌入式EAB 可以构成存放电机各相电流所需的控制波形表,再利用数字比较器同步产生多路FPGA 电流波形,对多相步进电机进行控制。若改变控制波形表的数据、增加计数器和比较器的位数,提高计数精度,就可以提高PWM 波形的细分精度,进而对步进电机的步进转角进行任意级细分,实现转角的精确控制。

二、步进电机细分驱动的基本原理

步进电机的驱动是靠给步进电机的各相励磁绕组轮流通以电流,实现步进电机内部磁场合成方向的变化来使步进电机转动的。设矢量Ta 、Tb 、Tc 、Td 为步进电机A 、B 、C 、D 四项励磁绕组分别通电时产生的磁场矢量;Tab 、Tbc 、Tcd 、Tda 为步进电机中

AB,BC,CD,DA 两相同时通电产生的合成磁场矢量。当步进电机的A 、B 、C 、D 四相轮流通电时,步进电机内部磁场从TA →TB →TC →TD,即磁场产生了旋转。一般的,当步进电机的内部磁场变化一周时,电机的转子转过一个齿距,即改变一次通电状态,转子转过一个步距角。该步距角的计算公式为:

其中:α代表接入绕组的线路状态数,m 代表电动机的相数,Z x 代表转子齿数。由此可见,步进电机一旦制造出来,其相数与转子齿数将为定值,要想减小步距角,以达到细分的目的,用户能改变的只有α。

图1所示为四相步进电机八细分时各相电流波形,各相电流均以最大电流值的1/4上升和下降。与单四拍方式相比,α值从2增加到8,步距角θb 为单四拍运行方式时的1/8。所以步进电机细分驱动的关键在于控制电机各相励磁绕组中的电流大小及其稳定性。

X b mZ αθ

360=

相关文档
最新文档