收藏 分享(赏)

机车冲动检测仪设计.doc

上传人:wo7103235 文档编号:6273665 上传时间:2019-04-03 格式:DOC 页数:28 大小:994.50KB
下载 相关 举报
机车冲动检测仪设计.doc_第1页
第1页 / 共28页
机车冲动检测仪设计.doc_第2页
第2页 / 共28页
机车冲动检测仪设计.doc_第3页
第3页 / 共28页
机车冲动检测仪设计.doc_第4页
第4页 / 共28页
机车冲动检测仪设计.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、 密级: NANCHANG UNIVERSITY学 士 学 位 论 文THESIS OF BACHELOR题 目 机车冲动检测仪设计 学 院: 信息工程学院 系 自动化系 专业班级: 测控技术与仪器 学生姓名: 学号: 指导教师: 职称: 起讫日期: 摘要I机车冲动检测仪设计摘要机车冲动是指在列车行驶过程中产生的剧烈冲击,这种冲击不仅会影响旅客乘车的舒适性还会给旅客、列车及其设施造成不同程度的损伤。因此设计一套检测列车冲动、考核司机驾驶水平的仪器至关重要,不仅可以保障旅客乘车安全性还可以提高铁路交通的服务质量。基于STC89C52RC单片机,本文提供了一个集加速度采集、处理、显示于一体的解决方

2、案。本设计以 STC89C52 单片机为核心,由 ADXL345 传感器模块进行数据采集,并由显示模块 LCD1602 显示实时加速度值,最后,由单片机将采集的数据通过串口通信模块发送到上位机,并在 PC 机上对数据进行分析。本文首先介绍了该论题的背景与意义,阐述了随着我国铁路建设的发展,设计机车冲动检测仪的必要性。然后介绍了整个方案设计框架,并详细的介绍了各模块电路的设计及其原理,最后阐述了各模块的软件设计及代码编写,对于各模块的软件设计,在下文中给出了流程图,附录中给出了具体的程序。本系统具有可靠性高,性价比高,功能全,人机交互良好,使用方便并且能方便提供给外围扩展设备模块的特点。关键词:

3、机车冲动;加速度检测;STC89C52RC;通信;LCD 显示器AbstractIIThe design of locomotive impulse detectorAbstractLocomotive impulse refers to severe shocks during the running of trains, this impact will not only affect the comfort to passengers, but also cause the degrees of damage to the train and its facilities. Theref

4、ore, it is necessary to design a train detection impulse, which could assess the level of the instrument of chauffeur-driven. It can not only protect the passengers safety but also improve the quality of rail transport services. The design based on a set of chip STC89C52RC acceleration collection, w

5、hich concentrates testing, displaying in one of the solutions.This design centered in STC89C52, the data collected by the ADXL345 sensor module and displayed by module LCD1602, and finally through the serial communication module sends the collected data to the PC, then analysis and monitoring numeri

6、cal on the PC machine.This paper introduces the background and significance at the topic, describes the development of Chinas railway construction along with the need to design locomotive impulse detector. Then introduced the whole design framework, and describes in detail of the design and the prin

7、ciple of circuit modules, finally elaborated the design of the software coding. The software for each modules are given in the following flow chart, the specific procedures are given in the appendix.This system is high reliability, cost-effective, full-featured, good human-computer interaction, easy

8、 to use and its convenient to be provided to external expansion device module.Keyword: Locomotive impulse; Acceleration detection; STC89C52RC; Correspondence; LCD monitors目录III目录摘要 IAbstract .II第一章 绪论 11.1 课题研究的背景和意义 .11.2 国内外研究现状 .21.3 论文研究的主要内容 .3第二章 系统结构及方案设计 42.1 系统简介 .42.2 系统工作原理 .42.3 系统方案设计 .

9、42.3.1 微处理器的选用 52.3.2 传感器的选择 62.3.3 显示器的选择 72.3.5 通信方式的选择 92.3.6 波形显示软件选择 92.4 本章小结 .9第三章 系统硬件设计 103.1 系统硬件各模块简介 .103.2 单片机主控电路模块 .103.2.1 单片机介绍 103.2.2 单片机主控电路 103.3 数据采集模块电路 .113.3.1 加速度传感器 ADXL345 介绍 .113.3.2 加速度采集模块电路 113.4 液晶显示模块电路 .123.4.1 液晶显示字符的原理 123.5 串行通信模块电路 .133.5.1 串行通信原理 133.4.2 串行通信电

