-水稻农田信息管理系统网站设计 (2).docx

上传人:scccc 文档编号:14170461 上传时间:2022-02-03 格式:DOCX 页数:37 大小:310.89KB
返回 下载 相关 举报
-水稻农田信息管理系统网站设计 (2).docx_第1页
第1页 / 共37页
-水稻农田信息管理系统网站设计 (2).docx_第2页
第2页 / 共37页
-水稻农田信息管理系统网站设计 (2).docx_第3页
第3页 / 共37页
-水稻农田信息管理系统网站设计 (2).docx_第4页
第4页 / 共37页
-水稻农田信息管理系统网站设计 (2).docx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《-水稻农田信息管理系统网站设计 (2).docx》由会员分享,可在线阅读,更多相关《-水稻农田信息管理系统网站设计 (2).docx(37页珍藏版)》请在三一文库上搜索。

1、本科毕业设计农业机械车辆的姿态角监测设计摘 要姿态角是一个非常重要的参数。在工业、农业和军事等各个领域中,都需要用姿态角反馈目标载体的运动状况。随着当今科学技术的高速发展,高新技术在现代化农业中应用越加广泛,农业现代化需要以智能化的技术作支撑。而在实现智能化过程中,需要对检测目标的运动状况进行实时反馈以进行控制。因此,采集姿态角的数据以反馈目标载体运动状况在智能化设备中尤为重要。本文提出一种基于ADXL345三轴加速度计、L3G4200三轴陀螺仪传感器和HMC5883磁阻传感器的姿态角检测系统。该系统采用了基于ARM Cortex-M3内核的STM32f103VCT6单片机作主控芯片,采集和处

2、理ADXL345、L3G4200和HMC5883的数据得到姿态角数据,利用nRF24L01无线模块发送到接收显示模块上进行数据显示。通过nRF24L01无线发送接收模块,可以实现姿态角的实时检测的功能。通过实验测试分析,结果表明,采用ADXL345、L3G4200和HMC5883的三者的数据融合处理后得出的数据绝对误差小于10%。关键字:单片机 无线模块 加速度计 陀螺仪 磁阻传感器Monitor the Attitude Angle of Agricultural Machinery VehicleWu Bangbin(College of Engineering,South China A

3、gricultural University,Guangzhou 510642,China)Abstract:Attitude angle is a very important paramete. In various fields of industry, agriculture and military,there needs attitude angle to give feedback on the movement of the target vector.With the rapid development of today s science and technology, H

4、igh-tech applications become increasingly and widely used in modern agriculture, thus the modernization of agriculture needs to be supported by intelligent technology. In the process of realization of intelligent, it needs to control real-time feedback on the status of the motion of the detection ta

5、rget.Therefore,the data collected by attitude angle to give feedback on target carrier movement of intelligent devices is particularly important.This paper presents an attitude angle detection system based on ADXL345 three-axis accelerometer,L3G4200 three axis gyro sensor and HMC5883 magnetoresistiv

6、e sensor. The system uses STM32F103VCT6 ARM Cortex-M3 core-based microcontroller as the master chip. Through acquisition and processing data from ADXL345, L3G4200 and HMC5883, attitude angle data was obtained. Then, nRF24L01 sent the obtained information to the receiver on whose display module shows

7、 real-time data. Through wireless transmission, function of real-time detection can be realized.Through the experimental analysis, the results show that abse of the data after being pocessed the fusion by using ADXL345, L3G4200 and HMC5883 is less than 10%.Keywords: SCM nRF24L01 acceleration sensor

8、Gyroscope Magnetoresistive sensor目 录1 前言12 系统方案分析与选择论证12.1 系统方案设计12.1.1 主控芯片方案12.1.2 无线通信模块方案22.1.3 陀螺仪、加速度计传感器方案22.1.4 显示模块方案32.2 系统最终方案43 主要芯片介绍和系统模块硬件设计43.1 STM32F103VCT6模块43.2 nRF24L01无线模块63.2.1 无线模块原理图63.2.2 接口电路63.2.3 寄存器配置73.3 供电电源83.4 陀螺仪传感器83.4.1 L3G4200三轴陀螺仪83.4.2 陀螺仪电路图83.4.3 L3G4200陀螺仪工作

