基于单片机的角度测量仪.docx

上传人:b****6 文档编号:6907717 上传时间:2023-01-12 格式:DOCX 页数:24 大小:1.35MB
下载 相关 举报
基于单片机的角度测量仪.docx_第1页
第1页 / 共24页
基于单片机的角度测量仪.docx_第2页
第2页 / 共24页
基于单片机的角度测量仪.docx_第3页
第3页 / 共24页
基于单片机的角度测量仪.docx_第4页
第4页 / 共24页
基于单片机的角度测量仪.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

基于单片机的角度测量仪.docx

《基于单片机的角度测量仪.docx》由会员分享,可在线阅读,更多相关《基于单片机的角度测量仪.docx(24页珍藏版)》请在冰豆网上搜索。

基于单片机的角度测量仪.docx

基于单片机的角度测量仪

基于单片机的角度测量仪

摘要:

本文所设计的角度测量仪是利用AT89S51单片机,该单片机是一款低功耗,CMOS8位单片机,片内含4KB的可系统编程的Flash只读程序存储器的单片机,角度测量仪将被测物体与光电编码器同轴转动,将光栅的光信号传输给光电编码器内部的光敏电阻,经过处理后产生脉冲,通过编写程序导入单片机,当来一个脉冲下降沿沿时,定时器中断,则脉冲数加一,进而将脉冲数转换成数字量,通过转换成角度量,最后通过液晶显示屏直接显示所测出的角度。

本文同时分析了角度测量仪的硬件组成,设计原理,给出了设计程序。

关键字:

光电编码器单片机显示屏角度测量

 

目录

1前言1

2系统的基本构成3

2.1系统的框图3

2.2光电编码器的原理3

2.3AT89S51单片机的原理6

2.4液晶显示屏原理8

3硬件部分的设计10

3.1.脉冲数与角度的关系10

3.2光电编码器与单片机的接口技术10

3.3系统仿真框图11

4软件部分的设计12

4.1软件部分总程序框图12

4.2中断程序流程13

4.2.1外部0中断13

4.2.2定时器中断14

总结16

参考文献18

附录

19

 

1前言

角度测量是计算科学的重要组成部分,随着社会的发展,角度测量越来越广泛应用于机械,光学,航空航天等各个领域,技术水平和准确度也在不断提高。

随着科技的进步,测角技术的精度不断提高,测量领域也不断扩大;数字化的发展使测角技术实现自动化,测角的方法也越来越多。

角度是一个重要的几何量计量参数,它不仅应用于军事领域还运用于商业领域和工业领域,而我国的角度测量技术也经过了几十年的发展,随着21世纪科学技术的不断发展,传统的角度计量工具框式水平仪和机械式测量方法将被数字角度测量仪所取代,数字角度测量仪具有性能稳定,工作可靠,测量精确度高,使用简单,因此一个电子检测数字显示的现代化角度测量时代即将开始。

近年来工业上常用的测角方法有机械式测角技术、激光测角技术和光学测角技术。

机械式技术由于研究较早,技术已经非常成熟。

其优点是简单、成本低,但是其设备体积庞大,测量延时大、精度低,多数情况下不能实时动态测量,而且不能实施非接触式测量,所以不合适高精度的角度测量。

光学测角技术是随着新型光电材料和器件的出现而发展起来的,光电编码器方法测角具有体积小,重量轻,品种多,分辨力高,承载能力强,性能稳定,可靠使用寿命长等诸多优点。

基于单片机的角度测量仪的系统简介

光电编码器是集光,机,电于一体的转速位移传感器,当编码器转轴带动光栅圆盘旋转时,发光元件发出的光被光栅盘的狭缝切割成断断续续的光线,并被接收元件接收产生初始信号,该信号经后继电路处理后输出脉冲信号,该脉冲信号传输给AT89S51单片机,利用AT89S51单片机内部的计数器实现对光电编码器输出脉冲的加减可逆计数,而输出的脉冲数与角度值成正比,通计算脉冲数进而算出角度值。