10、路 133.6 电源电路模块 .14目录IV3.7 本章小结 .14第四章 系统软件设计 154.1 主程序设计 .154.2 ADXL345 模块程序设计 154.2.1 ADXL345 工作过程 .154.2.2 数据采集模块流程图 .164.3 LCD1602 模块程序设计 .164.3.1 LCD1602 初始化 174.3.2 LCD1602 显示流程 174.4 RS-232 串口通信模块程序设计 174.4.1 串口通信初始化 174.4.2 PC 机通信程序的设计 .184.4.3 串口通信流程图 18第五章 系统整体调试 19第六章 结束语 20参考文献 21致谢 23第一章

11、 绪论 1第一章 绪论1.1 课题研究的背景和意义铁路作为国家重要的基础设施,是国民经济的大动脉,交通运输体系的骨干。随着社会主义市场经济逐渐地趋于健全与完善,国民经济的迅速发展,铁路列车的客货量也在日益增长。目前,全国铁路已经进行了六次大提速,我国铁路建设正进行着前所未有的快速发展,而根据国务院批准的中长期铁路网规划,到 2020 年我国铁路将形成以“四纵四横”客运专线为主题,城际客运专线为扩充的快速客运网络。铁路系统的提速,缩短了人们的旅行时间,取得了很好的经济效益,加大了铁路运输的影响力,但列车运行质量、车内环境等影响乘坐品质的因素却没有受到重视,乘客的舒适性难以得到保证。与此同时,随着

12、科学技术的不断进步,人们生活水平的提高,对于公共运输工具的舒适性,乘客的需求和价值观也趋于多样化,舒适性的概念不再局限于设施和服务上的奢华,除了安全性和快速性外,列车的乘坐舒适度也是非常重要的因素。列车在运行期间的平稳性是衡量舒适度一个重要指标,列车冲动不仅严重影响了旅客乘车的舒适性,剧烈的冲击甚至会给旅客、行车及列车设施造成不同程度的损伤,有些冲动事件还涉及到经济赔偿和国家声誉。所以,如何改善旅客列车冲动,改善乘客乘坐品质的问题,越来越引起相关人员的重视。为进一步提高提速旅客列车的乘坐舒适性,针对列车提速后纵向冲动有所加剧的问题,铁道部组织铁道部科学研究院等单位曾展开过专题研究,以研究列车冲

13、动的原因和解决方案。列车冲动是指司机在操纵列车运行过程中, 由于机车工况改变所引起的列车车辆纵向(列车运行方向)冲击。快速列车运行的工况相当复杂, 当使用制动机、惰力运行、牵引、启动、站停等多种不同工况, 都会使列车产生冲动。经分析, 列车发生纵向冲动的部位和现象主要表现在:当冲动发生时, 列车受到的冲动中部最严重、后部较轻、前部最轻;当使用制动机调速时, 有时制动和缓解都使列车发生冲动, 有时仅制动或缓解使列车发生冲动;在正常牵引工况下, 有时会出现瞬时冲动 ( 多发生在曲线弯道);在惰力运行工况下 , 有时发生瞬时冲动或间隔较短的连续性冲动;列车在高速运行中调速制动时, 经常发生第一章 绪

14、论 2不同程度的冲动;线路不同,列车纵向冲动的情况也不一样。在条件较差的线路上, 列车调速频繁,纵向冲动也相对频繁,且相当剧烈;车辆在条件较差的线路上的横向、纵向加速度的量值和频率相对较高。生成机车纵向冲动的工况可以归纳为以下三种:1)启动工况:机车启动时,由牵引力传输迸发的纵向冲动;2)线路断面变化工况:机车在运行时,由线路断面变动迸发的纵向冲动;3)调车作业工况:调车作业时,车辆彼此碰撞引发的纵向冲动 2。1.2 国内外研究现状当前,国内主要考虑的是加速度以及加速度的频率特性等要素,且横向与直向冲动是重点分析的方向 3。在国外,日本的松井哲、苏联的拉扎良和维坎杰尔等学者都曾提出过机车最大纵