9、特点93.5 加速度计传感器93.5.1 ADXL345三轴加速度计93.5.2 加速度计电路图103.5.3 ADXL345工作特点113.6 磁阻传感器113.6.1 HMC5883磁阻传感器113.6.2 HMC5883电路图113.6.3 HMC5883工作特点113.7 ATmega16单片机模块124 系统软件设计124.1 单片机软件设计124.1.1 发送端流程124.1.2 中值滤波算法134.1.3 四元数算法144.1.4 kalman滤波算法154.2.1 接收端流程165 硬件电路165.1 硬件制作165.2 硬件调试165.3 硬件调试结果175.4测试数据176

10、 结论20参考文献21附录22致谢25华南农业大学本科生毕业设计成绩评定表1 前言我国既是一个农业大国同时在某种意义上来说也是人口大国,农业不仅仅关系到国家安全及国计民生,而且在国民经济中也占有很举足轻重的地位。目前,我国正面临着人多地少、环境恶化、资源短缺、人增地减等现状。人均耕地水平不能满足人民日常生活需要,所以,如何在现代农业生产中增加粮食的产量和提高农机作业效率成为当前农业生产的首要目标,因此,农业要实现现代化就一定要走大农业和机械化、智能化道路。伴随着科学技术的发展,农业科技技术也随着科学技术的更新也已经在全球发展,进而产生了以信息技术及生物技术为导向的现代化农业,“精准农业”技术就

11、是现代化农业技术的代表,是我国农业信息现代化的一个重要的组成部分。实施现代化农业也就是利用现代化高科技技术到现在的传统农业生产中,目前我国现代化农业的大致趋向是在农机机械在实现机械化的基础之上,把各种高科技技术应用到农业生产中,例如全球卫星定位技术、地理信息技术及3D遥感技术等,最终实现农业生产现代化、科学化、智能化,能够达到高效产出的效果,并且能够保护生态环境进而实现农业可持续发展的最终的目标。 农业机械姿态角的检测系统作为“精准农业”技术的重要一部分,担任着反馈桥梁的作用。为了能更好的农业的智能化,必须提高姿态角检测的稳定性和准确性,以更好的得到反馈信息进行精确控制农业机械的运转状况。本文

12、通过对三轴陀螺仪和三轴加速度计的数据进行采集和处理,进行四元数算法的计算和kalman滤波,得到稳定的目标载体姿态角的数据。2 系统方案分析与选择论证2.1 系统方案设计2.1.1 主控芯片方案方案一:采用ST(STMicroelectronics)公司的STM32F103VCT6单片机作为主控芯片。ST公司的32位STM32系列微控制器是专门为微控制系统、工业控制系统和无线网络等对功耗和成本敏感的嵌入式应用领域而设计的。STM32F103VCT6是一款基于ARMv7- M 体系结构的32位标准处理器,工作频率高达72 MHz,具有3个通用定时器、1个高级控制定时器、7个独立的DMA通道、1个

13、USB接口、3个USART接口、2个SPI接口和2个I 2C接口。STM32F103VCT6的外围电路仅需要外部晶振和少数电容,内部自带的SW接口便于调试和下载。方案二:ATmega16芯片是ATmel公司一款8位微处理器。它的主频高达16MHz,片内集成16KB的闪存存储器(Flash)、512字节的EEPROM、1K的SRAM,另外指令系统丰富,I/O的控制和扩展功能较强。同时集成了许多标准模块,具有1路异步串行通信USART接口,1路串行设备接口(SPI),2个8位定时器,1个16位定时器,3个PWM通道,一个实时时钟RTC,8个8通道10字节的模数转换器(ADC),一个模拟比较器,同时

14、它还具有一个片内系统时钟、JTAG接口、ISP接口、自编程SPM。方案三:采用宏晶科技有限公司的STC89C52RC单片机作为主控芯片。此芯片为51类单片机,不带内部时钟,外部资源少。考虑到此系统主控部分对数据处理算法的复杂度和实时性要求,需要对传感器采集的数据进行数字滤波、四元数运算和kalman滤波等复杂运算,需要求主控芯片处理速率较快。从性能和要求上综合考虑我们选择方案一,即用STM32F103VCT6作为本系统的主控芯片。对于系统的接收显示部分,为了简化外围电路设计,则选用ATmega16做主控芯片。2.1.2 无线通信模块方案方案一:采用GSM(Global System for M

15、obile)模块进行通信,GSM模块需要借助移动卫星或者手机卡,虽说能够远距离传输,但是其成本较大,且需要内置SIM(Subscriber Identity Module)卡,通信过程中需要收费,后期成本较高。方案二:采用TI(德州仪器)生产的C2430无线通信模块,此模块采用Zigbee总线模式,传输速率可达250kbps,且内部集成高性能8051内核。但是此模块价格较贵,且Zigbee协议相对较为复杂。方案三:采用nRF24L01无线射频模块进行通信,nRF24L01是一款高速低功耗的无线通信芯片,由NORDIC公司生产。能传输上千米的距离(加定向天线),而且价格较便宜,采用SPI总线通信

