您的当前位置:首页正文

实验九 直流电机的PWM控制电路(2011)OK

2023-05-26 来源:欧得旅游网
实验九 直流电机的PWM控制电路

一、实验目的

1. 学习PWM的FPGA控制原理。

2. 掌握直流电机PWM控制电路的控制原理和设计方法。

二、预习要求

1. 仔细阅读实验指导,了解直流电机的PWM控制原理,掌握直流电机PWM控制电

路的设计思路和设计方法。

2. 分别设计转速控制电路、旋转方向控制电路和转速测量电路,并对各部分电路进行

时序仿真。

3. 设计顶层图形文件,进行时序仿真。 4. 对顶层设计文件进行引脚锁定。 5. 在预习报告中绘制表格,以便下载后记录数码管8显示的电机转速档位和数码管5、

4、2、1显示的转速值。

三、实验内容

1. 设计直流电机控制电路,使之控制直流电机的转速和旋转方向。

直流电机的转速分为4档,0档为不运转,1~3档转速依次增加,通过按键控制直流电机的转速,并用数码管显示当前的转速档位。在直流电机上方提供了红外光电电路,可以测量直流电机的转速。根据频率计原理,设计转速测量电路,并通过数码管显示测量结果。通过按键控制直流电机旋转的方向。使电路具有系统复位功能。

进行模块划分和设计,对各个模块进行仿真验证,深入理解直流电机的控制方法。

2. 在GW48-SOPC+实验箱上进行设计的下载和验证。 设置实验箱工作在模式7(按键1、4、7按下时输出均为单脉冲,已经过消抖,高有效)。 使用按键4控制直流电机的转速,每按下该按键,则转速在1、2、3、0四档间循环变化(0档为不旋转)。

在直流电机旋转过程中,使用按键1控制直流电机旋转的方向,初始时为逆时针旋转(反转);当按下按键1,则变为顺时针旋转(正转);再次按下按键1,又变为反转……。

使用按键7进行系统复位,按下此键则电机停止运转。

由数码管8显示当前的转速档位值。用数码管5、4、2、1以十进制显示转速测量结果。

四、实验原理

1. 直流电机的工作原理

直流电机是一种重要的执行机构,被广泛应用于各种机械设备中。它使用直流电流作为驱动电流。直流电机内部主要由主磁极、绕组线圈、换向片、电刷等部件构成,其结构如图2. 1所示。

直流电机的两极输入直流电流,根据安培定律,通电线圈在磁场中受到磁场作用力的影响,可以驱动线圈旋转;当线圈旋转角度超过磁场作用力范围时,换向片能够改变线圈内的

1

电流方向,进而改变作用力的方向,保证线圈继续旋转。对直流电机的旋转方向进行控制,就是通过改变直流电的极性,从而改变绕组线圈中的电流方向;对直流电机的转速进行控制,就是通过改变进入绕组线圈的电流大小,从而改变磁场作用力的大小。

图2. 1 直流电机的结构示意图

对直流电机旋转方向的控制较为简单,只需要交换直流电的极性即可。但是,对直流电机的转速进行精确控制就需要有专门的驱动机构,以产生特定的驱动电流。在数字系统中,可以有多种方法实现直流电机的驱动机构,主要的方法包括数模转换(DAC)、脉宽调制(PWM,Pulse Width Modulation)等,其中,应用最为广泛的是脉宽调制的方法。

2. PWM控制技术

PWM控制技术即脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要的波形(含形状和幅值)。脉宽调制是一种对模拟信号电平进行数字编码的方法,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

在采样控制理论中,有一个重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效果基本相同,是指环节的输出响应波形基本相同,低频段非常接近,仅在高频段略有差异。例如用一系列等幅不等宽的脉冲来代替一个正弦半波,将正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等,如图2. 2中a)图所示;将这些脉冲序列用矩形脉冲代替,等幅、不等宽,二者中点重合,各矩形脉冲的面积(冲量)与a)图中对应的脉冲相等,其宽度按正弦规律变化,如图2. 2中b)图所示。可以看出,等幅值、不同宽度的一系列矩形脉冲与正弦半波的作用是等效的。要改变等效输出正弦波的幅值,按同一比例改变各矩形脉冲宽度即可。