15、向力的解析和计算的方法,但这种情况不仅是线路驾驶员的状况,列车布置方式也会影响机车的纵向力,特别是不同的机车装置和制动缓冲装置会产生很大的影响,所以,不能直接简单得照搬国外的理论公式 4;另一方面,长期以来,机车纵向动力学理论研究薄弱,只有实验方法,近年来已经研究出了计算机车纵向冲动的电子程序。在机车冲击波检测方法中,“木棒检测法”是国内传统使用的检测司机的方法,首先挑选一些均匀密度较大的硬木,然后把它制作成5根截面为正方形的木棒。木棒的端面需要有一定的粗糙度但整体平整。另外再做一个的拥有五个档位且底面为光滑玻璃的木盒,依据横截面不同的木棒倒下的情况来评定冲动发生的等级,如图1.1所示,但该方

16、法存在众多的缺陷。图 1-1 冲动检测法示意图第一章 绪论 31.3 论文研究的主要内容本文的主要内容如下:1)简要分析此课题的研究背景,它的研究的实际意义以及在国内外的发展情况等。2)为了解决现有机车脉冲检测方法落后、检测结果不准确的问题,完成机车冲动分析、测量的全自动化等功能,设计一种基于单片机的数字智能仪表。3)设计冲动检测硬件系统。这个系统包含设计丰富的外围通讯接口、加速度采集电路以及显示模块,以此来实现微处理器以及传感器之间的数据传输,然后将数据显示出来。4)选用 keil 开发软件环境,利用 C 语言编写程序,根据硬件系统设计的原理,实现软件系统的设计,完成软硬件相结合,以达成机车

17、冲动智能化检测的目标。5)论述整体系统的调试过程并对本设计进行全面的总结,总体分析本课题的设计思路。第二章 系统结构设计与方案4第二章 系统结构及方案设计2.1 系统简介本系统是用来实时监测列车运行的加速度,利用加速度传感器采集信号,经单片机分析处理后显示到显示器上,以便于工作人员对列车实况进行分析。本系统主要测量机车的纵向冲动,首先使用三轴加速度传感器采集加速度信号,经由单片机的分析与处理后,通过显示器显示出来,并传输到 PC 机供工作人员分析和监查。2.2 系统工作原理本系统主要由数据采集模块(传感器装置)、数据分析处理模块、显示模块和通信模块组成。数据采集模块负责按一定采样频率对列车加速

18、度信号进行采集;处理器的应用程序负责分析、处理数据,将传感器采集到的信号转化为对应的加速度值;显示器将由处理器传送过来的加速度值显示出来,串口通信负责把单片机采集到的数据发送给 PC 机。本系统由单片机主控模块、 ADXL345加速度采集模块、RS232 通信模块和 LCD1602 显示模块四部分组成。加速度采集模块主要用来采集列车的加速度信号,其频率在一定的范围内;主控模块的主要任务是处理数据以及分析数据,并将传感器装置采集到的信息转化为对应的加速度值并通过显示模块展示出来;串口通信模块负责对单片机数据的分析处理,发送到上位机。系统结构框图如下所示:图 2-1 系统结构框图2.3 系统方案设

19、计本系统主要由数据采集模块(传感器装置)、数据分析处理模块、显示模块和通信模块组成。为满足实际冲动检测的要求,本节对单片机、加速度传感器和显示模块进行了对比选型。第二章 系统结构设计与方案52.3.1 微处理器的选用方案一:STC89C51RC 5是采用 8051 核的 ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为 80MHz,片内含 8K Bytes 的可反复擦写1000 次的 Flash 只读程序存储器,器件兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISP Flash 存储单元,具有在系统可编

20、程(ISP)特性,配合 PC 端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C52RC 系列单片机是单时钟/机器周期(1T)的兼容 8051 内核单片机,是高速/ 低功耗的新一代 8051 单片机,全新的流水线/精简指令集结构,内部集成 MAX810 专用复位电路。 主要特点如下:(1)增强型 1T 流水线/精简指令集结构 8051 CPU(2)工作频率范围:0-35MHz,相当于普通 8051 的 0420MHz.(3)用户应用程序空间 12K / 10K / 8K / 6K / 4K / 2K 字节(4)片上集成 512 字节 RAM(5)