16、模式电路简单,操作方便。综合考虑系统要求和成本等方面的因素,采用方案三作为本系统的无线通信方案。2.1.3 陀螺仪、加速度计传感器方案方案一:采用ADIS16355作为测量线加速度和角加速度的传感器。ADIS16355是ADI公司推出的一款具有-4085温度范围内校准、SPI接口输出的六自由度惯性测量传感器,出厂前已经对产品的零偏和灵敏度进行了全温校准。ADIS16355具有三轴陀螺和三轴加速度计。三轴陀螺和加速度计具有14位分辨率,陀螺的测量范围可配置为、,加速度计的测量范围为10g,传感器带宽达350 Hz。ADIS16355的输出零偏稳定性为,温度系数为,角度随机游走为,适于精度要求较高

17、的应用。传感器内部完成了信号的采集、校准与滤波处理,具有自检功能,还有1路ADC输入、1路DAC输出和2路数字I/O。SPI接口能够输出3个角速率信号、3个线加速度计信号、3个温度传感器信号和电源电压信号。但是其体积较大,成本高,接口类型等原因使用不方便。方案二:采用ADXL345三轴加速度计、L3G4200三轴陀螺仪和磁阻传感器分别测量线加速度、角加速度和磁阻值。ADXL345是AD(IAnalog Devices, Inc.)公司于2009年发布的一款数字式三轴加速度计传感器。ADXL345最大量程可以达到16g,可以进行高分辨率(13位)测量。数字输出数据为16位二进制补码的形式,可通过

18、SPI(3线或4线)或者I2C数字接口访问。ADXL345可以在倾斜感测应用中测量静态重力加速度,还可以从运动或者振动中生成动态加速度,其可工作在温度范围内。它的高分辨率能够分辨仅为的倾角变化。L3G4200为ST公司的三轴陀螺仪传感器,可供用户自主设定250dps、500dps、2000 dps三种量程,工作在温度范围内,16位数据的输出,可通过SPI(3线或4线)或者I2C数字接口访问,使用方便,成本低,外围电路简单。MC5883 是霍尼韦尔的一种表面贴装的带有数字接口高集成模块的弱磁传感器芯片,采用霍尼韦尔各向异性磁阻(AMR)技术,具有在轴向高灵敏度和线性高精度的特点,附带霍尼韦尔专利

19、的集成电路包括放大器、自动消磁驱动器、偏差校准、能使罗盘精度控制在的12 位模数转换器以及简易的I2C 系列总线接口。使用ADIS16355则会使目标板布电路图困难,而且体积大,接口不方便使用。相比于同时使用ADXL345、L3G4200和HMC5883三种种传感器,线路比较简单,都可以用I2C通信进行采集数据。考虑到电路的设计复杂、成本高,故选择方案二,即用ADXL234、L3G4200和HMC5883作为采集线加速度、角加速度和磁阻值的传感器(代刚,2010)。2.1.4 显示模块方案方案一:选择主控为ST7920驱动器的带字库的LCD12864来显示信息。LCD12864是一款通用的液晶

20、显示屏,能够显示常用的汉字及ASCII码,而且能够绘制图片,描点画线,设计成比较理想的结果,但成本较高。方案二:采用字符液晶LCD1602显示信息,LCD1602是一款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。方案三:采用LED7段数码显示管显示,其成本低,容易显示控制,但不能显示字符。显示多点温湿度信息需要多位,多位数码管布线较多而且占板面积较大。综合以上方案,考虑到系统需要显示的内容比较少,选择了经济实惠的字符液晶LCD1602来作为接收端的显示。2.2 系统最终方案发送端:由ADXL345三轴加速度计、L3G4200三轴陀螺仪传感器和HMC5883磁阻传感器采

