智能仪表课程设计车体倾斜姿态测量仪.doc_第1页
智能仪表课程设计车体倾斜姿态测量仪.doc_第2页
智能仪表课程设计车体倾斜姿态测量仪.doc_第3页
智能仪表课程设计车体倾斜姿态测量仪.doc_第4页
智能仪表课程设计车体倾斜姿态测量仪.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能仪表课程设计设计报告课题名称 车体倾斜姿态测量仪 学生学号、姓名 班级名称 测控0802 指导教师 能源与动力工程学院二一一年九月总 目 录第一部分:任务书 第二部分:课程设计报告 第 一 部 分任务书智能仪表课程设计课程设计任务书一、课题名称车体倾斜姿态测量仪二、设计内容及设计要求利用SCA100t-D01倾斜角传感器作为测量组件,设计一个倾斜姿态测量仪,具有下面的功能:1.测量范围为-3030。2.精度为0.001。3.误差为。4. 双行LCD液晶显示。5. 可以设置上下报警温度,当温度不在设置范围内时,可以报警。6. 具有RS232通信接口。三、时间安排第一周:星期一星期二:布置任务,熟悉资料,确定仪表的功能要求、性能指标。熟悉实验板原理图和印刷板图。星期三星期五:进行仪表的方案选择,确定主要芯片、工作方式、输入输出信号的接口方式、键盘和显示方式、以及通信方式。进行硬件设计和元器件选择,画出硬件原理图。第二周:星期一星期五:根据硬件原理图,焊接硬件电路;测试硬件电路的功能;软件设计,包括软件需求说明、软件结构框图、主要软件功能模块的流程图;编写程序。第三周:星期一星期三:调试程序,联调软件和硬件。星期四星期五:写课程设计报告。四、应交成果应交成果包括:n 纸质课程设计报告和电子文档;n 硬件原理图的Protel文件,程序;n 可以演示的硬件和软件成果。五、课程报告内容课程设计报告应包括下列部分:n 课程设计任务书n 仪表的功能要求、性能指标要求。n 方案选择:提出多种方案,进行方案比较,说明选定方案的理由,描述硬件和软件的功能分工。n 硬件设计:包括硬件结构框图、原理图及其各个主要环节的工作原理说明,元器件选择的计算方法或者理由,利用提供的实验板焊接元器件。n 软件设计:首先提出软件的功能需求,然后进行软件的结构设计,再画出主要功能模块的软件框图。n 程序编写和调试。n 设计小结。报告中硬件原理于用Protel画出,软件框图和程序流程图用Visio画出。第 二 部 分课程设计报告目 录第一章 简介(1)11 引言(1)12 双轴倾角传感器SCA100t简介 (1)13 SCA100t工作原理 (1)14 STC89C51单片机简介(2)第二章 设计内容及要求(5) 21 设计内容(5) 22 设计要求(5)第三章 总体设计方案及原理框图(6) 31 原理框图(6) 32 总体设计方案(6)第四章 硬件设计(9) 41 传感器硬件电路(9) 42 液晶显示器硬件电路(9) 43 通信接口硬件电路(10) 44 报警电路(10) 45 总硬件原理图(11)第五章 软件设计(12) 51 主程序框图(12)52 采集子程序框图(13)53 显示子程序框图(14)54 报警子程序框图(15)55 通信子程序框图(16)第六章 程序编写(17) 61 C语言简介 (17) 62 程序编写(17)第七章 结果调试(18) 71 硬件调试 (18) 72 软件调试 (18) 73 调试中遇到的问题 (18)第八章 设计小结(20)参考文献 (21)附录一 焊接实物图 (22)附录二 源程序 (23)第一章 简 介1.1 引言随着市场需求和科技的发展,人们对工程、机械、航空、航海设备的可靠性和稳定性提出了更高的要求,其中姿态测量是一项重要的指标。倾角传感器是测量关于某一基准面的倾斜角或者是姿态的装置。目前,市场上已有单轴、双轴、三轴的倾角传感器,但大多都价格昂贵或者体积较大。本文提出以双轴传感器SCA100t和STC89C51单片机实现的设计,可大大降低系统成本,不但可以构成一个单独的数字输出传感器,也可以作为一个测量模块,嵌入到测量控制系统中,广泛应用于机器人控制、平台姿态(俯仰和滚转)测量、双轴加速度测量等系统中。1.2 双轴倾角传感器SCA100t简介 SCA100T倾角传感器是芬兰 VTI公司 2005年最新推出的, 利用MEMS技术开发生产的高精度的双轴倾角传感器 , 体积小重量轻仅1.2克。MEMS(Micro electro mechanical system)是二十一世纪的前沿技术,采用MEMS技术可以在硅芯片上加工出完整的徽型电子机械系统,包含了微型传感器、微型机械结构、以及信号处理和控制电路、通讯接口等于一体的微型器件, 把信息系统的微型化、多功能化、 智能化和可靠性水平提高到新的高度 。该芯片的引脚图及(图1-1)说明如下:管脚 名称 功能1 SCK 串行口时钟输入2 NC 无连接3 MISO 数据输出4 MISI 数据输入5 OUT_2 Y轴输出6 GND 电源负极7 CSB 片选8 NC 无连接9 ST_2 Y轴测试输入10 ST_1 X轴测试输入11 OUT_1 X轴输出12 VDD 电源正极 图1-1 芯片引脚图 1.3 SCA100t工作原理该器件内部包含了一个硅敏感微电容传感器,测量芯片在X和Y方向的加速度以及一个专用ASIC集成电路, ASIC电路集成了EEPROM存储器、信号放大器、AD转换器、温度传感器和SPI串行通信接口,组成了一个完整的数字化传感器。有30o和90o两种量程 ,其主要原理如下:yyaxbxgg 图1-2 工作原理图图中g代表重力加速度,x和y分别代表双轴的重力加速度,a和b分别代表双轴上的重力加速度与水平的夹角;芯片内部通过对x,y,g以及合成量的测量,再将信号通过一定得集成电路,将输出量与角度线性化、数字化,这样得出的输出量就为随倾角变化的分量。 其内部结构如图1-3所示: 图 1-4 芯片内部结构图分析内部结构可知SCA100t输出有两种形式,即模拟量与数字量,且:模拟输出到角度的转化公式为:= arcsin (Vout-offset)/Sensitivity其中Vout为芯片输出的电压(OUT_1、OUT_2输出X、Y轴角度对应电压),offset是0是输出电压(2.5V),Sensitivity是芯片灵敏度(SCA100t-D01为4V/g,SCA100t-D02为2V/g);数字输出到角度转化公式为:= arcsin(Dout -Dout0)/ Sensitivity其中Dout为X或Y通道的数字输出量,Dout0为0时X或Y通道的数字输出量,Sensitivity为芯片灵敏度(SCA100t-D01为1638LSB/g,SCA100t-D02为819LSB/g)。1.4 STC89C51单片机简介 1.4.1 STC89C51系列单片机的主要性能特点STC89C51系列单片机是宏晶科技推出的新一代超强抗干扰、高速、低功耗的单片机,指令代码与传统8051单片机完全兼容。MCS51的主要特点为:CPU为8位;片内带振荡器,频率范围为1.212MHz;片内带128字节的数据存储器;(RAM)片内带4KB的Flash程序存储器;(ROM)程序存储器的寻址空间为64KB;(需要扩展ROM)片外数据存储器的寻址空间为64KB;(需要扩展RAM)128位(16字节)用户位寻址空间;(在128个字节中)18个字节特殊功能寄存器SFR(MCS52子系列为21个);4个8位的并行I/O接口:P0、P1、P2、P3;2个16位定时器/计数器T0、T1;(MCS-52子系列为3个,T2)2个优先级别的5个中断源;(高、低2个)1个全双工的串行I/O接口,可多机通信;片内采用单总线结构;有较强的位处理能力;1.4.2 MCS-51系列单片机的基本组成图1-5 管脚图AT89C51与51系列中各种型号芯片的引脚互相兼容。目前多采用40只引脚双列直插,如图2-2所示。引脚按其功能可分为如下3类: 电源及时钟引脚VCC、VSS;XTAL1、XTAL2; 控制引脚、和; I/O口引脚P0、P1、P2、P3,为4个8位I/O口。第二章 设计内容及要求2.1 设计内容利用SCA100t-D01倾斜角传感器作为测量组件,设计一个倾斜姿态测量仪2.2 设计要求该倾斜姿态测量仪需具有以下功能:1测量范围为-3030。2精度为0.001。3误差为。4双行LCD液晶显示。5可以设置上下报警温度,当温度不在设置范围内时,可以报警。6具有RS232通信接口。第三章 设计总体方案及原理框图3.1 原理框图 本课题设计原理框图如下图(图3-1): 传感器信号调理电路AD转换器单片机液晶显示报警电路图3-1原理框图 该车体倾斜姿态测量仪原理框图主要由传感器、信号调理电路、AD转换器、单片机、液晶显示器、报警电路等组成;通过传感器感应被测物体角度的变化,然后经过处理后,由AD转换器将模拟量转换为单片机能处理的数字量,然后由单片机输出信号控制显示、报警等。3.2 设计方案 3.2.1方案一(1)传感器选用 本方案中选用的传感器是SCA100t-D02,引脚图见图3-2, 此芯片能测量的角度范围为-90+90,数字灵敏度为819LSB/g,模拟输出灵敏度为2V/g,可采用模拟输出或数字输出均可,为简化电路、减少外加AD转换器带来的花费,最优采用数字输出的方式。 图3-2 SCA100t-D02引脚图(2)液晶显示器选用 本方案中选用的液晶显示器的型号是1602,引脚图见图3-3,LCD1602显示器有20个引脚,能够双行显示20为字符,本方案的思想是显示器的两行分别显示传感器的X和Y轴对应角度;当角度超过20时,在对应角度后面显示DANGER!字符,警示倾斜角度过大。 图3-3 LCD1602引脚图(3)单片机选用 单片机选用的是STC89C51系列,具体资料参见1.4节STC89C51简介。(4)通信协议 本方案中的通信接口采用的是MAX232,引脚图见图3-4,通过此通信接口可实现单片机与上位机PC的通信;程序的烧录也是通过通信接口实现的。 图3-4 MAX232引脚图(5)报警电路 根据设计要求,即,当倾斜角度超过20时,要报警;本方案中的报警思想是:倾斜角超过20时,通过I/O口发出控制信号,控制LED发光和蜂鸣器发生模拟报警。如图3-5, 图3-5 报警电路3.2.3 方案二方案二与方案一的不同之处在于传感器的选用和报警电路的改进:(1)传感器的选用本方案中选用的传感器是SCA100t-D01,引脚图见图3-6, 此芯片能测量的角度范围为-30+30,数字灵敏度为1638LSB/g,模拟输出灵敏度为4V/g,可采用模拟输出或数字输出均可,为简化电路、减少外加AD转换器带来的花费,最优采用数字输出的方式。图3-6 SCA100t-D01引脚图 (2)报警电路 在方案一报警电路中,外部会通过接口向单片机内部输入一定量的电流,长时间工作会给单片机带来危害,因此改为图3-7的形式,此时外部电路就没有电流输入单片机。 图3-7 报警电路 3.2.4 最终方案选择 通过比较两个方案的优缺点,最终选用的是方案二。第四章 硬件设计4.1 传感器硬件电路传感器与单片机的连接如图4-1 图4-1 传感器与单片机连接图 传感器选用倾斜角传感器SCA100T-D02,按照图3-2连接,此时传感器输出量为数字量,数字输出到角度转化公式为:= arcsin(Dout -Dout0)/ Sensitivity其中Dout为X或Y通道的数字输出量,Dout0为0时X或Y通道的数字输出量,Sensitivity芯片灵敏度为1638LSB/g。4.2 液晶显示器硬件电路 LCD1602显示器与单片机的连接如图4-2图4-2 显示器与单片机连接图LCD1602液晶模块内部的字符发生器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一定的代码,比如大写字母A的代码是01000001(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就可以看到A。因此,传感器测得的倾斜角经过单片机软件处理程序处理后,通过P0口输出即可显示。4.3 通信接口硬件电路 通信接口与单片机的连接如图4-3 图4-3 MAX232与单片机连接图如图4-3,MAX232的R1OUT、T1IN分别与单片机的RXD、TXD相连,然后MAX232的T1OUT、R1IN分别与PC机的TXD、RXD相连,这样单片机就可以通过MAX232实现与PC机的数据传输。4.4 报警电路报警电路如图4-4 图4-4 报警电路(1) R1、R2的选择当通过LED的电流为35mA时,LED就可以发光;忽略LED的内阻,分析计算得:R1(R2)=5V/5mA=1000=1K(2) 蜂鸣器外围电路设计如图所示,当三极管8550基极电压为0时,三极管工作,蜂鸣器就可以发 声,R3、R4均为限流作用,同时也与电容一起起到保护电路的作用。4.5 总硬件原理图综合前几节的分析可得设计的总体硬件原理图,如图4-5图4-5 总体硬件原理图第五章 软件设计5.1 主程序框图5.2 采集子程序框图5.3 显示子程序框图5.4 报警子程序框图5.5 通信子程序框图第六章 程序编写6.1 C语言简介C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件。C语言具有一下一些优点:简洁紧凑、灵活方便运算符丰富数据结构丰富C是结构式语言C语法限制不太严格、程序设计自由度大C语言允许直接访问物理地址,可以直接对硬件进行操作C语言程序生成代码质量高,程序执行效率高C语言适用范围大,可移植性好C与其他语言相比有很多的方便之处,本程序编写所用的就是C语言。6.2 程序编写编写程序是一个繁琐复杂的过程,C语言是结构式语言,因此在编写的过程中可采用分块编写的方法;须知无论多么复杂的程序都是由一个个小程序构成的。智能仪器功能是由一个个相互联系的具体的部分功能构成的,每一个功能都可以通过简单的编程而实现,最后一步步实现总体的功能要求。本次程序的编写首先是每个子程序的编写,这些子程序有:传感器数据采集及通过SPI总线传送数据的程序、单片机对采集到的数字量数据转化成对应的角度处理程序、LCD液晶显示模块程序和报警功能程序的实现;其次,以一定的逻辑关系将各程序整合到一起,每一个模块都作为子程序;最后是主程序的编写,在主程序中就是对这些子程序的调用和一些初始化处理。所有程序的编写必须参考之前设计的程序框图,这样能让编者的思路很清晰。本程序参见22页附录一第七章 结果调试7.1 硬件调试 (1)单片机调试 将单片机及其外围所需电路焊接完成后,编写一些简单的程序调试单片焊接的是否有错,主要是调试通信接口及单片机的I/O口。(2)LCD显示器功能调试在单片机硬件模块调试完好的基础上实现对LCD的调试,同单片机调相同,按照硬件图连接好电路,通过通信口向单片机中烧录真确的显示程序,对照实际显示果和所烧录的程序的理论显示结果,若二者相同说明LCD显示器模块没有焊接错误,否则对照硬件原理图仔细检查,然后再重复调试,直到没有错误。(3)传感器模块调试 同理,连接好硬件电路、烧录简单的采集程序,可以通过I/O口接LED灯等方式检验此模块是否焊接好。(4)报警电路调试 由于报警电路比较简单,可以先用面包板对这部分电路经行功能性检测,即,LED输入低电平时发光、蜂鸣器输入低电平时发生。7.2 软件调试与硬件的调试相同,按功能对每一部分经行单独的调试。在硬件调试结束的基础上经行软件的调试,在软件调试的过程中一定要保持足够的细心和耐心,尤其在出现一些非语法错误的时候。7.3 调试中遇到的问题 7.3.1 硬件调试遇到的问题 在硬件的调试过程中遇到的问题主要是报警电路部分:在报警电路中,原设计思路为了保护单片机、减少报警电路对单片机输入的电流,我对硬件电路做了一些改进,即方案二中加的一个反相器;可是在调试的时候,由于反相器的存在导致基本功能不能实现,最后我还是改用了方案一。 7.3.2 软件调试遇到的问题 在软件的调试过程中遇到的问题比较多,主要有以下几个方面:(1) 速率的匹配问题传感器采集到的数据是通过SPI总线传送给单片机的,单片机处理后 送给液晶显示器显示,这里有两个速率要匹配:SPI传送速率和液晶显示器数据刷新速率;若不匹配液晶显示器显示的数据会不停的抖动、不稳定,难于观察。解决的方法就是不断的改变二者的延时时间,以求一个最佳的值让显示值比较稳定。(2) 采集到的数字量转化为对应的角度问题SCA100t-D01采用的数字量输出的工作方式,转化公式为: = arcsin(Dout -Dout0)/ Sensitivity其中Dout为X或Y通道的数字输出量,Dout0为0时X或Y通道的数字输出量,Sensitivity芯片灵敏度为1638LSB/g。由于这里得到的角度是弧度,开始编写程序时没有意识到这一点,调试的时候液晶显示器显示的都是乱码,通过组员的努力最后发现,弧度要角度的转化还需经过以下公式:angle=*180/。(3) 上位机与下位机的通信问题上位机与下位机的通信,即数据的传输,数据的传输必然涉及到发送方与接收方的速率匹配问题。要使数据完整真确的传输,必须要求二者的速率完全相同,由于我们使用的单片机的晶振和PC机的晶振存在差距,所以要做到二者速率的完全相等很困难,这就需要编者不断的尝试各种速率,最后找到合适的速率。(4)报警部分 STC89c51单片机的I/O口在复位时的状态是1,因此报警电路只有在I/O口输出低电平时才可以报警;在报警子程序中,原程序只有在报警的时候才给I/O输出了稳定的低电平,在未报警时没有给I/O口稳定的1,导致每次报警时会出现混乱。(5)蜂鸣器的使用 蜂鸣器有两种,即有源蜂鸣和无源蜂鸣器:有源蜂鸣器内部带震荡源,所以只要一通电就会发声;而无源内部不带震荡源,所以如果用直流信号无法令其发声,必须要用一定频率的交流信号才会令其发声。我们使用的就是无源蜂鸣器,起初由于没有意识到二者的区别,给它的是一个直流信号,所以一直未能实现报警发声的功能。第八章 设计小结参考文献1张毅刚主编.单片机原理及应用(第一版).高教出版社.20032程德福 林君主编.智能仪器(第二版).机械工业出版社.20093杜宇人主编.现代电子测量技术(第一版).机械工业出版社.20094侯殿有主编.单片机C语言程序设计.人民邮电出版社.2010附录一 成果实物图附录二 源程序#include /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include#include#include#include#include#include#define RS_CLR RS=0 #define RS_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1#define DataPort P0#define MEAS 0x00 /测量模式#define RWTR 0x08 /读写温度数据寄存器#define STX 0x0E /x通道自检#define STY 0x0F /Y通道自检#define RDAX 0x10 /读通道加速度值#define RDAY 0x11 /读通道加速度值sbit RS = P24; /定义端口 sbit RW = P25;sbit EN = P26;sbit SPK=P20;sbit SCK=P17; sbit MISO=P16;sbit MOSI=P15;sbit CSB=P14;unsigned char frq; sbit P0_0 = P00;sbit P0_1 = P01;sbit P0_2 = P02;sbit P0_3 = P03;sbit P0_4 = P04;sbit P0_5 = P05;sbit P0_6 = P06;sbit P0_7 = P07;sbit P1_0 = P10;sbit P1_1 = P11;sbit P1_2 = P12;sbit P1_3 = P13;sbit P1_4 = P14;sbit P1_5 = P15;sbit P1_6 = P16;sbit P1_7 = P17;sbit P2_0 = P20;sbit P2_1 = P21;sbit P2_2 = P22;sbit P2_3 = P23;sbit P2_4 = P24;sbit P2_5 = P25;sbit P2_6 = P26;sbit P2_7 = P27;sbit P3_0 = P30;sbit P3_1 = P31;sbit P3_2 = P32;sbit P3_3 = P33;sbit P3_4 = P34;sbit P3_5 = P35;sbit P3_6 = P36;sbit P3_7 = P37; unsigned int SPI_ReadBits(unsigned char n );void SPI_WriteByte( unsigned char wdata );void SPI_Start(void);void SPI_Stop(void);void SPI_Reset(void);void SPI_Delay(unsigned char);unsigned int SPI_GetX( void );unsigned int SPI_GetY( void );void SPI_Init( void );void SPI_Stop( void ) SCK = 0; CSB = 1; SPI_Delay(10);void SPI_Reset(void) SPI_Stop();void SPI_Delay(unsigned char n) while(n-);void SPI_Start(void) SCK = 0; CSB = 0; SPI_Delay(10);/主机写一个BYTE到器件/最终状态:CLK=LOWvoid SPI_WriteByte( unsigned char wdata ) unsigned char i; for( i = 0 ; i 8 ; +i ) SCK = 0; SPI_Delay(10); MOSI = wdata & 0x80; wdata = wdata 1; SPI_Delay(10); SCK = 1; SPI_Delay(10); SCK = 0;/主机读入N个比特/n 限制为16及其以下/结束状态CLK=0uns

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论