2007年邵阳学院EDA课程设计--基于FPGA的步进电机控制系统

更新时间:2024-01-12 14:04:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

邵阳学院 VHDL课程设计报告

目 录

一、设计任务:???????????????????????? 2 二、步进电机概述:???????????????????? 2 三、题目分析与整体构思: ???????????????? 4 四、硬件电路设计:????????????????????? 7 五、硬件验证:??????????????????????? 10 六、程序设计:??????????????????????? 10 七、系统仿真:?????????????????????? 15 八、感应子式步进电机工作原理:??????????? 17 九、心得体会:??????????????????????? 24

参考文献:????????????????????????? 25

- 1 -

邵阳学院 VHDL课程设计报告

一、系统设计要求

步进电机作为一种电脉冲—角位移的转换元件,由于具有价格低廉、易于控、制、无积累误差和计算机接口方面等优点,在机械、仪表、工业控制等领域中获得了广泛的应用。本设计的具体要求是:

1. 设计制作一个步进电机控制电路,可以细分驱动和常规驱动。 2. 常规驱动状态转速四档可调并可实现正反转。

二、步进电机概述

步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。

现在比较常用的步进电机包括反应式步进电机(VR)、永磁式步进电机(PM)、混合式步进电机(HB)和单相式步进电机等。

永磁式步进电机一般为两相,转矩和体积较小,步进角一般为7.5度 或15度。

反应式步进电机一般为三相,可实现大转矩输出,步进角一般为1.5度,但噪声和振动都很大。反应式步进电机的转子磁路由软磁材料制成,定子上有多相励磁绕组,利用磁导的变化产生转矩。

混合式步进电机是指混合了永磁式和反应式的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为 0.72度。这种步进电机的应用最为广泛,也是本次细分驱动方案所选用的步进电机。 (一)步进电机的一些基本参数: 1.电机固有步距角:

电机固有步距角表示控制系统每发一个步进脉冲信号,电机所转动的角度。电机出厂时给出了一个步距角的值,如86BYG250A型电机给出的值为0.9°/1.8°(表示半步工作时为0.9°,整步工作时为1.8°),这个步距角可以称之为“电机固有步距角”,它不一定是电机实际工作时的真正步距角,真正的步距角和驱动器有关。 2.步进电机的相数:

步进电机的相数是指电机内部的线圈组数,目前常用的有二相、三相、四相、五相步进电机。电机相数不同,它们的步距角也不同,一般二相电机的步距角为0.9°/1.8°、三相的为0.75°/1.5°、五相的为0.36°

- 2 -

邵阳学院 VHDL课程设计报告

/0.72° 。在没有细分驱动器时,用户主要靠选择不同相数的步进电机来满足自己步距角的要求。如果使用细分驱动器,则‘相数’将变得没有意义,用户只需在驱动器上改变细分数,就可以改变步距角。 3.保持转矩(HOLDING TORQUE):

HOLDING TORQUE是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。比如,当人们说2N.m的步进电机,在没有特殊说明的情况下是指保持转矩为2N.m的步进电机。 4.DETENT TORQUE:

DETENT TORQUE是指步进电机没有通电的情况下,定子锁住转子的力矩。DETENT TORQUE 在国内没有统一的翻译方式,容易使大家产生误解;由于反应式步进电机的转子不是永磁材料,所以它没有DETENT TORQUE。 (二)步进电机的特征 1.高精度的定位:

步进电机最大特征即是能够简单的做到高精度的定位控制。以5相步进电机为例:其定位基本单位(分辨率)为0.72°(全步级)/0.36°(半步级),是非常小的;停止定位精度误差皆在±3分(±0.05°)以内,且无累计误差,故可达到高精度的定位控制。(步进电机的定位精度是取决于电机本身的机械加工精度) 2.位置及速度控制:

步进电机在输入脉冲信号时,可以依输入的脉冲数做固定角度的回转进而得到灵活的角度控制(位置控制),并可得到与该脉冲信号周波数(频率)成比例的回转速度。 3.具有定位保持力:

步进电机在停止状态下(无脉波信号输入时),仍具有激磁保持力, 故即使不依靠机械式的剎车,也能做到停止位置的保持。械式的剎车,也能做到停止位置的保持。 4.动作灵敏:

步进电机因为加速性能优越,所以可做到瞬时起动、停止、正反转之快速、频繁的定位动作。

5.开回路控制、不必依赖传感器定位:

步进电机的控制系统构成简单,不需要速度感应器(ENCODER、转速发 电机)及位置传感器(SENSOR),就能以输入的脉波做速度及位置的控制。也因其属开回路控制,故最适合于短距离、高频度、高精度之定位控制的场合下使用。

6.中低速时具备高转矩:

步进电机在中低速时具有较大的转矩,故能够较同级伺服电机提供更 大的扭力输出。

- 3 -

邵阳学院 VHDL课程设计报告

7.高信赖性:

使用步进电机装置与使用离合器、减速机及极限开关等其它装置相较, 步进电机的故障及误动作少,所以在检查及保养时也较简单容易。 8.小型、高功率:

步进电机体积小、扭力大,尽管于狭窄的空间内,仍可顺利做安装, 并提供高转矩输出。

注:在第八部分中有对感应子式步进电机的详细描述,以供对此有兴趣的同学参考!

三、题目分析与整体构思

步进电机是一种将电脉冲信号转换成相应的角位移(或线位移)的机

电元件,具有 结构简单坚固耐用工作可靠的优点因此广泛应用于工业控制领域。由于脉冲的不连续性又使步进电机运行存在许多不足之处,如低频振荡、噪声大、分辨率不高及驱动系统可靠性差等,严重制约了其应用范围。步进电机的细分控制有效地解决了这一问题,但是传统的步进电机驱动系统大多数采用的是用 单片机 作为控制芯片,外加分立的数字逻辑电路和模拟电路构成。受 单片机 工作频率的限制,细分数不是很高,因此驱动器的控制精度较低,控制性能不是很理想。随着高性能数字信号处理器 DSP 的出现,以 DSP 为控制核心,以软件方式实现电机控制一度成为研究的热点。近年来随着可编程逻辑器件的飞速发展,使得可编程逻辑器件功能越来越强大从而促使高集成化高精度驱动器的出现。因此本文提出了一种基于 SOPC 片上可编程的全数字化步进电机控制系统,本系统是以 FPGA 为核心控制器件,将驱动逻辑功能模块和控制器成功地集成在 FPGA 上实现,充分发挥了硬件逻辑电路对数字信号高速的并行处理能力,可以使步进电机绕组电流细分达到 4096 ,且细分数可以自动调节,极大地提高了控制精度和驱动器的集成度,减小了驱动器体积。 1.步进电机细分驱动原理

步进电机的细分控制本质上是对步进电机励磁绕组中的电流进行控制,在普通驱动方式下,驱动电路只是通过对电动机绕组激磁电流的 “ 开 ” 和 “ 关 ” ,使步进电动机 转子以其本身的步距角分步旋转。步进电动机靠定子、转子磁极间的电磁力来进行工作,当它处于 “ 双拍 ” 状态工作时,其定位位置是正好位于两通电磁极的中间, 即依靠两通电磁极电磁吸引力的平衡而获得的。由此可以推论 : 如果能够进一步仔细地控制两磁极电磁吸引力的大小,使转子磁极获得更多种由于两相定子磁极的电 磁吸引力差异而形成的平衡定位位置。步进电机细分驱动方式就是应用了这一原理,在细分驱动时,细分控制器通过控制各相

- 4 -

邵阳学院 VHDL课程设计报告

激磁绕组电流的逐步增大及逐步减小,让转子处于多个磁力平衡状态使电机内部的合成磁场为均匀的圆形旋转磁场,实现步距角变小、电动机的旋转得到细化的目的。合成的磁场矢量的幅值决定了电机旋 转力矩的大小,相邻两个合成磁场矢量的夹角大小决定了该步距角的大小。对于三相步进电机而言,向 A 、 B 、 C 绕组分别通以相位相差 2/3π ,而幅值相同的正 弦波电流 ( 图3-1) ,则合成的电流矢量在空间做幅值恒定的旋转运动,其对应的合成磁场矢量也作相应的旋转从而形成旋转力矩(图3-2 )。 A 、 B 、 C 三相瞬时电流值如式( 1 )、( 2 )、( 3 )所示。

( 1 )

( 2 )

( 3 )

图 3-1 步进电机正弦细分三相绕组电流波形图

图 3-2 旋转力矩图

- 5 -

邵阳学院 VHDL课程设计报告

细分驱动方式下,由于步距角小,步进电机的控制精度明显提高,同时这种驱动方式又有效抑制低速运行中产生的噪声和振荡现象。

图3-3 步进电机细分驱动电路结构图

2.控制器总体设计方案

