您好,欢迎来到微智科技网。
搜索
您的当前位置:首页角度测量装置的研究与设计

角度测量装置的研究与设计

来源:微智科技网


唐山师范学院本科毕业论文

题 目 角度测量装置的研究与设计 学 生 222222

指导教师 尹义斌 高级实验师 年 级 2008级

专 业 电子信息科学与技术 系 别 物理系

唐山师范学院物理系

2012年5月

郑重声明

本人的毕业论文(设计)是在指导教师尹义斌老师的指导下撰写完

成的。如有剽窃、抄袭、造假等违反学术道德、学术规范和侵权的行为,本人愿意承担由此产生的各种后果,直至法律责任,并愿意通过网络接受公众的监督。特此郑重声明。

毕业论文(设计)作者(签名):

年 月 日

目 录

标题......................................................................1 中文摘要..................................................................1 1 序言....................................................................1 2 系统基本方案设计........................................................1 2.1 各模块方案的选择.....................................................1 2.2 系统总体概述.........................................................5 2.3 系统结构框图.........................................................2 2.4 系统总电路图.........................................................3 3 硬件系统设计............................................................3 3.1单片机芯片介绍.......................................................3 3.2传感器芯片介绍.......................................................4 3.3AD转换装置..........................................................6 3.4四分频电路...........................................................9 3.5液晶显示电路........................................................10 4 系统程序设计............................................................13

系统程序流程图................................................ ........13

5结论....................................................................14 参考文献................................................................14 致 谢..................................................................15 附录....................................................................16 外文页..................................................................19

电子角度测量仪的研究与制作

李洪卫

摘 要 角度测量装置是某控制系统中瞄准装置的关键部件.在以往的控制系统中,多数都是仅凭设备操作人员眼睛瞄准指定目标,然后作出相应的控制,这样就带来一系列问题,如操作人员的经验、瞄准装置转盘的空回都可能会严重会影响瞄准目标的精确程度,从而严重影响控制系统的精度.为了提高控制系统的瞄准精度,在控制系统的瞄准装置中增加了角度测量装置,操作人员要求目标后所要达到的角度值能够精确定量地显示在操作面板上,帮助操作人员更加准确地实现对角度的精确需求,因此,极大地提高了控制系统的控制精确度.本系统就是角度测量装置的一个简单的应用,设计采用单片机为控制单元,用倾角传感器检测平衡板倾斜角度,采取步进电机控制平衡板角度并使其达到预置角度的目的。

关键词 角度传感器 单片机 AD转换 分频

1 序言

现如今,角度测量装置在很多机械应用系统中都是关键的部位,而且是需要高精度的重要装置,但是在以往的一些控制系统中多数都是单凭依靠设备操作人员的主观判断来锁定目标,然后来做出相应的判断和控制,这就带来了很多问题,比如这会由于操作人员的经验,目测误差以及对装置操作问题所引起的操作误差,甚至误差过大而远远不符合实际要求。所以为了提高角度测量的精度,提高装置的可操作性,所以需要角度测量装置来帮助实现。

本设计开始利用角度传感器SCA60C的角度测量功能对其所在位置的角度输出模拟信号,然后利用模数转换芯片ADC0809将传感器所输出的将模拟量转变为数字量,然后将数字量输入到单片机c52内部控制并通过数码管输出显示出实际的角度值。

2 系统基本方案设计

2.1 各方案论证与比较

1

(1)传感器的选用

方案一:选用高精度单轴倾角传感器SCA61T,其具有稳定性高,抗冲击能力强,分辨率高,防震性能好,方便工程调试设计,和具有模拟、数字双输出以及稳定的灵敏感性度等特点,但是此传感器的成本偏高,虽功能较多灵敏度也较好,但在此处功能的需求上未必都会用到,所以性价比较低。

方案二:选用低价单轴倾角传感器SCA60C,其具有抗冲击能力强,能耗低的特点,精度高等特点,并且其外围电路十分简单,测量范围为-90°~+90°,可以满足设计要求,并且此传感器价格低廉,可以满足设计要求。

比较上述两种设计方案,此系统选用价格较低的传感器SCA60C较为合适。 (2)单片机的选用

这里选用的是ATC52单片机,它是51系列单片机的一个型号,它是ATMEL公司生产的。 ATC52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位处理器和Flash存储单元,功能强大的ATC52单片机可为您提供许多较复杂系统控制应用场合。 这里可以满足要求,且恰好自己备有此单片机,故选用了ATC52。

(3)模数转换芯片的选用

ADC0809芯片是 8 位逐次逼近型 A/D 转换器,VCC电压端接+5v电压,能满足本设计要求,因此选用了此芯片

2.2 系统总体概述