21、集目标载体的三个轴向的线加速度和角加速度数据以及磁场强度信息,经STM32F103VCT6主控处理数据后通过无线射频模块nRF24L01发送数据到接收端显示。接收端:由nRF24L01无线射频模块接收主控端发过来处理后的数据信息,经SPI接口传输给ATmega16单片机,由ATmega16单片机控制液晶LCD1602实时显示目标载体的偏航角、俯仰角和翻滚角。图1 系统方框图3 主要芯片介绍和系统模块硬件设计3.1 STM32F103VCT6模块核心控制模块由STM32F103VCT6最小系统组成,包括STM32F103VCT6、晶振电路、时钟电路和SW下载接口电路。STM32F103VCT6具

22、有100个引脚的芯片,其功能比一般的51单片机强大,外部中断通道可由客户自主设置,使用方便,下载及调试程序的操作过程简单容易,处理速度可达到72MHz,可以运行较复杂的算法。晶振电路由两个10pF左右电容和一个8MHz晶体振荡器构成。时钟电路由两个22pF电容和一个32.786KHz晶振构成,为定时器提供稳定的外部时钟。SW下载接口电路为四个接口电路,简化电路设计,与JTAG接口一样的有调试和下载程序的功能。STM32F103VCT6最小系统电路如下图2所示。图2 STM32F103VCT6系统电路3.2 nRF24L01无线模块3.2.1 无线模块原理图 nRF24L01(陶成林,2012)

23、芯片是由NORDIC公司生产一款无线通信芯片,采用FSK调制方式,内部集成有NORDIC的Enhanced Short Burst协议。可以实现点对点的无线通信。通信速度可以达到2Mb/s。nRF24L01无线射频模块的电路原理图如图3所示。图3 nRF24L01模块电路原理图3.2.2 接口电路 nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz2.5 GHz ISM(Industrial Scientific Medical)频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。通过配

24、置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式。在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。图4所示为STM32F103VCT6与nRF24L01的连接电路图。 图4 STM32F103VCT6与无线模块连接电路图nRF24L01无线射频模块的各引脚功能描述如表1所示。表1 nRF24L01模块引脚功能管脚功能CE工作模式,TX或者RX模式选择CSNSPI片选使能

25、,低电平有效SCKSPI时钟MOSISPI数据输入MISOSPI数据输出IRQ中断输出VDD电源1.9-3.6V输入GND接地3.2.3 寄存器配置SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。nRF24L01 的配置寄存器共有25个,常用的配置寄存器如表2所示。 表2 常用配置寄存器地址(H)寄存器名称功能00CONFIG设置nRF24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址03SETUP_AW设置地址宽度04SE

26、TUP_RETR设置自动重发数据时间和次数07STATUS状态寄存器,用来判定工作状态0A0FRX_ADDR_P0P5设置接收通道地址10TX_ADDR设置接收节点地址11-16RX_PW_P0P5设置接收通道的有效数据宽度3.3 供电电源本系统中采用3.3V直流电源对无线射频模块和STM32F103VCT6供电,5V电源经AMS1117芯片进行转换后得到稳定的直流电源,其电源电路图如图5所示。图5 电源电路图3.4 陀螺仪传感器3.4.1 L3G4200三轴陀螺仪L3G4200D是意法半导体推出的三轴共用一个感应结构的低功耗三轴陀螺仪,能同时检测三条正交轴向运动。其结构特点消除了轴与轴之间的

27、干扰,可以使输出信号避免受干扰信号的影响。L3G4200D量程可设定在250dps到2000dps,可外接低通和高通滤波器,输出数据为16位,不易受温度变化的影响,支持I2C、SPI总线协议通信。3.4.2 陀螺仪电路图图6所示为陀螺仪电路图,表3所示为L3G4200各引脚功能。图6 陀螺仪电路图 表3 L3G4200各引脚功能管脚名称功能1VDD供电 35.5VDC2SCL/SPCI2C串行时钟/SPI串行时钟3SDA/SDI/SDOI2C串行数据/SPI串行数据输入/3-wire串行接口数据输出4SDO/SA0SPI串行数据输出/I2C设备最低位有效5CS模式选择:1.I2C模式;0.SP