21、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片(6)EEPROM 功能(7)有 2 个 16 位定时器/ 计数器(8)PWM( 4 路)/ P C A(可编程计数器阵列),也可用来再实现 4 个定时器或 4 个外部中断(上升沿中断/ 下降沿中断均可支持 )(9)STC89Cc516AD 具有 ADC 功能。10 位精度 ADC,共 8 路(10)通用异步串行口 (UART)(11)SPI 同步通信口,主模式/ 从模式(12)工作温度范围: 0 -75/ -40 -+85方案二:STC89C52 是 STC 公司生

22、产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。STC89C52 使用经典的 MCS-51内核,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入第二章 系统结构设计与方案6式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k 字节 Flash,512 字节 RAM,32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM,MAX810 复位电路,3 个 16 位定时器/计数器,4 个外部中断,一个7 向量 4 级

23、中断结构(兼容传统 51 的 5 向量 2 级中断结构),全双工串行口。另外 STC89X52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35MHz,6T/12T 可选。 主要特点如下:(1)增强型 8051 单片机,6 时钟/机器周期和 12 时钟/ 机器周期可以任意选择,指令代码完全兼容传统 8051.2(2)工作频率范围:040MHz,相当于普通 8051 的 080MHz 。

24、(3)用户应用程序空间为 8K 字节(4)片上集成 512 字节 RAM(5)ISP(在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(P3.0,P3.1 )直接下载用户程序,数秒即可完成一片。(6)具有 EEPROM 功能(7)共 3 个 16 位定时器/计数器。即定时器 T0、T1、T2(8)通用异步串行口(UART),还可用定时器软件实现多个 UART(9)工作温度范围:-40+85(工业级)/075 (商业级) 通过比较 AT89C51 和 AT89C52 本质上没有太大的区别,成本也差不多,选择任意一款都能实现本设计相应功能,本设计中笔者选择 ST

25、C89C51 作为本设计的主控芯片。2.3.2 传感器的选择方案一:ADXL330 是美国模拟器件公司 (ADI) 推出的一款带有信号调理电路, 可提供模拟电压输出的小量程、小尺寸、低功耗 3 轴加速度计11 。ADXL330 将 iMEMS( 微机电系统) 传感器结构与信号调理结合在一起, 功耗电流降低至 200 A( 在 2.0 V 电源电压下) 。ADXL330 采用 4 mm 4 mm 第二章 系统结构设计与方案71.45 mm 小型封装, 工作电压 2.0V3.6V,典型工作电压 3.0V,集成了一个坚固的 3 轴传感器结构及其信号调理电路,可提供模拟电压输出,测量动态范围是3g。输

26、出的模拟电压信号与加速度成正比。它不仅可以测量静态加速度(如某个斜坡上的加速度),还可以测量动态加速度(如物体在移动、震动时产生的加速度), 具有 10000g 额定耐冲压强度,具有良好的 0g 偏压稳定性和良好的灵敏度。方案二:ADXL345 12是 ADI(Analog Devices, Inc.)公司发布的一款数字式三轴加速度传感器,也是该公司第一款输出数码信号的加速度传感器。ADXL345 最大量程可以达到16g,可以进行高分辨率(13 位)测量。数字输出数据为 16 位二进制补码的形式,可通过 SPI(3 线或 4 线)或者 I2C 数字接口访问。ADXL345 可以在倾斜感测应用中

27、测量静态重力加速度,还可以从运动或者振动中生成动态加速度。它的高分辨率(4mg/LSB)能够分辨仅为0.25的倾角变化。动态和静态感测功能可以检测有无运动发生,以及在任何轴上的加速度是否超过用户设置的水平。一个集成的 32 级 FIFO 可储存多达32 个 X、Y 和 Z 数据样本集,从而最小化对主处理器的影响。ADXL345 采用 14 引脚塑料封装,具有 3mm 5mm1mm 的小巧纤薄的外形尺寸,是符合 RoHS 规定的无铅产品 13。ADXL345 的主要性能指标如下:(1)超低功耗,测量模式电流为 40A,2.5V(典型值)供电等待模式下电流仅为 0.1A;(2)量程可选择2g(10

28、bit),4g (11bit),8g(12bit),16g(13bit),精度达到了 4 mg/LSB;(3)供电范围 2.0V-3.6V;(4)SPI 模式(3 线或 4 线)或 I2C 模式通信接口;(5)32 级 FIFO 协调与处理器的通信;(6)带宽达到 1.6KHz;(7)使用温度范围-40-85;(8)可以接受 10000g 的冲击;(9)适用于手持设备、工业监控、医疗器械、个人导航设备等。第二章 系统结构设计与方案8综上所述,ADXL345 功耗更低,输出为数字信号,测量范围大,分辨率高,故选用 ADXL345 作为本系统的传感器。2.3.3 显示器的选择方案一:LED 灯显示

29、LED 按显示方式可分为静态显示和动态显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制 LED,直到下一次显示时再传送一次新的数据。只要当前显示的数据没有变化,就无需理睬数码管显示。静态显示的数据稳定,占用 CPU 时间少15。静态显示中,每一个显示器都要占用单独具有锁存功能的 I/O 口,该接口用于笔画段字形代码。这样单片机只要把显示的字型数据代码发送到接口电路,该字段就可以显示要发送的字型。要显示新的数据时,单片机再发送新的字型码。另一种方法是动态扫描显示,是用接口电路把所有显示器的 8 个笔画字段(a-g 和 d-p)同名端连接在一起,而每一个显示器的

30、公共极各自独立接受 I/O线控制。CPU 向字段输出端口输出字型码时,所有显示器接收相同的字型码,但究竟使哪一位则由 I/O 线决定。动态扫描用分时的方法轮流控制每个显示器的公共极,使每个显示器轮流点亮。在轮流点亮的过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二级管的余辉效应,给人的印象就是一组稳定的显示数据。方案二:LCD 显示器LCD 是液晶显示器的缩写,它是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,从而达到白底黑字或者黑底白字显示的目的。液晶显示器具有功耗低、抗干扰能力强等优点,因此被广泛应用在仪器仪表和控制系统中。综上

31、所述,与 LED 相比, LCD 具有很多优点,所以选择 LED 作为本系统的显示器。2.3.4 电源模块的选择方案一:在火车上装备飞思卡尔 7.2V 充电电池,然后通过三端稳压芯片AMS1117 将 5V 电压转换为 3.3V,为 ADXL345 传感器供电;第二章 系统结构设计与方案9方案二:接列车上的 220V 交流电源,通过桥式整流滤波以及变压器降压为 5V,通过 LM1117 3.3V 稳压芯片将 5V 电压转换为 3.3V,为 ADXL345 传感器供电,再由 PC 机输出 5V 电压,为单片机供电;综上所述,相比于方案一,自带 LM1117 稳压芯片模块更为简便,所以本设计选用方

32、案二来实现单片机和传感器供电功能,且本设计采用电池盒直接模拟 220V 交流电经处理后输出的 5V 直流电压。2.3.5 通信方式的选择本设计使用 I2C 通讯方式用于传感器装置与单片机之间的数据传输,采用MAX3232 进行串口通信 9。2.3.6 波形显示软件选择对于串口传送数据给 PC 机后,选用串口数据实时生成图形软件 SerialChart将串口通信传输给 PC 机的数据实时绘制成曲线图。2.4 本章小结本章通过对微处理器、传感装置、显示模块、电源模块、通信方式的分析,提出了几组方案并进行对比,最终决定了各模块需要的核心器件。这个设计选用 ADXL345 芯片来测量加速度数据,然后以

33、 STC89C52RC 单片机作做为主控芯片对数据进行分析处理,并通过适当的外扩展电路显示出加速度数据。显示方面采用 LCD1602 液晶显示器来实时显示加速度数据结果;MAX3232 主要用来实现单片机与 PC 机的串口通信; SeralChart 软件主要用来实时绘制曲线图。第三章 系统硬件设计10第 3 章 系统硬件设计3.1 系统硬件各模块简介本设计除单片机最小系统外还有 3 个模块,其中,第一模块为 P3.0、P3.2与 ADXL345 传感器相连接用于加速度采集;第二模块为 P2 口和P3.5、P3.6、P3.7 接 LCD1602 用于液晶显示结果数据;第三模块为 P3.0、P3

34、.1接串口通信模块用于与 PC 机进行串口通信。3.2 单片机主控电路模块3.2.1 单片机介绍STC89C52RC 是 STC 公司生产的 STC89 系列单片机,STC89C52 使用经典的 MCS-51 内核,与标准 51 单片机完全兼容,它拥有 8 位 CPU 和 8K 的 Flash ROM,具有高速度、低功耗、在系统编程(ISP)、在应用编程(IAP)等优秀功能,可为众多嵌入式系统提供便捷、高效的解决方案。3.2.2 单片机主控电路STC89C52RC 单片机共有 40 个引脚,其中,40 引脚接电源 VCC,为单片机提供电源,20 引脚是接地端,18、19 引脚外的接晶体振荡器两

35、端,9 引脚接复位信号输入端,这 5 个引脚组成了最基本的单片机最小系统。时钟电路:时钟电路由两个 33pF 的瓷片电容和一个 11.0592MHZ 的晶体振荡器构成。复位电路:K1、R1、R2 和 CT5 构成复位电路,复位电路为按键复位。第三章 系统硬件设计11图 3-1 单片机主控电路模块3.3 数据采集模块电路3.3.1 加速度传感器 ADXL345 介绍ADXL345 小而薄且分辨率很高(13 位),测量范围达到16g。数据结果以16 位二进制补码的格式输出。ADXL345 内部接口框图如下图:图 3-2 ADXL345 内部接口框图3.3.2 加速度采集模块电路加速度采集电路由 A

36、DXL345 加速度传感器、10K 的上拉电阻 12R5、R6 和10K 的电阻 R4 组成,如下图所示。本系统采用 I2C 模式 13访问。第三章 系统硬件设计12图 3-3 加速度计模块3.4 液晶显示模块电路3.4.1 液晶显示字符的原理字符显示的原理:刚开始我们要找到对应位置上显示 RAM 区的 8 字节,还要使每字节的相同位为“1”或“0”,为“1”的点亮,为“0”的不亮。控制器找出 RAM 对应地址后送入该字符的代码。这个检测仪的设计使用的是 1602 字符型液晶显示器 15,符号、数字、字母等都可以用该点阵式 LCD 显示器来显示,它甚至可以同时展现 32 个字符。3.4.2 L

37、CD1602 液晶显示电路液晶显示模块电路由滑动变阻器和 LCD1602 构成。详见下表表 3-1 LCD 引脚功能表引脚序号 功能引脚 1(VSS) 地线输入端引脚 2(VDD) +5V 电源输入端引脚 3(V0) 液晶显示面板亮度调节引脚 4(RS) 寄存器选择信号输入线引脚 5(R/W) 读/写信号输入线第三章 系统硬件设计13引脚 6(E) 使能信号输入线引脚 7-14(D0-D7) 8 位双向数据线引脚 15 背光电源正极引脚 16 背光电源负极引脚 3 为液晶显示部分的亮度调控端,为了控制屏幕的亮度,我选用了一个 10K 的电阻。引脚 4 与单片机 P3.7 连接,引脚 5 与单片

38、机 P3.6 相连,如果要显示地址或者是写入指令则要求 R/W 以及 RS 共同为低电平。引脚 6 与单片机 P3.5 相连,读状态下,高电平有效;写状态下,下降沿有效。引脚 7-14 用做 8 位双向数据线,与单片机 P2 端口连接。电路就如下图所示:图 3-4 液晶显示模块3.5 串行通信模块电路3.5.1 串行通信原理RS-232 采用的是 DB-9 接口。RS-232 逻辑 1 代表的电压范围为:-5-15 V,逻辑 0:5+15 V。单片机使用的是 TTL 电平,2.45.0 V 作为逻辑1,00.8 V 为逻辑 0。这就需要 MAX323216在单片机的异步通讯接口上把TTL 的高

39、低电平转换为 RS-232 的负电压信号与正电压信号。3.4.2 串行通信电路串口通信模块由两个部分组成,也就是 MAX3232 与单片机通信以及MAX3232 与电脑通信两个部分 17。电路由 MAX3232 芯片、5 个 0.1uF 的电容C7、C8、C9、C10、C11 以及 9 孔串口母口插座组成。电路采用三线制连接串第三章 系统硬件设计14口的模式,也就是 9 针串口中只有 3 根线和 PC 机相连,这 3 根线是 DB-9 的第2 引脚(RXD)、第 3 引脚(TXD)、第 5 引脚(GND )。MAX3232 与 5 电脑通讯连接:引脚 7 作为 RS-232 的输出接 DB-9

40、 的 RXD 端,引脚 8 作为 RS-232 输入接 DB-9 的 TXD 端。MAX3232 与单片机通讯连接:引脚 9 和P3.0(RXD )口连接,用来接收数据;引脚 10 和 P3.1(TXD )口连接,用来传送数据。其串口模块电路如下图所示:图 3-5 串口通信模块电路3.6 电源电路模块这 个 模 块 由 LM1117、0 .1uF 的 电 容 C3、 C4、 22uF 的 电 解 电 容CT3、 CT4 共 同 组 成 。 LM1117 的 作 用 主 要 是 把 5V 电 压 转 换 为 3.3V 输 出 。电源模块电路图如下所示:图 3-6 电源模块电路3.7 本章小结本章

41、主要介绍了 STC89C52RC 单片机、加速度传感器 ADXL345 的主要特点、液晶显示器 LCD1602 的原理以及串口通讯的工作原理。而且完成了单片机主控模块、加速度采集模块、显示模块、串口模块的硬件电路设计。第四章 系统软件设计15第四章 系统软件设计4.1 主程序设计机车冲动检测仪设计的主要目的是为了检测列车的加速度,从而实现列车冲动的检测。系统的工作流程为刚开始需要初始化硬件各模块内部部件,以此来达到运行环境的特殊要求,比如说初始化ADXL345芯片、LCD1602显示器以及串口中断,然后测量加速度数据,并且将经过单片机处理后的数据发送到LCD1602上并且展示出来。最后清0TI

42、,再接着传送第二帧数据。数据传送完后再回到中断当中继续执行主函数。其主程序流程图如图所示:图 4-1 MCU 程序设计流程图4.2 ADXL345 模块程序设计ADXL345 内部的寄存器的数量有 40 个,经过寄存器完成所有加速度数据信息的写入和读取。4.2.1 ADXL345 工作过程1、初始化 ADXL345181)向地址 0x31 位写入 0x0B 数据,此时精度达 3.9mg。精度的计算方法:213=1024*8,正好对应于 16g 的测量范围,此时分辨率为 32g/(1024*8)=3.9mg,即灵敏度为 256LSB/g。2)向地址 0x2C 写入 0x0A 数据,数据速率及功率

