您好,欢迎访问三七文档
课程设计报告书题目直流电机测速系统学院自动化学院班级自动0702姓名XX目录摘要................................................(03)关键字..............................................(03)1前言................................................(04)2系统设计............................................(05)2.1直流电机调速原理................................(052.2电动机测速原理................................(07)2.3电机转速控制系统软件设计.......................(09)2.4系统软件仿真图.................................(10)3心得体会............................................(11)参考文献..............................................(15)·摘要在电气时代的今天,电动机在工农业生产与人们日常生活中都起着十分重要的作用。直流电机作为最常见的一种电机,具有非常优秀的线性机械特性、较宽的调速范围、良好的起动性以及简单的控制电路等优点,因此在社会的各个领域中都得到了十分广泛的应用。本文设计了直流电机测速系统的基本方案,阐述了该系统的基本结构、工作原理、运行特性及其设计方法。本系统采用PWM测量电动机的转速,用MCS-51单片机对直流电机的转速进行控制。本设计主要研究直流电机的控制和测量方法,从而对电机的控制精度、响应速度以及节约能源等都具有重要意义。·关键词:直流电机单片机PWM转速控制1.前言一.题目要求设计题目:直流电动机测速系统设计描述:利用单片机设计直流电机测速系统具体要求:8051单片机作为主控制器、利用红外光传感器设计转速测量、检测直流电机速度,并显示。元件:STC89C52、晶振(12MHz)、小按键、ST151、数码管以及电阻电容等二.组内分工(1)负责软件编写设计:主要由完成(2)负责软件仿真及调试:主要由完成(3)负责电路焊接:主要由完成(4)撰写报告:主要由完成2.系统设计(1)直流电机调速原理本设计的主要思想为利用PWM控制占空比从而达到改变电机速度。下面为PWM控制原理;图1为PWM降压斩波器的原理电路及输出电压波形。在图1a中,假定晶体管V1先导通T1,秒(忽略V1的管压降,这期间电源电压Ud全部加到电枢上),然后关断T2秒(这期间电枢端电压为零)。如此反复,则电枢端电压波形如图1b中所示。电动机电枢端电压Ua为其平均值。图1PWM降压斩波器原理电路及输出电压波形a)原理图b)输出电压波形1112adddTTUUUUTTT(3)式(3)中1112TTTTT(4)为一个周期T中,晶体管V1导通时间的比率,称为负载率或占空比。使用下面三种方法中的任何一种,都可以改变的值,从而达到调压的目的:(1)定宽调频法:T1保持一定,使T2在0~∞范围内变化;(2)调宽调频法:T2保持一定,使T1在0~∞范围内变化(3)定频调宽法:T1+T2=T保持一定,使T,在0~T范围内变化。不管哪种方法,的变化范围均为0≤≤l,因而电枢电压平均值Ua的调节范围为0~Ud,均为正值,即电动机只能在某一方向调速,称为不可逆调速。当需要电动机在正、反向两个方向调速运转,即可逆调速时,就要使用图1—2a所示的桥式(或称H型)降压斩波电路。在图2a中,晶体管V1、V4是同时导通同时关断的,V2、V3也是同时导通同时关断的,但V1与V2、V3与V4都不允许同时导通,否则电源Ud直通短路。设V1、V4先同时导通T1秒后同时关断,间隔一定时间(为避免电源直通短路。该间隔时间称为死区时问)之后,再使V2、V3同时导通T2秒后同时关断,如此反复,则电动机电枢端电压波形如图2b所示。图2桥式PWM降压斩波器原理电路及输出电压波形a)原理图b)输出电压波形电动机电枢端电压的平均值为12112(21)(21)adddTTTUUUUTTT(4)由于0≤≤1,Ua值的范围是-Ud~+Ud,因而电动机可以在正、反两个方向调速运转。图3给出了两种PWM斩波电路的电枢电压平均值的特性曲线()aUf。图3两种斩波器的输出电压特性(2)直流电动机测速原理电机的叶轮置于红外对射管之间,叶轮转过,挡住传感器,产生中断,给单片机,从而实现计数,进而计算出电机的速度。(3)电机转速控制系统软件设计程序用C语言编写如下:#includereg52.hunsignedcharcodeTABLE[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};voiddisplay();#defineuintunsignedint#defineucharunsignedcharsbitoutput=P3^7;//P3^7接ULN2003sbitkey1=P3^3;intfrq,speed;charpwm;inti=100;uchara;uintfrq1,c;voiddisplay();/*系统初始化*/voidinitial(void){TMOD=0x20;//设置定时器0在工作方式2下EA=1;//开中断EX0=1;//外部中断0使能ET1=1;//定时器1使能IT0=1;//外部中断0下降沿触发IT1=1;//外部中断1下降沿触发TH0=56;//装载计数值TL0=56;TH1=56;//装载计数值TL1=56;TR1=1;}/*延时程序*/voiddelay(unsignedintk){unsignedinti,j;for(i=0;ik;i++){for(j=0;j121;j++){;}}}voiddisplay(){ucharqian,bai,shi,ge;qian=0;bai=0;shi=0;ge=0;c=frq1;qian=c/1000;bai=c/100%10;shi=c/10%10;ge=c%10;P1=0X01;P2=TABLE[qian];delay(5);P1=0X02;P2=TABLE[bai];delay(5);P1=0X04;P2=TABLE[shi];delay(5);P1=0X08;P2=TABLE[ge];delay(5);}/*主函数*/voidmain(){initial();while(1){if(key1==0)delay(200);if(key1==0){while(key1==0);//松手检测pwm+=10;if(pwm100)pwm=10;}display();}}voidint0isr()interrupt0//中断0服务子程序实现测量电机转动频率{frq++;}voidtime1isr()interrupt3//定时器1实现数据读取{EA=0;a++;i--;if(a=pwm)output=1;elseoutput=0;if(a100)a=0;if(i==0){frq1=frq;frq=0;i=100;}EA=1;}(4)系统软件仿真图仿真效果图:细图见下:3、心得体会这一次的课程设计让我学到了不少的东西,由于有前几次的经验,这次课程设计总的来说还是比较顺利的。从原理图的设计,电路板的焊接到写课程设计论文,在这个过程中我们也遇到了很多的困难,如成员间分工不明确,程序大家都不熟悉等。这次课程设计给我最大的体会就是有很多东西如果不是自己亲自动手,只在书本上是学不到的,设计初期要考虑周到,否则后期会带来很多不必要的麻烦。虽然可能会多花一些时间,但这比空想要有效的多。做事情一定要细心,更要耐心,遇到问题要慢慢去检查,然后仔细分析后再解决;除此之外,还要有合作精神,注重团队合作,和合作者一起做,相互鼓励,互相弥补不足之处,很多难点的突破都来自于与同学的交流,交流使自己获得更多信息,开拓了思路,这样很多事情就成了。本次设计把理论应用到了实践中,同时通过设计,也加深了自己对理论知识的理解和掌握,在解决困难的过程中,获得了许多专业方面的知识,拓展了视野。提高了理论水平和实际的动手能力,学会了解决问题的方法,激发了我们的探索精神。这样的课程设计是很好的锻炼机会,通过实验设计使我深入了解到课程设计在大学学习的重要性,课程设计增强了我们的实践动手能力,也为大四后学期的毕业设计提供了宝贵的经验。本次实习我与我的组员做的是直流电机测速,当老师给出题目时,我们还是按照以前实习的解题步骤一步步的做,首先是查找相关的资料,如PWM的工作原理。查完资料后,运用以前我们所学的C语言知识对我们的题目进行模块化分类,需要说明的是因为我们这学期学习了汇编语言,但是在掌握并应用上还是有一定的难度,所以我们是用C语言编写软件的。我们组我的主要任务是进行软件编程,所以在这方面可能有些心得吧!刚开始查阅完资料进行编程时,错误百出,毕竟好久没用C编程了,按照出现的错误慢慢的将程序改好,当然也请教了一些这方面的高手指教。然后我们组成员将其进行仿真,焊电路板进行硬件连接,将程序下到单片机上,发现显示是有错误的,然后又将软件程序来来回回修改好多次,才最终正确!从中发现理论与实践还是有很大的差距,我们应该多多的动手进行实践,而且我们以前学的知识一定不能丢弃,真的是书到用时方恨少。同时感谢老师的辛勤付出,谢谢!!!本次实习我们组是直流电机测速系统的设计,就是要通过转速的改变将其速度显示在led中,来体现其转速的增大或减小。而如何改变其速率呢,就是通过pwm改变其占空比来实现的。我主要负责仿真,即使用软件keil和Proteus7Professional,其中keil用来编写C语言程序,以及编译连接使之产生后缀名为hex的文件,将其烧录在软件Proteus7Professional中进行测试仿真调试。这次实习的重点就是如何编写程序以及仿真中的行骗各个管脚的连接问题,主要的芯片有51、uln、led显示、电机。首先分清各管脚起什么作用,比如说晶振要与51的XTAL1和XTAL2连接等等。其次还要知道那个管脚是高电平哪个是低电平、跟谁连才能达到选通。通过同组同学所编程序,就可以清楚的知道这些芯片的连接,再细心的对照各个管脚的初始化、定义来连接各个芯片。在仿真的时,我学到的就是熟练掌握使用keil和proteus7Professional软件,比如知道在proteus7Professional中如何正确的找出单片机、uln、led显示、电机等这些芯片,怎么将keil中运行链接好的程序烧录到proteus7Professional中,然后正确的运行。当同组的同学咁好板子后,接通电源时发现led显示不够亮,所以就进行改进,通过再接入放大器放大信号就可以使led更好的显示出来。总的来说这次实习,受益匪浅,不仅熟悉了两个软件的使用更进一步的将所学的知识实践了出来,以前没有怎么接触过这两个软件,现在发现我索要学习的还很多。合作也是我收获很多的一点。通过两个星期的课程设计学习;经过对51单片机各管脚性能的了解,以及用途的深刻学习;对2003芯片的使用场合,以及电机驱动的了解;数码管各个管脚显示的原理的学习;使我对整个实验布局有了大体的了解;本次课程设计我主要负责硬件,同时对其他有所了解;硬件连接过程中使我对晶振,复位电路有了新的认识,还有按键过程中,通过按键改变占空比,实现对电机速度的改变,以及中断对整个程序运行的影响;调试硬件过程中出现了数码管显示不清晰,以及闪动太快,给计数带来困难;通过加上拉电阻,以及对延时时间的调节实现软硬件的契合;本次试验我受益匪浅,为以后我在实际中应用打下了良好的基础;以及通过我们的团队合作使我明白了团队的重要性,为我以后为人处世开启
本文标题:直流电机测速系统
链接地址:https://www.777doc.com/doc-6038128 .html