最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

当前位置: 主页 > 电子DIY > 单片机 >

diy使用单片机制作的测速表

时间:2013-01-13 18:35来源:网络 作者:网络整理 点击:
免费提供各种电子制作文章、资料、图纸

测速是工农业出产中常常碰着的题目,学会行使单片机技能计划测速仪表具有很重要的意义。
    要测速,起主要办理是采样的题目。在行使模仿技能制作测速表时,常用测速发电机的要领,即将测速发电机的转轴与待测轴相连,测速发电机的电压坎坷反应了转速的坎坷。行使单片机举办测速,可以行使简朴的脉冲计数法。只要转轴每旋转一周,发生一个或牢靠的多个脉冲,并将脉冲送入单片机中举办计数,即可得到转速的信息。

一、脉冲信号的得到
    可以有多种方法来得到脉冲信号,这些要领有各自的应用场所。下面一一举办说明。

1.霍尔传感器
    霍尔传感器是对磁敏感的传感元件,常用于开关信号收罗的有CS3020、CS3040等,这种传感器是一个3端器件,形状与三极管相似,只要接上电源、地,即可事变,输出凡是是集电极开路(OC)门输出,事变电压范畴宽,行使很是利便。如图1所示是CS3020的形状图,将有字面瞄准本身,三根引脚从左向右别离是Vcc,地,输出。
 

  图1 CS3020形状图
    行使霍尔传感器得到脉冲信号,其机器布局也可以做得较为简朴,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关接近磁钢,就有信号输出,转轴旋转时,就会不绝地发生脉冲信号输出。假如在圆周上粘上多粒磁钢,可以实现旋转一周,得到多个脉冲输出。在粘磁钢时要留意,霍尔传感器对磁场偏向敏感,粘之前可以先手动靠近一下传感器,假如没有信号输出,可以换一个偏向再试。
    这种传感器不怕尘埃、油污,在家产现场应用普及。

2.光电传感器
    光电传感器是应用很是普及的一种器件,有各类百般的情势,如透射式、反射式等,根基的道理就是当发射管光照射到吸取管时,吸取管导通,反之关断。以透射式为例,如图2所示,当不透光的物体盖住发射与吸取之间的间隙时,开关管关断,不然打开。为此,可以制作一个遮光叶片如图3所示,安装在转轴上,当扇叶颠末期,发生脉冲信号。当叶片数较多时,旋转一周可以得到多个脉冲信号。
 

图2光电传感器的道理图
 


diy使用单片机制作的测速表


图3遮光叶片

3.光电编码器
    光电编码器的事变道理与光电传感器一样,不外它已将光电传感器、电子电路、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能得到多种输出信号。它普及应用于数控机床、回转台、伺服传动、呆板人、雷达、军事方针测定等必要检测角度的装置和装备中。如图4所示,是某光电编码器的形状。

diy使用单片机制作的测速表


 
图4 制品光电编码器

二、硬件毗连
    测速的要领抉择了测速信号的硬件毗连,测速现实上就是测频,因此,频率丈量的一些原则同样合用于测速。
    凡是,可以用计数法、测脉宽法和等精度法来举办测试。所谓计数法,就是给定一个闸门时刻,在闸门时刻内计数输入的脉冲个数;测脉宽法是操作待测信号的脉宽来节制计数门,对一个高精度的高频计数信号举办计数。因为闸门与被测信号不能同步,因此,这两种要领都存在±1偏差的题目,第一种要领合用于信号频率高时行使,第二种要领例在信号频率低时行使。等精度法例对高、低频信号都有很好的顺应性。
    这里为简化接头,仅回收计数法来举办测试。
    图5所示是测速器的电路图,由六位数码管和测速接口构成。个中T0处接的只画了一只CS3020构成的霍尔传感器接线图,假如回收光电传感器接口也是一样的,读者可自行画出接线图。
 

diy使用单片机制作的测速表


图5测速计电路道理图

三、软件编程
    丈量转速,行使霍尔传感器,被测轴安装有12只磁钢,即转轴每转一周,发生12个脉冲,要求将转速值(转/分)表现在数码管上。
措施如下:
DISPBUF EQU 5AH  ;表现缓冲区从5AH开始[Page]
SecCoun EQU 59H
SpCoun EQU 57H ;速率计时器单位57H和58H,高位在前(57H单位中)
Count EQU 56H ;表现时的计数器
SpCalc bit 00h ;要求计较速率的符号
Hidden EQU 16 ;消隐码

ORG 0000H
AJMP START
ORG 1BH
JMP TIMER1 ;按时刻断1进口

ORG 30H
START: MOV SP,#5FH ;配置仓库
MOV P1,#0FFH
MOV P0,#0FFH
MOV P2,#0FFH ;初始化,全部表现器、LED灭
MOV TMOD,#00010101B ;按时器T1事变于方法1,按时器0事变方法1 MOV TH1,#HIGH(65536-4000)
MOV TL1,#LOW(65536-4000)
SETB TR1
SETB ET1 ;开按时器1间断
SETB EA

LOOP: JNB SpCalc,LOOP ;假如未要求计较,转自己轮回