基于单片机ATC52的平台角度测量系统,系统主要分为倾角传感器的角度检测电路、AD芯片的模数转换电路、分频芯片的四分频电路,单片机信号处理电路以及液晶显示部分。本设计的主要应用就是平台的调平,利用的主要测量部分电路即为角度传感器,角度传感器输出电压值正比于所测量角度,因此只需利用电压值来读出角度即可。但是由于此处传感器SCA60C所输出电压信号为模拟电压,因此需要加入模数转换电路,这里采用的是28脚直插式ADC0809芯片,可满足要求。又由于ADC0809的工作性能要求输入时钟信号频率不得高于0khz,又根据单片机自身12mhz晶振6分频后输出一个2mhz时钟信号,所以这里增加采用了一个四分频电路,以达到实验要求的时钟信号。模拟信号经ADC0809转换后输出二进制数字信号,经由单片机处理,直接将处理结果在LCD1602上显示出所测角度值,即达到调平的目的。

2

2.3 系统结构框图

本系统主要由单片机模块、 角度检测模块、A/D 转换模块、四分频模块和液晶显示器模块等部分组成,系统连接图如图1 所示:

图1 系统结构框图

2.4 系统总电路图

包括ATc52单片机、倾角传感器SCA60C、模数转换芯片ADC0809、四分频芯片74ls74的系统总电路图如图2所示

3

图2 系统总电路图

3 硬件系统设计

3.1 ATc52芯片介绍

ATc52单片机引脚图如图3所示

4

图3 ATc52引脚图

3.2传感器芯片介绍

1.单轴低价倾角传感器 SCA60C特点及电路连接图: (1) 单轴倾角传感器

(2) 测量范围 1g(±90 度)

(3)单极 5V 供电,比例电压输出 (4) 模拟 0.5-4.5V 输出 (5)工作温度范围宽

图4 传感器引脚连接图

2.电气特性如图5所示:

5

图5 SCA60C电气特性

3.倾角传感器连接电路及引脚定义:

图6 倾角传感器引脚定义

4.传感器输出电压与角度测试结果对照如表1和表2:

角度(℃)

电压(V) 6

角度(℃) 电压(V)

0 10 20 30 40 角度(℃) 0 10 20 30 40 2.53 2.84. 2.90 3. 3.96 电压(V) 2.53 2.76 3.18 3.51 3.78 50 60 70 80 90 角度(℃) 50 60 70 80 90 表2 测试误差值

4.07 4.22 4.39 4.45 4.53 电压(V) 4.02 4.24 4.39 4.48 4.60 表1 传感器精确值 3.3模数转换芯片介绍

ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。它是逐次逼近式A/D转换器,可以和单片机直接接口。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。 1.芯片主要特性

1)8路8位A/D转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100μs 4)单个+5V电源供电

5)模拟输入电压范围0~+5V,不需零点和满刻度校准。 6)工作温度范围为-40~+85摄氏度 7)低功耗,约15mW。 2.芯片内部结构

图7 AD芯片内部结构 ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图7所示,它由8路模拟开关

7

(通道选择开关)、通道地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器,定时和控制器、8位锁存和三态门几个部分组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 3.外部特性(引脚功能)

ADC0809芯片有2引脚,采用双列直插式封装,如图8所示。下面说明各引脚功能:

图8 引脚功能

(1)IN0~IN7——8路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。 (2)D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。

(3)ADDA、ADDB、ADDC——模拟通道选择地址信号,ADDA为低位,ADDC为高位。地址信号与选中通道对应关系如表1所示。

(4)VR(+)、VR(-)——正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。

(5)ALE——地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。

(6)START——A/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。

(7)EOC——转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。

(8)OE——输出允许信号,高电平有效。当微处理器送出该信号时,ADC0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号。

CLK:时钟脉冲输入端。要求时钟频率不高于0KHZ。 Vcc:电源,单一+5V。 GND:地。

地址信号与选中通道的关系如表3:

8

表3 地址信号与通道关系

4、ADC0809的工作时序与使用说明

ADC 0808/0809的工作时序如图9所示。当通道选择地址有效时,ALE信号一出现,地址便马上被锁存,这时转换启动信号紧随ALE之后(或与ALE同时)出现。START的上升沿将逐次逼近寄存器SAR复位,在该上升沿之后的2μs加8个时钟周期内(不定),EOC信号将变低电平,以指示转换操作正在进行中,直到转换完成后EOC再变高电平。微处理器收到变为高电平的EOC信号后,便立即送出OE信号,打开三态门,读取转换结果。

