电机调速控制器计算机控制课程设计.doc_第1页
电机调速控制器计算机控制课程设计.doc_第2页
电机调速控制器计算机控制课程设计.doc_第3页
电机调速控制器计算机控制课程设计.doc_第4页
电机调速控制器计算机控制课程设计.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微 机 控 制 课 程 设 计题 目:直流电机调速控制器班 级: 姓 名: 学 号: 指导老师: 日 期: 目 录目 录1中文文摘2英文文摘21方案比较311总体方案312显示部分的比较与选择313电机的比较和选择314测速方案的比较和选择315键盘方案的比较和选择416复位电路的比较和选择42系统设计及分析计算421整体设计422系统电源设计523显示电路的设计624键盘设计825正反转控制电路(H桥) 926霍尔测速电路设计927复位电路设计103程序设计流程图114调试过程1141测试方法与测试仪器11411测试方法11412测试仪器1242测试数据及结果分析125设计总结1351设计内容完成情况1352硬件部分1353软件部分13【参考文献】14附件一(系统设计总电路图)15附件二 系统程序16关键词: 单片机调速直流电动机PWM 摘 要与交流电动机相比,直流电动机结构复杂,成本高,运行维护困难。但是直流电动机具有良好的调速性能、较大的起动转矩和过载能力强等许多优点,因此在许多行业中仍有应用。文章介绍了用PWM实现直流电机调整的基本方法。本文在给出直流电机调整和PWM实现方法的基础上,提供一种用单片机软件实现PWM调速的方法,以及直流电机调速的相关知识和PWM调整的基本原理和实现方法。重点介绍了基于MCS-51单片机用软件产生PWM信号的途径,并介绍了一种独特的通过采用计数加软件延时实现PWM信号调节的方法。为采用纯软件对电机速度的平滑调节提供了一种不错的解决方案,经过实际应用证明,能够取得满意的效果。 AbstractComparewithACelectromotor,DCelectromotorismorecomplex.Thecostisexpensiveandthemaintenanceisdifficult.ButDCmotorhasmuchmerit,suchas:batterspeedperformance,biggerstartingtorqueandstrongeroverloadcapacityetc.Therefore,itisappliedwidelyinmanyindustries. The paper introduces a basic kind of method of DC-motor speed modification based on PWM theory. Showing some relative knowledge upon DC motor speed modification, the PWM theory and the way to implement. It emphasizes on the way for carrying out PWM signals based on MCS-51. This paper still provides a method for modifying the speed of DC motor by way of taking count of data and time delay by software. It offers a sort of efficient method by using software. It is proved good.1. 方案比较1.1 总体方案方案一:用模拟,数字电路搭接电路,动态调速性能差,电路复杂。方案二:采用51单片机,能进行一些复杂算法的处理。控制方便简单,电路简单稳定,还可以方便的实现PID 调节。本设计采用方案二。1.2 显示部分的比较与选择方案一:采用LED显示。LED的亮度高白天小角度没有盲区,比较醒目,晚上可以远距离观测,很容易察看LED上的显示,但是其显示功能不够只能显示09十个数字和一个小数点。方案二:采用LCD显示。对于LCD,功能比较强可以显示汉字、数字和英文字母,适合于近距离察看,但是夜间的时候需要有很强的背光才能看的清楚。 设计时,考虑到LCD可用串口连接,占用I/O口少,连接简单方便。也可显示汉字、字母,我们选择LCD。但在调试时我们发现我们拿到的LCD模块调不出串口的,于是改用并口连接。1.3 电机的比较和选择实验室有两种电机可供选择:方案一:5V电机。平时实验发现5V电机供电5V时震动十分强烈,无法精确的调速。 方案二:3.5V的电机。该种电机在3V时震动小,转速稳定,便于调速。 本设计采用方案二。1.4 测速方案的比较和选择方案一:测速电机。复杂不易采用。 方案二:光电管测速。非常精确,但在制作飞轮是比较复杂(需要打N个小洞)。方案三:霍尔传感器测速方便简单,但精度不高。 本设计并不需要高精度,所以采用方案三。1.5 键盘方案的比较和选择方案一:在调试时只设置加速键和减速键。 方案二:设计一个4*4键盘。 4*4键盘可以一次跳到想要的速度。可作为扩展要求的其他部分来做。本设计采用方案二。1.6 复位电路的比较和选择方案一:一个电阻和电容组成的上电复位,或带一个按键的手动复位。 实验室里有两种复位芯片可供选择。方案二:IMP813L。带看门狗的复位IC。方案三:X5045。X5045芯片是美国Xicor公司生产的集把看门狗、电压监控和串行EEPROM三项功能于一体的专用集成芯片。方案一的复位功能不可靠,特别是在复杂的环境里,C51的程序很容易跑飞,所以必定要采用看门狗。EEPROM可以预留扩展。所有本设计采用方案三。2 系统设计及分析计算2.1 整体设计X5045方案简述霍尔MCU4*4键盘电机LCD方案简述及计算PWM脉冲调宽:用T0定时器每20ms产生一次中断来控制P3.6和P3.7口的输出脉冲。利用设定count0来计算中断次数来调节脉宽。比如将TH0,TH1的值设为65535,则P0.0口始终是高电平,5V; PID控制:PID 控制器由比例单元( P )、积分单元( I )和微分单元( D )组成。其输入 e(t) 与输出 u(t) 的关系。其中P的作用为快速调整。I能减小误差。D能抑制过冲。PID基本算式为: 为了用计算机实现PID控制,可以通过离散化将上式直接化为差分方程,可得:式中U(k)控制输出e(k)机端电压偏差信号Kp比例系数Ki积分系数Kd微分系数在本系统中并未使用D微分控制,所以变为: 2.2 系统电源设计 通过整流滤波成直流,在通过7805成稳定的5V DC供给系统电源。2.3显示电路的设计采用HS12232-9 中文字库液晶显示模块HS12232-9内置ST7920A驱动控制器,点阵为12232点,每行7个半汉字,共2行。内部字型ROM 包括8192个1616点阵的中文字型和126个168点阵的字母符号字型,另外还提供一个64256点的绘图区域(GDRAM)及240点的ICON RAM,可以和文字画面混合显示。内含的CGRAM有4组可编程的1616点阵的造字功能。与单片机的接口有8位并行、4位并行、2/3线串行。它采用低功率电源消耗,电压范围2.75.5V,功能齐全,汉字、点阵图形、ASCII码、曲线同屏显示;上下左右移动当前显示屏幕、清屏、光标显示、闪烁、睡眠、唤醒、关闭显示功能齐备,适合许多场合应用。它内置8192个16*16点汉字库和128个16*8点ASCII字符集图形点阵液晶显示器,它主要由行驱动器/ 列驱动器及12832全点阵液晶显示器组成。可完成图形显示,也可以显示7.52个(1616点阵)汉字.与外部CPU接口采用并行或串行方式控制。引脚说明如下:LCD的各种指令: 图2.3 并 行 连 接2.4 键盘设计采用扫描发检测按键2.5 正反转控制电路(H桥)H桥如图p3.6和p3.7分别控制电机的正反转。当p3.6为高电平,p3.7为低电平时,三极管2,3导通,电机正转;当p3.6为低电平, p3.7为高电平时,三极管1,4导通,电机反转。2.6 霍尔测速电路设计 霍尔测速电路非常简单。从左到右管脚为vcc,gnd,信号脚。将霍尔的3脚直接接到MCU的INT1。旋翼的上磁钢片每转一圈就产生一个低电平脉冲,INT1每次检测到低电平脉冲记一次中断,是为一圈。2.7 复位电路设计我们采用x5045对电源和程序的监控。用x5045L芯片时接线非常简单。没有用到EEPROM,所以不需要串行时序。 如图所示 3程序设计流程图开 始初始化是否按键(扫描法)判断按键调速(PWM)(读参数采样并查看按键做出相应处理显示处 理 校 准(PID)4调试过程4.1测试方法与测试仪器4.1.1测试方法各个模块分开调试,将各个模块分别调试成功后再将各个模块合成整体调试。4.1.2测试仪器数字万用表,示波器,仿真器。 4.2测试数据及结果分析拿到设计题后,讨论通过设计方案。一个人画原理图,一个人开始接电路,另一个够思程序。到晚上收工,基本完成原理图,电路焊接。程序出了大概。第二天上午,完全完成电路焊接,开始用仿真器调试。将各个部分电路分开调试。由于有电子竞赛的经验,键盘和LCD单部分很快调试成功。第二天下午:调试电机。这部分是最难控制的部分。电机转速与测试的方法:测电机转一周所用的时间。由于电机轴心的影响,导致电机的速度很不平均。 我们拿示波器测试,电机最快是每转一周所需8.5ms,事实上霍尔传感器可以接受到,但显示出来的时候电机速度很不稳定,我们认为这个方法不可取。测1s或0.1s内电机的平均速度。通过给单片机的一个定时器计数,同时也给接收脉冲信号的外部中断计数,当定时器计数值大于13时,便把当前的THX和TLX的值保存下来,再置一个标志位,于是在主程序里我们便可以计算电机的转速了。开始加入另一个创新部分:加入PID控制程序。调试PID控制程序。(1)直流电机的速度控制方案如图1所示。(2)PID算法的数字实现 离散形式的PID表达式为:其中:KP,KI,KD分别为调节器的比例、积分和微分系数;E(k),E(k1)分别为第k次和k1次时的期望偏差值;P(k)为第k次时调节器的输出。5设计总结5.1设计内容完成情况:基本要求发挥部分完成情况直流电机可采用玩具电机或风扇等,电压布线。必须采用脉宽调制方式调速。完成1/3到全速之间速度连续可调,给定方法不限。完成控制器可空电机正反转,能检测并显示转到方向。完成能显示速度,刷新率不低于2s/次完成系统电源自制完成其他创新1(设置一个4*4键盘,可以任意设置速度。)完成其他创新2(PID控制)完成5.2 硬件部分(1)MCU及其外围电路;(2)按键;(3)显示电路(LED或LCD);(4)各种接口;(5)电源;(6)元器件选型;(7)系统原理图设计(8)元器件焊接;(9)系统检测与调试;(10)条件允许,设计通讯部分。5.3 软件部分(1)设计系统配套C51软件;(2)时间及条件允许设计上位机通讯调试软件。6参考文献微型计算机原理与应用作者:张鄂亮,林红,肖广润,周惠玲微型计算机控制技术 作者:于海生,潘松蜂,于培仁,吴贺荣附件一(系统设计总电路图)附件二(系统程序)#include#include#include#define uchar unsigned char#define uint unsigned int#define CONSTANT_PWM 200#define LCD P2sbit RS=P06;sbit RW=P05;sbit E=P04;sbit x=P36;sbit y=P37;uchar LCDdata;uchar hbit,lbit;unsigned int count0,count01,count1,num;/采样计数器 计时计数器tfloat motorspeed,time;unsigned int pwm=50;/MUST BE BELLWO CONSTANT_PWMunsigned int count_pwm=0;float ek,uk,temp,tempspeed;bit direction,stop,pid,flag;bit comp_end;pid_adjust1() float kp;if(tempspeed(int)motorspeed+300)|(tempspeed(int)motorspeed-300)kp=0.1;elsekp=0.05; ek=tempspeed-(int)motorspeed;temp=ek-temp;uk=(0.05*temp+0.02*ek)/40+uk;if(uk=180)uk=180;/if(motorspeedtempspeed-50)/pid=0;/pwm=uk;/延时函数void delay(uint x)unsigned char i;while(x-0)for(i=0;i75;i+);/初始化单片机init_mcu()TMOD=0x11;TH1=0xec;/0xfe;TL1=0x77;/0x0c;TH0=0xd8;TL0=0xf0;IT1=1;ET0=1;ET1=1;EX1=1;EA=1;TR1=1;TR0=1;stop=0;direction=1;PX1 = 1;/*液晶驱动程序(部分)*/判忙uchar readBF(void)RS=0;RW=1;LCD=0xff;E=1;LCDdata=LCD;E=0;return(LCDdata&0x80);/写指令void send_instr(uchar x)while(readBF();RS=0;RW=0;LCD=x;E=1;_nop_();E=0;/写数据void writedat(uchar dat)while(readBF(); RS=1;RW=0;LCD=dat;E=1;_nop_();_nop_();E=0;/初始化void initLCD(void)send_instr(0x01);/清屏send_instr(0x30);/功能设定(DB4:DL=1,8bit,DB2:re=0基本指令集)send_instr(0x02);/位址归位send_instr(0x06);/进入点设定I/D=1,游标右移send_instr(0x0c);/显示状态设定,D=1整体显示,C=0游标显示关,B=0游标位置反白关send_instr(0x80);/设定DDRAM位址void lcddisplay(const char *s)while(*s) writedat(*s+);void lcdclear()send_instr(0x01);/*键盘控制子程序*/unsigned char anjian(void)unsigned char x,y,i,temp;P1=0xf0;if (P1=0xf0)return(-1);while(P1&0x0f!=0);temp=P1;for(i=1;i5;i+)temp=temp1;if(CY=0)y=4-i;temp=0xfe;for(i=1;i5;i+)P1=temp;if(P1&0xf0)!=0xf0)x=i-1;temp=temp;temp=temp1;temp=temp;i=(3-x)*4+y;delay(500);return(i);unsigned char backnum(unsigned char j)unsigned char i;if(j10)for(i=0;i10;i+)if(j=i)return(0x30+i);elsefor(i=0;i6) flag=1; TR0=0; hbit=TH0; lbit=TL0; count01=count0; count0=0; TH0=0; TL0=0; TR0=1; timer0() interrupt 1/定时器t0用作中断显示 &time=65mscount1+;TR0=1;timer1() interrupt 3/定时器t1用作pwm调速&time=20ms TR1=0; TH1 = 65435/256; TL1 = 65435%256; count_pwm+; if(count_pwmCONSTANT_PWM) count_pwm = 0; if(directio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论