数字测速系统教程文件
- 格式:doc
- 大小:12.50 KB
- 文档页数:2
光电式数字测速仪摘要提出了一个用8031 单片机和光电编码器组成的转速与转角测试方案,介绍其实现的基本原理和结构特点,给出了接口电路和软件设计方法。
由于采用了单片机和光电传感器,该系统具有硬件电路简单、测量精度高、性能稳定可靠等优点,其适用于自动控制、自动检测及各种转速与方位角的测量与控制等领域。
本文给出的智能转速与转角测试系统,采用了9 位绝对式循环码光电编码器做传感器,具有无接触、高转速、高分辨率、高可靠性等优点。
关键词:单片式计算机测速仪转速转角前言在工程实践中 , 经常会遇到各种需要测量转速的场合 , 例如 , 在发动机、电动机、机床主轴等旋转设备的实验、运转和控制中 , 常需要分时或连续测量和显示其转速。
有些场合对转速转速测量要求的精度一般化 , 而有些场合却要求较高的测量精度。
但目前国内使用的转速仪表在测试精度、测量范围、实现监控、性能价格比等方面均存在明显的缺陷。
本文给出的智能转速与转角测试系统,采用了9 位绝对式循环码光电编码器做传感器,具有无接触、高转速、高分辨率、高可靠性等优点。
第一章 硬件设计1.1 硬件组成光电式数字测速仪的硬件,由输入电路、8031 单片机、存储器、辨向电路、键盘与显示电路等组成,其结构框图如图1 所示。
1.2 设计原理输入电路包括整形电路、码制变换电路和锁存器,由光电传感器提供输入信息。
为消除脉冲波形中的高频干扰,加1 级施密特整形电路;为减小制作和安装公差引起的测量误差,光电码盘一般均采用循环码码盘[1]。
本设计采用的传感器,输出9位循环码,通过码制转换电路将其转换为二进制码。
9 位码盘输出9 位信息,而8031 为8位单片机,采用2 次锁存来解决用8 位机测9位信号的问题。
在角度测量中,将第1~8 位信息存入锁存器1 中,同时将第9 位信息存入锁存器2 中,用译码器1 输出端提供锁存信号。
首先从7.10.1~P P 输入第1~8 位信息,存入内存; 再将第9 位信息从锁存器2 中取出,存入锁存器3 中。
/*实现功能:电机测速使用芯片:AT89S52 或者STC89C52 或AT89S51 STC89C51晶振:12MHZ#include <reg52.h>#define uchar unsigned char#define uint unsigned int//==============LCD1602接口连接方法=====================/*-----------------------------------------------------|DB0-----P0.0 | DB4-----P0.4 | RW-------P2.3 ||DB1-----P0.1 | DB5-----P0.5 | RS-------P2.4 ||DB2-----P0.2 | DB6-----P0.6 | E--------P2.2 ||DB3-----P0.3 | DB7-----P0.7 |---------------------------------------------------*///================================================*/#define LCM_Data P0 //LCD1602数据接口#define Busy 0x80 //用于检测LCM状态字中的Busy标识sbit LCM_RW = P2^3; //读写控制输入端,LCD1602的第五脚sbit LCM_RS = P2^4; //寄存器选择输入端,LCD1602的第四脚sbit LCM_E = P2^2; //使能信号输入端,LCD1602的第6脚//=================计数传感模块连接=====================/*-----------------------------------------------------|VCC-----VCC | GND-----GND | OUT-------P3.2---------------------------------------------------*/sbit OUT=P3^2;//**************函数声明***************************************void WriteDataLCM (uchar WDLCM);//LCD模块写数据void WriteCommandLCM (uchar WCLCM,BuysC); //LCD模块写指令uchar ReadStatusLCM(void);//读LCD模块的忙标void DisplayOneChar(uchar X,uchar Y,uchar ASCII);//在第X+1行的第Y+1位置显示一个字符void LCMInit(void);//LCD初始void DelayMs(uint Ms);//1MS基准延时程序uint total,zhuansu;uchar t0_count;#define canshu=2;//参数,如果电机转一圈,计数器检测到几次,这里的参数就要相应修改//***********************主程序******************************main(){TMOD=0x01;//定时器T0为定时器工作方式1TCON=01;//设定外部中断0为边沿触发方式TH0=0X3C;TL0=0XB0;//设定定时器TO为50MSTR0=1;//启动定时器T0ET0=1;EA=1;//开启外部中断LCMInit();//LCD初始total=20;t0_count=0;OUT=1;DisplayOneChar(0, 0,'T');//显示:TDisplayOneChar(0, 1,':');//显示::DisplayOneChar(0, 2, zhuansu/1000+0x30);//显示十位数据DisplayOneChar(0, 3, zhuansu/100%10+0x30);//显示个位数据DisplayOneChar(0, 4,zhuansu/10%10+0x30);//DisplayOneChar(0, 5, zhuansu%10+0x30); //显示百位数据EX0=1;//允许外部中断0while(1){DisplayOneChar(0, 0,'T');//显示:TDisplayOneChar(0, 1,':');//显示::DisplayOneChar(0, 2, zhuansu/1000+0x30);//显示十位数据DisplayOneChar(0, 3, zhuansu/100%10+0x30);//显示个位数据DisplayOneChar(0, 4,zhuansu/10%10+0x30);//DisplayOneChar(0, 5, zhuansu%10+0x30); //显示百位数据DisplayOneChar(1, 0,'C');//显示:TDisplayOneChar(1, 1,':');//显示::DisplayOneChar(1, 2, total/1000+0x30);//显示十位数据DisplayOneChar(1, 3, total/100%10+0x30);//显示个位数据DisplayOneChar(1, 4,total/10%10+0x30);//DisplayOneChar(1, 5, total%10+0x30); //显示百位数据}}//****外部中0中断入口void ex0_in() interrupt 0{total++;}//***************定时器T0中断void t0_int() interrupt 1{TH0=0X3C;TL0=0XB0;//重新装载定时T0t0_count++;if(t0_count==20)//中断20次为1秒{t0_count=0;zhuansu=total/canshu;total=0;}}/*======================================================================LCM初始化======================================================================*/void LCMInit(void){LCM_Data = 0;WriteCommandLCM(0x38,0); //三次显示模式设置,不检测忙信号DelayMs(5);WriteCommandLCM(0x38,0);DelayMs(5);WriteCommandLCM(0x38,0);DelayMs(5);WriteCommandLCM(0x38,1); //显示模式设置,开始要求每次检测忙信号WriteCommandLCM(0x08,1); //关闭显示WriteCommandLCM(0x01,1); //显示清屏WriteCommandLCM(0x06,1); // 显示光标移动设置WriteCommandLCM(0x0C,1); // 显示开及光标设置[;.DelayMs(100);}//==============================LCD1602显示子程序================================================// 写数据函数: E =高脉冲RS=1 RW=0//======================================================================*/void WriteDataLCM(uchar WDLCM){ReadStatusLCM(); //检测忙LCM_Data = WDLCM;LCM_RS = 1;LCM_RW = 0;LCM_E = 0; //若晶振速度太高可以在这后加小的延时LCM_E = 0; //延时LCM_E = 1;}/*====================================================================写指令函数: E=高脉冲RS=0 RW=0======================================================================*/void WriteCommandLCM(uchar WCLCM,BuysC) //BuysC为0时忽略忙检测{if (BuysC) ReadStatusLCM(); //根据需要检测忙LCM_Data = WCLCM;LCM_RS = 0;LCM_RW = 0;LCM_E = 0;LCM_E = 0;LCM_E = 1;}/*==================================================================== 正常读写操作之前必须检测LCD控制器状态:E=1 RS=0 RW=1;DB7: 0 LCD控制器空闲,1 LCD控制器忙。
光电式数字测速仪摘要提出了一个用8031 单片机和光电编码器组成的转速与转角测试方案,介绍其实现的基本原理和结构特点,给出了接口电路和软件设计方法。
由于采用了单片机和光电传感器,该系统具有硬件电路简单、测量精度高、性能稳定可靠等优点,其适用于自动控制、自动检测及各种转速与方位角的测量与控制等领域。
本文给出的智能转速与转角测试系统,采用了9 位绝对式循环码光电编码器做传感器,具有无接触、高转速、高分辨率、高可靠性等优点。
关键词:单片式计算机测速仪转速转角前言在工程实践中 , 经常会遇到各种需要测量转速的场合 , 例如 , 在发动机、电动机、机床主轴等旋转设备的实验、运转和控制中 , 常需要分时或连续测量和显示其转速。
有些场合对转速转速测量要求的精度一般化 , 而有些场合却要求较高的测量精度。
但目前国内使用的转速仪表在测试精度、测量范围、实现监控、性能价格比等方面均存在明显的缺陷。
本文给出的智能转速与转角测试系统,采用了9 位绝对式循环码光电编码器做传感器,具有无接触、高转速、高分辨率、高可靠性等优点。
第一章 硬件设计1.1 硬件组成光电式数字测速仪的硬件,由输入电路、8031 单片机、存储器、辨向电路、键盘与显示电路等组成,其结构框图如图1 所示。
1.2 设计原理输入电路包括整形电路、码制变换电路和锁存器,由光电传感器提供输入信息。
为消除脉冲波形中的高频干扰,加1 级施密特整形电路;为减小制作和安装公差引起的测量误差,光电码盘一般均采用循环码码盘[1]。
本设计采用的传感器,输出9位循环码,通过码制转换电路将其转换为二进制码。
9 位码盘输出9 位信息,而8031 为8位单片机,采用2 次锁存来解决用8 位机测9位信号的问题。
在角度测量中,将第1~8 位信息存入锁存器1 中,同时将第9 位信息存入锁存器2 中,用译码器1 输出端提供锁存信号。
首先从7.10.1~P P 输入第1~8 位信息,存入内存; 再将第9 位信息从锁存器2 中取出,存入锁存器3 中。
学号:常州大学毕业设计(论文)(2012届)题目学生学院专业班级校内指导教师专业技术职务校外指导老师专业技术职务二○一二年六月基于单片机的数字测速仪设计摘要:在工程实践中,经常会遇到各种需要测量转速的场合,测量转速的方法分为数字式和模拟式两种。
模拟式采用测速发电机为检测元件,得到的信号是模拟量。
数字式通常采用光电编码器,霍尔元件等为检测元件,得到的信号为脉冲信号。
随着微型计算机的广泛应用,特别是高性能价格比的单片机的出现,转速测量普遍采用以单片机为核心的数字式测量方法。
本论文描述了一个以AT89S52单片机控制模块、红外传感器采集模块、电机驱动模块和报警模块为主要部分组成的转速测量系统。
该系统以一对红外发射和接收二极管形成光路,通过照射到齿盘上颜色的变化对光路形成脉冲,单片机采用同步M/T法对脉冲计数,经过内部数据处理得出转速,并通过1602液晶显示器显示出结果。
同时当转速超过其所设定的数值时,系统对其进行报警。
通过L298N电路调节电机转速,从而实现在一个电机上对低转速和高转速的测量。
关键词:AT89S52单片机;同步M/T法;1602液晶;L298N电路Design of digital speedometer based on single-chip microcomputerAbstract:In engineering practices, the situation of measuring revolving speed often occurs. There are two ways to measure revolving speed: analog type and digital type. With analog type, tachogenerator is used as detecting element, which brings out analog quantity, while with digital type, photoelectric encoder, Hall element etc. are often used, which brings out pulse signal. With the widespread of microcomputers, especially highly cost-efficient microcontroller, we often use microcontroller as the core of measuring revolving speed.This paper focuses on describing a revolving speed measuring system composed by AT89S52 microcontroller (controlling module), infrared sensor (collecting module), electrical machine (driving module), and alarming module, which uses a pair of infrared emitting-and-receiving diodes to form the optical path. Through the interval block-out from the change of colors on the fluted disc, electric pulse can be generated. The microcontroller uses synchronic M/T method to measure the time of pulse, then after inner data analysis, the author can get the revolving speed and finally a 1602 LCD is used to show the result. When the revolving speed outstrips the fixed number, system alarms. What’s more, through the use of L298 circuit to adjust the revolving speed of electrical machine, the measurement of low and high revolving speeding in one electrical machine can be realized.Key words:MCS52; Synchronic M/T method ; 1602 LCD; L298 circuit目录摘要 (II)目录 (III)1引言 (1)1.1课题研发的背景和意义 (1)1.2数字测速仪的国内外研究现状及发展趋势 (1)1.3课题的主要内容和任务 (2)2系统分析与总体设计方案 (3)2.1数字测速仪的基本工作原理 (3)2.2数字测速仪的整体设计结构 (3)2.3数字测速仪的测量方案的分析 (4)2.3.1转速测量方案论证 (4)2.3.2电机驱动方案论证 (4)2.3.2键盘显示方案论证 (4)2.3.3 PWM软件实现方案论证 (4)2.4转速测量原理 (5)2.4.1测频法“M法” (5)2.4.2测周期法“T法” (5)2.4.3测频测周法“M/T法” (6)3系统硬件电路设计 (8)3.1控制模块 (8)3.1.1模块控制的选择 (8)3.1.2 AT89S52单片机介绍 (8)3.1.3单片机的最小系统 (12)3.2红外传感器信号采集模块 (13)3.2.1红外光电管芯片介绍 (13)3.2.2红外光电管的工作原理 (13)3.2.3 LM339电压比较器芯片介绍 (14)3.2.3电压比较电路设计 (14)3.2.4红外采集模块电路设计 (15)3.3电机驱动模块 (16)3.3.1 L298N芯片介绍 (16)3.3.2电机驱动模块电路设计 (18)3.4 液晶显示模块 (19)3.4.1 LCD1602液晶显示 (19)3.4.2显示模块的电路设计 (21)3.5电源模块 (21)3.6蜂鸣器报警模块 (22)3.6.1蜂鸣器 (22)3.6.2发光二极管 (23)3.6.3报警电路的设计 (23)4系统的软件设计 (25)4.1中断服务子程序的设计 (26)4.2电机驱动模块子程序的设计 (26)4.3显示子程序的设计 (27)4.4报警电路子程序的设计 (30)5系统调试 (31)5.1硬件调试 (31)5.2软件调试 (31)5.3综合调试 (31)5.4调试结果 (31)5.4实物展示 (32)6结论与展望 (34)参考文献 (35)致谢 (36)附录A (37)附录B (38)1引言1.1课题研发的背景和意义转动物体的速度是测控系统中的重要参数之一,它的应用范围广,实用价强。
数字式红外线测速仪原理设计参考数字式红外线测速仪是一种用于测量物体运动速度的仪器,其原理是基于红外线测距和时间计算。
本文将介绍数字式红外线测速仪的原理、设计参考以及应用。
一、原理数字式红外线测速仪使用的是红外线传感器和计时器,其原理是根据物体通过红外线体传感器时,计时器记录时间,然后计算物体运动速度。
其中,物体运动速度的计算公式为:v=d/t,其中d为物体行驶的距离,t为物体行驶所花费的时间。
因此,在数字式红外线测速仪中,需要计算物体行驶的距离和花费的时间。
二、设计参考1. 红外线传感器的使用。
传感器需要具有高精度和稳定性,可靠地检测物体的反射信号。
2. 计时器的选择。
计时器需要对时间差进行测量,并具有高精度和稳定性。
例如,计时器可以使用基于微控制器的定时电路。
3. 数据处理和显示。
需要使用微处理器或计算机对测量到的数据进行处理和显示。
可以使用数码显示器来显示测量结果。
4. 电源管理。
数字式红外线测速仪需要电源管理电路来提供电源。
可以使用锂电池或者直流适配器作为电源。
三、应用数字式红外线测速仪被广泛应用于运动竞技、交通管理、物流运输等领域。
1. 运动竞技。
数字式红外线测速仪可以用于测量运动员的速度和距离,例如田径赛和自行车赛等。
2. 交通管理。
数字式红外线测速仪可以用于测量车辆的速度和流量,以便实现交通拥堵控制和安全管理。
例如,在高速公路上设置数字式红外线测速仪来检测超速行驶的车辆。
3. 物流运输。
数字式红外线测速仪可以用于测量物流运输中的货物的速度和距离,以确保货物的安全运输。
总之,数字式红外线测速仪的原理简单,设计参考实用,应用领域广泛。
它是一种准确、可靠、经济、易用的测速仪器,为人们的生产和生活带来了便利。
diskmark使⽤教程raid盘测速⾸先说明⼀下软件各个参数的意义。
1~9 测试次数;50MB~4000MB 测试规模;C,D,E,F选择测试对象;ALL 测试以下所有;第⼀⾏代表你硬盘的读写速度。
第⼆⾏代表你硬盘4K⽂件多线程读写速度。
第三⾏代表你硬盘的连续读写速度。
第四⾏代表你硬盘4K⽂件单线程读写速度。
⼀般看读写速度就看第⼀⾏就可以了⽤多队列和多线程的⽅式进⾏顺序读写测试,其中Q=32,T=1,即使⽤32个队列数,⼀个线程。
官⽹说明:Test TypesAll : All Test ("Seq Q32T1", "4K Q32T1", "Seq", "4K" )Seq Q32T1: Sequential (Block Size=128KiB) Read/Write with multi Queues & Threads4K Q32T1: Random 4KiB Read/Write with multi Queues & ThreadsSeq: Sequential (Block Size=1MiB) Read/Write with single Thread4K: Random 4KiB Read Write with single Queue & Thread翻译:Seq Q32T1:⽤多队列和多线程的⽅式进⾏顺序读写测试,其中Q=32,T=1,即使⽤32个队列数,⼀个线程。
通过提⾼测试程序的队列数和线程数,可以提⾼测试的值。
这个可以通过软件进⾏设置设置后下⾯这张是官⽹给不同线程数的例⼦:Intel SSD DC 750 1.2TB补充说明其他:Test Size,针对的是顺序访问(Sequential Acess)进⾏读写的⼤⼩,此设置为4K⽆关,4K 为固定⼤⼩。
没有标记seq的是随机访问(Random Access)进⾏读写,⼀般会⽐顺序访问的⽅式慢。
西安科技大学高新学院电子产品设计报告题目基于单片机电动机测速仪(数码管程序)专业班级自动化0901学号0901030110姓名刘鲁建指导教师周燕2012年9月19日数码管动态显示一、实验要求1.在Proteus软件中画好51单片机最小核心电路,包括复位电路和晶振电路2.在电路中增加四个7段数码管(共阳/共阴自选),将P0口作数据输出口与7段数码管数据引脚相连,P2.0~P2.3引脚输出选控制信号3.在Keil软件中编写程序,采用动态显示法,实现数码管分别显示数字1~9二、实验目的1.巩固Proteus软件、Keil软件、DXP软件的使用方法2.学习端口输入输出的高级应用3.掌握7段数码管的连接方式和动态显示法4.掌握查表程序和延时等子程序的设计三.实验说明本实验是将单片机的P0口做为输出口,将四个数码管的七段引脚分别接到P0.0至P0.7。
由于电路中采用共阴极的数码管,所以当P0端口相应的引脚为1时,对应的数码管段点亮。
程序中预设了数字0-9、a-f的段码。
在实验中,预设的数字段码表存放在数组TAB中,由于段码表是固定的,因此存储类型可设为code。
在Proteus软件、DXP软件中按照要求画出电路,再利用Keil软件按需要实现的功能编写c程序,生成Hex文件,把Hex文件导到Proteus软件中进行仿真。
为了能够更好的验证实验要求,在编写程序时需要延时10ms,能让人眼更好的分辨;89C51的一个机器周期包含12个时钟脉冲,而我们采用的是11.0592MHz晶振,每一个时钟脉冲的时间大约是1/12us,所以一个机器周期为1us。
在keil程序中,延时子函数的实现是用void delay(uchar z)。
动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
选亮数码管采用动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
基于555定时器和单片机的数字测速系统
何献忠
【期刊名称】《机电产品开发与创新》
【年(卷),期】2007(20)1
【摘要】叙述了一种采用555定时器和单片机进行电动机转速测量的方法,详细介绍了系统各部分的组成、原理及用C语言进行测量控制的编程方法.
【总页数】2页(P162-163)
【作者】何献忠
【作者单位】湖南冶金职业技术学院,湖南,株洲,412000
【正文语种】中文
【中图分类】TP39
【相关文献】
1.基于单片机的汽轮机数字测速方法 [J], 沈德明;高艳
2.用单片机组成的数字测速系统 [J], 许金富
3.基于AT89S52单片机的LCD数字测速仪的设计 [J], 陈龙;梁欣铃
4.基于单片机的数字测速系统设计 [J], 袁捷
5.一种应用于80C196KB单片机控制伺服系统的数字测速方法 [J], 李先祥
因版权原因,仅展示原文概要,查看原文内容请购买。
数字测速系统
精品文档
收集于网络,如有侵权请联系管理员删除
数字测速系统的设计
一、设计任务及指标
设计并制作测量电机转速的数字测速系统
1.测量转速可达0~40转/秒;
2.转速测量精度不得低于900/秒;
3.输出转速由数码管显示;
4.低速报警;(速度低于设定值时,启动蜂鸣器报警,速度升高至设定值
以上时,自动关闭蜂鸣器)。
*.功能扩展部分(例如:控制电机的正反转,可用发光二极管显示)。
二、设计相关提示
1.光电信号检测电路:通过光电传感器(货霍尔传感器)把转速转变为脉冲
信号。
2.计数、译码、显示电路:对脉冲信号进行计数,然后经译码、驱动显示电
路,在数码管上显示电机的转速。
3.精度问题:在电机转轴上装上转盘,转盘上打一定数量的孔(孔的多少表
明电机每转可以得到的脉冲信号)。