基于51单片机的云台姿态测量课程设计(共37页).doc
《基于51单片机的云台姿态测量课程设计(共37页).doc》由会员分享,可在线阅读,更多相关《基于51单片机的云台姿态测量课程设计(共37页).doc(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 单片机课程设计报告课题名称 : 云台姿态测量系统设计 院 系 : 专业班级 : 姓 名 : 学 号 : 目录一 二 三 四 五 一 概述1.1问题提出 云台是安装、固定摄像机的支撑设备,它分为固定和电动云台两种。 固定云台适用于监视范围不大的情况,在固定云台上安装好摄像机后可调整摄像机的水平和俯仰的角度,达到最好的工作姿态后只要锁定调整机构就可以了。 电动云台适用于对大范围进行扫描监视,它可以扩大摄像机的监视范围。电动云台高速姿态是由两台执行电动机来实现,电动机接受来自控制器的信号精确地运行定位。在控制信号的作用下,云台上的摄像机既可自动扫描监视区域,也可在监控中心
2、值班人员的操纵下跟踪监视对象。三轴陀螺仪:同时测定6个方向的位置,移动轨迹,加速。 单轴的只能测量两个方向的量,也就是一个系统需要三个陀螺仪,而3轴的一个就能替代三个单轴的。3轴的体积小、重量轻、结构简单、可靠性好,是激光陀螺的发展趋势。汽车级陀螺仪能提供精确的测量结果,可大幅提升汽车导航仪和远端资讯处理系统的航位推算(Dead-ReckoNIng)和/或地图对照(Map-Matching)功能。在全球卫星定位系统(GPS)卫星讯号很差的室内和高楼林立的区域,航位推算系统可弥补讯号消失的影响,代替卫星检测物体的动作和高度。陀螺仪的精确测量资料还能提高地图对照准确度;地图对照是在数位地图的道路网
3、路上描述卫星或感测器观测的用户位置的动作轨迹的过程,地图对照被用于各种导航定位系统,包括交通流量分析和车辆行驶方向。在工程上,陀螺仪是一种能够精确地确定运动物体的方位的仪器,它是现代航空,航海,航天和国防工业中广泛使用的一种惯性导航仪器,它的发展对一个国家的工业,国防和其它高科技的发展具有十分重要的战略意义。传统的惯性陀螺仪主要是指机械式的陀螺仪,机械式的陀螺仪对工艺结构的要求很高,结构复杂,它的精度受到了很多方面的制约。自从上个世纪七十年代以来,现代陀螺仪的发展已经进入了一个全新的阶段。1976年美国Utah大学的Vali和Shorthill提出了现代光纤陀螺仪的基本设想,到八十年代以后,现
4、代光纤陀螺仪就得到了非常迅速的发展。由于光纤陀螺仪具有结构紧凑,灵敏度高,工作可靠等等优点,所以光纤陀螺仪在很多的领域已经完全取代了机械式的传统的陀螺仪,成为现代导航仪器中的关键部件。拥有很广泛的应用。(1)课程设计任务 本次课程设计题目为:基于51单片机云台姿态测量系统。 内容: 基于51单片机系统 利用液晶显示屏显示出实际角度 具有三维空间的坐标显示(2)课程设计的基本要求 最终设计系统应安全,简单 学会整理,收集与课程设计相关的信息资料 完成最初方案的设计 优化软硬件的设计(3)课程设计的意义本次课程设计是对单片机课程学习的实践环节,旨在通过本次课改加强同学们对单片机知识的巩固和提高,并
5、且增强同学们的实际动手能力和团队合作意识。在这次课程设计中本人主要负责软件部分的调试。1.2方法论证(1)整体设计思路此次课程设计题目为云台方位测量显示系统,主要需攻克的是角度的测量与显示。角度的测量与显示,需要传感器采集模拟信号,并且转换为数字信号输入单片机,由单片机根据输入数据对显示屏进行写操作。设计总体框架图如下:STC89C52LCD1602L3D42OOD三轴陀螺仪电源模块 图1.1 总体设计框架图L3D42OOD三轴陀螺仪将信号采集并转化后送入STC89C52单片机,再经过单片机的处理将陀螺仪转动的方向通过LCD1602显示出来。二 硬件设计2.1控制模块最小系统模块由单片机、晶振
6、。复位电路以及电源组成。常用的单片机有AT系列和STC系列,都能满足方案需求,AT单片机的下载串口软件没找到,STC有配套使用的各种软件,而且成本低,性价比高。综合考虑,为了方便编程调试与下载,选用STC系列。可用的STC系列51单片机有89C51和89C52。功能一样的前提下,89C52的ROM更大,故最终选择STC89C52单片机。最小系统模块的主要的功能是让单片机工作,STC89C52单片机有40个管脚,其中需要用到I/0接口有P0.0-P0.7,P1.0,P1.1。18,19管脚接时钟信号(片内震荡),本次课设采用11.0592MHZ的晶振。9管脚接复位输入端RST,由电容,电阻构成的
7、上电复位电路。20管脚接GND,40管脚接VCC(+5V)电源。图2.1 STC89C52管脚图图2.2 51单片机最小系统图2.2显示模块市面上显示屏种类繁多,有LCD1602,12232,12864,Nokia5110等一系列显示屏,综合分析比较,本次课设,只需要显示三轴的角度值,简单的ASC2码字符显示,1602显示屏很好的满足的需求,而且操作简单,成本低廉,性价比极高。因此最终选取LCD1602用来显示。图2.3 LCD1602显示屏管脚图 本设计采用的是液晶显示LCD1602。LCD1602内部的字符已经储存了不同的字符形式,每一个字符都有一个固定的代码,其代码与标准的ASCII字符
8、代码一致。因此只要写入显示字符的ASCII码即可,这种标准化的设计给使用带来很大的方便。比如英文字母“C”的ASCII代码是(43H),显示时单片机往液晶模块写入显示指令,模块就会把地址为43H中的点阵字符图形识别出,并会在液晶屏相应位置上看到字母“C”。LCD1602液晶显示与单片机的连接可以分为两种方式:总线方式和模拟口线方式。在实验中,我们常采用模拟口线连接方式。目前市场字符液晶绝大多数是基于HD44780的液晶芯片,控制原理是完全相同的,因此基于HD44780的写控制程序可以很容易地应用到市场上大部分的字符液晶。LCD1602液晶的几个特性:+5V电压、对比度可调、内含复位电路;提供各
9、种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有160个5X7点阵的字型的字符发生器CGROM 8个可由用户自定义的5X7的字符发生器CGRAM。LCD1602采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,VEE为液晶显示器。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。E端为使能端。D0D7为8为双向数据线。编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VEE液晶显示偏压信号1
10、1D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极表2.1 LCD1602液晶屏引脚说明图2.4 LCD1602实物图2.3传感器模块 传感器的选择: 方案一:使用ENC-03陀螺仪进行方位测量,工作电压为2.7-5.3V。配合AD转换芯片ADC0804进行采样的模拟量转化为数字量,再传给单片机进行数据处理。 方案二:使用L3G4200D三轴陀螺仪进行方位测量,其内部自带AD转换,直接输出数字信号
11、,工作电压为2.4-3.6V。 比较:方案一需要在转轴部分安装传感器,并且采集的是模拟量,需要外加ADC芯片进行转换,比较麻烦和不稳定。相比之下,方案二传感器有丰富资源,安装方便,并且电路简单,性能稳定,不用增加复杂的外围电路,利于达到最终的设计目的。 综合考虑,选用方案二。 本次课程设计采用的是L3G4200D三轴陀螺仪。该传感器是一种低功耗三轴陀螺仪,提供三个不同的250/500/2000 dps,它包括一个传感元件和一个IC接口能够提供角速度的检测外部世界,通过一个数字接口(IIC/SPI).传感元件是采用专门微细加工工艺,而IC接口技术实现了用CMOS允许设计一个专门的电路,以更好的匹
12、配传感元件的特点。特点: IIC/SPI数字输出接口 两个数字输出线 宽电压,2.4到3.6V 高冲击生存能力,稳定 工作温度:-40 +85 省电和睡眠模式 16比特率值的数据输出图2.5 L3G4200D三轴陀螺仪三 软件设计 本次课程设计单片机的软件设计,采用的是C语言,编译环境是keil4,串口下载使用STC-ISP-V483。设计流程如下: 开 始结 束液晶初始化传感器初始化读取角速度单片机处理LCD显示 系统上电液晶屏初始化显示X:000 ,Y:000 ,Z:000,传感器的位置初始化,即初始位置为X:000 ,Y:000 ,Z:000。当传感器检测到角度改变时,传感器将角速度信号
13、传给单片机处理,通过单片机内部的处理转换再通过LCD显示器显示出角度的变化。3.1 系统初始化 delay(500); /上电延时 InitLcd(); /液晶初始化 InitL3G4200D(); /初始化L3G4200D while(1) /循环 display_x(); /-显示X轴 /display_y(); /-显示Y轴,不稳定,屏蔽 display_z(); /-显示Z轴 delay(100); /延时 3.2 显示程序(1)写命令操作和写数据操作分别用两个独立的函数完成,函数内部唯一的区别就是液晶数据命令选择端的电平,具体操作如下: Void write_com(uchar co
14、m) lcdrs=0; /选择写命令模式P0=com; /将要写的命令字送到数据总线上delay(5); /稍作延时以待数据稳定lcern=1; /使能端给一高脉冲,因为初始化函数中已经将lcden置为0delay(5); /稍作延时lcden=0; /将使能端置0已完成高脉冲(2)初始化函数中几个命令的解释请对照前面的指令码及功能说明。write_com(0x38); /设置16*2显示,5*7点阵,8位数据接口write_com(0x0c); /设置开显示,不显示光标write_com(0x06); /写一个字符后地址指针自动加1write_com(0x01); /显示清零,数据指针清0(
15、3)进入主函数,执行完初始化函数后,用“write_com(0x80);”命令先将数据指针定位到第一行第一个字处,然后写完第一行要显示的字,在每两个字之间做简短延时,提高稳定性。(4)当写第二行时需要重新定位数据指针:write_com(0x80+0x40)。 3.3 传感器控制部分 三轴陀螺仪L3G4200D用来检测云台的姿态,它所采集的模拟量经过内部自带AD转换为数字量,使用I/O端口P1.0和P1.2进行IIC时钟定义。同时把角加速度的数字量通过积分变化,得到角度值。sbit SCL=P10; sbit SDA=P11; *显示x轴为例void display_x() BUF0= Sin
16、gle_ReadL3G4200D(OUT_X_L); BUF1= Single_ReadL3G4200D(OUT_X_H); /读取X轴数据 dis_data=(BUF10) jiaodu_x=jiaodu_x-0.8;/x轴正向补偿 if(jiaodu_x0); jiaodu_x=jiaodu_x+0.1;/x轴负方向补偿 dis_data=(int)jiaodu_x;实际角度测量角度1X 轴4543Y 轴4546Z 轴45442X 轴9089Y 轴9091Z 轴9087由以上数据计算可得; 平均误差:x=4% Y=3.8% Z=3.6% 经过补偿程序的改进以后,有效的解决了误差偏大的问题,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 姿态 测量 课程设计 37
限制150内