28、I模式6DRDY数据就绪7诠释可编程中断812保留连接到GND13GND接地14PLLFILT锁相环环路滤波器15保留连接到VDD16VDD电源3.4.3 L3G4200陀螺仪工作特点L3G4200可提供三个不同的量程(250/500/2000dps)供用户选择。它包括一个传感元件和一个I2C接口,能够检测芯片的角速度,通I2C或者SPI两种通信方式输出16位数字数据。两种通信方式下,L3G4200均为从设备。本方案采用I2C串口通信,L3G4200D的从属地址(SAD)是110100xb。SDO引脚可被用来修改设备的地址有效位。如果SDO引脚连接到高电平,LSB的地址1101001xb中的是

29、,即为地址1101001b。相反,如果SDO引脚连接到地GND,则设备的地址LSB的值1101000b。对陀螺仪的操作步骤如下所示: 对STM32F103VCT6、陀螺仪进行初始化,配置各个寄存器; 启动I2C总线,数据读取; STM32F103VCT6发出应答,读数据有效; 解析并转换数据。3.5 加速度计传感器3.5.1 ADXL345三轴加速度计ADXL345是一款小而薄的超低功耗3轴加速度计传感器,分辨率高(13位),可供用户选择四种测量范围(2g, 4g, 8g, 16g),可通过SPI(3线或4线)或I2C通信接口输出16位二进制补码格式的数字数据,其可工作在温度范围内。该器件提供

30、多种特殊检测功能(袁西,2010)。活动和非活动检测功能通过比较任意轴上的加速度与用户设置的阈值来检测有无运动发生。敲击检测功能可以检测任意方向的单振和双振动作。自由落体检测功能可以检测器件是否正在掉落。这些功能可以独立映射到两个中断输出引脚中的一个。ADXL345非常适合移动设备应用,它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率,能够测量不到的倾斜角度变化。3.5.2 加速度计电路图图7所示为加速度计的电路图,与STM32F103VCT6通过I2C接口连接。表4所示为ADXL345各引脚功能描述。图7 加速度计电路图管脚名称功能1VDD电源电压2

31、、4、5GND接地3保留保留,该引脚必须连接到Vs或保持断开6Vs电源电压7CS片选8INT1中断1输出9INT2中断2输出10NC空11保留保留12SDO/ALT ADDRESSSPI串行数据输出/备用I2C地址选择13SDA/SDI/SDIOI2C串行数据/SPI4线串行数据输入/SPI3线串行数据输入和输出14SCL/SCLKI2C串行通信时钟/SPI串行通信时钟表4 ADXL345各引脚功能3.5.3 ADXL345工作特点本方案采用I2C串口通信进行数据读取,ADXL345支持标准(100 kHz)和快速(400 kHz)的数据传输模式。当引脚SDO为高电平时,其I2C设备地址是0x

32、1D,进行写操作时变为0x3A,读操作时变为0x3B。如果其他设备连接到同样的I2C总线上, 这些设备上的可控电压不得超过VDDI/O0.3 V。3.6 磁阻传感器3.6.1 HMC5883磁阻传感器HMC5883是一款霍尼韦尔公司的低电压低功耗三轴磁阻传感器,其内置自检功能,能工作在宽电压范围,能测量地球磁场的方向和大小,其测量范围从mgauss到 8gauss。最大输出速率可达160Hz,提供一I2C接口与主机通信。HMC5883磁阻传感器是应用特殊辅助电路来测量磁场。通过施加供电电源,传感器可以将量测轴方向上的任何入射磁场转变成一种差分电压输出。3.6.2 HMC5883电路图如下图8所

33、示为磁阻传感器HMC5883的电路图,与STM32F103VCT6通过I2C接口连接。图8中SETP接置位/复位正一电容;Cl接存储电容;SETC接电容; DRDY为数据连接与中断引脚。图8 磁阻传感器HMC5883电路图3.6.3 HMC5883工作特点HMC5883传感器的测量模式可以使用连续测量模式,测量速率最快为75Hz,也可以使用单侧模式加中断的方式进行,测量速率可达到160Hz。选择测量模式为连续测量模式,采用I2C总线连接,测量速率取75Hz。HMC5883有12个寄存器,其中使用到的有3个可读/写的配置寄存器(CRA、CRB、CRM),6个只读的数据寄存器(XMSB、XLSB、

34、YMSB、YLSB、ZMSB、ZLSB)。3.7 ATmega16单片机模块ATmega16单片机模块由ATmega16单片机最小系统组成,主要包括ATmega16单片机模块、下载电路、复位电路和晶振电路。ATmega16单片机模块电路图如图9所示。 图9 ATmega16单片机模块电路图4 系统软件设计4.1 单片机软件设计4.1.1 发送端流程初始化过程:进行对STM32F103VCT6进行基本配置,包括时钟的配置和引脚的配置,初始化定时器,初始化并配置ADXL345传感器和L3G4200传感器,初始化无线模块NRF24L01;对ADXL345传感器进行校正。读取数据过程:在定时器中对传感

