机车冲动检测仪设计_第1页
机车冲动检测仪设计_第2页
机车冲动检测仪设计_第3页
机车冲动检测仪设计_第4页
机车冲动检测仪设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

密级: NANCHANG UNIVERSITY 学 士 学 位 论 文THESIS OF BACHELOR (2013 2017 年)题 目 机车冲动检测仪设计 学 院: 信息工程学院 系 自动化系 专业班级: 测控技术与仪器132 班 学生姓名: 谌鑫 学号: 5801213047 指导教师: 张宇 职称: 讲师 起讫日期: 2017-32017-6 南 昌 大 学学士学位论文原创性申明本人郑重申明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本申明的法律后果由本人承担。作者签名: 日期:学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权南昌大学可以将本论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于 保密,在 年解密后适用本授权书。 不保密。(请在以上相应方框内打“”)作者签名: 日期:导师签名: 日期:I摘要机车冲动检测仪设计专 业:测控技术与仪器 学 号:5801213047 学生姓名:谌鑫 指导教师:张宇 摘要机车冲动是指在列车行驶过程中产生的剧烈冲击,这种冲击不仅会影响旅客乘车的舒适性还会给旅客、列车及其设施造成不同程度的损伤。因此设计一套检测列车冲动、考核司机驾驶水平的仪器至关重要,不仅可以保障旅客乘车安全性还可以提高铁路交通的服务质量。基于STC89C52RC单片机,本文提供了一个集加速度采集、处理、显示于一体的解决方案。本设计以STC89C52单片机为核心,由ADXL345传感器模块进行数据采集,并由显示模块LCD1602显示实时加速度值,最后,由单片机将采集的数据通过串口通信模块发送到上位机,并在PC机上对数据进行分析。本文首先介绍了该论题的背景与意义,阐述了随着我国铁路建设的发展,设计机车冲动检测仪的必要性。然后介绍了整个方案设计框架,并详细的介绍了各模块电路的设计及其原理,最后阐述了各模块的软件设计及代码编写,对于各模块的软件设计,在下文中给出了流程图,附录中给出了具体的程序。本系统具有可靠性高,性价比高,功能全,人机交互良好,使用方便并且能方便提供给外围扩展设备模块的特点。关键词:机车冲动;加速度检测;STC89C52RC;通信;LCD显示器IAbstractThe 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. Therefore, 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, which 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 numerical 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 principle 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 to use and its convenient to be provided to external expansion device module.Keyword: Locomotive impulse; Acceleration detection; STC89C52RC; Correspondence; LCD monitorsII目录目录摘要IAbstractII第一章 绪论11.1 课题研究的背景和意义11.2 国内外研究现状21.3 论文研究的主要内容3第二章 系统结构及方案设计42.1 系统简介42.2 系统工作原理42.3 系统方案设计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 串行通信电路133.6 电源电路模块143.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致谢23IV第一章 绪论 第一章 绪论1.1 课题研究的背景和意义铁路作为国家重要的基础设施,是国民经济的大动脉,交通运输体系的骨干。随着社会主义市场经济逐渐地趋于健全与完善,国民经济的迅速发展,铁路列车的客货量也在日益增长。目前,全国铁路已经进行了六次大提速,我国铁路建设正进行着前所未有的快速发展,而根据国务院批准的中长期铁路网规划,到2020年我国铁路将形成以“四纵四横”客运专线为主题,城际客运专线为扩充的快速客运网络。铁路系统的提速,缩短了人们的旅行时间,取得了很好的经济效益,加大了铁路运输的影响力,但列车运行质量、车内环境等影响乘坐品质的因素却没有受到重视,乘客的舒适性难以得到保证。与此同时,随着科学技术的不断进步,人们生活水平的提高,对于公共运输工具的舒适性,乘客的需求和价值观也趋于多样化,舒适性的概念不再局限于设施和服务上的奢华,除了安全性和快速性外,列车的乘坐舒适度也是非常重要的因素。列车在运行期间的平稳性是衡量舒适度一个重要指标,列车冲动不仅严重影响了旅客乘车的舒适性,剧烈的冲击甚至会给旅客、行车及列车设施造成不同程度的损伤,有些冲动事件还涉及到经济赔偿和国家声誉。所以,如何改善旅客列车冲动,改善乘客乘坐品质的问题,越来越引起相关人员的重视。为进一步提高提速旅客列车的乘坐舒适性,针对列车提速后纵向冲动有所加剧的问题,铁道部组织铁道部科学研究院等单位曾展开过专题研究,以研究列车冲动的原因和解决方案。列车冲动是指司机在操纵列车运行过程中, 由于机车工况改变所引起的列车车辆纵向(列车运行方向)冲击。快速列车运行的工况相当复杂, 当使用制动机、惰力运行、牵引、启动、站停等多种不同工况, 都会使列车产生冲动。经分析, 列车发生纵向冲动的部位和现象主要表现在:当冲动发生时, 列车受到的冲动中部最严重、后部较轻、前部最轻;当使用制动机调速时, 有时制动和缓解都使列车发生冲动, 有时仅制动或缓解使列车发生冲动;在正常牵引工况下, 有时会出现瞬时冲动( 多发生在曲线弯道);在惰力运行工况下, 有时发生瞬时冲动或间隔较短的连续性冲动;列车在高速运行中调速制动时, 经常发生不同程度的冲动;线路不同,列车纵向冲动的情况也不一样。在条件较差的线路上, 列车调速频繁,纵向冲动也相对频繁,且相当剧烈;车辆在条件较差的线路上的横向、纵向加速度的量值和频率相对较高。生成机车纵向冲动的工况可以归纳为以下三种:1)启动工况:机车启动时,由牵引力传输迸发的纵向冲动;2)线路断面变化工况:机车在运行时,由线路断面变动迸发的纵向冲动;3)调车作业工况:调车作业时,车辆彼此碰撞引发的纵向冲动2。1.2 国内外研究现状当前,国内主要考虑的是加速度以及加速度的频率特性等要素,且横向与直向冲动是重点分析的方向3。在国外,日本的松井哲、苏联的拉扎良和维坎杰尔等学者都曾提出过机车最大纵向力的解析和计算的方法,但这种情况不仅是线路驾驶员的状况,列车布置方式也会影响机车的纵向力,特别是不同的机车装置和制动缓冲装置会产生很大的影响,所以,不能直接简单得照搬国外的理论公式4;另一方面,长期以来,机车纵向动力学理论研究薄弱,只有实验方法,近年来已经研究出了计算机车纵向冲动的电子程序。在机车冲击波检测方法中,“木棒检测法”是国内传统使用的检测司机的方法,首先挑选一些均匀密度较大的硬木,然后把它制作成5根截面为正方形的木棒。木棒的端面需要有一定的粗糙度但整体平整。另外再做一个的拥有五个档位且底面为光滑玻璃的木盒,依据横截面不同的木棒倒下的情况来评定冲动发生的等级,如图1.1所示,但该方法存在众多的缺陷。图1-1 冲动检测法示意图1.3 论文研究的主要内容本文的主要内容如下:1)简要分析此课题的研究背景,它的研究的实际意义以及在国内外的发展情况等。2)为了解决现有机车脉冲检测方法落后、检测结果不准确的问题,完成机车冲动分析、测量的全自动化等功能,设计一种基于单片机的数字智能仪表。3)设计冲动检测硬件系统。这个系统包含设计丰富的外围通讯接口、加速度采集电路以及显示模块,以此来实现微处理器以及传感器之间的数据传输,然后将数据显示出来。4)选用keil开发软件环境,利用C语言编写程序,根据硬件系统设计的原理,实现软件系统的设计,完成软硬件相结合,以达成机车冲动智能化检测的目标。5)论述整体系统的调试过程并对本设计进行全面的总结,总体分析本课题的设计思路。14第二章 系统结构设计与方案第二章 系统结构及方案设计2.1 系统简介本系统是用来实时监测列车运行的加速度,利用加速度传感器采集信号,经单片机分析处理后显示到显示器上,以便于工作人员对列车实况进行分析。本系统主要测量机车的纵向冲动,首先使用三轴加速度传感器采集加速度信号,经由单片机的分析与处理后,通过显示器显示出来,并传输到PC机供工作人员分析和监查。2.2 系统工作原理本系统主要由数据采集模块(传感器装置)、数据分析处理模块、显示模块和通信模块组成。数据采集模块负责按一定采样频率对列车加速度信号进行采集;处理器的应用程序负责分析、处理数据,将传感器采集到的信号转化为对应的加速度值;显示器将由处理器传送过来的加速度值显示出来,串口通信负责把单片机采集到的数据发送给PC机。本系统由单片机主控模块、ADXL345加速度采集模块、RS232通信模块和LCD1602显示模块四部分组成。加速度采集模块主要用来采集列车的加速度信号,其频率在一定的范围内;主控模块的主要任务是处理数据以及分析数据,并将传感器装置采集到的信息转化为对应的加速度值并通过显示模块展示出来;串口通信模块负责对单片机数据的分析处理,发送到上位机。系统结构框图如下所示:图2-1系统结构框图2.3 系统方案设计本系统主要由数据采集模块(传感器装置)、数据分析处理模块、显示模块和通信模块组成。为满足实际冲动检测的要求,本节对单片机、加速度传感器和显示模块进行了对比选型。2.3.1 微处理器的选用方案一:STC89C51RC5是采用8051核的ISP(In System Programming)在系统可编程芯片,最高工作时钟频率为80MHz,片内含8K Bytes的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(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)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公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89X52可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 主要特点如下:(1)增强型8051 单片机,6 时钟/机器周期和12 时钟/机器周期可以任意选择,指令代码完全兼容传统8051.2(2)工作频率范围:040MHz,相当于普通8051 的080MHz。(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本质上没有太大的区别,成本也差不多,选择任意一款都能实现本设计相应功能,本设计中笔者选择STC89C51作为本设计的主控芯片。2.3.2 传感器的选择方案一:ADXL330 是美国模拟器件公司(ADI) 推出的一款带有信号调理电路, 可提供模拟电压输出的小量程、小尺寸、低功耗3 轴加速度计11。ADXL330 将iMEMS( 微机电系统) 传感器结构与信号调理结合在一起, 功耗电流降低至200 A( 在2.0 V 电源电压下) 。ADXL330 采用4 mm 4 mm 1.45 mm 小型封装, 工作电压2.0V3.6V,典型工作电压3.0V,集成了一个坚固的3 轴传感器结构及其信号调理电路,可提供模拟电压输出,测量动态范围是3g。输出的模拟电压信号与加速度成正比。它不仅可以测量静态加速度(如某个斜坡上的加速度),还可以测量动态加速度(如物体在移动、震动时产生的加速度), 具有10000g额定耐冲压强度,具有良好的0g 偏压稳定性和良好的灵敏度。方案二:ADXL345 12是ADI(Analog Devices, Inc.)公司发布的一款数字式三轴加速度传感器,也是该公司第一款输出数码信号的加速度传感器。ADXL345 最大量程可以达到16g,可以进行高分辨率(13 位)测量。数字输出数据为16 位二进制补码的形式,可通过SPI(3 线或4 线)或者I2C 数字接口访问。ADXL345 可以在倾斜感测应用中测量静态重力加速度,还可以从运动或者振动中生成动态加速度。它的高分辨率(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(10bit),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)适用于手持设备、工业监控、医疗器械、个人导航设备等。综上所述,ADXL345功耗更低,输出为数字信号,测量范围大,分辨率高,故选用ADXL345作为本系统的传感器。2.3.3 显示器的选择方案一:LED灯显示LED按显示方式可分为静态显示和动态显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制LED,直到下一次显示时再传送一次新的数据。只要当前显示的数据没有变化,就无需理睬数码管显示。静态显示的数据稳定,占用CPU时间少15。静态显示中,每一个显示器都要占用单独具有锁存功能的I/O口,该接口用于笔画段字形代码。这样单片机只要把显示的字型数据代码发送到接口电路,该字段就可以显示要发送的字型。要显示新的数据时,单片机再发送新的字型码。另一种方法是动态扫描显示,是用接口电路把所有显示器的8个笔画字段(a-g和d-p)同名端连接在一起,而每一个显示器的公共极各自独立接受I/O线控制。CPU向字段输出端口输出字型码时,所有显示器接收相同的字型码,但究竟使哪一位则由I/O线决定。动态扫描用分时的方法轮流控制每个显示器的公共极,使每个显示器轮流点亮。在轮流点亮的过程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二级管的余辉效应,给人的印象就是一组稳定的显示数据。方案二:LCD显示器LCD是液晶显示器的缩写,它是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,从而达到白底黑字或者黑底白字显示的目的。液晶显示器具有功耗低、抗干扰能力强等优点,因此被广泛应用在仪器仪表和控制系统中。综上所述,与LED相比,LCD具有很多优点,所以选择LED作为本系统的显示器。2.3.4 电源模块的选择方案一:在火车上装备飞思卡尔7.2V充电电池,然后通过三端稳压芯片AMS1117将5V电压转换为3.3V,为ADXL345传感器供电;方案二:接列车上的220V交流电源,通过桥式整流滤波以及变压器降压为5V,通过LM1117 3.3V稳压芯片将5V电压转换为3.3V,为ADXL345传感器供电,再由PC机输出5V电压,为单片机供电;综上所述,相比于方案一,自带LM1117稳压芯片模块更为简便,所以本设计选用方案二来实现单片机和传感器供电功能,且本设计采用电池盒直接模拟220V交流电经处理后输出的5V直流电压。2.3.5 通信方式的选择本设计使用I2C通讯方式用于传感器装置与单片机之间的数据传输,采用MAX3232进行串口通信9。2.3.6 波形显示软件选择对于串口传送数据给PC机后,选用串口数据实时生成图形软件SerialChart将串口通信传输给PC机的数据实时绘制成曲线图。2.4 本章小结本章通过对微处理器、传感装置、显示模块、电源模块、通信方式的分析,提出了几组方案并进行对比,最终决定了各模块需要的核心器件。这个设计选用ADXL345芯片来测量加速度数据,然后以STC89C52RC单片机作做为主控芯片对数据进行分析处理,并通过适当的外扩展电路显示出加速度数据。显示方面采用LCD1602液晶显示器来实时显示加速度数据结果;MAX3232主要用来实现单片机与PC机的串口通信;SeralChart软件主要用来实时绘制曲线图。第三章 系统硬件设计第3章 系统硬件设计3.1 系统硬件各模块简介本设计除单片机最小系统外还有3个模块,其中,第一模块为P3.0、P3.2与ADXL345传感器相连接用于加速度采集;第二模块为P2口和P3.5、P3.6、P3.7接LCD1602用于液晶显示结果数据;第三模块为P3.0、P3.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引脚外的接晶体振荡器两端,9引脚接复位信号输入端,这5个引脚组成了最基本的单片机最小系统。时钟电路:时钟电路由两个33pF的瓷片电容和一个11.0592MHZ的晶体振荡器构成。复位电路:K1、R1、R2和CT5构成复位电路,复位电路为按键复位。图3-1 单片机主控电路模块3.3 数据采集模块电路3.3.1 加速度传感器ADXL345介绍ADXL345小而薄且分辨率很高(13位),测量范围达到16g。数据结果以16位二进制补码的格式输出。ADXL345内部接口框图如下图: 图3-2 ADXL345内部接口框图3.3.2 加速度采集模块电路加速度采集电路由ADXL345加速度传感器、10K的上拉电阻12R5、R6和10K的电阻R4组成,如下图所示。本系统采用I2C模式13访问。图3-3 加速度计模块3.4 液晶显示模块电路3.4.1 液晶显示字符的原理字符显示的原理:刚开始我们要找到对应位置上显示RAM区的8字节,还要使每字节的相同位为“1”或“0”,为“1”的点亮,为“0”的不亮。控制器找出RAM对应地址后送入该字符的代码。这个检测仪的设计使用的是1602字符型液晶显示器15,符号、数字、字母等都可以用该点阵式LCD显示器来显示,它甚至可以同时展现32个字符。3.4.2 LCD1602液晶显示电路液晶显示模块电路由滑动变阻器和LCD1602构成。详见下表表3-1 LCD引脚功能表引脚序号功能引脚1(VSS)地线输入端引脚2(VDD)+5V电源输入端引脚3(V0)液晶显示面板亮度调节引脚4(RS)寄存器选择信号输入线引脚5(R/W)读/写信号输入线引脚6(E)使能信号输入线引脚7-14(D0-D7)8位双向数据线引脚15背光电源正极引脚16背光电源负极引脚3为液晶显示部分的亮度调控端,为了控制屏幕的亮度,我选用了一个10K的电阻。引脚4与单片机P3.7连接,引脚5与单片机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的高低电平转换为RS-232的负电压信号与正电压信号。3.4.2 串行通信电路串口通信模块由两个部分组成,也就是MAX3232与单片机通信以及MAX3232与电脑通信两个部分17。电路由MAX3232芯片、5个0.1uF的电容C7、C8、C9、C10、C11以及9孔串口母口插座组成。电路采用三线制连接串口的模式,也就是9针串口中只有3根线和PC机相连,这3根线是DB-9的第2 引脚(RXD)、第3引脚(TXD)、第5引脚(GND)。MAX3232 与5电脑通讯连接:引脚7作为RS-232的输出接DB-9的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 本章小结本章主要介绍了STC89C52RC单片机、加速度传感器ADXL345的主要特点、液晶显示器LCD1602的原理以及串口通讯的工作原理。而且完成了单片机主控模块、加速度采集模块、显示模块、串口模块的硬件电路设计。第四章 系统软件设计第四章 系统软件设计4.1 主程序设计机车冲动检测仪设计的主要目的是为了检测列车的加速度,从而实现列车冲动的检测。系统的工作流程为刚开始需要初始化硬件各模块内部部件,以此来达到运行环境的特殊要求,比如说初始化ADXL345芯片、LCD1602显示器以及串口中断,然后测量加速度数据,并且将经过单片机处理后的数据发送到LCD1602上并且展示出来。最后清0TI,再接着传送第二帧数据。数据传送完后再回到中断当中继续执行主函数。其主程序流程图如图所示:图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数据,数据速率及功率模式控制寄存器设置为正常非低功率操作。3)向地址0x2E写入0x80数据,使能DATA_READY 端口中断,开始测量数据信息。4)向地址0x1E写入0xFC数据,地址0x1F写入0xFC数据,也就是向X轴偏移寄存器与Y轴偏移寄存器写入0xFC数据用来校准X与Y轴数据的偏移,这个校准是手动的,需要视实际情况而定。2、连续读取ADXL345芯片里面6个字节的加速度数据信息,它的地址范围是0x320x37。3、处理传感器的加速度数据把X轴的最低和最高有效字节合成数据信息,然后强制转化为整型。先判断强制转换得到的整型数据是否为负数,如果是则把它的二进制补码取反变为正数,写入数组;如果为正数则不作处理,直接写入数组当中。4.2.2数据采集模块流程图加速度采集模块主要是通过51单片机模拟ADXL345芯片的I2C模式数字接口访问ADXL345,ADXL345的引脚SCLK以及引脚SDA分别和单片机的P3.0、P3.2引脚相连接。下图为加速度采集流程图:图4-2 加速度采集流程图4.3 LCD1602模块程序设计LCD1602液晶模块的内部控制器总共有80*8位(80字节)的RAM缓冲区,首先按照读写顺序设计读写函数程序,然后再调用函数完成相关的初始化设置。4.3.1 LCD1602初始化LCD1602的初始化包括设置数据接口、显示开关设置、数据指针清零等等19。1写指令0x38,显示模式设置为8位数据接口,16*2显示。2写指令0x08,显示开关定义为关闭显示,光标设置成不显示光标。3写指令0x01,显示清屏,一切显示和数据指针清零。4写指令0x06,显示开/关设置为当读写一个字符后地址指针加一,光标设置也同样加一。5写指令0x0C, 显示开/关设置为开显示,光标设置为不显示光标。4.3.2 LCD1602显示流程加速度值的整数与小数部分都有两位,包括数据和固定字符两部分。显示的方式:第一行,ADXL345 X:加速度值:“ADXL345 X:.”,第二行, SX-Make Y:加速度值:“Y:.”。图4-3 LCD1602显示流程4.4 RS-232串口通信模块程序设计 串行通信的传递方式通常有如下三种:全双工配置、半双工配置、单向配置;它的通信方式有两种:同步通信和异步通信。4.4.1 串口通信初始化这个系统的串行口使用工作方式1,定时器采用定时器1的模式2。初始化过程如下:1、将寄存器SCON设置为0x50,串行口选用方式1,10位异步收发器(8位数据)。PCON寄存器没有进行设置,复位时SMOD=0。2、将寄存器TMOD设置为0x20,定时器设置为定时器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,因此发送完一帧数据后必须将TI清0。4.4.3 串口通信流程图本系统设计的串口通信流程图为:图4-8 串口通信流程图23第五章 系统软件调试第五章 系统整体调试调试过程当中首先要检测硬件电路的设计原理是否准确、实现方法简便与否和可否达到预期效果等等;其次在焊接好电路之后,认真检查电路的焊接情况。在调试过程中遇到的问题有:(1) LCD1602显示器显示不清楚,通过改变滑动变阻器阻值达到较为清晰的显示效果。(2) X、Y轴的加速度值离标准值偏差较大,通过查找ADXL345的芯片资料了解到需要通过偏移寄存器手动校准,具体方法如下:信息手册上有偏移比例因子为15.6mg/lsb,ADXL345的检测范围是+ / - 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轴,实际情况中采用敲击模拟机车冲动,右图中的每一个毛刺代表一个冲击。第六章 结束语第六章 结束语机车冲动检测仪是通过实时监控列车行驶过程中的加速度来检测机车的纵向冲动。从设计要求成本、使用环境等因素考虑,本系统在满足性能要求的同时,可靠性高,实用性强,性价比好。本文的第一章简要介绍了该论题的背景和意义,阐述了随着我国铁路建设的进步,设计机车冲动检测仪的必要性。第二章简要介绍了整个方案设计构架,同时对比了各模块的备选方案,单片机、电源、传感器、显示器等器件都是选择了性能较优越、市场通用性好的产品。第三章详细的介绍了各模块电路的设计及其原理,在硬件设计方面,采用了模块化处理,使得设计更为简便明朗,同时便于系统的维护检验。第四章则具体介绍了各模块的软件设计,同时在软件设计中也采用了了模块化的思想,具体方法就是使每个功能程序化,这样各功能的调试互不影响。总体来说,本设计并不难,但是由于自己在软件方面不太擅长,所以在程序编写这方面遇到了一些困扰,为了克服此困难,花费了很多的时间去了解各个芯片的程序编写。参考文献参考文献1 王召杰.铁路建设持续稳步推进N.人民铁道,

温馨提示

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

评论

0/150

提交评论