步进电机三相绕组的电流是正弦阶梯电流,通过改变给定电流的每一次变化的阶梯数可以实现可变细分功能。驱动器的任务就是控制绕组的电流,使之按正弦阶梯波的规律变化。每给一个步进脉冲, A 、 B 、 C 三相绕组的电流沿正弦阶梯波前进一步,电机转动一个步距角。 步进电机控制系统框图如图3-4 所示。采用 FPGA 作为主控制芯片 , 将控制器与驱动器的数字电路部分集成在一片 FPGA 上 实现。为了控制绕组电流,在设计中引入电流跟踪型闭环反馈,反馈电流与给定的正弦电流(离散的正弦表)经过改进的比例积分 PI 调节后进行 SPWM 调制,输 出 6 路 PWM 波,来控制驱动电路三个桥臂上的 6 个 IGBT 开通关断。如果忽略死区时间控制每个桥臂的上下半桥的两路 PWM 波互补即上半桥 PWM 波为高 / 低电平时,下半桥 PWM 波为低 / 高电平。系统采用 14 位宽度 200MHz 计数器产生 PWM 载波,载波频率 12.2KHz ,电流数据全部采用14位精度进行离散化。200MHz 时钟由 50MHz 时钟经 PLL 倍频产生。

FPGA 输 出的 PWM 波经功率模块放大后,控制步进电机运行。步进电机运行状态(转速和转向)通过 LED 指示。步进电机转速是由查表速度决定的, CP 是用来决定查表频率,在细分等级一定的情况下 CP 速度越高电机转速越快。如果电机在高细分下高速旋转则 CP 脉冲频率

- 6 -

邵阳学院 VHDL课程设计报告

就会很高,导致 PWM 脉宽过小,使功率模块 IGBT 控 制桥臂频繁开关,其结果是开关损耗大为增加,功率模块过热。而高细分在步进电机高速旋转时其优势并不明显,所以在不影响电机运行精度的情况下,系统根据转速对细分精度在 4096 、 2048 、 1024 、 512 、 256 、 128 、 64 、 32 之间自动调节,使电机更加平稳可靠的运行。

图3-4 控制系统框图

四、硬件电路设计

以四相反应式步进电机为例,最多只能实现二细分,对于相数较多的步进电机可达到的细分数稍大一些,但也很有限。因此要使可达到的数很大,就必须能控制步进电机各相励磁绕组中的电流,使其按阶梯上升或下降,即在零到最大电流之间能有多个稳定的中间电流状态,相应的磁场矢量幅值也就存在多个中间状态,这样,相邻两相或多相的全成磁场的方向也将有多个稳定的中间状态。四相步进电机八细分时的各相电流是以1/4的步距上升或下降的,在两相中间又插入了七个稳定的中间状态,原来一步所转过的角度将由八步完成,实现了步距角的八细分。由此可见,步进电机的细分驱动的关键在于细分步进电机各相励磁绕组中的电流。本次设计采用四相步进电机八细分方案。 (1)步进细分的系统构成

- 7 -

邵阳学院 VHDL课程设计报告

rom3address[4..0]inclockinstq[15..0]

PWM波形ROM存储器

图 4-1

ParameterValueWIDTH4instsel10datab[]dataa[]result[]BUSMUX图4-2 图4-4中的二路选择器模块

本次设计的步进电机系统是由PWM计数器、波形ROM地址计数器、PWM

波形ROM存储器、比较器、功放电路等组成。其中,PWM计数器在脉宽时钟作用下递增计数,产生阶梯形上升的周期性的锯齿波,同时加载到各数字比较器的一端;PWM波形ROM输出的数据A[3..0]、B[3..0]、C[3..0]、D[3..0]分别加载到各数字比较器的另一端。当PWM计数器的计数值小于波形ROM输出数值时,比较器输出低电平;当PWM计数器的计数值,比较输出高电平。由此可输出周期性的PWM波形。根据图步进电机八细分电流波形的要求,将各个时刻细分电流波形所对应的数值存放于波形ROM中,波形ROM的地址由地址计数器产生。通过对地址计数器进行控制,可以改变步进电机的旋转方向、转动速度、工作/停止状态。EPGA产生的PWM信号控制各功率管驱动电路的导通和关断,其中PWM信号随ROM数据而变化,改变输出信号的占空比,达到限流及细分控制,最终使电机绕组呈现阶梯形变化,从而实现步距细分的目的。输出细分电流信号采用EPGA中LPM_ROM查表法,它是通过在不同地址单元内写入不同的PWM数据,用地址选择来实现不同通电方式下的可变步距细分。示例电路原理图4-4是根据图3-3设计的,其中S选择是否输出细分控制信号,图4-1、4-2、4-3都是图4-4中的模块图。