模拟输入通道的选择可以相对于转换开始操作地进行(当然,不能在转换过程中进行),然而通常是把通道选择和启动转换结合起来完成(因为ADC0808/0809的时间特性允许这样做)。这样可以用一条写指令既选择模拟通道又启动转换。在与微机接口时,输入通道的选择可有两种方法,一种是通过地址总线选择,一种是通过数据总线选择。 如用EOC信号去产生中断请求,要特别注意EOC的变低相对于启动信号有2μs+8个时钟周期的延迟,要设法使它不致产生虚假的中断请求。为此,最好利用EOC上升沿产生中断请求,而不是靠高电平产生中断请求。

图9 工作时序图

3.4分频电路设计

9

74LS74是一个双D触发器,其功能比较的多,可用作寄存器,移位寄存器,振荡器,单稳态,分频计数器等功能。其内部结构如图10所示:

图10 分频器内部结构

11端与3端为原时钟输入端

5端与9端为变换后的时钟输出端 2端与6端联接,8端与12端联接 7端接电源负极、14端接电源正极 分频:

1,2,3,4,5,6为一组,8,9,10,11,12,13为一组

如果要得到二分频,原时钟需接3端或11端,5端或9端为变换后的时钟输出端 如果要得到四分频,原时钟需接3端并且5端接11端,9端为四分频输出端;或者 是原时钟接11端

所以此时所需电路即可为:

图11 分频器电路连接图

3.5液晶显示电路的介绍

1. 一般 1602 字符型液晶显示器实物如图12,图13所示:

10

图12 液晶实物图(正面)

图13 液晶实物图(反面)

2.1602LCD 的基本参数及引脚功能

显示容量:16×2 个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V

字符尺寸:2.95×4.35(W×H)mm

1602LCD 采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表4:

11

表4 液晶引脚说明

第 1 脚:VSS 为地电源。 第 2 脚:VDD 接 5V 正电源。

第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比 度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整 对比度。

第 4 脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存 器。

第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 R/W 为高电 平时可以读忙信号,当 RS 为高电平 R/W 为低电平时可以写入数据。

第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。 第 7~14 脚:D0~D7 为 8 位双向数据线。 第 15 脚:背光源正极。 第 16 脚:背光源负极。

1602 液晶模块内部的控制器共有 11 条控制指令,如表5所示:

1602 液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明 1 为高 电平,0 为低电平)

指令 1:清显示,指令码 01H,光标复位到地址 00H 位置 指令 2:光标复位,光标返回到地址 00H

指令 3:光标和显示位置设置 I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。

指令 4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁, 高电平闪烁,低电平不闪烁。

12

表5 液晶控制指令表

指令 5:光标或显示移位 S/C :高电平时显示移动的文字,低电平时移动光标

指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示 5X7 的点阵字符,高电平时显示 5X10 的显示字符。 指令 7:字符发生器 RAM 地址设置。 指令 8:DDRAM 地址设置。

指令 9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。

1602与单片机的连接如图14:

13

图14 液晶引脚连接图

4系统程序设计

主程序流程图: 开始 液晶初始化 读取AD转换结果 清屏 取10次求平均值 显示启动界面 >90度 <90度 输出角度值 启动AD转换 延时等待AD转换 Jiaodu=90-jiaodu Jiaodu=jiaodu-90 从传感器接收角度值 输出负角度 输出正角度 N AD转换完毕 ? 液晶显示 Y 结束

14

5. 结论

本设计完成了题目要求的基本功能,达到了设计要求。在本次设计中,设计方案经过了反复修改,最后确定了最易实现的方案,在本次设计中,遇到了一些困难,设计曾陷入困难,最后在老师的帮助下得到解决,在反复思考过程中,提高了分析问题、解决问题的能力。

角度测量系统在科技领域中有着极其重要的地位,包括平台调平,加速度测量等方面的研究作用更为明显,本设计用简单的方式实现了一个单轴平台调平的设计方法,目的不仅在于实现简单制作更注重于为相关设计的构思与开发创造基础。本设计的完成初步实现了SCA60C的功能,能测量出平台的角度值,并利用角度传感器的功能与性能实现了创新,但本设计仍存在一些缺陷,比如精度和稳定性欠佳,仍需要一些改进。

参考文献:

[1] 张毅刚 单片机原理及应用[M]. 北京. 高等教育出版社,2003 [2] 阎石 数字电子技术基础. 高等教育出版社(第五版).2003

[3] 童师白,华成英 模拟电子技术基础(第四版).高等教育出版社2006.5 4]沈德金,陈粤初 MCS-51系列单片机接口电路与应用程序实例。北京航空航天大学出版社,1990

[5] 蔡美琴 MCS-51系列单片机系统及其应用.北京:高等教育出版社,2002 [6] 胡汉才 单片机原理及接口技术.北京:清华大学出版社,1996 [7]陈永真 全国大学生电子设计竞赛试题精选[M].电子工业出版社,

