您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 综合/其它 > 单片机电机加减速课程设计
重庆大学城市科技学院课程设计课题直流电机调速控制院系电气信息学院班级02班组长组员指导教师李立成2013年7月8号1目录1.引言………………………………………………………………………21.1开发背景…………………………………………………………….21.2选题的目的和意义………………………………………………….21.3研究方法…………………………………………………………….32.总体设计概述…………………………………………………………….32.1总体硬件电路设计……………………………………………………42.1.1系统总体设计框图………………………………………………42.1.28051单片机简介…………………………………………………42.1.3单片机系统中所用其他芯片选型………………………………53.系统软件部分的设计……………………………………………………53.1主程序设计..............................................93.1.1主程序设计………………………………………………………….93.1.2程序设计……………………………………………………………103.1.3Protues仿真图……………………………………………………143.1.3实体实验成果………………………………………………………154.系统调试……………………………………………………………………164.1软件调试………………………………………………………………164.2系统仿真………………………………………………………………16结论………………………………………………………………………17致谢………………………………………………………………………17参考文献…………………………………………………………………1821.设计内容及目的1.1开发背景现代工业生产中,电动机是主要的驱动设备,目前在直流电动机拖动系统中已大量采用晶闸管(即可控硅)装置向电动机供电的KZ—D拖动系统,取代了笨重的发电动一电动机的F—D系统,又伴随着电子技术的高度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。直流电机调速基本原理是比较简单的(相对于交流电机),只要改变电机的电压就可以改变转速了。改变电压的方法很多,最常见的一种PWM脉宽调制,调节电机的输入占空比就可以控制电机的平均电压,控制转速。1.2设计任务1).实现步进电机的加速和减速。2).用LCD1602显示电机当前的运动状态。3).要设计独立的启动.减速.加速及停止控制按钮。1.3设计器材○152单片机○2电机○3LCD1602显示器○4焊接板○5电阻○6开关若干○7导线若干等1.4选题的目的和意义直流电动机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。从控制的角度来看,直流调速还是交流拖动系统的基础。早期直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制系统的硬件部分非常复杂,功能单一,而且系统非常不灵活、调试困难,阻碍了直流电3动机控制技术的发展和应用范围的推广。随着单片机技术的日新月异,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能达到更高的性能。采用单片机构成控制系统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。2.设计过程2.1研究方法本文主要研究了利用MCS-51系列单片机,通过PWM方式控制直流电机调速的方法。PWM控制技术以其控制简单、灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。由于当今科学技术的发展已经没有了学科之间的界限,结合现代控制理论思想或实现无谐振软开关技术将会成为PWM控制技术发展的主要方向之一。本文就是利用这种控制方式来改变电压的占空比实现直流电机速度的控制。文章中采用了专门的芯片组成了PWM信号的发生系统,然后通过L298芯片来驱动电机,实现电机的调速控制。利用1602液晶显示屏显示电动机的实时状态。2.2总体设计概述单片机直流电机调速简介:单片机直流调速系统可实现对直流电动机的平滑调速。PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。本系统以89C51单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。系统控制方案的分析:本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。本文所研究的直流电机调速系统主要是由硬件和软件两大部分组成。硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。2.3总体硬件电路设计2.3.1系统总体设计框图4本系统采用89C51控制输出数据,由单片机发生电路产生PWM信号,送到芯片L298,并通过L298电源驱动直流电机,并通过单片机程序控制L298,改变直流电机的占空比,进而实现电机的加减速。2.3.28051单片机简介1.8051单片机的基本组成8051单片机由CPU和8个部件组成,它们都通过片内单一总线连接,其基本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了特殊功能寄存器的集中控制方法。2.CPU及部分部件的作用功能介绍如下中央处理器CPU:它是单片机的核心,完成运算和控制功能。内部数据存储器:8051芯片中共有256个RAM单元,能作为存储器使用的只是前128个单元,其地址为00H—7FH。通常说的内部数据存储器就是指这前128个单元,简称内部RAM。内部程序存储器:8051芯片内部共有4K个单元,用于存储程序、原始数据或表格,简称内部ROM。定时器:8051片内有2个16位的定时器,用来实现定时或者计数功能,并且以其定时或计数结果对计算机进行控制。中断控制系统:该芯片共有5个中断源,即外部中断2个,定时/计数中断2个和串行中断1个。3.8051单片机引脚图图2-38051单片机引脚图52.3.3单片机系统中所用其他芯片选型与电机的工作原理1·直流电机的工作原理见书上P232·1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。3`LCD1602主要技术参数:显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm4`引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表1引脚接口说明表第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。3.1系统中的部分程序设计软件由1个主程序、1个中断子程序和1个显示子程序组成。63.1.1主程序设计及思路主程序主程序是一个循环程序,其主要思路是,先设定好速度初始值,这个初始值与测速电路送来的值相比较得到一个误差值,然后通过在程序中占空比设置输出控制系数给改变波形的占空比,进而控制电机的转速。其程序流程图如图所示。软件由1个主程序、1个中断子程序和显示子程序组成。主程序流程图如图3-2所示:3.1.2程序设计#includereg51.h#defineucharunsignedcharucharN=0;ucharX=50;//占空比初始值为50%inta,b;sbitRS=P3^0;sbitRW=P3^1;sbitEN=P3^2;unsignedcharcodestr1[]={ZHENGZHUAN};unsignedcharcodestr2[]={SPEEDUP};unsignedcharcodestr3[]={FANZHAUN};unsignedcharcodestr4[]={SPEEDDOWN};unsignedcharcodestr5[]={STOP};7uchardatadisdata[5];voiddelay1ms(unsignedintms)//延时0.1毫秒(不够精确的){unsignedinti,j;for(i=0;ims;i++)for(j=0;j100;j++);}voidwr_com(unsignedcharcom)//写指令//{delay1ms(0.1);RS=0;RW=0;EN=0;P2=com;delay1ms(0.1);EN=1;delay1ms(0.1);EN=0;}voidwr_dat(unsignedchardat)//写数据//{delay1ms(0.1);RS=1;RW=0;EN=0;P2=dat;delay1ms(0.1);EN=1;delay1ms(0.1);EN=0;}voidlcd_init()//初始化设置//{delay1ms(15);wr_com(0x38);wr_com(0x08);wr_com(0x01);wr_com(0x06);wr_com(0x0c);}voiddisplay(unsignedchar*p)//显示//{while(*p!='\0'){wr_dat(*p);p++;delay1ms(0.1);}8}init_play()//初始化显示{lcd_init();wr_com(0x80);display(str1);wr_com(0xc0);display(str2);while(1);}sbitPWM=P3^6;//PWM输出脚sbitP1_2=P1^2;//正传sbitP1_3=P1^3;//反转sbitP1_4=P1^4;//加速sbitP1_5=P1^5;//减速sbitP1_6=P1^6;//停止sbitP1_1=P1^1;sbitP1_0=P1^0;sbitP0_0=P0^0;sbitP0_1=P0^1;sbitP0_2=P0^2;sbitP0_3=P0^3;voidscjs(void)interrupt3{TH1=0Xff;TL1=0x17;b++;}main(){TMOD=0x00;IE=0X88;TH1=0Xff;TL1=0X17;TR0=1;TR1=1;a=0;b=0;while(1)9{PWM=1;while(1){b=0;while(!b);if(N==X)PWM=0;if(
本文标题:单片机电机加减速课程设计
链接地址:https://www.777doc.com/doc-6049090 .html