角度测量仪利用单片机算出脉冲数,用液晶显示屏读取光电编码器测出的角度值。

基于单片机的角度测量仪课题的研究意义

角度测量仪是某些控制系统中瞄准装置的关键部件。

在以往的控制系统中,多数都是仅凭设备操作人员眼睛瞄准指定目标,然后作出相应的控制,这样就带来一系列问题,如操作人员的经验、瞄准的精确的都肯能带来一些较大的误差。

而机械式测角利用分度盘,而分度盘用不能无限增加,从而受到限制,利用角度测量仪能够可以很方便的显示前后的角度差距,对工人的专业要求降低,可以提高生产效率,有助于产品质量和安全提高。

因此研究一种适用的角度测量方法是必要的。

电子技术在工程测量中已经普遍应用,相对于传统的测量方法,光电编码器在显示、精度、成本上占很大的优势。

而且随着传感器技术和测量方法的发展,对于一些物理量的测量变得更方便。

在数据管理上,也可以将数据测量出,通过通信的方式传送到上位机,有助于产品和加工过程中的数据统计分析。

电子技术的应用能够和企业的自动化系统配合,作为整个企业自动化生产的一个子系统。

本设计就是从电子应用出发,希望借助于将电子测量技术,将该方法应用到工程实际生产中,提供一种低成本、效率高、精度高的角度测量方法。

2系统的基本构成

2.1系统的框图

该系统主要由光电编码器,AT89S51单片机,D触发器,1602液晶显示屏等组成,系统基本框图如2-1所示

图2-1系统的基本框图

2.2光电编码器的原理

光电式码盘亦称脉冲式角度—数字编码器,光电编码器的光栅盘和内部结构示意图如图2-2-1所示。

在一个圆盘上按码道开有相等角距的缝隙,在码道上分为透明区和不透明区,分别代表“1”和“0”,相当于接触式码盘的导电区和不导电区。

光电式码盘的优点是无触点磨损,因而允许高转速;每条缝隙宽度可做得很小,所以精度和分辨高。

图2-2-1光栅盘和光电编码器内部结构示意图

光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器,是目前应用最多的传感器。

一般的光电编码器主要由光栅盘和光电检测装置组成。

而光栅码盘图案主要由零位标记码道和循环码道组成,零位标记码道称作参考点码道,用来检测被物体角度的基准点。

有时需要用光扫描将近360度来寻找绝对基准点。

循环码道由一系列相互交错的透明和不透明的光栅线条组成。

零位标记码道由几个位置相互分立的光栅组成。

当光栅盘随被测工作轴一起转动时,每转过一个缝隙,光电管就会感受到一次光线的明暗变化,然后将明暗光线发送给光敏电阻,使光电管的电阻值改变,这样就把光线的明暗变化转变成电信号的强弱变化,而这个电信号的强弱变化近似于正弦波的信号,经过整形和放大等处理,变换成脉冲信号。

通过计数器计量脉冲的数目,即可测定旋转运动的角度;其原理如图2-2-2所示。

此外通过有一定相位差的两组增量式脉冲信号可以检测出光电编码器的转动方向。

光电编码器测角体积小,承载能力强,数字化程度高,性能可靠,使用时间长。

图2-2-2光电编码器

增量式光电编码器由主码盘、鉴向盘、光敏元件和光电变换器组成。

在光电盘周边上刻有距离相等的辐射状窄缝,形成均匀分布的透明区和不透明区。

而光栅码图案主要由循环码道和零位标记码道组成,循环码道由一系列均匀交错的透明区和不透明区光栅线条组成,零位标记码道由几个距离相等的光栅组成零位标记码道。

由于码道信号的读取采用的是光电扫描原理,对测量基准的扫描是非接触的,因此没有磨损。

