直流电机PWM波调速的设计与制作实验报告

《单片机原理与应用》课程设计报告

直流电机PWM波调速的设计与制作

要求:

              安徽科技学院理学院物电系

一、  实验设计目的

    1、掌握脉宽调制的方法;

2、用程序实现脉宽调制,并对直流电机进行调速控制;

3、学习用LM339内部四个电压比较器产生锯齿波、直流电压、PWM脉宽;

4、掌握脉宽调制PWM控制模式;

5、掌握电子系统的一般设计方法;

6、培养综合应用所学知识来指导实践的能力;

7、掌握常用元器件的识别和测试,熟悉常用仪表,了解电路调试的基本方法进一步掌握制版、电路调试等技能。

二、  实验设计设备

单片机开发板,单片机最小系统 ,驱动器,直流电机,连接导线等

三、  实验设计原理

1)      设计总体方案

                        总体设计模块

1、STC89C52

本设计运用单片机芯片STC89C52,通过控制单片机输出引脚P1.7输出的高低电平的延时时间长短来达到控制电机的目的,运用单片机定时器/计数器1对光电编码盘产生的冲进行计数,将所得到的数值送到P0口显示。

                       8051单片机引脚描述

·电源引脚Vcc和Vss : Vcc:电源端,接+5V,Vss:接地端。
· 时钟电路引脚XTAL1和XTAL2:
· XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
· XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使

用外部TTL时钟时,该引脚为外部时钟的输入端。
·地址锁存允许ALE:系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。

· 外部程序存储器读选通信号PSEN:PSEN是外部程序存储器的读选通信号,低电平有效。

· 程序存储器地址允许输入端EA /VPP :  当EA为高电平时,CPU执行片内程序存储器指令,但当

·PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当EA为低电平时,CPU只执行片外程序存储器指令。

·复位信号RST:该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。

· 输入/输出端口引脚P0,P1,P2和P3:

~P0口(P0.0~P0.7):该端口为漏极开路的8位准双向口,它为外部低8位地址线和8位数据线复用端口,驱动能力为8个LSTTL负载。

~P1口(P1.0~P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。

~P2口(P2.0~P2.7):它为一个内部带上拉电阻的8位准双向I/O口,P2口的驱动能力也为4个LSTTL负载。在访问外部程序存储器时,作为高8位地址线。

~P3口(P3.0~P3.7):为内部带上拉电阻的8位准双向   

~I/O口,P3口除了作为一般的I/O口使用之外,每个引脚都具有第二功能。

2、驱动电路

(1)、本实验用的是达林顿反相驱动器ULN2803;

           ULN2803: 达林顿反相驱动器。(元件图)

     ULN2803: 达林顿反相驱动器

八路NPN达林顿连接晶体管阵系列特别适用于低辑电平数字电路(诸如TTL, CMOS或PMOS/NMOS)和较高的电流/电压要求之间的接口,广泛应用于计算机,工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中。所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。ULN2803的设计与标准TTL系列兼容,而ULN2804最适于6至15伏高电平CMOS或PMOS。

主要特点:

达林顿管驱动器

包含8个NPN达林顿管

高耐压,大电流

器件编号:ULN2803

封装类型:AP=DIP18,AFW=SOL18

无铅/RoHS认证

输出击穿电压: 50(V)

输出电流: 500(mA)

输入电阻 :2.7k(Ω)

推荐输入电压:5(V)

温度范围:-40℃~+85℃

包装规格:AFW:Tape&Reel|

不要超过每个驱动器的电流的限制[1]

3锁存器连接及数码管显示电路

(1)、74HC573锁存器

本实验利用此锁存器控制数码管的位选和段选;

74HC573: 八进制 3 态非反转透明锁存器

         74HC573 

  

                           

 74HC573引脚图

特性:高性能硅门 CMOS 器件

· SL74HC573 跟 LS/AL573 的管脚一样。器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL 输出兼容。

·当锁存使能端LE为高时,这些器件的锁存对于数据是透明

的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。

·×\u36755X出能直接接到 CMOS,NMOS 和 TTL 接口上

×\u25805X作电压范围:2.0V~6.0V;;×\u20302X输入电流:1.0uA

×CMOS 器件的高噪声抵抗特性

(2)、数码管显示

   本实验用的是7SEG-MPX6-CC型号数码管;

   数码管的第一位显示的是电机转速标识,第二、三位显示的是PWM波的占空比;

4.    按键电路

加速按键、减速按键分别接单片机的P3.6和P3.7口以达到控制电机转速的目的;

两按键接到单片机上都是低电平有效;

2)    实验设计思路