43、模式控制寄存器设置为正第四章 系统软件设计16常非低功率操作。3)向地址 0x2E 写入 0x80 数据,使能 DATA_READY 端口中断,开始测量数据信息。4)向地址 0x1E 写入 0xFC 数据,地址 0x1F 写入 0xFC 数据,也就是向 X 轴偏移寄存器与 Y 轴偏移寄存器写入 0xFC 数据用来校准 X 与 Y 轴数据的偏移,这个校准是手动的,需要视实际情况而定。2、连续读取 ADXL345 芯片里面 6 个字节的加速度数据信息,它的地址范围是 0x320x37。3、处理传感器的加速度数据把X轴的最低和最高有效字节合成数据信息,然后强制转化为整型。先判断强制转换得到的整型数据

44、是否为负数,如果是则把它的二进制补码取反变为正数,写入数组;如果为正数则不作处理,直接写入数组当中。4.2.2 数据采集模块流程图加速度采集模块主要是通过 51 单片机模拟 ADXL345 芯片的 I2C 模式数字接口访问 ADXL345,ADXL345 的引脚 SCLK 以及引脚 SDA 分别和单片机的P3.0、P3.2 引脚相连接。下图为加速度采集流程图:图 4-2 加速度采集流程图4.3 LCD1602 模块程序设计LCD1602 液晶模块的内部控制器总共有 80*8 位(80 字节)的 RAM 缓冲区,首先按照读写顺序设计读写函数程序,然后再调用函数完成相关的初始化设置。第四章 系统软