- 8 -

邵阳学院 VHDL课程设计报告

lpm_compare0unsigned comparea[3..0]b[3..0]INPUTVCCINPUTVCCdataa[3..0]datab[3..0]inst1agbOUTPUTpin_name 图4-3 图4-4中的CMP3模块

(2)细分电流信号的实现

从LPM_ROM输出的数据加在比较器的A端,PWM计数器的计数值加在比较器的B端,当计数值小于ROM数据时,比较器输出底电平;当计数值大于ROM数据时,比较器输出高电平;如果改变ROM中的数据,就可以改变一个计数周期中高低电平的比例。

图4-4中的PWM计数器(CNT8)将整个PWM周期四等份。

图4-4 步进电机PWM细分控制电路图

注:图中的引脚号是本次在CYCLONE的EP1C12Q240C8中所用的引脚接口

(3)细分驱动性能的改善

试验测定显示,在线性电流的驱动下,步进电机转子的微步进是不均匀的,呈现出明显的周期性波动。磁场的边界条件按齿槽情况呈周期性重复是导致微步距角周期性变化的根本原因。同时,不可避免的摩擦 负载(摩擦力矩是不恒定的,或者说在一定范围内也是不确定的)以及其

- 9 -

邵阳学院 VHDL课程设计报告

它负载力矩的波动导致失调角出现不规则的小变动或小跳跃,也使微步距角曲线在周期性波动上出现不光滑的小锯齿形。

步进电机的电流矩角特性并非线性函数,而是近似于正弦函数。若使电流按线性规律上升或下降,必然会造成每一细分步的步距角不均匀,从而影响步距精度。为此在设计中,需要提高LPM_ROM 数据精度, 将数据提高到十六位,使输出的步进细分电流近似为正弦电流,这样不仅提高了步距精度,而且可以改善低频震荡。

五、硬件验证

程序1、程序2和程序3是图4-4中的元件CNT8、DEC2 和CNT24 的VHDL 描述;程序4是LPM_ROM 元件ROM3 中的初始化数据文件:pwm_1.mif,程序5是步进电机的总控制程序(仅供参考)。

LPM_ROM 表总长为834=32 个字节,地址计数器根据控制脉冲与方向输出LPM_ROM 地址,用来选择片内预先写好的数据,将它传送给PWM 电路,从而实现不同步距细分数及方向控制。当细分数为8时,其细分电流波形共有8 个台阶,其周期为834=32 个控制脉冲。地址计数器是一个可加/减计数器,u_d为方向控制;clk0 为速度控制。

六、程序设计

(1)PWM波计数器模块CNT8的VHDL源程序

LIBRARY IEEE; -- 8进制计数器 USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT8 IS