(1)PWM波

PWM(Pulse Width Modulation)简称脉宽调制。即通过改变输出脉冲的占空比,实现对直流电机进行调速控制。

PWM 一种按规律改变的脉冲序列的脉冲宽度,调节输出量和波形的一种调制方式,常用的是矩形波PWM信号,在控制时需要调节PWM波的占空比。

占空比是指高电平(VH)持续时间在一个周期内的百分比。控制电机转速时,占空比越大,速度越快,占空比达到100%,速度最快。

通过控制单片机上输出不同占空比的PWM波信号来控制直流电机的转速。

实验线路图:

3)      实验元器件

AT89C52、74HC573锁存器、ULN2803达林顿反相驱动器、直流电机、电阻、电源(VCC)、数码管(7SEG-MPX6-CC)

四、    实验设计程序

  ()程序流程图

(二)、程序源代码(C语言)

#include<reg52.h>

#define uchar unsigned char

sbit dula=P2^6;                        //数码管显示段选i/0口定义

sbit wela=P2^7;                        //数码管显示位选I/O口定义

sbit dianji=P1^7;                      //控制电机I/O口定义

sbit jia_key=P3^6;                     //加速键

sbit jian_key=P3^7;                    //减速键

uchar num=0,show_num=1,gao_num=1,di_num=3;

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //数码管显示数据表

void delay(uchar i)                   //延时程序

{

   uchar j,k;

   for(j=i;j>0;j--)

     for(k=500;k>0;k--);

          }

 void display()                        //数码管显示函数

 {

    dula=0;

         P0=table[show_num];

         dula=1;

         dula=0;

         P0=0xfe;

         wela=1;

         wela=0;

         delay(5);

         P0=table[gao_num];

         dula=1;

         dula=0;

         P0=0xfd;

         wela=0;

         wela=1;

         delay(5);

         P0=table[di_num];

         dula=1;

         dula=0;

         P0=0xfb;

         wela=0;

         wela=1;

         delay(5);

         P0=table[0];

         dula=1;

         dula=0;

         P0=0x3f;

         wela=0;

         wela=1;

         delay(5);

         }

void key()                      //按键检测处理函数

{

    if(jia_key==0)

           {

              delay(5);              //消抖

                   if(jia_key==0)

                    {

                      num++;              //加速键按下速度标志加1

                           if(num==4)

                           num=3;              //已经达到最大3,则保持

                           while(jia_key==0);  //等待按键松开

                           }

                    }

                   if(jian_key==0)

                   {

                     delay(5);

                     if(jian_key==0)

                      {

                              if(num!=0)       //减速键按下,速度标志减1

                                num--;

                                    else

                                      num=0;        //已经达到最小0,则保持

                                      while(jian_key==0);    }

                           }

         }

void dispose()                //根据速度标志进行数据处理

{

    switch(num)

         {

           case 0:

                  show_num=1;     //数码管第一位显示数据

                            gao_num=1;      //PWM信号中高电平持续时间标志1

                            di_num=3;  //PWM信号中低电平持续时间标志3,此时速度最慢

                            break;

           case 1:

                  show_num=2;

                            gao_num=2;

                            di_num=2;

                            break;

           case 2:

                  show_num=3;

                            gao_num=3;

                            di_num=1;

                            break;

           case 3:

                  show_num=4;

                            gao_num=4;

                            di_num=0;      //此时速度最快

                            break;    }

  }