2007.

[7]Stephen G.Kochan [美]著,张小潘 译 C语言编程 电子工业出版社 2007 [8]黄惠媛,李润国 单片机原理与接口技术 海洋出版社 2006 [9]陈忠平,曹巧媛 单片机原理及接口 清华大学出版社 2007

15

致 谢

在毕业设计期间不但增加了我的动手能力,还激发了我对电子学科的热爱,增加了对自己专业的了解,这与教研室给我提供的良好的工作和学习环境,指导老师的耐心指导和鼓励是分不开的。

在本次设计中,特别要感谢我的指导老师尹义斌老师,当我遇到困难时,老师能够同我站在一起,帮我解决了一个又一个问题,使我地完成毕业设计任务,完成了毕业论文。

我还要感谢其他老师和所有同学给我的热心的帮助,这些都增长了我的信心,最后我忠心的感谢培育我的校园,和教育我成人的老师!

16

附录:

主程序设计

#include

#define uchar unsigned char #define uint unsigned int sbit rs=P1^0; sbit rw=P1^1; sbit leden=P1^2;

sbit start=P1^3; sbit eoc=P1^4; sbit oe=P1^5; sbit CLK = P3^7;

uchar code table1[]=\"Current Angle\"; uchar code table2[]=\" Degree\"; uchar m[10] = {0};

uchar code name[] = {\"77 Li Hongwei\ uchar code date[] = {\"Date2012/5/13\

uchar jiaodu1,jiaodu2;

void delay(uint a) { uint i,j; for(i=0;ivoid write_com(uchar command) //写指令函数{ P2=command; rw=0; rs=0; delay(10); leden=0; delay(20); leden=1; delay(50); leden=0; delay(20); }

void write_date(uchar date) //写数据函数 { P2=date; rw=0;

与写指令函数的区别是rs为1 17

rs=1; delay(10); leden=0; delay(20); leden=1; delay(50); leden=0; delay(20); }

void initial() { write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口 delay(50); write_com(0x0c);//设设置为开显示 显示光标 光标闪烁 delay(50); write_com(0x06);// 设置为写一个字符后地址指针加一光标加一 如果不加以 指令为0x04 delay(50); write_com(0x01);//清屏指令 delay(50); }

void converter(void)//从P0口取到二进制角度 { uchar i; uint j=0; for(i=0;i<10;i++) { start=0; start=1; start=0; while(eoc == 0); oe=1; delay(10); m[i]=P0; oe=0; } for(i=0;i<10;i++) { j=j+m[i]; } jiaodu1=j/10; }

void TimeInitial() {

TMOD=0x10;

TH1=(65536-200)/256;//定时时间为2us,亦即CLK周期为0.4us TL1=(65536-200)%256;

18

EA=1; ET1=1; TR1=1; }

void lcd_init_write0() { uint m; write_com(0x80);//在第一行缓存位置写数据 为后边整屏左移做准备 0x08到0x08+16为非缓存区 for(m=0;m<13;m++) { write_date(table1[m]); delay(20); } }

void lcd_init_write1() { uint m; write_com(0xc0);//在第二行缓存位置写数据 为后边整屏左移做准备 0xc0到0xc0+16为非缓存区 for(m=0;m<6+5;m++) { write_date(table2[m]); delay(60); } }

void namedisplay() { uint m; write_com(0x80);//在第一行缓存位置写数据 为后边整屏左移做准备 0x08到0x08+16为非缓存区 for(m=0;m<13;m++) { write_date(name[m]); delay(20); } }

void datediplay() { uint m; write_com(0x80+0x40);//在第一行缓存位置写数据 为后边整屏左移做准备 0x08到0x08+16为非缓存区 for(m=0;m<13;m++) { write_date(date[m]); delay(20);

19

} }

void main() { initial(); TimeInitial(); namedisplay(); datediplay(); delay(65535); write_com(0x01); while(1) { lcd_init_write0(); lcd_init_write1(); converter(); jiaodu2 = (jiaodu1-25)*100/114; // 电压值转换成角度值 if(jiaodu2> 90) { jiaodu2 = jiaodu2 - 90; write_com(0x80 + 0x40); write_date('0'+jiaodu2/100%10); //delay(1000); write_date('0'+jiaodu2/10%10); //delay(1000); write_date('0'+jiaodu2%10); //delay(50); } else { jiaodu2 = 90 - jiaodu2 ; write_com(0x80 + 0x40); write_date('-'); //delay(50); write_date('0'+jiaodu2/100%10); //delay(50); write_date('0'+jiaodu2/10%10); //delay(50); write_date('0'+jiaodu2%10); //delay(50); } } }

20

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务