45、件设计174.3.1 LCD1602 初始化LCD1602 的初始化包括设置数据接口、显示开关设置、数据指针清零等等19。1写指令 0x38,显示模式设置为 8 位数据接口,16*2 显示。2写指令 0x08,显示开关定义为关闭显示,光标设置成不显示光标。3写指令 0x01,显示清屏,一切显示和数据指针清零。4写指令 0x06,显示开/关设置为当读写一个字符后地址指针加一,光标设置也同样加一。5写指令 0x0C, 显示开/关设置为开显示,光标设置为不显示光标。4.3.2 LCD1602 显示流程加速度值的整数与小数部分都有两位,包括数据和固定字符两部分。显示的方式:第一行,ADXL345 X:

46、加速度值:“ADXL345 X:.”,第二行, SX-Make Y:加速度值: “Y:.”。图 4-3 LCD1602 显示流程4.4 RS-232 串口通信模块程序设计串行通信的传递方式通常有如下三种:全双工配置、半双工配置、单向配置;它的通信方式有两种:同步通信和异步通信。4.4.1 串口通信初始化这个系统的串行口使用工作方式1,定时器采用定时器1的模式2。初始化过程如下:第四章 系统软件设计181、将寄存器 SCON 设置为 0x50,串行口选用方式 1,10 位异步收发器(8 位数据)。PCON 寄存器没有进行设置,复位时 SMOD=0。2、将寄存器 TMOD 设置为 0x20,定时器

