《传感器课程设计》word版.doc_第1页
《传感器课程设计》word版.doc_第2页
《传感器课程设计》word版.doc_第3页
《传感器课程设计》word版.doc_第4页
《传感器课程设计》word版.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

传感器课程设计 学 院 电气信息学院 专 业 测控技术与仪器 年级班别 09级 测控01 学 号 0904010117 学生姓名 王龙龙 目录一、绪论设计内容与设计要求41.1设计内容:41.2设计要求:4二、设计原理及框图52.1设计原理:52.2系统框图:6三、方案选择及论证63.1方案一:63.2方案二:63.3方案三:73.4方案论证:7四、电路与最小系统设计74.1驱动电路:74.2显示电路84.3稳压电路94.4最小系统的设计9五、红外控制原理及设计105.1红外原理105.2红外电路设计11六、控制流程与程序126.1程序流程126.2控制程序12参考文献26摘要:本次课程设计是利用接近传感器和单片机技术设计制作一个显示电机转速的速度测定系统,尽可能的提高测量误差,用4位LED数码管显示速度。电机测速系统由红外接收电路、单片机最小系统、数码管显示电路、电机驱动电路以及激光测速电路构成。红外接收电路用来接收用户输出的红外信息,实现测试参数的设置。关键词:传感器;转速:显示:Abstracts:This course is designed to use proximity sensors and single chip microcomputer design a show the speed of the motor speed determination system, as far as possible to improve the measure error, with four LED digital display speed tube. Motor speed system consists of infrared receiving circuit, single chip minimize system, digital pipe display circuit, motor drive circuit and laser speed circuit to form. Infrared receiving circuit used to receive a user output of infrared information, realizing test parameters Settings.Keywords: sensors; Speed: display:一、绪论设计内容与设计要求1.1设计内容:传感器和单片机技术设计制作一个显示电机转速的速度测定系统。测量范围为7503000 rps,尽可能的提高测量误差,用4位LED数码管显示速度。1.2设计要求:1. 了解所选用的接近开关的工作原理,工作特性等。2. 设计合理的信号调理电路(有的传感器已经设计好了,可以直接应用;有的则不)。3. 用单片机对脉冲信号处理,要有Protel画的硬件接线原理图、利用C语言在单片机开发软件中编写相关程序,并对单片机的程序作详细解释。4. 列出制作该装置的元器件,制作实验板,并调试运行成功。二、设计原理及框图2.1设计原理: 本次课程设计电机测速系统是采用红外接收电路、单片机最小系统、数码管显示电路、电机驱动电路以及激光测速电路构成。红外接收电路用来接收用户输出的红外信息,实现测试参数的设置。单片机是整个系统的核心,用以分配所以的任务。数码管用于显示当前的PWM占空比与电机转速,激光测速则是为了检测当前的电机转速。2.2系统框图:电机转速的速度测定三、方案选择及论证3.1方案一: 选择驱动能力较强的MOS管和逻辑门构建H桥电机驱动电路,由于MOS的输入阻抗很高,输出阻抗很低,所以使得其带载能力很强3.2方案二: 使用三极管作为控制开关,搭建甲乙类互补对称功率放大电路,形成推挽输出,用以驱动电机。3.3方案三: 采用集成的功率放大芯片,这样驱动电路显得会相对简单,也便于单片机对电机的控制,集成功率放大芯片L298能同时接收4路PWM,控制两组电机的旋转状态,这样可交替使用便于控制电机的旋转方向。3.4方案论证: 集成功率放大芯片存在一定的散热问题,其输出的电流也非常有限,而三极管也多用于对小信号的放大,带载能力有限,所以采用方案三,用MOS管搭建电机驱动电路。四、电路与最小系统设计4.1驱动电路: 次设计的驱动电路将一个增强型P沟道MOS场效应管和一个增强型N沟道MOS场效应管组合在一起使用本系统选用IRF530、IRF9530对管为H桥的驱动芯片,再加上合适的数字逻辑电路,方可实现单片机对电机的转速和方向的控制。4.2显示电路 本系统中,利用4位共阳极数码管,动态地显示当前电机的旋转状态。动态显示就是让各位显示元件分时工作,利用动态显示法可以降低系统功耗。4.3稳压电路 为了保证整个控制系统能够正常的工作,所以在电源供电方面我们采用+5V的稳压电源给主控电路供电因为本设计中控制回路需要的是+5V的稳压电源,我们采用三端稳压芯片7805作为该电路的主控芯片。对于电源的选择,如果采用干电池供电,使用一段时间后,电池的输出电压将会不断下降,满足7805芯片的输入电压的要求,可能会导致输出的电压低于5。所以直接取用220V交流电作为本系统的电源。4.4最小系统的设计 稳定的+5V电源供电系统,有合适的外部起振源,复位电路,串口通信电路。五、红外控制原理及设计5.1红外原理 红外遥控电路包括两部分:发射电路和接收电路。由于本设计中只是运用红外技术来控制电机的测速,而不是设计红外电路,在此,直接使用红外遥控成品,只介绍本设计中对于红外解码、控制程序的软件设计原理,而不对红外的产生与接收电路作详细介绍。红外接收时需要对这些信息解调后才能将原来的二进制信息释放出来。解调的过程是通过红外接收管进行接收的。外接收管接收到的识别码和操作码,而将引导码作为红外信息的前置特征,增加了抗干扰能力。在对识别码和操作码的数据接收时,应注意到二进制信息的判断方式。5.2红外电路设计六、控制流程与程序6.1程序流程6.2控制程序/*红外控制电机测速 STOP键关闭遥控以及一切控制电路,相当于电源; MODE键选择自动调节PWM,调整到PWM为50%; SCIENT键关闭指示灯闪烁,改为声音提示; PAULSE键暂停当前状态,显示暂停。 LEFT键 正转 RIGHT键 反转 EQ键 VOL_键调节PWM减的速度 VOL+键 调节PWM增的速度 RPT键 U_SD键 数字键: 0;PWM=0;1;PWM=1;2;PWM=2;3;PWM=3;4;PWM=4;5;PWM=5;6;PWM=6;7;PWM=7;8;PWM=8; 9 PWM=9; */#include #define uchar unsigned char#define uint unsigned intsbit smg1=P37;sbit smg2=P36;sbit smg3=P35;sbit smg4=P34;sbit p1=P01;sbit run=P06; /电机sbit dir=P07; /方向sbit irdata=P32; /红外sbit beep=P26; /键音sbit led1=P04; /指示灯1sbit led2=P05; /指示灯2uchar temp110=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/不带点09 uchar dif10=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/带点09uchar over5=0xc0,0xc1,0x86,0x08,0x7f;/“over”uint counter=0;uint vv=0;uint NUM,t;uchar PWM;uchar ircode4; /键值码uint gat=60;uchar kiss=0xfe;uchar ki=0x01;uchar i;uchar end=0;bit newh=0;bit yy=0;void close();void overgame();void open();uchar a,e;bit ppm=0;void delay_140us(uint x) /x*0.14MS /红外中断必用 uchar i; while(x-) for (i=13;i0;i-); void sound()/键音uchar i; for(i=0;i100;i+) delay_140us(2); beep=!beep; /BEEP取反 beep=1; void ir_EX0() interrupt 0 using 0 /外部中断服务程序uchar i,j,k=0; EX0=0;delay_140us(15);if(irdata=1) EX0=1; return; /确认ir信号出现while(!irdata); /等ir变为高电平,跳过9ms的前导低电平信号。for(i=0;i4;i+) /收集四组数据 for (j=0;j=25) /不符合最大长度 EX0=1; return; /0.14ms计数过长自动离开。 /高电平计数完毕 ircodei=ircodei1; /数据最高位补“0” if (k=8) ircodei=ircodei|0x80; /数据最高位补“1” k=0; /计数后 清零 /完成8位数据接收/完成4字节的接收 if(ircode2!=ircode3) /验码EX0=1; return; /若验码错误,则返回switch(ircode2) /功能编码/*数字键*/*0*/ case 0x16:P0=0xf0;gat=50;break;/ /*1*/case 0x0c:P0=0xf1;gat=70;break;/*2*/case 0x18:P0=0xf2;gat=90;break;/*3*/case 0x5e:P0=0xf3;gat=110;break;/*4*/case 0x08:P0=0xf4;gat=130;break;/*5*/case 0x1c:P0=0xf5;gat=150;break;/*6*/case 0x5a:P0=0xf6;gat=170;break;/*7*/case 0x42:P0=0xf7;gat=190;break;/*8*/case 0x52:P0=0xf8;gat=200;break;/*9*/case 0x4a:P0=0xf9;gat=210;break;/*功能键*/*STOP*/ case 0x45:ppm=1;break;/*MODE*/ case 0x46:FLAG=0x11;break;/*SCIENT*/ case 0x47:FLAG=0x12;break;/*PAULSE*/case 0x44:FLAG=0x13;break; /*LEFT*/case 0x40:dir=0;break;/ /*RIGHT*/case 0x43:dir=1;break;/*EQ*/case 0x07:FLAG=0x16;break;/*VOL+*/ case 0x09:FLAG=0x17;break;/*VOL-*/ case 0x15:FLAG=0x18;break;/*RPT*/ case 0x19:FLAG=0x19;break;/*U/SD*/case 0x0d:FLAG=0x1a;break;default : p1=0;sound();EX0=1;void count_EX1 () interrupt 2 using 2counter+;/*固化*/void PWM_t0() interrupt 1 using 1 /PWM /*/ /*/ TR0=0;/暂停计时 /*/NUM+; /*/ /*/if(NUM%2=1) /奇数次 /*/ /*/run=0;/1 /*/TH0=0xff; /控制1的时间,PWM+,THL初值越小,所占用时间越长,提高了占空比TL0=0xff-PWM;/装满,不用 /*/TR0=1;/启动定时器, /*/ /*/ /*/if(NUM%2=0) /偶数次 /*/ /*/run=1;/0 /*/TH0=0xff; /互补时间 /*/TL0=PWM;/装满,不用 /*/TR0=1;/启动定时器, /*/ /*/ /*/*固化*/void count_t1() interrupt 3 using 3/专门用来定时的 timer1方式1TH1=0xd8; /10ms/ TH1=0x7f; TL1=0x18; /33msTL1=0xf0; a+;e+;if(end=1)newh=1;run=1; EA=0;if(a=gat) a=0;t+;if(t=13)&(t=25)t=0;end+;sound(); /*编码器测速*/if(e=10)EX1=1;/beep=!beep;led1=led1;led2=led2;if(e=20) EX1=0;e=0;vv=counter;counter=0;void display(uchar mm,uint num)smg1=0;smg2=1;smg3=1;smg4=1; /占空比P1=difmm*10/256;delay_140us(1);P1=0xff;smg1=1;smg2=0;smg3=1;smg4=1; /百位P1=temp1(num/100)%10;delay_140us(1);P1=0xff;smg1=1;smg2=1;smg3=0;smg4=1; /十位P1=temp1(num/10)%10;delay_140us(1);P1=0xff;smg1=1;smg2=1;smg3=1;smg4=0; /个位P1=temp1num%10;delay_140us(1);P1=0xff;void open()for(i=0;i8;i+) P1=kiss; beep=!beep; kiss=(kiss)1); delay_140us(3000); kiss=0xfe;for(i=0;i5;i+) P0=kiss; beep=!beep; kiss=(kiss)1); delay_140us(3000);beep=1;void close() smg1=0; smg2=0; smg3=0; smg4=0;for(i=0;i8;i+) P1=ki; beep=!beep; ki=(ki)1); delay_140us(3000); beep=1;void overgame() for(i=0;i150;i+) smg1=0;smg2=1;smg3=1;smg4=1; /P1=over0;delay_140us(20);P1=0xff;smg1=1;smg2=0;smg3=1;smg4=1; /百位P1=over1;delay_140us(20) ;smg1=1;smg2=1;smg3=0;smg4=1; /十位P1=over2;delay_140us(20);P1=0xff;smg1=1;smg2=1;smg3=1;smg4=0; /个位P1=over3;delay_140us(20);P1=0xff; beep=!beep; for(i=0;i150;i+) smg1=0;smg2=1;smg3=1;smg4=1; /P1=over1;delay_140us(20);P1=0xff;smg1=1;smg2=0;smg3=1;smg4=1; /百位P1=over2;delay_140us(20);P1=0xff;smg1=1;smg2=1;smg3=0;smg4=1; /十位P1=over3;delay_140us(20);P1=0xff;smg1=1;smg2=1;smg3=1;smg4=0; /十位P1=over4;delay_140us(20);P1=0xff;beep=!beep;for(i=0;i150;i+)smg1=0;smg2=1;smg3=1;smg4=1; /P1=over2;delay_140us(20);P1=0xff;smg1=1;smg2=0;smg3=1;smg4=1; /百位P1=over3;delay_140us(20);P1=0xff;smg1=1;smg2=1;smg3=0;smg4=1; /十位P1=over4;delay_140us(20);P1=0xff;smg1=1;smg2=1;smg3=1;smg4=0; /十位P1=over4;delay_140us(20);P1=0xff; beep=!beep; for(i=0;i150;i+) smg1=0;smg2=1;smg3=1;smg4=1; /P1=over3;delay_140us(20);P1=0xff; smg1=1;smg2=0;smg3=1;smg4=1; /十位P1=over4;delay_140us(20);P1=0xff;smg1=1;smg2=1;smg3=0;smg4=1; /十位P1=over4;delay_140us(20);P1=0xff;smg1=1;smg2=1;smg3=1;smg4=0; /十位P1=over4;delay_140us(20);P1=0xff;beep=!beep;for(i=0;i150;i+) smg1=0;smg2=1;smg3=1;smg4=1; /P1=over4;delay_140us(20);P1=0xff; smg1=1;smg2=0;smg3=1;smg4=1; /十位P1=over4;delay_140us(20

温馨提示

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

最新文档

评论

0/150

提交评论