因此可以用等幅值、不同宽度的一系列脉冲来等效模拟信号波形。对于直流电压或电流,可以简单地用一系列等幅值、等宽度的脉冲来等效。而要改变电压或电流大小,只要使用高分辨率的计数器,调整输出方波的占空比(在一串理想的脉冲序列中,正脉冲的持续时间与脉冲周期的比值),即可对模拟电平信号进行编码,实现数字系统对模拟电压或电流大小的精确控制。

PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。大多数负载(无论是电感性负载还是电容性负载)需要的调制频率高于10Hz,通常调制频率为1KHz到200KHz之间。

2

图2. 2 用PWM波代替正弦半波

3. 使用PWM控制技术控制直流电机

根据PWM原理控制直流电机,就是要设计相应的控制电路,对直流电机驱动电流信号的极性、占空比进行控制,以达到控制直流电机的旋转方向和转速的目的。在本实验中,由于对转速没有具体的要求,因此,可以简单地通过输出占空比较高的信号获得较高的转速,输出占空比较低的信号来获得较低的转速。

在工业控制系统中,由于对直流电机的工作状态有更高的要求,因此,通常会增加反馈电路对直流电机的工作状态进行监控,通过监控的结果调整驱动信号,实现直流电机的闭环控制。

五、实验步骤/指导

1. 总体设计思路

根据设计要求,直流电机的PWM控制电路包括3个主要部分:转速控制电路、旋转方向控制电路和转速测量电路。转速控制电路主要根据转速控制信号,输出占空比不同的驱动电流信号,送入旋转方向控制电路。旋转方向控制电路根据转向控制信号来交换电机驱动信号和接地信号。转速测量电路在1秒内对红外光电计数器产生的脉冲信号进行计数,得到电机的转速。

直流电机的PWM控制电路其原理框图如图2. 3所示。

图中,输入信号有:clk5为PWM调制信号,频率为32768Hz;speed为转速控制信号;clr为系统复位信号;ZF为转向控制信号;cntt为红外光电电路测得的电机转速(频率);clk0为周期为1秒的时钟信号。

输出信号有:disp[3..0],当前转速档位值,驱动数码管显示;Z(正向)和F(反向),直流电机的驱动电流信号,分别连接直流电机的正负两极;data[15..0],所测量的电机转速,用以驱动4个数码管显示。

3

图2. 3 直流电机的PWM控制电路原理框图

2. 转速控制电路的设计

功能:对直流电机的转速进行控制,即根据不同的转速档位,输出占空比不同的驱动电流信号。占空比高,则直流电机的转速较高,占空比低,则转速较低。

(1)设计思路

通过转速控制按钮产生不同的转速档位,根据不同的转速档位设置不同的预置数。使用一个计数器按调制频率进行循环计数,并将计数值与预置数值进行比较:在预置数值大于计数值期间,电机驱动信号输出高电平;在预置数值小于或等于计数值期间,电机驱动信号输出低电平,即可改变输出信号的占空比。转速控制电路的原理图如图2. 4所示。

图2. 4 直流电机的转速控制电路原理图

转速控制电路可以采用一个程序speed_ctrl.v实现。其时序仿真波形如图2. 5和图2. 6所示。

图2. 5 speed_ctrl的时序仿真波形

4

图2. 6 speed_ctrl的时序仿真波形缩图

3. 旋转方向控制电路的设计

功能:根据电机旋转方向控制信号的高低来交换电机驱动电流信号和接地信号。可以采用如图2. 7所示的结构实现。

当选择控制信号Switch为高电平时,二选一数据选择器1、2选择S1端信号,则Z、F分别输出电机驱动电流信号和接地信号;当Switch为低电平时,二选一数据选择器1、2选择S2端信号,Z、F分别输出接地信号和电机驱动电流信号。从而实现开关控制直流电机的旋转方向。

图2. 7 旋转方向控制电路的原理图

可以直接采用图形文件来实现,如图2. 8所示。

图2. 8 旋转方向控制电路的图形文件(DirectionControlTest.bdf)

其中,signal为转速控制电路产生的驱动电流信号;ZF为转向控制按钮信号,后接一个T’FF,将脉冲信号转换为高低电平信号;输出引脚Z(正向)和F(反向)分别连接直流电机的正负两个极性。

5

4. 转速测量电路的设计