如果一个光栅的刻线与另一个光栅的狭缝对齐则光线无法通过,如果一个光栅的透明区刚好与另一光栅的透明区在同一条直线上时则光线刚好通过,利用光电扫描法可检测到非常精细的栅线,扫描产生等同于栅线同期输出的脉冲信号。

工作时,主码盘与转轴一起转动,鉴向盘静止不动,当光电码盘随工作轴一起转动时,光线透过光电码盘和光栏板狭缝,形成光信号。

光敏元件接收光信号信号,经过处理后转换成脉冲信号,然后由单片机来计脉冲数,最后由液晶显示屏直接显示角度量。

光电编码器的测角精确度与码盘圆周上的透光槽数n有关,能分辨的角度α为360°/n,分辨率为1/n。

为了判断码盘旋转时是顺势正还是逆时针,必须在光栏板上设置两个透明区,两者之间相差4/1截距,并设置了两组对应的光敏元件,由光敏元件来得出高低电平,进而传给单片机。

当检测对象旋转时,光码盘会被带动旋转,进而光源一会穿过透明区,一会被遮挡,就这样循环反复,光电编码器便会输出一组脉冲信号.光电编码器正反转根据A、B信号的波形及其时序关系得出,A的高电平先于B出现,则判断为正转,B的高电平先于A出现时则判断为反转。

同时A和B输出的脉冲个数与被测角位移变化量成线性关系,因此,通过对脉冲个数计数就能计算出相应的角位移。

当测量旋转角度时,还要确定码盘转动位置的起始点,因此必须设定一个基准点,这基准点就是光栅码盘中的“零位标志槽”,当光栅码盘旋转时,零位标志槽也跟着旋转,当零位标志槽旋转到与光栅板对齐的时候,光线恰好穿过,传输给光敏电阻,产生一个高电平,到传过去之后,光敏电阻一直处于低电平,所以只有旋转一圈才能产生一个脉冲,且是零位标志槽与光栅板对齐的时候,所以通过检测这个脉冲就能确定码盘转动的起始点,再根据A和B之间的这种关系正确地解调出被测机械的旋转方向和旋转角位移即就是所谓的脉冲辨向和计数。

通过求出脉冲数得出光电编码器转了多少角度,最后通过光电编码器齿轮与被测物体齿轮关系求出被测物体旋转的角度。

光电编码器的A,B,Z输出的波形图如2-2-3所示。

图2-2-3光电编码器输出的信号波形

2.3AT89S51单片机的原理

AT89S51为ATMEL所生产8051相容单芯片,其内部程序代码容量为4KB。

(一)、AT89S51主要功能列举如下:

1,8位CPU。

2,片内带振荡器,频率范围1.2MHZ—12MHZ。

3,片内带128B的数据存储器。

4,片内带4KB的程序存储器。

5,程序存储器的寻址空间为64KB。

6,128个用户为寻址空间。

7,21个字节特殊功能寄存器。

8,4个8位并I/O接口:

P0,P1,P2,P3。

9,两个16位定时/计数器。

10,两个优先级别的5个中断源。

11,1个全双工的串行I/O接口,可多机通信。

12,111条指令,含乘法指令和除法指令。

13,片内采用总线结构。

14,有较强的位处理能力。

15,采用+5V电源。

(二)、AT89S51各引脚功能介绍:

芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口(见右图)左边那列引脚逆时针数起,依次为1、2、3、4....40,其中芯片的1脚顶上有个凹点(在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。

1、主电源引脚(2根)

VCC单片机的第40引脚,电源输入,接+5V电源。

GND单片机的第20引脚,为接地线。

2、外接晶振引脚(2根)

XTAL1为单片机的第19引脚,作用是片内振荡电路的输入端。

XTAL2单片机的第20引脚,为片内振荡电路的输出端。

3、控制引脚(4根)

RST单片机的第9引脚,作用是复位,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG单片机的第30引脚,为地址锁存允许信号。

PSEN单片机的第29引脚,为外部存储器读选通信号。

EA/VPP单片机的第30引脚,程序存储器的内外部选通,如果接的是低电平则外部程序存储器读指令,如果接高电平则内部程序存储器读指令。

4、可编程输入/输出引脚(32根)

 AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8根引脚,共32根。

每一根引脚都可以编程,比如用来控制电机、交通灯、霓虹灯等。

PO口单片机的第32引脚到第39引脚,为8位双向I/O口线,名称为P0.0~P0.7。

P1口单片机的第1到第8引脚,8位准双向I/O口线,名称为P1.0~P1.7。

P2口单片机的第21到第28引脚,8位准双向I/O口线,名称为P2.0~P2.7。

P3口单片机的第10到第17引脚,8位准双向I/O口线,名称为P3.0~P3.7。

上面就是AT89S51单片机引脚的简单介绍,其它51系列家族的单片机8031、8051、89C51等引脚和89S51兼容,只是个别引脚功能定义不同。

端口0是一个8位宽的双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。

其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。

端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LSTTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。

端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LSTTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。

端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,端口3的引脚定义如框图2-3所示。

口线

信号

功能

P3.0

RXD

串行口数据输入

P3.1

TXD

串行口数据输出

P3.2

INTO

外部中断0输入

P3.3

INT1

外部中断1输入

P3.4

T0

定时计数器0的外部输入

P3.5

T1

定时计数器1的外部输入

P3.6

WR

外部数据存储器写选通控制输出

P3.7

RD

外部数据存储器读选通控制输出

表2-3端口3的引脚定义

2.4液晶显示屏原理

在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。

对于显示英文操作,只需要8位(一字节)即可。

而对于中文,却要用到6000以上。

因此我们将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,而剩下的低128位则留给英文字符使用。

那么,得到了汉字的内码后,还仅是一组数字,如果要显示出来这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,液晶显示屏如2-4-1所示。

 

图2-4-11602液晶显示屏

 

LCD1602已很普遍了,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),控制原理与14脚的LCD完全一样,LCD1602的引脚定义如框图2-4-4所示。

引脚 

符号

功能说明

1

VSS

一般接地

2

VDD

接电源(+5V)

3

VO

液晶显示器对比度调整端,对比度最弱时是接正电源,然而接地电源时它的对比度却最高

4

RS

RS为寄存器选择,选择数据寄存器则应选用高电平1,低电平0时则选择指令寄存器

5

R/W

R/W为读写信号线,高电平

(1)时进行读操作,低电平(0)时进行写操作。

6

E

E(或EN)端为使能(enable)端,下降沿使能。

7

DB0

