




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、使用单片机制作的测速表测速是工农业生产中经常遇到的问题,学会使用单片机技术设计测速仪表具有很重要的意义。 要测速,首先要解决是采样的问题。在使用模拟技术制作测速表时,常用测速发电机的方法,即将测速发电机的转轴与待测轴相连,测速发电机的电压高低反映了转速的高低。使用单片机进行测速,可以使用简单的脉冲计数法。只要转轴每旋转一周,产生一个或固定的多个脉冲,并将脉冲送入单片机中进行计数,即可获得转速的信息。一、脉冲信号的获得 可以有多种方式来获得脉冲信号,这些方法有各自的应用场合。下面逐一进行分析。1霍尔传感器
2、 霍尔传感器是对磁敏感的传感元件,常用于开关信号采集的有cs3020、cs3040等,这种传感器是一个3端器件,外形与三极管相似,只要接上电源、地,即可工作,输出通常是集电极开路(oc)门输出,工作电压范围宽,使用非常方便。如图1所示是cs3020的外形图,将有字面对准自己,三根引脚从左向右分别是vcc,地,输出。 图1 cs3020外形图 使用霍尔传感器获得脉冲信号,其机械结构也可以做得较为简单,只要在转轴的圆周上粘上一粒磁钢,让霍尔开关靠近磁钢,就有信号输
3、出,转轴旋转时,就会不断地产生脉冲信号输出。如果在圆周上粘上多粒磁钢,可以实现旋转一周,获得多个脉冲输出。在粘磁钢时要注意,霍尔传感器对磁场方向敏感,粘之前可以先手动接近一下传感器,如果没有信号输出,可以换一个方向再试。 这种传感器不怕灰尘、油污,在工业现场应用广泛。2光电传感器 光电传感器是应用非常广泛的一种器件,有各种各样的形式,如透射式、反射式等,基本的原理就是当发射管光照射到接收管时,接收管导通,反之关断。以透射式为例,如图2所示,当不透光的物体挡住发射与接收之间的间隙时,开关管关断,否则打开。
4、为此,可以制作一个遮光叶片如图3所示,安装在转轴上,当扇叶经过时,产生脉冲信号。当叶片数较多时,旋转一周可以获得多个脉冲信号。 图2光电传感器的原理图 图3遮光叶片3光电编码器 光电编码器的工作原理与光电传感器一样,不过它已将光电传感器、电子电路、码盘等做成一个整体,只要用连轴器将光电传感器的轴与转轴相连,就能获得多种输出信号。它广泛应用于数控机床、回转台、伺服传动、机器人、雷达、军事目标测定等需要检测角度的装置和设备中。如图4所示,是某光电编码器的外形。 图4 成品光电编码器二、硬件连接
5、0; 测速的方法决定了测速信号的硬件连接,测速实际上就是测频,因此,频率测量的一些原则同样适用于测速。 通常,可以用计数法、测脉宽法和等精度法来进行测试。所谓计数法,就是给定一个闸门时间,在闸门时间内计数输入的脉冲个数;测脉宽法是利用待测信号的脉宽来控制计数门,对一个高精度的高频计数信号进行计数。由于闸门与被测信号不能同步,因此,这两种方法都存在±1误差的问题,第一种方法适用于信号频率高时使用,第二种方法则在信号频率低时使用。等精度法则对高、低频信号都有很好的适应性。 这
6、里为简化讨论,仅采用计数法来进行测试。 图5所示是测速器的电路图,由六位数码管和测速接口组成。其中t0处接的只画了一只cs3020组成的霍尔传感器接线图,如果采用光电传感器接口也是一样的,读者可自行画出接线图。 图5测速计电路原理图三、软件编程 测量转速,使用霍尔传感器,被测轴安装有12只磁钢,即转轴每转一周,产生12个脉冲,要求将转速值(转/分)显示在数码管上。程序如下:dispbuf equ 5ah ;显示缓冲区从5ah开始seccoun equ 59hspcoun equ 5
7、7h ;速度计时器单元57h和58h,高位在前(57h单元中)count equ 56h ;显示时的计数器spcalc bit 00h ;要求计算速度的标志hidden equ 16 ;消隐码org 0000hajmp startorg 1bhjmp timer1 ;定时中断1入口org 30hstart: mov sp,#5fh ;设置堆栈mov p1,#0ffhmov p0,#0ffhmov p2,#0ffh ;初始化,所有显示器、led灭mov tmod,#00010101b ;定时器t1工作于方式1,定时器0工作方式1 mov th1,#high(65536-4000)mov tl1,
8、#low(65536-4000)setb tr1setb et1 ;开定时器1中断setb ealoop: jnb spcalc,loop ;如果未要求计算,转本身循环;标号: 功能:双字节二进制无符号数乘法;入口条件:被乘数在r2、r3中,乘数在r6、r7中。;出口信息:乘积在r2、r3、r4、r5中。;影响资源:psw、a、b、r2r7 堆栈需求: 字节mov r2,spcounmov r3,spcoun+1mov r6,#0mov r7,#5 ;测得的数值是每秒计
9、数值,转为每分转速(每一转测12次,故乘5而非60)call muld;标号: 功能:双字节十六进制整数转换成双字节码整数;入口条件:待转换的双字节十六进制整数在r6、r7中。;出口信息:转换后的三字节码整数在r3、r4、r5中。;影响资源:psw、a、r2r7 堆栈需求: 字节mov a,r4mov r6,amov a,r5mov r7,a ;将乘得的结果送r6r准备转换,这里结果不可能超过2字节call hb2cbcd: mov dispbuf,r3 ;最高位mov a,r4
10、;anl a,#0f0h ;去掉低4位swap a ;将高4位切换到低4位mov dispbuf+1,amov a,r4anl a,#0fhmov dispbuf+2,amov a,r5anl a,#0f0hswap amov dispbuf+3,amov a,r5anl a,#0fhmov dispbuf+4,aclr spcalc ;清计算标志jmp loop;主程序到此结束timer1: push acc;acc入栈push psw ;psw入栈setb rs0 ;工作区1jnb tr0,settr0 ;如果t0未运行,则开启t0jmp go1settr0:setb tr0go1: in
11、c seccoun ;秒计数器加1mov a,seccouncjne a,#251,go2 ;如果未到1s则转clr tr0 ;1到了,则停止t0的运行mov spcoun,th0mov spcoun+1,tl0 ;读取计数值clr amov th0,amov tl0,a ;清计数器setb spcalc ;要求主程序计算速度mov seccoun,#0 ;清秒计数器go2: inc count 用于显示的计数器mov a,countclr csubb a,#6jz n1jmp n2n1: mov count,#
12、0n2: mov a,#dispbufadd a,count mov r0,a ;指向当前要显示的显示缓冲区mov a,r0 ;取第一个待显示数mov dptr,#disptab ;字形表首地址movc a,a+dptr ;取字形码mov p0,a ;将字形码送p0位(段口)mov a,countmov dptr,#bittab ;字位表首地址movc a,a+dptrorl p2,#11111100b anl p2,amov th1,#high(65536-4000) mov tl1,#low(65536-4000)pop pswpop
13、 accretibittab: db 7fh,0bfh,0dfh,0efh,0f7h,0fbhdisptab:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h,86h,8eh,0ffh其他数学运算程序(略)四、程序分析 主程序在对定时器、计数器、堆栈等进行初始化后即判断标志spcalc是否为1,如果为1,说明要求对数据进行计算处理,首先将spcalc标志清零,以保证下次能正常判断,然后进入数据处理程序,由于这里的闸门时间为1s,而显示要求为转/分,
14、因此,要将测到的数据进行转换,转换的方法是将测得的数据乘以60,但由于转轴上安装有12只磁钢,每旋转一周可以得到12个脉冲,因此,要将测得的数据除以12,所以综合起来,将测得的数据乘以5即可得到每分钟的转速。计算得到的结果是二进制的整数,要将数据送往显示缓冲区需要将该数转化为bcd码。运算得到的是压缩bcd码,需要将其转换为非压缩bcd码,从标号cbcd开始的一段程序即作了这样的处理。需要说明的是,这里多位二进制乘法和多位二进制到bcd码的转换都是用了现成的成熟子程序,因此,首先将二进制数转换为压结合实际bcd码,然后再转换成非压缩bcd码,看似多写了些程序,实际上这对于保证程序的质量很有好处。 定时器t1用作4ms定时发生器,在定时中断程序中进行数码管的动态扫描,同时产生1s的闸门信号。1s闸门信号的产生是通过一个计数器count,每次中断时间为4ms,每计250次即为1s,到了1s后,即清除计数器count,然后关闭作为计数器用的t0,读出th0、tl0中的数值,分别送入spcoun和spcoun+1单元,将t0中的值清空,置spcalc标志为1,要求主程序进行速度值的计算。这里还有一个细节,用作1s闸门信号产生的count每次中断都会加1,而t0却有一个周期是被关闭的,因此,计数值是251而
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品开发变更管理办法
- 《牧草种子管理办法》
- 交通厂外安全管理办法
- 中保保险基金管理办法
- 规范校园贷管理办法
- 人类遗传资料管理办法
- 规范通信基站管理办法
- 中介培训日常管理办法
- 东莞物业后续管理办法
- 融媒体资金管理办法
- UL2034标准中文版-2017一氧化碳报警器UL中文版标准
- 【MOOC】认识飞行-上海工程技术大学 中国大学慕课MOOC答案
- 国际商务谈判 习题答案、练习题及答案(白远)
- 关节活动维持与改善技术
- 幼儿园饮用水突发污染事故应急处理预案
- 政治-中国特色社会主义教材探究与分享参考答案高中政治统编版必修一
- 湖南省长沙市师大附中博才实验中学2024-2025学年九年级上学期开学考试语文试题
- 《赏书法之韵》教学课件1
- 2024年新人教版八年级上册物理全册教案
- 02R111小型立、卧式油罐图集
- 护理团体标准解读-成人氧气吸入疗法护理
评论
0/150
提交评论