在实验箱的直流电机上方有一个红外光电计数器,用来测量直流电机的转速。直流电机的转子上有一个孔,红外光电计数器的发送端和感应端在该孔的两侧。直流电机的转子每旋转一周,红外光电计数器就产生一个脉冲信号,记录该脉冲信号的频率,就能获得直流电机的转速。设计转速测量电路实际上就是要设计一个4位十进制频率计。

4位十进制频率计的功能就是在指定的时钟周期(1秒)内对输入的脉冲信号进行计数,并通过锁存器输出,驱动数码管显示所测频率。请参考实验“8位十进制频率计”进行设计。4位十进制频率计的图形文件frequency.bdf如图2. 9所示。

图2. 9 4位十进制频率计(frequency.bdf)

frequency.bdf的仿真波形如图2. 10所示。

图2. 10 frequency.bdf的仿真波形

5. 顶层图形文件DCMotor.bdf的设计

顶层图形文件DCMotor.bdf如图2. 11所示。 对DCMotor.bdf进行时序仿真,这里设置Grid size为0.1ms,设置clk0的频率为1Hz,clk5(PWM调制频率)的频率为2000Hz,cntt(电机转速)的频率为500Hz。DCMotor.bdf的仿真波形分别如图2. 12、图2. 13所示。

提示:实际上当利用speed按钮控制电机转速时,电机转速会发生变化,从而使红外

光电计数器输出cntt发生变化,在编辑激励波形时,应使cntt的频率随speed的变化而变化。但这里为简单起见,只是将cntt的频率设为500Hz。

6

图2. 11 顶层图形设计文件(DCMotor.bdf)

图2. 12 DCMotor.bdf的仿真波形:转速控制

图2. 13 DCMotor.bdf的仿真波形:转向控制

6. 实验箱资源分配与下载调试

7

本实验使用实验箱的模式7,在实验前,将实验箱左上角的跳线JM1跳接到“直流允许”、跳线JM2跳接到“计数允许”的位置;跳线JDSP跳接到“ENAB”的位置,数码管设为独立显示模式。clock5作为PWM调制脉冲信号源,选择32768Hz;clock0作为频率计的标准时钟,选择1Hz。

clk0接Pin28;clk5接Pin152;

ZF:电机旋转方向控制信号,接按键1,接Pin233; speed:电机转速控制信号,接按键4,接Pin236; clr:系统复位信号,接按键7,接Pin239;

cntt:电机转速,接红外光电计数器输出,接Pin218;

spd_level[3..0]:当前转速档位,驱动数码管8,接Pin160、159、158、141; Z和F:直流电机驱动信号,分别接Pin226和Pin225;

data[15..0]:电机转速的测量值,驱动数码管5、4、2、1,数码管5接Pin136~Pin133,数码管4接Pin132、128、41、21,数码管2接Pin20~Pin17,数码管1接Pin16~Pin13。

进行在线测试:首先按动键4切换电机的转速档位,观察电机的转速变化,数码管8应显示对应的转速档位,数码管5、4、2、1应显示相应的转速值,将相关数值记录在表格中;然后在电机旋转过程中,按动键1,改变电机旋转的方向;按动键7,观察电机应立即停转,数码管的值都应变成0。

六、实验报告要求

1. 总结直流电机的PWM控制原理。

2. 对直流电机转速控制电路进行时序仿真,并对仿真波形进行分析,体会脉宽调制控

制的原理。观察电机驱动信号是否有毛刺,如果有,分析毛刺产生的原因,并设法消除它。

3. 在进行验证时,按动键4控制电机的转速,并用表格记录数码管8显示的电机转速

档位和数码管5、4、2、1显示的转速值。在电机旋转过程中,按动键1,改变电机旋转的方向,并记录结果。

4. 通过本实验,你认为在划分功能模块时应该考虑哪些因素?怎样划分才是合理的?

是不是模块划分得越细越好?如果模块太多,有可能出现什么问题?

5. 什么是竞争冒险?它是如何产生的?竞争冒险一定有害吗?在用FPGA设计电路

时,如何消除竞争冒险?

6. 功能扩展:通过直流电机上方的光电计数器,可以测得直流电机的转速,怎样将该

值作为负反馈,实现直流电机转速的闭环控制?

8

因篇幅问题不能全部显示,请点此查看更多更全内容