PORT ( CLK : IN STD_LOGIC;

CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END CNT8;

ARCHITECTURE behav OF CNT8 IS

SIGNAL CQI : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN

PROCESS(CLK) BEGIN

IF CLK'EVENT AND CLK = '1' THEN CQI <= CQI + 1;

END IF;

END PROCESS;

CQ <= CQI(4 DOWNTO 1);

- 10 -

邵阳学院 VHDL课程设计报告

END behav;

(2)元件DEC2的VHDL源程序

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL ; ENTITY Dec2 IS

PORT ( CLK : IN STD_LOGIC;

A : IN STD_LOGIC_VECTOR(1 DOWNTO 0) ; D : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ) ; END ;

ARCHITECTURE one OF Dec2 IS

SIGNAL CQ : STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN

PROCESS( CQ ) BEGIN

CASE CQ IS

WHEN \ WHEN \ WHEN \ WHEN \ WHEN OTHERS => NULL ; END CASE ; END PROCESS ; PROCESS(CLK) BEGIN

IF CLK'EVENT AND CLK = '1' THEN CQ <= A; END IF; END PROCESS; END ;

(3)地址计数器模块CNT24的VHDL源程序

LIBRARY IEEE; -- 24进制计数器 USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT24 IS

PORT( CLK,EN,U_D : IN STD_LOGIC;

CQ : OUT STD_LOGIC_VECTOR(4 DOWNTO 0)); END CNT24;

ARCHITECTURE behav OF CNT24 IS

- 11 -

邵阳学院 VHDL课程设计报告

SIGNAL CQI : STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN

PROCESS(CLK, EN, U_D) BEGIN

IF EN = '1' THEN CQI <= CQI;

ELSIF CLK'EVENT 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;

(4)5位地址线ROM3中的数据:pwm_1.mif

WIDTH = 16; DEPTH = 32;

ADDRESS_RADIX = HEX; DATA_RADIX + HEX; CONTENT BEGIN

0:F000;1:G600;3:FC00;4:FF00;5:CF00;6:9F00;7:6F00;

8:0F00;9:0F60;a:0F90;b:0FC0;c:0FF0;d:0CF0;e:0AF0;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;

( 5 ) 步进电机控制电路总程序(仅供参考)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; ENTITY STEP_MOTOR IS

PORT(F,P,D:IN STD_LOGIC:='0';

SPEED:IN STD_LOGIC_VECTOR(1 DOWNTO 0); COIL:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END STEP_MOTOR;

ARCHITECTURE BEHAVIOR OF STEP_MOTOR IS

SIGNAL IND_COIL:STD_LOGIC_VECTOR(3 DOWNTO 0):=\

- 12 -

邵阳学院 VHDL课程设计报告

SIGNAL CLK_SCAN:STD_LOGIC;

SIGNAL PHASE,DIRECTEON:STD_LOGIC;

SIGNAL T:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL COMP:INTEGER RANGE 0 TO 2500; SIGNAL OSC:STD_LOGIC; BEGIN

COIL<=T;

PROCESS(F,OSC)

VARIABLE DELAY:INTEGER RANGE 0 TO 50; BEGIN

IF(F'EVENT AND F='1') THEN IF DELAY>=50 THEN

DELAY:=0;

OSC<=NOT OSC;

ELSE DELAY:=DELAY+1; END IF; END IF;

IF(OSC'EVENT AND OSC='1') THEN CASE SPEED IS

WHEN \ COMP<=COMP+1; ELSE COMP<=COMP; END IF;

WHEN \ COMP<=COMP-1; ELSE COMP<=COMP; END IF;

WHEN OTHERS=>IF COMP<2 THEN COMP<=2;

ELSE COMP<=COMP; END IF; END CASE; END IF;

END PROCESS; PROCESS

VARIABLE D_FF:INTEGER RANGE 0 TO 2500; BEGIN

WAIT UNTIL F='1'; IF D_FF>=COMP THEN

D_FF:=0;CLK_SCAN<=NOT CLK_SCAN;

- 13 -

邵阳学院 VHDL课程设计报告

ELSE

D_FF:=D_FF+1; END IF; END PROCESS; PROCESS(F)

VARIABLE B:STD_LOGIC; BEGIN

IF (F'EVENT AND F='1') THEN B:=(P AND (D AND P)); IF B='1' THEN

PHASE<=NOT PHASE;

B:='0';

ELSE P='0' THEN PHASE<=PHASE;

B:='1';

END IF; END IF;

END PROCESS; PROCESS(F)

VARIABLE B:STD_LOGIC; BEGIN

IF (F'EVENT AND F='1') THEN B:=(D AND (B AND D)); IF B='1' THEN

DIRECTION<=NOT DIRECTION;

B:='0';

ELSIF D='0' THEN

DIRECTION<=DIRECTION;

B:='1';

END IF; END IF; END PROCESS; MOTOR: PROCESS; BEGIN

IF (CLK_SCAN'EVENT AND CLK_SCAN='1') THEN WAIT UNTIL CLK_SCAN='0'; CASE PHASE IS WHEN '1'=>

IF DIRECTION='0' THEN

- 14 -

邵阳学院 VHDL课程设计报告

IF ((IND_COIL=\ IND_COIL<=\ ELSE

IND_COIL<=(IND_COIL(2 DOWNTO 0)&IND_COIL(3)); END IF; ELSE

IF((IND_COIL=\ IND_COIL<=\ ELSE

IND_COIL<=(IND_COIL(0)&IND_COIL(3 DOWNTO 1)); END IF; END IF;

WHEN OTHERS =>IND_COIL<=IND_COIL; END CASE;

T<=NOT IND_COIL; END PROCESS MOTOR; END BEHAVIOR;

七、系统仿真

系统仿真后的结果分别如图6-1、图6-2、图6-3、图6-4所示。

图6-1 PWM波读数器CNT8仿真图

- 15 -

邵阳学院 VHDL课程设计报告

图6-2(1)地址读数器CNT24的仿真图(U_D放置于高电平)

图6-2(2) 地址读数器CNT24的仿真图(U_D放置于低电平)

图6-3 DEC2的仿真图

- 16 -

邵阳学院 VHDL课程设计报告

图6-4 步进电机PWM的仿真波形图

八、感应子式步进电机工作原理

本次实验绝大部分都是在康芯公司GW48系系列EDA实验开发系统上验

证的,对步进电机的了解不是很多,为了能够开拓视野,加深对步进电机了解,特在此加入了对感应子式步进电机的详细描述,以供参考。

(一)反应式步进电机原理

由于反应式步进电机工作原理比较简单。下面先叙述三相反应式步进电机原理。 1.结构:

电机转子均匀分布着很多小齿,定子齿有三个励磁绕阻,其几何轴线依次分别与转子齿轴线错开。0、1/3て、2/3て,(相邻两转子齿轴线间的距离为齿距以て表示),即A与齿1相对齐,B与齿2向右错开1/3て,C与齿3向右错开2/3て,A'与齿5相对齐,(A'就是A,齿5就是齿1)下面是定转子的展开图:

2.旋转:

如A相通电,B,C相不通电时,由于磁场作用,齿1与A对齐,(转 子不受任何力以下均同)。如B相通电,A,C相不通电时,齿2应与B对齐,此时转子向右移过1/3て,此时齿3与C偏移为1/3て,齿4与A偏移(て-1/3て)=2/3て。如C相通电,A,B相不通电,齿3应与C对齐,此时转子又向右移过1/3て,此时齿4与A偏移为1/3て对齐。

- 17 -

邵阳学院 VHDL课程设计报告

如A相通电,B,C相不通电,齿4与A对齐,转子又向右移过1/3て这样经过A、B、C、A分别通电状态,齿4(即齿1前一齿)移到A相,电机转子向右转过一个齿距,如果不断地按A,B,C,A??通电,电机就每步(每脉冲)1/3て,向右旋转。如按A,C,B,A??通电,电机就反转。

由此可见:电机的位置和速度由导电次数(脉冲数)和频率成一一对应关系。而方向由导电顺序决定。不过,出于对力矩、平稳、噪音及减少角度等方面考虑。往往采用A-AB-B-BC-C-CA-A这种导电状态,这样将原来每步1/3て改变为1/6て。甚至于通过二相电流不同的组合,使其1/3て变为1/12て,1/24て,这就是电机细分驱动的基本理论依据。 不难推出:电机定子上有m相励磁绕阻,其轴线分别与转子齿轴线偏移1/m,2/m??(m-1)/m,1。并且导电按一定的相序电机就能正反转被控制——这是步进电机旋转的物理条件。只要符合这一条件我们理论上可以制造任何相的步进电机,出于成本等多方面考虑,市场上一般以二、三、四、五相为多。 3.力矩:

电机一旦通电,在定转子间将产生磁场(磁通量Ф)当转子与定子错开一定角度产生力F与(dФ/dθ)成正比 。

S

其磁通量Ф=Br*S Br为磁密,S为导磁面积, F与L*D*Br成正比L为铁芯有效长度,D为转子直径 Br=N2I/R N2I为励磁绕阻安匝数(电 流乘匝数)R为磁阻。

力矩=力*半径

力矩与电机有效体积*安匝数*磁密 成正比(只考虑线性状态)因此,电机有效体积越大,励磁安匝数越大,定转子间气隙越小,电机力矩越大,反之亦然。

(二)感应子式步进电机 1.特点:

感应子式步进电机与传统的反应式步进电机相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。因永磁体的存在,该电机具有较强的反电势,其自身阻尼作用比较好,使

- 18 -

邵阳学院 VHDL课程设计报告

其在运转过程中比较平稳、噪音低、低频振动小。

感应子式步进电机某种程度上可以看作是低速同步电机。一个四相电机可以作四相运行,也可以作二相运行。(必须采用双极电压驱动),而反应式电机则不能如此。例如:四相,八相运行(A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍运行方式。

一个二相电机的内部绕组与四相电机完全一致,小功率电机一般直接接为二相,而功率大一点的电机,为了方便使用,灵活改变电机的动态特点,往往将其外部接线为八根引线(四相),这样使用时,既可以作四相电机使用,可以作二相电机绕组串联或并联使用。

2.分类

感应子式步进电机以相数可分为:二相电机、三相电机、四相电机、五相电机等。以机座号(电机外径)可分为:42BYG(BYG为感应子式步进电机代号)、57BYG、86BYG、110BYG、(国际标准),而像70BYG、90BYG、130BYG等均为国内标准。 3.步进电机的静态指标术语

相数:产生不同对极N、S磁场的激磁线圈对数。常用m表示。

拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A. 步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。

定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)

静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。

虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。 4.步进电机动态指标及术语: (1)步距角精度:

步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。 (2)失步:

电机运转时运转的步数,不等于理论上的步数。称之为失步。 (3)失调角:

- 19 -

邵阳学院 VHDL课程设计报告

转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。 (4)最大空载起动频率:

电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。 (5)最大空载的运行频率:

电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。

(6)运行矩频特性:

电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。如下图所示:

其它特性还有惯频特性、起动频率特性等。

电机一旦选定,电机的静力矩确定,而动态力矩却不然,电机的动态力矩取决于电机运行时的平均电流(而非静态电流),平均电流越大, 电机输出力矩越大,即电机的频率特性越硬。如下图所示:

其中,曲线3电流最大、或电压最高;曲线1电流最小、或电压最低,曲线与负载的交点为负载的最大速度点。 要使平均电流大,尽可能提高 驱动电压,使采用小电感大电流的电机。 (7)电机的共振点:

步进电机均有固定的共振区域,二、四相感应子式步进电机的共振区一般在180-250pps之间(步距角1.8度)或在400pps左右(步距角为0.9度),电机驱动电压越高,电机电流越大,负载越轻,电机体积越小,则共振区向上偏移,反之亦然,为使电机输出电矩大,不失步和整个系统的噪音降低,一般工作点均应偏移共振区较多。 (8)电机正反转控制:

当电机绕组通电时序为AB-BC-CD-DA时为正转,通电时序为DA-CA-BC-AB时为反转。

- 20 -

邵阳学院 VHDL课程设计报告

(三)驱动控制系统组成

使用、控制步进电机必须由环形脉冲,功率放大等组成的控制系统,其方框图如下:

1.脉冲信号的产生

脉冲信号一般由单片机或CPU产生,一般脉冲信号的占空比为0.3-0.4 左右,电机转速越高,占空比则越大。 2.信号分配

我厂生产的感应子式步进电机以二、四相电机为主,二相电机工作方式有二相四拍和二相八拍二种,具体分配如下:二相四拍为,步距角为1.8度;二相八拍为,步距角为0.9度。四相电机工作方式也有二种,四相四拍为AB-BC-CD-DA-AB,步距角为1.8度;四相八拍为AB-B-BC-C-CD-D-AB,(步距角为0.9度)。 3.功率放大

功率放大是驱动系统最为重要的部分。步进电机在一定转速下的转矩取决于它的动态平均电流而非静态电流(而样本上的电流均为静态电流)。平均电流越大电机力矩越大,要达到平均电流大这就需要驱动系统尽量克服电机的反电势。因而不同的场合采取不同的的驱动方式,到目前为止,驱动方式一般有以下几种:恒压、恒压串电阻、高低压驱动、恒流、细分数等。

为尽量提高电机的动态性能,将信号分配、功率放大组成步进电机的驱动电源。我厂生产的SH系列二相恒流斩波驱动电源与单片机及电机接线图如下:

- 21 -

邵阳学院 VHDL课程设计报告

注:

CP 接CPU脉冲信号(负信号,低电平有效) OPTO 接CPU+5V

FREE 脱机,与CPU地线相接,驱动电源不工作 DIR 方向控制,与CPU地线相接,电机反转 VCC 直流电源正端 GND 直流电源负端 A 接电机引出线红线 接电机引出线绿线 B 接电机引出线黄线 接电机引出线蓝线

步进电机一经定型,其性能取决于电机的驱动电源。步进电机转速越高,力距越大则要求电机的电流越大,驱动电源的电压越高。电压对力矩影响如下:

4.细分驱动器

在步进电机步距角不能满足使用的条件下,可采用细分驱动器来驱动步进电机,细分驱动器的原理是通过改变相邻(A,B)电流的大小,以改变合成磁场的夹角来控制步进电机运转的。

(四)步进电机的应用 1 .步进电机的选择

步进电机有步距角(涉及到相数)、静转矩、及电流三大要素组成。一旦三大要素确定,步进电机的型号便确定下来了。 (1)步距角的选择

电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)

- 22 -

邵阳学院 VHDL课程设计报告

换算到电机轴上,每个当量电机应走多少角度(包括减速)。电机的步距角应等于或小于此角度。目前市场上步进电机的步距角一般有0.36度/0.72度(五相电机)、0.9度/1.8度(二、四相电机)、1.5度/3度 (三相电机)等。

(2)静力矩的选择

步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。单一的惯性负载和单一的摩擦负载是不存在的。直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。一般情况下,静力矩应为摩擦负载的2-3倍内好,静力矩一旦选定,电机的机座及长度便能确定下来(几何尺寸) (3)电流的选择

静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流(参考驱动电源、及驱动电压) 综上所述选择电机一般应遵循以下步骤:

(4)力矩与功率换算

步进电机一般在较大范围内调速使用、其功率是变化的,一般只用力矩来衡量,力矩与功率换算如下:

P= Ω2M Ω=2π2n/60 P=2πnM/60

其P为功率单位为瓦,Ω为每秒角速度,单位为弧度,n为每分钟转速,M为力矩单位为牛顿2米。

P=2πfM/400(半步工作) 其中f为每秒脉冲数(简称PPS) 2.应用中的注意点

(1)步进电机应用于低速场合---每分钟转速不超过1000转,(0.9度时6666PPS),最好在1000-3000PPS(0.9度)间使用,可通过减速装置

- 23 -

邵阳学院 VHDL课程设计报告

使其在此间工作,此时电机工作效率高,噪音低。

(2)步进电机最好不使用整步状态,整步状态时振动大。

(3)由于历史原因,只有标称为12V电压的电机使用12V外,其他电机的电压值不是驱动电压伏值 ,可根据驱动器选择驱动电压(建议:57BYG采用直流24V-36V,86BYG采用直流50V,110BYG采用高于直流80V),当然12伏的电压除12V恒压驱动外也可以采用其他驱动电源, 不过要考虑温升。

(4)转动惯量大的负载应选择大机座号电机。

(5)电机在较高速或大惯量负载时,一般不在工作速度起动,而采用逐渐升频提速,一电机不失步,二可以减少噪音同时可以提高停止的定位精度。

(6)高精度时,应通过机械减速、提高电机速度,或采用高细分数的驱动器来解决,也可以采用5相电机,不过其整个系统的价格较贵,生产厂家少,其被淘汰的说法是外行话。

(7)电机不应在振动区内工作,如若必须可通过改变电压、电流或加一些阻尼的解决。

(8)电机在600PPS(0.9度)以下工作,应采用小电流、大电感、低电压来驱动。

(9)应遵循先选电机后选驱动的原则。

九、心得体会

这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,特别是各元件之间的连接,以及信号的定义,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终于舒了一口气。在波形仿真时,也遇到了一点困难,想要的结果不能在波形上得到正确的显示:在设定输入的时钟信号后,数字秒表开始计数,但是始终看不到秒和小时的循环计数。后来,在数十次的调试之后,才发现是因为输入的时钟信号对于器件的延迟时间来说太短了。经过屡次调试,终于找到了比较合适的输入数值:时钟周期设置在15秒左右比较合适。另外,Endtime的值需要设置的长一点:500us左右,这样就可以观察到完整的仿真结果。

其次,在连接各个模块的时候一定要注意各个输入、输出引脚的线宽,因为每个线宽是不一样的,只要让各个线宽互相匹配,才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示,在器件的选择上也有一定的技巧,只有选择了合适当前电路所适合的器件,编译才能得到完满成功。

- 24 -

邵阳学院 VHDL课程设计报告

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

总的来说,这次设计的步进电机细分驱动控制电路还是比较成功的,在设计中遇到了很多问题,最后在石老师的辛勤的指导下,终于游逆而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。最后,对给过我帮助的石老师再次表示忠心的感谢!

参考文献:

[1] 谭会生,张昌凡. EDA技术及应用. 西安:西安电子科技大学出

版社,2001

[2]王锁萍,龚建荣. 电子设计自动化(EDA)教程. 成都:电子科技

大学出版社,2000

[3]张凯,林伟. VHDL实例剖析. 北京:国防工业出版社,2004 [4]黄正谨,徐坚. CPLD系统设计技术入门与应用. 北京:电子工业出

版社,2002

[5]俞家琪,何立民. 步进电机基础教程. 北京:北京航空航天大学出

版社,2000

[6]第四全国大学生电子设计竞赛组委会. 第三全国大小生电子设计

竞赛获奖作品(1999). 北京:北京理工大学出版社,2001

- 25 -

本文来源:https://www.bwwdw.com/article/q6lo.html

Top