;标号: MULD    成果:双字节二进制无标记数乘法
;进口前提:被乘数在R2、R3中,乘数在R6、R7中。
;出口信息:乘积在R2、R3、R4、R5中。
;影响资源:PSW、A、B、R2~R7    仓库需求:  2字节
MOV R2,SpCoun
MOV R3,SpCoun+1
MOV R6,#0
MOV R7,#5 ;测得的数值是每秒计数值,转为每分转速(每一转测12次,故乘5而非60)
CALL MULD
;标号: HB2   成果:双字节十六进制整数转换成双字节BCD码整数
;进口前提:待转换的双字节十六进制整数在R6、R7中。
;出口信息:转换后的三字节BCD码整数在R3、R4、R5中。
;影响资源:PSW、A、R2~R7    仓库需求:  2字节
MOV A,R4
MOV R6,A
MOV A,R5
MOV R7,A ;将乘得的功效送R6R筹备转换,这里功效不行能高出2字节
CALL HB2
CBCD:
MOV DISPBUF,R3 ;最高位

MOV A,R4 ;
ANL A,#0F0H ;去掉低4位
SWAP A ;将高4位切换到低4位
MOV DISPBUF+1,A

MOV A,R4
ANL A,#0FH
MOV DISPBUF+2,A

MOV A,R5
ANL A,#0F0H
SWAP A
MOV DISPBUF+3,A

MOV A,R5
ANL A,#0FH
MOV DISPBUF+4,A

CLR SpCalc ;清计较符号
JMP LOOP

;主措施到此竣事
TIMER1: PUSH ACC;ACC入栈
PUSH PSW ;PSW入栈
SETB RS0 ;事变区1
JNB TR0,SETTR0 ;假如T0未运行,则开启T0
JMP GO1
SETTR0:
SETB TR0
GO1:
INC SecCoun ;秒计数器加1
MOV A,SecCoun
CJNE A,#251,Go2 ;假如未到1s则转
CLR TR0 ;1s到了,则遏制T0的运行
MOV SpCoun,TH0
MOV SpCoun+1,TL0 ;读取计数值
CLR A
MOV TH0,A
MOV TL0,A ;清计数器
SETB SpCalc ;要求主措施计较速率
MOV SecCoun,#0 ;清秒计数器
Go2:
INC COUNT       ;用于表现的计数器
MOV A,COUNT
CLR C
SUBB A,#6
JZ N1
JMP N2
N1: MOV COUNT,#0
N2: MOV A,#DISPBUF
ADD A,COUNT
MOV R0,A ;指向当前要表现的表现缓冲区
MOV A,@R0 ;取第一个待表现数
MOV DPTR,#DISPTAB ;字形表首地点
MOVC A,@A+DPTR  ;取字形码
MOV P0,A ;将字形码送P0位(段口)
MOV A,COUNT
MOV DPTR,#BitTab ;字位表首地点
MOVC A,@A+DPTR
ORL P2,#11111100B   
ANL P2,A
MOV TH1,#HIGH(65536-4000) 
MOV TL1,#LOW(65536-4000)
POP PSW
POP ACC
RETI

BitTab: DB 7Fh,0BFH,0DFH,0EFH,0F7H,0FBH
DISPTAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH
……其他数学运算措施(略)

四、措施说明
    主措施在对按时器、计数器、仓库等举办初始化后即判定符号SpCalc是否为1,假如为1,声名要求对数据举办计较处理赏罚,起首将SpCalc符号清零,以担保下次能正常判定,然后进入数据处理赏罚措施,因为这里的闸门时刻为1s,而表现要求为转/分,因此,要将测到的数据举办转换,转换的要领是将测得的数据乘以60,但因为转轴上安装有12只磁钢,每旋转一周可以获得12个脉冲,因此,要将测得的数据除以12,以是综合起来,将测得的数据乘以5即可获得每分钟的转速。计较获得的功效是二进制的整数,要将数据送往表现缓冲区必要将该数转化为BCD码。运算获得的是压缩BCD码,必要将其转换为非压缩BCD码,从标号CBCD开始的一段措施即作了这样的处理赏罚。必要声名的是,这里多位二进制乘法和多位二进制到BCD码的转换都是用了现成的成熟子措施,因此,起首将二进制数转换为压团结现实BCD码,然后再转换成非压缩BCD码,看似多写了些措施,现实上这对付担保措施的质量很有甜头。[Page]
    按时器T1用作4ms按时产生器,在按时刻断措施中举办数码管的动态扫描,同时发生1s的闸门信号。1s闸门信号的发生是通过一个计数器Count,每次间断时刻为4ms,每计250次即为1s,到了1s后,即破除计数器Count,然后封锁作为计数器用的T0,读出TH0、TL0中的数值,别离送入SpCoun和SpCoun+1单位,将T0中的值清空,置SpCalc符号为1,要求主措施举办速率值的计较。这里尚有一个细节,用作1s闸门信号发生的Count每次间断城市加1,而T0却有一个周期是被封锁的,因此,计数值是251而不是250。
    看完这一部份内容往后,请读者自行完成以下事变:

    1.试用测脉宽法测试速率(提醒:80C51单片机内部有高精度信号源,而其计数器又具有门控特征),留意硬件计划要略作变动。

    2.查找等精度丈量道理,试计划等精度丈量的硬件计划并编写响应软件。

 

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容