35、器ADXL345和L3G4200进行定时采集数据,并对采集的数据进行中值滤波,滤波后的数据和定时的时间代入主程序中的四元数算法进行计算,得出四个元素值和转换为欧拉角。对得出的欧拉角数据进行kalman滤波。发送数据过程:通过nRF24L01将kalman滤波后的数据无线传输。发送端程序流程图如下图10所示 图10 发送端程序流程图4.1.2 中值滤波算法对按照时间输出的数据进行筛选,假设为对象为M个数据,则每输出M个数据则选出该M个数据中的中间值作为该时段的代表值。中值滤波流程图如下图11所示。 图11 中值滤波流程图4.1.3 四元数算法四元数是由爱尔兰数学家哈密顿首先提出来的数学概念。它由

36、1个实数单位和 3 个虚数单位i,j,k 组成(黄旭,2005;叶锃锋,2012)。其形式为: (1)四元数可以表示旋转,它的标量部分表示旋转角度的大小,矢量部分表示转轴的方向。应用四元数时要进行归一化,即使它的模值为 1。四元数微分方程为: (2)四元数微分方程(冯智勇,2011)可以实现四元数的更新,其中,是陀螺仪测得的角速度。四阶龙格库塔法可以用来求解四元数微分方程,具体过程如下:设 (3) (4) (5) (6)则 上式中,T 为更新周期,q(t)为初始四元数,q(t+T)为更新后的四元数。K1是时间段 T 开始时的斜率,K2是时间段中点的斜率,K3也是中点的斜率,K4是时间段终点的斜

37、率。姿态矩阵可以用四元数描述为: (7)其中T可以简化表示为: (8)从姿态矩阵中可以得到姿态角: (9) (10) (11)上式中,为俯仰角,为偏航角,为翻横滚角。4.1.4 kalman滤波算法卡尔曼滤波公式主要由下述几部分组成。预测方程:预测方程就是要由第k-1时刻的状态值来对k时刻的的状态估计值进行预测。 (12)上式是利用上一状态预测的结果来估计X(k|k-1),X(k-1|k-1)是上一状态最优的结果。滤波方程:滤波方程的目的就是利用第k-1时刻的状态估计值、第k时刻的观测值和第k时刻的增益值,来估计第k时刻的状态值(籍颖,2009)。 (13)其中Kg为卡尔曼增益(Kalman

38、Gain)。 增益方程:增益方程是用于更新卡尔曼增益Kg,P表示X(k|k-1)的协方差,则有: (14)滤波误差协方差的推导: (15) (16)式中:I为1的矩阵,对于单模型单测量,I=1;P(k|k-1)是X(k|k-1)对应的协方差,P(k-1|k-1)是X(k-1|k-1)对应的协方差;表示A的转置矩阵;Q是系统过程的协方差(施闻明,2005)。卡尔曼滤波的算法流程如下图12所示。 图12 kalman滤波算法流程图4.2.1 接收端流程初始化液晶显示1602和无线模块nRF24L01:初始化液晶显示LCD1602。单片机控制引脚CE为低,使nRF24L01进入待机模式。将本机地址(

39、TX_ADDR)通过SPI接口写入nRF24L01,当CSN为低时数据被不断写入。将通道0、1、2、3、4、5设置为接收模式来接收应答信号,并且允许自动应答,自动重发10次,间隔为。各通道接收地址(RX_ADDR_P0RX_ADDR_P5)与发送端地址(TX_ADDR)相同(其中通道2-5只需设置低8位地址,高32位地址与通道1相同,无需设置),各通道接收数据长度设置为4个字节,各通道工作频率设为2.4GHz(收发保持一致),各通道发射速率为1Mb/s。接收端程序流程如图13所示。 图13 接收端程序流程图5 硬件电路5.1 硬件制作硬件的制作由万用板、PCB板和电子元器件组成。硬件的制作流程