void qudong()              //控制电机程序

{

    uchar i;

         if(di_num!=0)

         {

           for(i=0;i<di_num;i++)

       {

              dianji=0;        //实现PWM信号低电平输出

                   display();       //利用显示函数其延时作用,也不影响数码管

                   }

           }

          for(i=0;i<gao_num;i++)

          {

            dianji=1;        //实现PWM高电平输出

            display();

            }

  }

void main()

{

   while(1)

      {

              dianji=0;

                   key();

                   dispose();

                   qudong();

                   }

         }

五、      实验操作

(1)、利用实验时提供的单片机应用系统及直流电机驱动电路板,编制控制程序实现直流电机PWM调速控制。

(2)、连接实验电路,观察PWM调控速度控制,实现加速、减速调速控制。

实验硬件连接图(ISIS 7 Professional

在单片机上验证的实物连接图

                    实验PCB

六、   实验设计心得体会

通过一学期的单片实验,学到了很多有用的东西。特别是单片机综合实验,让我对单片机和c语言程序设计都有了新的理解。

   首先,对MCS-52单片机的工作原理和具体的功能实现有了一个更高的认识。对于硬件电路,以前只是大概了解,实验后,对单片机的各个端口,寄存器都有了一个比较系统的认识。 其次,学会了C语言的程序编写。 再次,单片机的功能很强大,所能实现的功能并不仅限于这些实验。单片机还能实现更多更实用的功能,应该学会触类旁通,举一反三,在实验的基础上创新,开发自己的创造力。

最后,学习单片机实验不仅是学会其电路的工作原理和程序编写,更要学会一种学习的方法。对待以后的课程,要有一种细心的态度,就如单片机实验,既要了解硬件电路,知道每一个元件的工作原理和作用,还要知道程序的流程和基本思路,使所掌握的知识系统化、体系化。

 

第二篇:[实验]直流并励电动机

  直流并励电动机

一.实验目的

1.掌握用实验方法测取直流并励电动机的工作特性和机械特性。

2.掌握直流并励电动机的调速方法。

二.预习要点

1.什么是直流电动机的工作特性和机械特性?

2.直流电动机调速原理是什么?

三.实验项目

1.工作特性和机械特性

保持U=UN 和If =IfN 不变,测取n、T2 、n=f(Ia)及n=f(T2)。

2.调速特性

(1)改变电枢电压调速

保持U=UN 、If=IfN =常数,T2 =常数,测取n=f(Ua)。

(2)改变励磁电流调速

保持U=UN,T2 =常数,R1 =0,测取n=f(If)。

(3)观察能耗制动过程

四.实验设备及仪器

1.MEL系列电机教学实验台的主控制屏(MEL-I、MEL-IIA、B)。

2.电机导轨及涡流测功机、转矩转速测量(MEL-13)或电机导轨及编码器、转速表。

3.可调直流稳压电源(含直流电压、电流、毫安表)

4.直流电压、毫安、安培表(MEL-06)。

5.直流并励电动机。

6.波形测试及开关板(MEL-05)。

7.三相可调电阻900Ω(MEL-03)。

五.实验方法

1.并励电动机的工作特性和机械特性。

实验线路如图1-6所示

U1:可调直流稳压电源

R1、Rf:电枢调节电阻和磁场调节电阻,位于MEL-09。

mA、A、V2:直流毫安、电流、电压表(MEL-06)

G:涡流测功机

IS:涡流测功机励磁电流调节,位于MEL-13。

a.将R1调至最大,Rf调至最小,毫安表量程为200mA,电流表量程为2A档,电压表量程为300V档,检查涡流测功机与MEL-13是否相连,将MEL-13“转速控制”和“转矩控制”选择开关板向“转矩控制”,“转矩设定”电位器逆时针旋到底,打开船形开关,按实验一方法起动直流电源,使电机旋转,并调整电机的旋转方向,使电机正转。

b.直流电机正常起动后,将电枢串联电阻R1调至零,调节直流可调稳压电源的输出至220V,再分别调节磁场调节电阻Rf和“转矩设定”电位器,使电动机达到额定值:U=UN=220V,Ia=IN,n=nN=1600r/min,此时直流电机的励磁电流If=IfN(额定励磁电流)。

c.保持U=UN,If=IfN不变的条件下,逐次减小电动机的负载,即逆时针调节“转矩设定”电位器,测取电动机电枢电流Ia、转速n和转矩T2,共取数据7-8组填入表1-8中。表1-8          U=UN=220V     If=IfN=       A   Ka=    Ω

2.调速特性

(1)改变电枢端电压的调速

a.按上述方法起动直流电机后,将电阻R1调至零,并同时调节负载,电枢电压和磁场调节电阻Rf,使电机的U=UN,Ia=0.5IN,If=IfN,记录此时的T2=     N.m

b.保持T2不变,If=IfN不变,逐次增加R1的阻值,即降低电枢两端的电压Ua,R1从零调至最大值,每次测取电动机的端电压Ua,转速n和电枢电流Ia,共取7-8组数据填入表1-9中。

表1-9                                         If=IfN=       A,T2=      N.m

(2)改变励磁电流的调速

a.直流电动机起动后,将电枢调节电阻和磁场调节电阻Rf调至零,调节可调直流电源的输出为220V,调节“转矩设定”电位器,使电动机的U=UN,Ia=0.5IN,记录此时的T2=     N.m

b.保持T2和U=UN不变,逐次增加磁场电阻Rf阻值,直至n=1.3nN,每次测取电动机的n、If和Ia,共取7-8组数据填写入表1-10中。

表1-10                                       U=UN=220V,T2=         N.m

(3)能耗制动

按图1一7接线

U1:可调直流稳压电源

R1、Rf:直流电机电枢调节电阻和磁场调节电阻(MEL-09)

RL:采用MEL-03中两只900Ω电阻并联。

S:双刀双掷开关(MEL-05)

a.将开关S合向“1”端,R1调至最大,Rf调至最小,起动直流电机。

b.运行正常后,从电机电枢的一端拨出一根导线,使电枢开路,电机处于自由停机,记录停机时间。

c.重复起动电动机,待运转正常后,把S合向“2”端记录停机时间。

d.选择不同RL阻值,观察对停机时间的影响。

六.实验报告

1.由表1-8计算出 P2和η,并绘出n、T2、η=f(Ia)及n=f(T2)的特性曲线。

电动机输出功率

P2=0.105nT2

式中输出转矩T2 的单位为N·m,转速n的单位为r/min。

电动机输入功率

P1=UI

电动机效率

η=×100%

电动机输入电流

I =Ia +IfN

由工作特性求出转速变化率:

Δn= ×100%

2.绘出并励电动机调速特性曲线n=f(Ua)和n=f(If)。分析在恒转矩负载时两种调速的电枢电流变化规律以及两种调速方法的优缺点。

3.能耗制动时间与制动电阻RL的阻值有什么关系?为什么?该制动方法有什么缺点?

七.思考题

1.并励电动机的速率特性n=f(Ia)为什么是略微下降?是否会出现上翘现象?为什么?上翘的速率特性对电动机运行有何影响?

2.当电动机的负载转矩和励磁电流不变时,减小电枢端压,为什么会引起电动机转速降低?

3.当电动机的负载转矩和电枢端电压不变时,减小励磁电流会引起转速的升高,为什么?

4.并励电动机在负载运行中,当磁场回路断线时是否一定会出现“飞速”?为什么?

相关推荐