1 / 11
文档名称:

直流电机闭环调速系统.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

直流电机闭环调速系统.doc

上传人:ffy51856fy 2016/1/22 文件大小:0 KB

下载得到文件列表

直流电机闭环调速系统.doc

文档介绍

文档介绍:成绩:重庆邮电大学自动化学院综合实验报告题目:直流电机闭环调速系统学生姓名:必不凡班级:0840901学号:2009212740同组人员:英雄,小洁指导教师:完成时间:第5周——第15周一、实验名称:直流电机闭环调速系统基本情况::::::序号姓名班级学号分工系数1英雄084090**********设计程序2小洁084090**********:必不凡:设计电路板图,协助刘飞进行程序调试小洁:焊电路板英雄::我在此时验中,主要是设计电路版图,后面协助他俩完成整个实验二、实验内容(实验原理介绍):1、系统设计思路设计以AT89C51单片机控制模块为核心,由单片机控制、直流电机转速为被测量组成的控制系统。原理是利用红外线光电传感器接收直流电机转速所产生的红外信号转换成电信号传输给单片机,并调节转速的闭环调速控制系统。能实现通过调节给定的电压对直流电机的速度及转向控制;通过按钮能实现直流电机的加速减速控制。2、系统组成1)、主控部分系统由stc89c52作为主控芯片,负责电机的PWM控制信号的输出,转速测定数据的处理,转速的显示,按键的读取;2)、电源系统由9V直流提供电源;3)、电机驱动系统的电机驱动电路主要由L298N和7805组成,可驱动两个直流电机;4)、测速系统采用槽型光耦计数测速模块5、显示系统由两个数码管作为显示输出,由P0、P2口驱动;三、实验结果分析(含程序、数据记录、控制算法及分析和实验总结等):#include<>#include<>#defineucharunsignedchar#defineuintunsignedintsbitd0=P3^4;sbitin3=P3^0;sbitin4=P3^1;sbitkey_1=P1^0;sbitkey_2=P1^1;sbitkey_3=P1^2;ucharcoded_table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};//0-f的数码管编码ucharcodew_table[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};uintN=0,tp,cesu,sd;ucharT,wx;voiddelay()//误差-{uchara,b;for(b=102;b>0;b--)for(a=3;a>0;a--);}voiddisplay(ucharwei,uchardat)//显示移位{P2=w_table[wei];P0=d_table[dat];delay();P0=0x00;P2=w_table[0];}voidxianshi(uinta,uintb)//显示函数{uchari;if(b==0){display(7,0);}elsefor(i=7;b>0;i--){display(i,b%10);b=b/10;}if(a==0){display(3,0);}elsefor(i=3;a>0;i--){display(i,a%10);a=a/10;}}voidInitTr()//定时器/计数器初始化{TMOD=0x15;TH0=0x00;TL0=0x00;TH1=0x0FF;TL1=0x0a4;EA=1;ET0=1;TR0=0;ET1=1;TR1=0;}bitkeys1(){bitk=0;if(key_1==0){delay();if(key_1==0)k=1;}while(key_1==0);returnk;}bitkeys2(){bitk=0;if(key_2==0){delay();if(key_2==0)k=1;}while(key_2==0);returnk;}bitkeys3(){bitk=0;if(key_3==0){delay();if(key_3==0)k=1;}while(key_3==0);returnk;}voidmain(){InitTr();in3=0;in4=0;tp=30;sd=50;while(1){if(keys1()){cesu=0;in3=0;TR0=!TR0;TR1=!TR1;}if(keys2()){sd=sd+5;if(sd>80)sd=80;}if(keys3()){sd=sd-5;if(sd<10)sd=10;}xianshi(sd,cesu);}}voidTr1Interrupt()interrupt3//定时中断{TH1=0x0FF;TL1=0x

最近更新