47、设置为定时器 1 的模式 2,自动装载8 位计数器。3、TH1=0xFDH,对 T1 的高位 TH1 赋初始值。设置波特率为 9600b/s,晶振大小fosc= 11.059MHZ,根据波特率=(2SMOD/32)*(fosc/12)(216- 初值),计算出初值为 FDH。定时时间 t=(28-FDH)*12/fosc=2us。4、将寄存器 TCON 中的 TR1 设置为 1,启动 T1 计时器。4.4.2 PC 机通信程序的设计SBUF=data_finali,发送完使得发送中断位TI=1 。while(!TI),TI=1表示发送缓冲器SBUF已空,但是 TI不会自动清0,因此发送完一帧数

48、据后必须将TI 清0。4.4.3 串口通信流程图本系统设计的串口通信流程图为:图 4-8 串口通信流程图第五章 系统软件调试19第五章 系统整体调试调试过程当中首先要检测硬件电路的设计原理是否准确、实现方法简便与否和可否达到预期效果等等;其次在焊接好电路之后,认真检查电路的焊接情况。在调试过程中遇到的问题有:(1)LCD1602 显示器显示不清楚,通过改变滑动变阻器阻值达到较为清晰的显示效果。(2)X、Y 轴的加速度值离标准值偏差较大,通过查找 ADXL345 的芯片资料了解到需要通过偏移寄存器手动校准,具体方法如下:信息手册上有偏移比例因子为 15.6mg/lsb,ADXL345 的检测范围

49、是+ / - 16G,分辨率为 13 位,那么度数参数应该是 1/256*1000=3.9mg/LSB,把模块水平放置,假设此时 X、Y 轴的实际度数为(X=20,Y=-17)则需要设定的偏移值参数是 20/4=5 和-17/4=4,取其补码 0x05 和 0xFB 写入对应的偏移寄存器就可以了。实际调试中,模块水平放置时 X、Y 的度数均约等于 0,所以只需要把 0x00 写入偏移寄存器即可。图 5 系统调试成果图左图为实物图,液晶显示屏上实时显示测得的 X 轴 Y 轴加速度变化,然后通过串口通信把数据传给 PC 机,右图为 X 轴 Y 轴加速度变化波形图,黄色代表X 轴,红色代表 Y 轴,实际情况中采用敲击模拟机车冲动,右图中的每一个毛刺代表一个冲击。第六章 结束语20第六章 结束语机车冲动检测仪是通过实时监控列车行驶过程中的加速度来检测机车的纵向冲动。从设计要求成本、使用环境等因素考虑,本系统在满足性能要求的同时,可靠性高,实用

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

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报