资源描述
课程设计阐明书
成绩
题 目 基于光电传感器转速测量系统设计
课 程 名 称 电力电子技术课程设计
院(系、部、中心)
专 业 电气工程及其自动化
班 级
学 生 姓 名
学 号
设 计 时 间 . 6.3 ~ 6.14
设 计 地 点 工程实践中心8—315
指 导 教 师
课程设计任务书
课 程 名 称 检测技术与系统课程设计
院(系、部、中心) 电力工程学院
专 业 电气工程及其自动化
班 级 电气101
起 止 日 期 13.6.3~6.14
指 导 教 师 许大宇
1.课程设计应达到目
通过对本课程设计,使学生掌握常用被测量检测原理、办法和技术,理解国内外对这些工程量进行测控系统组建原理,通过对检测系统设计与分析,增强学生理解和运用所学知识来解决实际问题能力,逐渐掌握依照详细测控规定、性能指标设计出先进测控系统办法和技术。
2.课程设计题目及规定
题目:基于接近传感器转速测量系统设计
规定:
(1)性能指标:测速范畴:0~3000RPM,测量精度:±0.5RPM;
(2)依照题意,明确测速系统性能指标及系统能完毕功能;
(3)依照系统规定,选取适当传感器(尽量选取实验室中已有传感器);
(4)设计传感器测量电路;
(5)选取单片机品种、型号,设计单片机外围测量电路;
(6)计算关于电路参数,有条件状况下,依照实验室既有设备进行实验数据测取,明确测量电路输出与被测非电量关系;
(7)画出系统原理框图(此某些放在阐明书开始);
(8)画出系统电路图,最佳用PROTEL画;
(9)在阐明书中详细阐明本系统工作原理。
3.课程设计任务及工作量规定〔涉及课程设计计算阐明书、图纸、实物样品等规定〕
(1) 给出设计阐明书一份;
(2) 有条件状况下尽量给出必要实验数据;
(3) 在阐明书中附上完整系统电路原理图(手画或用PROTEL画)。
4.重要参照文献
1、 李现明,吴皓编著.自动检测技术.北京:机械工业出版社,
2、 徐仁贵.单片微型计算机应用技术.北京:机械工业出版社.
3、 陈爱弟.Protel99实用培训教程.北京:人民邮电出版社.
5.课程设计进度安排
起 止 日 期
工 作 内 容
6月4日
布置设计任务,熟悉课题,查找资料;
6月5日
结合测控对象,选取适当传感器,理解传感器性能;
6月6日
设计传感器测量电路,选取适当单片机,设计其外围电路;
6月7日
设计电路参数,有条件状况下,在实验室进行实验,进一步理解测量电路输入输出关系;
6月8日
继续设计论证电路参数,完善系统设计方案;
6月 9日
查找资料,理解系统各某些工作原理;
6月 10日
理清系统阐明要点,着手设计阐明书书写;
6月 11日
书写设计阐明书,充分理解系统每一某些作用;
6月 12日
完善设计阐明书,准备设计答辩。
6月 14日
设计答辩。
6.成绩考核办法
平时体现30%,设计成果40%,答辩体现30%.
教研室审查意见:
教研室主任签字:
年 月 日
院(系、部、中心)意见:
主管领导签字:
年 月 日
目 录
二、课程设计正文
1、光电传感器应用概述
2、系统工作原理及方案
(1)系统框图
(2)光电传感器原理
(3)转速测量原理
3、系统硬件电路设计
(1)光电转换及信号调理电路
(2)脉冲产生电路设计
4、系统软件电路设计
(1)AT89C52基本性能及最小系统
(2)系统软件程序设计
(3)系统仿真成果
5、课程设计总结
6、重要参照文献
7、附录
1.概述
转速测量系统发展背景
随着超大规模集成电路技术提高,特别是单片机应用技术以其功能强大,价格低廉明显特点,使全数字化测量转速系统得以广泛应用。由于单片机在测量转速方面具备体积小、性能强、成本低特点,越来越受到公司顾客青睐。
本设计课题目和意义
在工程实践中,经常会遇到各种需要测量转速场合, 例如在发动机、电动机等旋转设备实验、运转和控制中,常需要分时或持续测量和显示其转速及瞬时转速。要测速,一方面要解决是采样问题。本课程设计使用单片机AT89C52采样信号。因而转速测试具备重要意义。
2.系统工作原理及方案
1.系统框图
系统由传感器检测单元、信号调理放大电路,单片机AT89C52、LED显示模块、系统软件构成。其中信号调理电路包括信号放大、波形变换和波形整形。对待测信号进行放大目是减少对待测信号幅度规定;波形变换和波形整形电路则用来将放大信号转换成可与单片机匹配TTL信号;通过对单片机编程设立可使内部定期器T0对输入脉冲进行计数,这样就能精准地算出加到T0引脚单位时间内检测到脉冲数;系统原理框图如下所示。
2.光电传感器原理
检测原理
光电传感器是运用光电转换原理,来检测机械量转速传感元件,将光源发出光调制成与转速有关光信号,再转换成电信号,通过检测信号频率或状态图形来测量转速。光电光转速传感器重要由光源,调制盘,光电转换元件三个某些构成。电检测办法具备精度高、反映快、非接触等长处,并且可测参数多,传感器构造简朴,形式灵活多样。
光电传感器普通可以分为两大类:直射式、反射式。基本原理就是当发射管光照射到接受管时,接受管导通,反之关断。
脉冲发生源硬件构造图如图所示。
图1脉冲发生源硬件构造图(左为正视图,右为侧视图)
直射式光电转速计工作原理如图1和图2,被测转轴上装有调制盘,调制盘是带孔或者带齿圆盘,带孔如图1,带齿如图3,调制盘一边放置光源,另一边放置光电元件。调制盘随轴转动,当光线通过小孔或齿缝时,光电元件就发生一种电脉冲。转轴持续转动,光电元件就输出一列与转速及调制盘上孔(或齿)数成正比。电脉冲输入测量电路后经放大整形,再送入频率计技术现实。
图2光电传感器原理图 图3遮光叶片
转速测量原理
普通转速长期测量系统是预先在轴上安装一种有60 齿测速齿盘,当测速齿槽旋转一周,光敏元件就能感受与开孔数相等次数光次数,即每转一周产生60个电脉冲信号。暂时性转速测量系统,多采用光电传感器,从转轴上预先粘贴一种标志上获得一转一种转速脉冲,随后运用电子倍频器和测频办法实现转速测量。无论长期或暂时转速测量,都可以在微解决器参加下,通过测量转轴上预留一转一齿鉴相信号或光电信号周期,换算出转轴频率或转速。即通过速度传感器,将转速信号变为电脉冲,运用微机在单位时间内对脉冲进行计数,再通过软件计算获得转速数据。
即:
n=N/ (mT)
◆n ———转速、单位:转/ 分钟;
◆N ———采样时间内所计脉冲个数;
◆T———采样时间、单位:分钟;
◆m ———每旋转一周所产生脉冲个数(普通指测速码盘齿数) 。
普通m=60, 那么1 秒钟内脉冲个数N就是转速n, 即:
n=N/ (mT) =N/60×1/60=N
3.系统硬件电路设计
系统硬件某些包括输入模块、显示模块、控制模块、测速模块等。在硬件搭建前,先通过Proteus Pro 7.5进行硬件仿真实现。
光电转换及信号调理设计
由于系统需要将光信号转换为电信号,因而需要使用光电传感器并设计相应信号调理电路,以得到符合规定脉冲信号,送给单片机AT89C52进行计数,同步得到计数时间,由单片机进行有关计算以得到电动机转速。传感器将电机转速信号转变成了电脉冲信号,该信号通过LM358集成运放整形驱动,送到单片机进行脉冲计数,从而测出电动机转速。
简介一下LM358,:LM358里面涉及有两个高增益、独立、内部频率补偿双运放,合用于电压范畴很宽单电源,并且也合用于双电源工作方式,它应用范畴涉及传感放大器、直流增益模块和其她所有可用单电源供电使用运放地方使用。
光电转换某些与单片机连接框图如图所示
脉冲产生电路设计
由于proteus不能仿真光电传感器,则用一种方波代替光电传感器将光信号转换成电信号输出。
如图发现,方波电压幅值已经被放大,将这个信号输入单片机中作脉冲计数。
4.系统软件电路设计
AT89C52基本性能
单片机咱们选用AT89C52(引脚图如下)AT89C52是一种低电压,高性能CMOS 8位单片机,片内含8k bytes可重复擦写Flash只读程序存储器和256 bytes随机存取数据存储器(RAM),器件采用ATMEL公司高密度、非易失性存储技术生产,兼容原则MCS-51指令系统,片内置通用8位中央 解决器和Flash存储单元,功能强大AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同步内含2个外中断口,3个16位可编程定期计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规办法进行编程,也可以在线编程。其将通用微解决器和Flash存储器结合在一起,特别是可重复擦写 Flash存储器可有效地减少开发成本。
AT89C52引脚图
单片机最小系统
单片机最小系统涉及时钟电路和复位电路。单片机工作时,从取指令到译码再进行微操作,必要在时钟信号控制下才干有序地进行,时钟电路就是为单片机工作提供基本时钟。单片机时钟信号普通有两种产生方式:内部时钟方式和外部时钟方式。内部时钟方式原理电路如下图所示。在单片机XTAL1和XTAL2引脚上跨接上一种晶振和两个稳频电容,可以与单片机片内电路构成一种稳定自激振荡器。外接电容作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同步起到稳定频率作用,普通选用20~30pF瓷片电容。复位电路是运用电容充电来实现复位。在电源接通瞬间,RST引脚上电位是高电平(Vcc),电源接通后对电容进行迅速充电,随着充电进行,RST引脚上电位也会逐渐下降为低电平。最小系统如图所示
显示电路设计
led数码管(LED Segment Displays)是由各种发光二极管封装在一起构成“8”字型器件,引线已在内部连接完毕,只需引出它们各个笔划,公共电极。led数码管惯用段数普通为7段有另加一种小数点,led数码管依照LED接法不同分为共阴和共阳两类,理解LED这些特性,对编程是很重要,由于不同类型数码管,除了它们硬件电路有差别外,编程办法也是不同。共阴和共阳极数码管,它们发光原理是同样,只是它们电源极性不同而已。内部电路如下:
点亮LED显示屏有两种方式:一是静态显示,二是动态显示。动态显示,就一位一位地轮流点亮各位显示屏(扫描),对于每一位显示屏来说,每隔一段时间点亮一次。显示屏亮度既与导通电流关于,也与点亮时间和间隔时间比例关于。调节电流和时间参数,可实现亮度较高较稳定显示。本文采用4位LED动态显示电路如图
图6 4位动态LED显示电路
依照设计复位、晶振、显示电路电路,咱们做了一张总电路图。
程序设计方案
本系统采用89C52中T0定期器和T1计数器配合使用对转速脉冲定期计数。计数器T1工作于计数状态对外部脉冲进行计数;TO工作为定期器方式每次定期50ms,采用60次中断,即在计数器T1在3秒钟内对外部脉冲进行计数,然后
依照3秒钟内计数值推算出。
(1)定期/计数器初始化
定期/计数器方式控制字TMOD,TMOD是一种不可按位寻址特殊功能寄存器,其高四位专供T1作计数用,低四位供T0作定期用。
(1) 定期/计数器启动方式为GATE=0,用软件设立使TOCN中运营控制位TR0和TR1为1,就可以启动T0和T1,称为软启动。
(2) C/T:定期/计数器方式选取位,C/T =0时作定期器用。C/T=1作计数器用。
(3) M1M0工作方式选取位,这里 咱们选M1M0=01,方式一,作16位定期/计数器用。
综上所述,咱们给TMOD应赋给二进制01010001B,是十六进制0x51。
TMOD=0x51.
TMOD寄存器如下表:
对定期器T0与计数器T1初始化程序如下
timer_init() //初始化子程序
{ EA=1;//开中断总容许
ET0=1;//开定期器T0中断容许
ET1=1;//开计数器T1中断容许
TMOD=0X51;//TMOD=01010001B
TH0=(65535-50000)/256;//初值高位。定期器一种机器周期加1,一次中断为50ms相应50000个机器周期(振荡频率为12MHZ)
TL0=(65535-50000)%256;//初值低位
TH1=0;//T1作计数器用,初值定为0x00
TL1=0;
TR0=1;//软启动方式
TR1=1;
}
(2)定期器中断程序
中断某些要对单片机产生中断次数计数,定期器每次触发中断需要时间为50ms,咱们需要单片机在3秒钟内对脉冲计数,因此要对中断计数60次。中断程序要给TH0,TL0赋初值,同步要启动定期器T0。
定期器中断程序
void timer0() interrupt 1
{ n++;
TR0=0;//T0停止工作
TR1=0;
TH0=(65535-50000)/256;//赋初值
TL0=(65535-50000)%256;
if(n==60) //若n自加到60则停止计数,一次中断50ms则60次中断就为3s
{ mm=0;
mm|=TH1;
mm=(mm<<8)|TL1;
TH1=0;//赋初值0
TL1=0;
n=0;//n从头开始自加
}
TR0=1;//T0开始工作
TR1=1;
}
显示某些程序
本系统采用动态数码管显示,因此程序如下:
xian_shi()
{ uchar qian,bei,shi,ge;//定义个十百千四个无符号整形参数
uint jj;
jj=mm;
jj=jj/3;
qian=jj/1000;//将个十百千位相应数分别找出来
bei=jj%1000/100;
shi=jj%100/10;
ge=jj%10;
P2=0x10;//数码管段选,如接线图P2.4=1,则左起第一种数码管显示
P0=table[qian];//将千位值所相应十六进制码点来亮该数码管中八个小二极管
delay(1);//作延时
P2=0x20;//段选,则左起第二个数码管显示
P0=table[bei];//将百位值所相应十六进制码来点亮该数码管中八个小二极管
delay(1);//延时
P2=0x40;
P0=table[shi];//十位
delay(1);
P2=0x80;
P0=table[ge];//个位
delay(1);
}
5.仿真及成果
咱们这里给单片机P3.5外接一种脉冲信号,来模仿关电开关给单片机信号。仿真时,设立脉冲频率为700Hz,如图所示,显示电路LED数码管上显示700。
设立脉冲频率为3000Hz,如上图所示,显示电路LED数码管上显示3000。
6.参照文献
1.李现明,吴皓编著.自动检测技术.北京:机械工业出版社,
2.徐仁贵.单片微型计算机应用技术.北京:机械工业出版社.
3. 陈爱弟.Protel99实用培训教程.北京:人民邮电出版社.
7.附录
总电路图设计
总系统程序
单片机总体程序如下:
#include<reg51.h>
#define uchar unsigned char//宏定义
#define uint unsigned int
uint mm=0;//定义参变量
uchar n;
uchar code table[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//定义
编码表,给数码管复制
delay(uint m) //子程序调用,作延时用
{ uint i,j;
for(i=m;i>0;i--)//i每加1,j通过60次自加
for(j=60;j>0;j--);
}
xian_shi()
{ uchar qian,bei,shi,ge;//定义个十百千四个无符号整形参数
uint jj;
jj=mm;
jj=jj/3;
qian=jj/1000;//将个十百千位相应数分别找出来
bei=jj%1000/100;
shi=jj%100/10;
ge=jj%10;
P2=0x10;//数码管段选,如接线图中,P2.4=1,则左起第一种数码管显示
P0=table[qian];//将千位值所相应十六进制码点来亮该数码管中八个小二极管
delay(1);//作延时
P2=0x20;//段选,P2.5=1则左起第二个数码管显示
P0=table[bei];//将百位值所相应十六进制码来点亮该数码管中八个小二极管
delay(1);//作延时
P2=0x40;
P0=table[shi];//显示十位数
delay(1);
P2=0x80;
P0=table[ge];//显示个位数
delay(1);
}
timer_init() //中断初始化子程序
{ EA=1;//开中断总容许
ET0=1;//开定期器T0中断容许
ET1=1;//开计数器T1中断容许
TMOD=0X51;//TMOD=01010001B
TH0=(65535-50000)/256;//初值高位。定期器一种机器周期加1,一次中断为50ms相应50000个机器周期(振荡频率为12MHZ)
TL0=(65535-50000)%256;//初值低位
TH1=0;//T1作计数器用,初值定为0x00
TL1=0;
TR0=1;//软启动方式
TR1=1;
}
main()//主函数
{
timer_init();//中断初始化
P0=0;
while(1) //永远循环显示和延时
{
xian_shi();
delay(2);
}
}
void timer0() interrupt 1//“1”表达定期器中断0
{
n++;
TR0=0;TR1=0;//T0停止工作
TH0=(65535-50000)/256;//赋初值
TL0=(65535-50000)%256;
if(n==60) //若n自加到60则停止计数,一次中断50ms则60次中断就为3s
{ mm=0;
mm|=TH1;
mm=(mm<<8)|TL1;
TH1=0;//赋初值0
TL1=0;
n=0;//n从头开始自加
}
TR0=1;//T0开始工作
TR1=1;
}
void timer1() interrupt 3 //“3”表达计数器中断
{ TR1=0;//T1停止计数
TR0=0;
mm=0;
}
体会
这次自动检测技术课程设计咱们做了光电传感器测速,其中涉及到了光电传感器应用、单片机使用以及LED数码管应用,一方面我学会了protues用法,根据查找有关资料画出了相应电路仿真图;然后我学会看怎么使用keil软件编程,将输入好程序生成hex文献,调用到protues中单片机中,然而我发现脉冲信号通过放大器接到单片机上会浮现误差,相比脉冲通过放大电路后波形幅值小诸多倍,虽然没能将脉冲放大电路与单片机连接仿真成功,但我还是收益诸多。
展开阅读全文