底4位三态、 双向数据总线 0位(最低位

8

DB1

底4位三态、 双向数据总线 1位

9

DB2

底4位三态、 双向数据总线 2位

10

DB3

底4位三态、 双向数据总线 3位

11

DB4

底4位三态、 双向数据总线 4位

12

DB5

底4位三态、 双向数据总线 5位

13

DB6

底4位三态、 双向数据总线 6位

14

DB7

高4位三态、 双向数据总线 7位(最高位)(也是busy flag)

15

BLA

背光电源正极

16

BLK

背光电源负极

表2-4LCD1602的引脚定义

3硬件部分的设计

3.1.脉冲数与角度的关系

ZSP52系列增量式光电编码器的码盘是由36000个狭缝组成,当齿轮旋转一周,会经过36000个狭缝,主码盘边缘的透光槽数为36000个,会产生36000个脉冲,旋转一周是360度,则能分辨的最小角度α=360°/36000=0.01,所以每个狭缝所占用的角度是0。

01°而光电编码器的主码盘在旋转时,每个狭缝会产生一个脉冲,所以当光电编码器产生一个脉冲时则表明物体已经旋转0.01度,所以根据单片机所得的脉冲数来计算光电编码器旋转的角度。

而脉冲数的计算是通过编写程序导入AT89S51单片机,利用单片机的中断,来一个中断,脉冲数加一个。

设角度为

,脉冲数利用公式角度=脉冲数*0.01,最后直接通过1602液晶显示屏直接显示出度数即为被测物体的旋转角度。

编码器和被测物体的齿轮如图3-1所示。

图3-1光电编码器与被测物体齿轮

3.2光电编码器与单片机的接口技术

在光电编码器与单片机连接时,我们将A,B两个接线口与D触发器相连接,将绝对位置基准点Z与单片机的中断INTO链接,将A,B相与起来与中断INT1连接,当光电编码器的转轴旋转时,A,B两个接口会随着光电编码器的旋转输出脉冲,如果A,B正转,D触发器的输出端Q=1,则脉冲数加1,如果A,B反转,D触发器的输出端Q=0,则脉冲数减1,当光电编码器的Z接口产生下降沿触发时,则中断INTO中断,如果此时转轴正转,Q=1,则脉冲数清0,则从此点开始作为基准点测量角度,如果此时转轴反转,Q=0,则脉冲数达到满量程,如果一圈36000个脉冲,则此时脉冲数为36000个。

在中断过程中INT0的中断级别比INT1的中断级别高。

光电编码器与单片机接口如图3-2所示。

图3-2,光电编码器与单片机的连接

3.3系统仿真框图

角度测量仪启动工作后,单片机的工作过程是:

系统启动后,初始化液晶显示屏1602,然后再进行定时器初始化,读取光电编码器获取的角度值,再将当前的角度值转换成密位值显示在数码屏,如果测下一次的角度值,将单片机进行复位,进入下一个工作循环。

图3-3系统仿真图

4软件部分的设计

4.1软件部分总程序框图

图4-1程序总流程图

主程序:

voidmain()

{

uchartabPL[9];

L1602_init();

Time0_Init();

Outside_Init();

while

(1)

{k=i;

tabPL[8]=k%10+'0';

tabPL[7]=(k/10)%10+'0';

tabPL[5]=(k/100)%10+'0';

tabPL[4]=(k/1000)%10+'0';

tabPL[3]=(k/10000)%10+'0';

tabPL[2]=(k/100000)%10+'0';

tabPL[1]=(k/1000000)%10+'0';

tabPL[0]=(k/10000000)%10+'0';

tabPL[6]='.';

wcmd(0x01);

L1602_string(1,1,tabPL);

if(key1==0)

{

Delay

(2);

if(key1==0)

4.2中断程序流程

4.2.1外部0中断

当光电编码器的基准点有光通过时,会产生一个脉冲,这个脉冲信号接入单片机的INT0引脚,当这个脉冲来一个下降沿触发时,则进行外部中断,如果光电编码器正转时则脉冲数i=0,如果光电编码器反转则脉冲数i=36000,中断结束后返回主程序。

图4-2-1外部中断0流程图

 

外部中断程序:

voidOutside_Init(void)

{

EX0=1;//开外部中断0

IT0=1;//负边沿触发

EA=1;//开总中断

}

voidOutside_Int1(void)interrupt0using1

{if(Q=1)i=0;

Elsei=36000;

}

4.2.2定时器中断

当光电编码器随着物体旋转时会产生脉冲,将产生脉冲作为输入信号传输给单片机,当来一个脉冲时,定时器中断,如果光电编码器正转,则每来一个输入脉冲,脉冲数i加1,如果反转,则每来一个脉冲,脉冲数i减1.当光电编码器旋转时,最大脉冲数量为36000。

图4-2-2定时器中断流程图

 

定时器中断程序:

voidTime0_Init()

{

TMOD=0x06;

TH0=0xff;

TL0=0xff;

IE=0x82;

TR0=1;

}

voidTime0_Int()interrupt1

{if(Q=1)i++;

Elsei--;

}

总结

经过两周的时间,基于单片机的角度测量仪的设计终于顺利完成了,其中包含着快乐,也有辛酸。

刚拿到设计题目时,硬件电路不知如何下手,因为我们所学的大部分是单片机方面的理论知识,应用到实践中去还比较少。

于是我们积极地查阅和收集资料。

去图书馆借参考书,上网去找一些相关资料,并且请教指导老师。

通过不断努力,终于把思路和模型定了下来,并用proteus软件绘制器硬件电路图,然后整理和修改程序,从而实现想要的功能。

本次设计采用的单片机是AT89S51,通过阅读它的数据手册,进一步的了解了该单片机的功能,它功能强大使用方便,是一款很有前途的单片机。

在设计中,我绘制了硬件电路仿真图,用Keil软件编写了硬件电路所用到的C语言程序。

在仿真和编写的过程中,我接触到了一些元器件,深入的了解并学习了这些器件的结构和功能,提高了一定的知识水平。

通过这次课程设计,不仅提高了我单片机方面的知识,而且增强了实践动手能力。

在以后的日子里不断地学习和积累这方面的知识,并且寻找机会尽可能地去动手实践,提高自身的综合素质。

我觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点可以联系到毕业之后从学校踏上社会的一个过程,这些都是以后工作中必需的。

所以我认为这次的课程设计意义很深,和同学的共同学习﹑配合﹑努力的过程也很愉快,另外还要感谢老师的耐心辅导。

尽管我们的课程设计还有很多的不足之处,但还是很感谢张老师给我们的细心指导,同时也很感谢学校给我们安排了这次课程设计,让我真正感受到设计的重要性也加强了我对单片机这门学科的更好的理解和学习。

杨凯

 

在本次角度测量仪的设计实验中我们用AT89C51单片机、角度传感器、控制按键、晶振器等构成的,设有计时显示,开始、复位按键以此实现精确度为0.01°。

系统线路简单、功能先进,性能稳定,程序精简。

给出了详细的电路设计方法。

本系统是以单片机为核心,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合。

因此用C语言来进行软件设计。

通过本次设计,复习巩固我们以前所学习的数字、模拟电子技术、单片机原理及应用等课程知识,加深对各门课程及相互关系的理解,并成功使用了Proteus电子软件,使理论知识系统化、实用化,系统地掌握微机应用系统的一般设计方法,培养了我们的编程能力。

同时在本次实验中我们也学到了很多在课堂中很难学到的东西,通过这次课程设计,我拓宽了知识面,锻炼了动手能力。

在本次设计中增强了我们对单片机理论知识的理解,学会了应用单片机来设计、计算,提高了分析解决实际问题的能力。

也为我们以后走上社会有很大的帮助。

通过这两周的课程设计我学到了很多,在这阶段我查了很多资料,查阅到很多关于单片机的知识。

以前对课程设计只停留在理论的基础上,通过此次课设感受理论与实际的差别,看着很简单,但在实际操作的过程中会遇到很多的问题。

以前也接触过汇编等仿真软件,不过没有深刻领会,但经过这次课程设计使我又一次学习了这种软件的使用,并对它有了逐步了解。

这次的设计学习让我受益匪浅。

时间虽然不算长,但过程是最重要的。

首先,我需要考虑如何去设计一个合理的方案,通过我们查询资料,请教老师,我学会了如何去独立思考一个问题。

后来调试及设计的过程我加深了对所学的这部分内容的理解,理解了各部分的具体作用,最终调试出了符合设计要求的电路。

很多子程序是可以借鉴书本上的,但怎样衔接各个子程序才是关键的问题所在,这需要对单片机的结构很熟悉。

在课程设计的过程中也看到了我自身的不足,如原理知识掌握不实,曾经学过的知识如今却不会应用,希望日后学校能够为我们创造更多这样自己动手实践的课程,提供给

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1