电机调速实验报告

重庆邮电大学综合实验报告

C51单片机控制的直流电机PWM调速实验

姓   名:   魏   敏      

学   号:   2012213148   

班   级:    0881202     

组   号:                

专   业:电气工程与自动化

指导老师:   陈 俊 华    

自动化学院检测与控制实验中心

20##

一、实验目的

1.掌握脉宽调制 (PWM) 的方法。

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

二、实验原理

1.PWM (Pulse Width Modulation) 简称脉宽调制。即,通过改变输出脉冲

的占空比,实现对直流电机进行调压调速控制。

2.实验线路图:

三、实验内容

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

程序设计:

#include<reg51.h>

#define uchar unsigned char  

sbit wela=P2^7;  sbit dula=P2^6;  sbit k1=P3^4;

sbit k2=P3^5;  sbit k3=P3^6;   sbit in1=P1^0;

sbit in2=P1^1;  sbit ena=P1^2;  uchar x,y,x1,y1;

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

void delay(int z);

void keyscan();

void display_time();

void Timer0_Init()

{

         TMOD=0X01;

         TH0=(65536-500)/256;

         TL0=(65536-500)%256;

         EA=1;        ET0=1;      TR0=1;    

}

void main()

{

 Timer0_Init();

         ena=1;      x=89;        y=50;

         x1=100;    y1=100;    in1=1;

         in2=0;       while(1)

         {

           display_time();  keyscan();

         }

}

void delay(int z)

{        int x,y;

         for(x=z;x>0;x--)

                  for(y=11;y>0;y--);

}

void keyscan()

{        if(k1==0)

         {        while(k1==0);   x=x+1;

          if(x>=99)         x=99;

         }

         if(k2==0)

         {        while(k2==0); x=x-1;

                   if(x<= 1)          x= 1;

         }

          if(k3 == 0)

         {

                  delay(15);         while(!k3);

                  in1=~in1;         in2=~in2;

         }

}

void display_time()

{                                                   

         P0=0x00;

         dula=1;     P0=table[x%10];       dula=0;

         P0=0xff;

         wela=1;    P0=0xdf;    wela=0;

         delay(1); 

         P0=0x00;                                                      

         dula=1;     P0=table[x/10];         dula=0;

         P0=0xff;

         wela=1;    P0=0xef;    wela=0;

         delay(1);    P0=0x00;

         dula=1;     P0=table[0];     dula=0;

         wela=1;    P0=0xf7;  wela=0;

    delay(1);  P0=0x00;

dula=1;     P0=table[0];     dula=0;

wela=1;    P0=0xfb;  wela=0;

delay(1);

}

         void T0_time()interrupt 1

{

          TR0=0;

         TH0=(65536-500)/256; //高四位

         TL0=(65536-500)%256; //低四位

         y--;   if(y==0)

         {

                  ena=0;   y=1;

         }

         y1--;         if(y1==0)

         {

                  ena=1;      y1=100;    y=x; 

         }

         TR0=1;

}

原理图设计:

 

四、总结

          最后一次实验,虽然还不能够自己完完整整的编好一个程序,但通过这几次的实验,我能够看懂同学写出的程序,并在一定的基础上举一反三。通过这次试验我学会了改变占空比来调整电机的转速,经过思考,我觉得还可以增加滑动变阻器,通过改变电阻影响电流来调整电机转速。最后,课程学习结束,在老师和同学的帮助下,我学到了很多,接下来,我也会继续努力。

 

第二篇:计算机控制实验报告4(电机调速实验)

班级:       座号:         姓名         成绩:          

课程名称:计算机控制技术实验项目:电机调速实验

实验预习报告(上课前完成)

一、实验目的

1.了解直流电机调速系统的特点。

    2.研究采样周期T对系统特性的影响。

3.研究电机调速系统PID控制器的参数的整定方法。

二、实验仪器

1.EL-AT-II型计算机控制系统实验箱一台

2.PC计算机一台

3.直流电机控制实验对象一台

三、控制的基本原理


    1.系统结构图示于图8-1。

图8-1 系统结构图

图中              Gc(s)=Kp(1+Ki/s+Kds)

                   Gh(s)=(1-e-TS)/s

                   Gp(s)=1/(Ts+1)

    2.系统的基本工作原理

    整个电机调速系统由两大部分组成,第一部分由计算机和A/D&D/A卡组成,主要完成速度采集、PID运算、产生控制电枢电压的控制电压,第二部分由传感器信号整形,控制电压功率放大等组成。电机速度控制的基本原理是:通过D/A输出-2.5v~+2.5v的电压控制7812的输出,以达到控制直流电机电枢电压的目的。速度采集由一对红外发射、接收管完成,接收管输出脉冲的间隔反应了电机的转速。

   


第二部分电路原理图

    3.PID递推算法 :

如果PID调节器输入信号为e(t),其输送信号为u(t),则离散的递推算法如下:

Uk=Kpek+Kiek2+Kd(ek-ek-1)

其ek2是误差累积和。

四、实验内容:

    1、设定电机的速度在一恒定值。

    2、调整P、I、D各参数观察对其有何影响。

五、实验步骤

1.启动计算机,在桌面双击图标 [Computerctrl]或在计算机程序组中运行[Computerctrl]软件。

2. 测试计算机与实验箱的通信是否正常,通信正常继续。如通信不正常查找原因使通信正常后才可以继续进行实验。

3. 20芯的扁平电缆连接实验箱和炉温控制对象,检查无误后,接通实验箱电源。

开环控制

4. 选中[实验课题→电机调速实验→开环控制实验]菜单项,鼠标单击将弹出参数设置窗口。在参数设置窗口设置给定电压,及电机控制对象的给定转速,点击确认在观察窗口观测系统响应曲线。测量系统响应时间Ts和超调量sp。

5. 复步骤4,改变参数设置,观测波形的变化,记入表1

闭环控制

6.选中[实验课题→电机调速实验→闭环控制实验]菜单项,鼠标单击将弹出参数设置窗口。在参数设置窗口设置电机控制对象的给定温度以及Ki、Kp、Kd值,点击确认在观察窗口观测系统响应曲线。测量系统响应时间Ts和超调量sp。

7.重复步骤6,改变PID参数,观测波形的变化,记入表2

实验报告部分

表1

表2

相关推荐