40、。首先在Altium Designer软件中画好原理图和PCB板的布线图,然后转换成reg格式,发给印刷公司定制PCB板;根据已经画好的PCB布线图,在万用板上焊出自己所设计的电路。5.2 硬件调试在没通电之前,先用万用表检查线路的正确性,并核对元器件的型号、规格是否符合要求。特别注意电源的正负极以及电源之间是否有短路,并重点检查地址总线、数据总线、控制总线是否存在相互间的短路或其他信号线的短路。晶体振荡器和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好是保证振荡器稳定和可靠地工作。在本系统中我们都进行了仔细的检查,所以此步骤不会发生故障,这一步如果检查不细通电后可能会造成不可想象的后果

41、,所以这一步也至关重要。通电后检查各器件引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机的插座上的各点电位,若有高压,将有可能损坏单片机仿真器。同样,如果电压过低就没有能力驱动其负载。在断电的情况下,除单片机以外,用仿真插头将所连接电路与单片机仿真器的仿真接口相连,为软件调试做好准备。其中遇到的问题很多,如印制电路线不合格,中间有些许短路,造成调试的失败。还有USB电源供电电压不足的问题,电源电压经过供电给负载,电压下降0.5V,致使单片机工作不正常的问题。5.3 硬件调试结果首先调试陀螺仪和加速度计传感器,使其能输出数据,并将数据用Usart串口发到电脑串口调试助手软件上显示数据。同时

42、,移动进行四元素陀螺仪和加速度计模块,观察数据是否变化正确。数据输出正确后,则将采集的数据进行四元素算法的转换,每计算一次则转换成欧拉角,Kalman滤波后,通过Usart串口将未滤波前和滤波后的欧拉角数据发送到电脑上,用SerialChart软件进行波形显示对比。其次调试液晶显示,方便观看其他各项调试结果。主要观察液晶显示屏是否能正常显示。刚上电的时候,液晶显示器上显示空白,通过改变显示内容和位置都都不能正常显示,然后经过排查,发现问题在于液晶显示器的对比度没调节正确。经过改变变阻器阻值大小调节液晶屏幕的对比度,液晶显示正常。再次调试无线收发电路。调试时先调试发送端,禁用自动应答功能,禁用自

43、动重发功能,通过读状态寄存器,查看发送成功标志是否置位检测是否发送成功。发送成功后,调试接收端,接收端也禁用自动应答功能,直接接收发送端发过来的数据并通过液晶显示出来。5.4测试数据通过Usart串口将kalman滤波前和滤波后的欧拉角发送到电脑上的SerialChart软件上画图表示,通过将数据做出图表,如下图14俯仰角(Pitch)滤波前后对比图所示,含有圆点的曲线为俯仰角还没经过kalman滤波的数据曲线,线宽粗的曲线表示kalman滤波后的数据曲线。 图14 俯仰角Pitch滤波前后对比图如下图15翻滚角Rool滤波前后对比图所示,为翻滚角数据绘图,含有圆点的曲线是翻滚角还还没经过ka

44、lman滤波数据曲线,线宽粗的曲线为翻滚角kalman滤波后的数据曲线。 图15 翻滚角Rool滤波前后对比图偏航角kalman滤波效果如下图16所示,含有圆点的曲线为滤波前的数据曲线,线宽粗的曲线为kalman滤波后的数据曲线。图16 偏航角kalman滤波前后对比图以上三个滤波效果图表明:kalman算法能缓冲突变的数据,在一定程度上能减少毛刺,滤波效果明显,不足之处是滤波不够干净,有时间上的延迟。通过四元数算法所得到俯仰角、翻滚角和偏航角的测量数据与参考数据做对比。如表5俯仰角实验数据所示,测量数据与参考数据有一定的误差。在测出的五个数据中,绝对误差保持在的范围内,相对误差则不是在一个小范围内,并且绝对误差没有随着变量的规律变化而规律变化。表5 俯仰角实验数据参考数据测量数据绝对误差相对误差-36.1-35.20.92.49-60.0-61.21.22.0011.912.80.97.5627.228.00.82.9445.045.90.92.00如表6翻滚角实验数据所示,翻滚角是指绕着前进方向X轴翻转。在抽取五个测量数据中,绝对误差保持在的范围内,相对误差则不是在一个小范围内,并且绝对误差没有随着变量的规律变化和绝对误差的变化而

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1