[工学]河南理工大学万方科技学院毕业论文.doc

上传人:PIYPING 文档编号:11378994 上传时间:2021-07-31 格式:DOC 页数:57 大小:551.50KB
返回 下载 相关 举报
[工学]河南理工大学万方科技学院毕业论文.doc_第1页
第1页 / 共57页
[工学]河南理工大学万方科技学院毕业论文.doc_第2页
第2页 / 共57页
[工学]河南理工大学万方科技学院毕业论文.doc_第3页
第3页 / 共57页
[工学]河南理工大学万方科技学院毕业论文.doc_第4页
第4页 / 共57页
[工学]河南理工大学万方科技学院毕业论文.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《[工学]河南理工大学万方科技学院毕业论文.doc》由会员分享,可在线阅读,更多相关《[工学]河南理工大学万方科技学院毕业论文.doc(57页珍藏版)》请在三一文库上搜索。

1、 河南理工大学万方科技学院毕业论文步进电机的汽车仪表的设计 专业:电子信息工程 班级:07电信一班 姓名:尚赛 学好:0720100088 指导老师:张素妍 论文目录一章:引言 1.1: 设计的背景和意义 1.2: 本设计的主要内容和难点二章: 系统设计方案 2.1: 系统功能和要求 2.2: 系统的组成 2.2.1:步进电机控制模块 2.2.2: 测速与测温模块 2.2.3:电源模块 2.2.4:单片机模块 2.2.5:LCD显示模块 2.2.6:串口通信模块三章:系统硬件设计3.1:单片机模块功能的实现3.2:测水温、燃油模块3.3:测车速(转速)里程模块3.4:LCD显示模块3.5:步进

2、电机控制模块3.6:串口通信模块3.7:单片机系统供电模块、单片机系统电源模块四章 系统软件设计 4.1:系统软件模块划分4.2:编程语言的选择4.3:主程序的设计 4.3.1:转速、车速、里程程序的设计 4.3.2:表头驱动子程序的设计 4.3.3:水温测量子程序的设计 4.3.4:燃油测量子程序的设计 4.4:本章小结五章 系统功能的调试和性能测试 5.1:系统安装与调试5.2:系统性能测试5.3:后期需要改进的地方结束语 参考文献和附录(包括原理图和部分程序)1.1 设计的背景和意义 目前的汽车仪表多为模拟式动圈式机芯(线圈连同指针一起转动)或动磁式机芯(磁钢连同指针一起转动)仪表,主要

3、是利用电磁感应原理来实现仪表的指示,指针的回转回零则是利用弹簧游丝的弹性实现。动圈式机芯仪表抗震性能差、过载能力弱、指针易抖动等弱点;而动磁式机芯(主要是十字交叉机芯)仪表虽比较先进,但也存在一致性、通用性差的缺点。同时,这两种机芯的仪表都具有体积大、重量重、生产工艺复杂等缺点,因此,迫切需要一种一致性好、通用性强、可靠性高的驱动机芯来取代。汽车仪表的发展,按技术规格来分经过了四代:第一代汽车仪表是基于机械作用力而工作的机械式仪表,即机械机芯表;第二代汽车仪表的工作原理基于电测原理,即通过各类传感器将被测的非电量转换成电信号加以测量,称之为电气式仪表;第三代为模拟电路电子式;第四代为步进电动机

4、式全数字化汽车仪表从其应用技术手段上看,还是属于电子技术范畴,也属于电子式仪表。目前国内大部分汽车厂商所生产的汽车中使用的仪表仍为传统的动圈式机芯或动磁式机芯仪表,只是在部分高档轿车上才使用了数字仪表系统。因此这一块市场存在着很大的空白。1.2本设计的主要内容及难点 本文根据目前国内汽车仪表的状况和要求,完成基于STC12C5A08AD的步进电机式汽车联合仪表的实现,研究通用单片机和步进电机来实现汽车组合仪表的基本功能的解决方案。用单片机驱动步进电机指示汽车在行驶过程中的车速、转速,水温、油量、背光和各种状态指示灯等信息。主要包括单片机控制系统的硬件结构、软件结构以及关键技术的实现。 通过对汽

5、车仪表系统的基本功能的分析,完成系统的总体设计方案及基本框图的设计,本系统的关键问题,即如何消除指针的抖动进行分析和解决。 本设计主要是由两个模块组成来实现本设计的目的测速模块和测温模块。测温模块由温度传感器直接将测到的温度数据(电阻信号)传给单片机进行处理,最后显示在LCD上。这个设计的主要难度是在测速这个模块上。最大的难点在于步进电机驱动仪表指针指示车速时,如何消除指针的抖动。其中便涉及到车速、转速采样频率的问题,如果采样过快,表盘指针抖动厉害;如果采样过慢,则仪表指针抖动不灵敏,无法正确及时指示车速、转速,因此如何使表盘指针正确指示所要求的车速、转速是一个主要问题。第2章 系统设计方案

6、论文研究的是基于单片机的步进式汽车组合仪表的解决方案。单片机是整个系统核心;微型步进电机是最直接最根本的控制对象;与汽车仪表密切相关的一些汽车基本行驶信息(车速、转速、水温、油量),是单片机所需要处理的信息;通过对它们作理论分析和研究,可以对系统方案做出一个总体的设计.2.1系统的功能与要求 设计一套车载智能仪表,用于显示和记录汽车行驶过程中的各种状态信息,具体实现功能应达到如下要求:1.采用通用单片机,用软件实现对系统的控制。2.用步进电机带动表盘指针实时指示汽车在行驶中的车速信号和转速信号。3.用LCD模拟显示汽车水箱温度和油量。4.表盘展开角:车速展开角为0度,转速的展开角为0度。在程序

7、设计时,展开角作为变量来处理,根据实际需要,可以随时调整。5.电源掉电和上电时,表头指针能复位回零。6.系统电源由外接变压器提供+12V电压。7.系统要具有较强的抗干扰能力、较好的兼容性和通用性。2.2系统组成 步进电机式汽车组合仪表系统由单片机模块、测温模块、测速模块、显示模块、步进电机控制模块、串口通信模块、单片机电源和供电模块等部分构成。 系统组成图如图2.1所示:单 片 机 模 块油量信号测量模块水温信号测温模块车速信号滤波和整形测速模块LCD显示步进电机控制模块步进电机电源模块串口通信模块程序写入转速信号滤波和整形测速模块 图2.1 系 统 结 构 图2.2.1 步进电机控制模块3.

8、 步进电机的工作原理 在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机的一个最显著特点就是:步距角固定。保持转矩是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率

9、也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。一般步进电机的精度为步进角的3-5%,且不累积。汽车仪表中应用的主要是两相步进电机,即步进电机中有两个独立绕组(定子两个相对极上的线圈串联成独立线圈)。步进电机两个绕组的夹角一般有90和60两种样式,这里采用的是60样式的VID2905,内置减速比180:1的齿轮系,输出轴的步进角最小为1/12,最大转速600/S。 系统选用的虽然为普通电机,但是。功能比较完备,精确度较高,而且性价比高,具有无累积误差、成本低、控制简单等优点。2.2.2测速与测温模块 汽车的基本信号有车速、转速和水温、燃油四个,都是通过传感器采集。其中车

10、速信号和转速信号为频率信号,但不符合标准的脉冲信号,水温信号和燃油信号为电阻信号,是模拟信号,在送到单片机之前要对它们进行处理。1. 车速(转速)信号 车速信号和转速信号是通过传感器从汽车发动机相关位置取出,多以非接触方式获取,如用霍尔、电涡流等传感器获取。取出的信号为频率信号,但并非是标准的脉冲频率信号。根据取信号的位置不同,取出的信号有下面几种形式:(1)发动机飞轮齿取信号。信号比较稳定,杂波较少,最小峰值为1.5V ,高温时幅值较大。如图2.5所示。(2) 点火线圈取信号.点火时出现瞬时高峰值,最大值可达300V,紧接着迅速衰减。如图2.6所示。(3)发电机取信号。又可以分相线和中性点取

11、信号两种,相线取信号类似方波,但是有尖峰干扰信号,必须作前级滤波处理,如图2.7所示。中性点:直流成分较大,高频成分较多,必须作前级滤波处理。如图2.8所示。 比较上面三个信号的特点,结合系统对输入脉冲信号的要求,决定从发动机的飞轮齿取信号。因为它的信号由专门时传感器产生,信号较好,谐波分量少,更稳定,更规则,幅值大于1.8v ,虽不完全是较好的频率信号,但很接近于正弦波,只要经过滤波、整形等处理,很容易得到系统所要求的脉冲波形。2.水温信号通过传感器采集来的水温属于电阻信号,要进行滤波处理和A/D转换才能送入单片机.最后通过单片机处理,显示在LCD液晶屏上。3.燃油信号通过传感器采集来的燃油

12、属于电阻信号,要进行滤波处理和A/D转换才能送入单片机.最后通过单片机处理,显示在LCD液晶屏上。2.2.3单片机电源和供电模块系统的电路由于有模拟电路和数字电路两部分,电源的要求也会不同。通常模拟电路的电源为+12V.要求不太高,经过一般稳压即可;数字电路的电源则不同,一般电路为+9V,可以用集成稳压电源实现,CPU则为+5V,而且要求相当严格,可以采用开关稳压电源实现,尤其是脉宽调制型开关稳压器件组成开关的开关电源,具有体积小效率高、外围元件少、应用简单、输出电压可调、误差小、输出电流大、转换速率快、保护功能强等特点,特别适合于给单片机供电。本系统中用三端稳压(7805)IC来组成稳压电源

13、所需要的外围器件极少,IC型号后面的数字代表该三端稳压IC电路的输出电压,7805表示输出电压为+5V,电路内部还有过流、过热和调整管的保护电路,使用起来方便、可靠,价格便宜2.2.4 单片机模块 单片机模块是整个系统的核心,完成以下功能:输入数据的采集转换并驱动表头、驱动液晶显示里程、按键处理、系统标定等所有功能。根据系统的要求和现实的考虑,选用宏晶公司生产的STC12C5A08AD通用单片机。 STC12C5A08AD单片机简介 STC12C5A08AD是由宏晶公司生产的和Atmel公司生产的AT89C52性能相当的一种8K字节可编程可擦除只读存储器(FPEROM-FalsbProgram

14、mable and Erasable Read Only Memory)的低电压,高性能CMOS位微处理器,俗称单片机。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和可编程存储器组合在单个芯片中,它是一种高效微控制器,为很多嵌式控制系统提供了一种灵活性高且价廉的方案。和Intel公司的MCS-51系列单片机相兼容,是广泛应用的单片机之一。 图 2.9 STC12C5A08AD 的结构图 2.2.5 LCD显示模块 由单片机控制HT1621B芯片驱动LCD显示燃油、水温、里程小计和总里程, HT1621是一个128(32*4)点

15、LCD驱动器,它可有软件配置成1/2或1/3的LCd驱动器偏压和2、3或4个公共端口,这一特性使 HT1621 适用于多种 LCD 应用场合, LCD 驱动时钟有系统时钟分频产生, 显示内存(RAM)静态显示内存 RAM 以 (32 *4) 位的格式储存所显示的数据,RAM 的数据直接映象LCD驱动器,可以用 READ、WRITE 和 READ-MODIFY-WRITE 命令访问 RAM 映 像 图HT1621可以用软件设置两种模式的命令,可以配置HT1621和传送LCD所显示的数据,HT1621的配置模式称为命令模式,命令模式类型码为100,命令模式包括一个系统配置命令,一个系统频率选择命令

16、,一个LCD配置命令,一个声音频率选择命令,一个定时器/WDT设置命令和一个操作命令,数据模式包括 READ WRITE和READ-MODIFY-WRITE操作, 操作 模式 类型码 READ 数 据 110 WRITE 数 据 101 READ-MODIFY-RITE 数 据 101 COMMAND 命 令 100模式命令应在数据和命令传送前运行,如果执行连续的命令,命令模式代码即100,将被忽略,当系统在不连续命令模式或不连续地址数据模式下,管脚/CS 应设为1,而且先前的操作模式将复位,当管脚/CS返回“0”时,新的操作模式类型码应先运行。2.2.6 串口通信模块 单片机的串口通信模块主

17、要是用于扩展单片机的功能,使其功能更加强大,操作更加方便,在有串口通信模块的情况下,可以实现在电脑上直接对整个系统进行操作,如监控该系统,直接获取相关信息到电脑上,如车速,温度;也可以在计算上直接对该系统单片机进行读写控制,如可以直接写入本设计需要的程序,直接控制直流电机转速,直接控制与测温相关的温度调节。串口通信模块最主要的功能是用于后续功能扩展,以使单片机具备更多的功能。本系统中用的是SPI接口模式的HT93LC66芯片,SPI接口需要两条控制线(CS和SCLK)和两条数据线(DIN/SDI和DOUT/SDO)。在这里从从设备的角度出发说明三线接口的数据线。DIN是从设备的数据输入线,DO

18、UT是从设备的数据读出线。这里我们使用CS,SCLK,DIN和DOUT来定义三线接口中的各条线。 下图为HT93LC66与单片机连接图 第3章 系统硬件设计3.1单片机模块功能的实现 采用STC12C5A08AD单片机,实现单片机模块各项功能。单片机模块接线如图3.1所示。 单 片 机 模 块单片机模块管脚连接简介:1. 对从测温传感器、测油量传感器、测车速传感器和测转速传感器四个信号输入的数据进行处理。2. 车速、转速和里程,FP2OUT、ZHSI、CHSI分别是里程信号输入、转速输入和车速输入,送入单片机处理。3. 水温、燃油模块,OWaterled、ORYled、QY1、QY2、SLPW

19、和SLPR分别是水温报警、燃油报警、水温A/D转换输入、燃油A/D转换输入、水温输入信号、燃油输入信号。 4. 串口通信模块,CS2L、SCK2L和SIO2L三个管脚连接HT93LC66芯片与单片机,扩展单片机的功能,5. 驱动步进电机来驱动表头,使仪表能指示车速、转速。CW、FA、FB三个管脚连接的是步进电机驱动模块芯片STI6608,用于单片机控制STI6608进而控制步进电机来指示车速和转速。6. 编程部分,RXD、TXD用于单片机和计算机之间的通信。7. 将从测温传感器、测油量传感器、测速传感器测转速传感器等几个信号中获得的数据经单片机处理后,送入HT1621芯片显示数据,DATA、W

20、R、CS是HT1621与单片机通信的接口,控制液晶屏显示。 8. KEY是复位按键,用于系统的复位和显示内容的切换。3.2测水温、燃油模块 燃 油 部 分 水 温 部 分燃油、水温是在液晶屏上模拟显示的,水温、燃油的输入信号是电阻信号,经过电阻的分压转换为电压信号,经过限幅滤波送入A/D转换器,得到数字量送入单片机处理,最后在液晶屏上模拟显示水温和油量,3.3测车速(转速)里程模块 转 速 部 分 车 速 里 程 表 部 分 车速输出部分转速、车速两路频率信号通过限幅、滤波,再经过三极管电子开关的整形变成符合要求的脉冲信号送CPU计数器,进行数据处理。3.4 LCD显示模块LCD的显示主要通过

21、HT1621芯片显示数据的,单片机把要显示的数据送到HT1621B的RAM内,通过单片机的读写控制要显示的内容, L C D 液晶屏部分 H T1621 控制芯片3.5步进电机控制模块采用STI6008芯片控制步进电机的各项功能,模块接线图如下图 3.6串口通信模块 采用MAX232A来实现串口通信模块各功能,用以向单片机写入程序。串口通信模块接线图如图所示。 串 口 通 信 部 分3.7单片机电源(供电)模块 采用L7805芯片实现单片机供电系统模块各项功能,用以向单片机中各其它模块提供电源。模块接线图如下图所示。 电 源 部 分第4章 系统软件设计本系统的软件功能主要是完成数据的采集与转换

22、、步进电机的驱动、数据的存储、数据的显示、系统的复位等等,它包含主程序和若干个子程序。如何使电机平滑地转动(尤其是在车速和转速较高时)是设计重点。要保证这一点,需要做好两方面的工作:一是信号的采样频率的选定;二是表头驱动程序的合理设计。在编程过程中采用模块化的编程技术,对所有项目分模块进行编程。4.1系统软件模块划分 根据系统任务分析,程序分为系统初始化、中断处理、步进电机驱动、车速转速测量、水温、燃油测量、串行通信、显示等模块。1. 初始化模块。初始化模块用于系统程序运行之前完成系统功能参数的初始化。2. 中断处理模块。获取程序所需的各种参数。3. 车速里程测量模块。根据入口参数完成车速里程

23、的计算、转换、存储。4. 转速测量模块。根据入口参数完成转速的计算、转换。5. 水温测量模块。根据入口参数完成水温的计算、转换。6. 燃油测量模块。根据入口参数完成水温的计算、转换。7. 串行通信模块。根据入口参数完成数据段的发送。4.2编程语言的选择现在单片机的编程语言主要有三种:汇编语言、C语言和PLM语言。其中C语言和PLM语言属于高级语言,它们的优点是本身具有丰富的库函数和数据类型封装,程序编制简单,可读性强,缺点是程序生成机器代码的效率低。汇编语言则相反。本系统既对机器代码的效率有较高的要求,又对数据的计算和处理要求也较高。因此,系统软件程序C语言的形式编程。4.3主程序设计 系统的

24、软件是由一个主程序和若干子程序构成,主程序的主要功能是设定程序执行过程中用到的相关变量,分配寄存器,对所需要的参数进行初始化,然后按照要求在恰当的时间调用相应的处理模块和子程序,来对系统进行处理。主程序具体简述如下:1. 定义系统运行过程中所需的变量;2. 分配硬件系统所提供的相关资源,如寄存器、ROM以及中断资源和堆栈:3. 完成系统的自检;4. 在程序的运行过程中,按要求依次完成对系统各模块的调用,并将结果提供给用户;5. 在各模块的调用过程中,实现调用过程的现场保护,以确保程序正确执行;保存系统运行过程中的必要参数。下图为主程序流程图。开始点火开关是否打开发动机是否打开车速显示水温显示燃

25、油显示转速显示 4.3.1 车速、转速,里程程序的设计第四代车速里程表无论选择哪种传感器它们输出的信号都要是脉冲信号,从而使得非接触式转速传感器得以迅速发展。也只有选择产生脉冲信号的传感器才能满足本课题的要求。故本系统选用霍尔式转速传感器。霍尔探头组件安装在变速箱输出轴上,里程计数、车速计时脉冲产生的工作原理如下图所示。八个磁钢与变速箱输出轴同步旋转。霍尔探头固定在变速箱壳体上静止不动,当输出轴上某只磁钢转动到霍尔探头对应位置时,霍尔探头中的霍尔敏感器件受到磁钢磁场作用,霍尔探头输出一个低电平,当没有磁钢与霍尔探头对准时,霍尔探头不再受到磁场作用,输出高电平。输出轴转动一周,霍尔探头有八个方波

26、输出。如果以速比为1:540的车型为例,汽车行驶一公里,则霍尔传感器发出的脉冲数共为85404320个。步进电机式车速里程表机芯的转动和LCD中里程的显示都是受控于霍尔探头输出的方波个数。记录4320个脉冲表示汽车行驶1公里,记录单个脉冲的周期算出汽车行驶的速度,具体应用将在相应章节中介绍。 车速里程表的速比表示的是:车轮转轴在汽车行驶一公里时所转过的转数。步进电机式车速里程表采用的是霍尔式转速传感器。这种车速里程表转轴每转一圈,霍尔传感器将感应发出八个脉冲。现在以速比为1:540的车型为例,汽车行驶一公里,则霍尔传感器发出的脉冲数共为85404320个,也就是说,每个脉冲代表了1/4320公

27、里的路程。将这些脉冲信号输入给单片机的定时器/计数器,利用计数器的计数功能,使之计到432个脉冲产生一个中断,中断后进入计数器中断子程序,在这个中断子程序中,实现对小计里程的累计和总里程的累加。若累加了总里程则把累加的总里程数送到E2PROM芯片HT93LC66中保存,并从芯片HT93LC66中调出送给LCD显示。从以上章节,我们已经知道LCD分别显示出小计里程和总里程,其中小计里程进位时,也同时累计至总计里程。小计里程显示为000.0999.9km,总里程液晶显示为000000999999km。液晶里程显示屏见图2-5所示,其中上一排4位显示小鸡里程,且小计里程的最后一位为小数。下一排6位显

28、示总里程,器件子地址的传送顺序是从上排左首至右结束,接着再从下排右首开始,至左首结束,上下两排都是左首为高位。小计里程显示的复位是通过外部中断Key来实现的,小计里程以0.1km为最低显示数字,停车关掉电门后不保存,总里程显示数值保存在E2PROM中,从而掉电不会丢失总里程数值,当打开电门,即刻显示上次总里程累计数。下次行车总里程继续累计相加,总里程累计超过显示范围999999km时,不再响应里程数的变化,而一直显示999999 km。小计里程超过显示范围999.9km时即刻清零,并从000.0开始重新计数。 4.3.2表头驱动子程序设计 步进电机平滑的正反转控制是设计的重点。当车速转换后的信

29、号频率增大时,电机就向顺时针方向运动,这是正转;当车速和转速转换后的信号频率减小时,电机就向逆时针方向运动,这是反转;而当车速恒定时,指针也不发生改变。在进行程序设计时,要设定各步进电机的驱动间隔定时器和计数器,设定各表指针需要达到的角度位置和实际角度位置,均为1/12度,即一个微步。表头驱动程序执行过程如下:1.驱动时间间隔到,中断程序被触发,驱动间隔计数器清零。2. 检查当前指针的位置与由采样程序算得的理论值。3. 如果相等则不作驱动。4. 如果当前值理论值,驱动指针逆时针走一微步,且当前值减1:如果当前值理论值,驱动指针顺时针走一微步,且当前值加15. 返回系统程序,由主循环安排定时循环

30、。当目标值一旦发生变化(当前值不等于理论值),则上述过程每500微秒执行一次(驱动电机旋转一微步),直到指针指向理论值。表头驱动程序流程图如图4.2所示。 4.3.3 水温采样测量子程序设计水温属于电阻信号,通过测量水温传感器电阻信号,然后经过A/D转换后的数字信号直接通过MCU处理,最后模拟显示在LCD上。测温子程序函数流程图: 初始化显示空格读取命令读取温度信号 发温度转换命令 温度计算处理模拟显示 4.3.4 燃油采样测量子程序设计和水温信号一样,燃油也属于电阻信号,通过测量燃油传感器电阻信号,然后经过A/D转换后的数字信号直接通过MCU处理,最后模拟显示在LCD上。测油量子程序函数流程

31、图: 初始化显示空格读取命令读取燃油信号 发燃油转换命令 燃油计算处理模拟显示4.4本章小结 本章对系统软件功能模块的划分,介绍了主程序及部分子程序的流程图,其中重点介绍了步进电机转动子程序的设计思想、流程图和程序设计。电机转动子程序是实现整个系统的关键技术,是软件的设计重点,它关系到仪表指针能否无抖动的转动这个关键问题,本章对其作了较为详细的讨论和阐述;对于其它程序的设计只作了简单的介绍。第5章 系统功能调试与性能测试 系统在完成了上述硬件及软件设计后,做成样机,并对整个系统进行设计和相应的功能测试。5.1 系统安装与调试 系统调试包括硬件和软件两个方面的调试。 由于本设计包括2个以上的模块

32、,因此为了防止一次性做完后出现大问题的情况,系统调试主要是采取了分模块进行调试的方法,调试一块,成功一块,才去调试下一个模块。 硬件调试方面: 硬件方面主要的问题:由于是分模块进行硬件焊接、调试,所以避免了在最后拼接时出现严重问题。硬件安装调试中出现的问题主要是焊点、芯片管脚焊错的问题。一般情况下,主要避免犯以上两个错误,硬件都能安装成功。 在安装步进电机模块时,出现过主要的问题是刚开始把步进电机关系到相位的4个焊点焊错,导致步进电机无法转动。后来很快就发现了问题,重新焊脚,步进电机便能正常地运行。液晶屏模块也是是否虚焊,连焊 也是硬件调试中经常遇见的问题。 软件调试方面: 调试工具: Kei

33、l uVision 3 通过将单片机系统和电脑相连接,将程序编译后的hex文件烧写至单片机系统。在编写程序的过程中, 主要遇到了一些子程序的具体算法的实现,这其中涉及到算法的稳定性和对其它模块的影响 ,另一个问题就是各个模块的的协同工作,上述两个问题是在软件调试遇到的最大的问题,最终通过不断的调试和请教,终于仪表设计要求的各项功能5.2系统性能测试 本设计测车速、转速以及温度,燃油几个重要信号。根据车速、转速和水温、燃油两路信号的特点和参数,用直流电机来模拟车速信号,用可调电阻来作为水温燃油信号输入,输入相应接口,不断改变相关参数的取值,观察LCD显示和车速、转速表头的指针变化及在表盘的位置。

34、另一方面,改变软件中采样周期,观察指针的转动和抖动情况。两种参数的改变测试,测试结果和参照车型仪表的测试指标完全一致,证明了论文中系统的方案和技术理论的正确性。经过以上系统的功能测试表明,论文所研究设计的基于单片机的步进式汽车组合仪表性能表现基本符合要求,达到技术要求,不但何积小、重量轻、生产检测工艺简单,而且精度高,可靠性好、抗干扰能力强、兼容性高、通用性强、开发成本低、开发周期短,非常适合规模化生产。5.3后期需要改进地方 由于本人水平有限,此次设计出来的基于单片机的汽车组合仪表是比较简单,比较初级的,功能不是很完善,蓄电池量显示,方向灯、倒车雷达等虽然在硬件系统中,但是并没有把这些功能用

35、软件实现控制它们。这些地方需要极大改进,相信在以后的学习中,能够更加深入的了解到有关基于单片机的汽车仪表方面的知识和技术,使该设计更加完善,更加人性化,更加直观。结束语 经过几年的学习和研究,此次的设计主要是完成了以下几个方面的工作;数字式步进电机组合仪表总体方案设计;仪表系统的硬件设计;仪表系统的软件设计;系统的功能测试。 本文设计的是基于单片机的步进电机式汽车组合仪表,用单片机技技术应用于传统汽车仪表中,实现了传统汽车仪表的基本功能,用步进电机带动表盘指针实时指示汽车在行驶中的车速和转速信号;用LCD模拟显示汽车水温和燃油信号。通过对仪表系统功能测试,系统各方面性能表现良好,基本达到实际要

36、求。 此次设计中主要是做了以下几件事: 1.以STC12C5A08AD单片机为核心完成了系统设计,在进行总体设计时,对系统的各个组成部分进行了详细的分析和介绍,尤其是对能给系统性能的车载输入信号的性质特征进行了细致的分析,为后面系统的硬件设计打下了基础。 2.在系统的硬件设计过程中,为了使测量准备、表头指针转动平滑无抖动和增强系统的抗干扰性,对车载信号中的车速信号进行了整形和滤波。 3.在系统的软件设计过程中,对步进电机的驱动程序作了详细的设计,系统设计的关键是如何使表头指针能平滑无抖动地转动。设计中,采取设定步进电机的驱动间隔定时器和计数器的方法来减小指针抖动。 4.对仪表系统功能进行了反复

37、地模拟测试,通过改变温度信号、燃油信号和直流电机转动速度,不断进行测试,通过测试,系统各方面性能表现良好,基本达到技术要求,从而证明了系统方案的可行性和实用性。 尽管此次设计出了较为简单的基于单片机系统的汽车仪表 ,并且达到了基本目标,但仍然离实际应用的标准非常远,许多实际汽车仪表中的功能都没有集成进这个系统,最重要的车速显示非常粗糙,只是显示了范围,没有显示精确的车速,这是一个极大需要改进的地方。 我会在以后的学习中更加努力,在这个方面进行更加深入的学习,继续研究基于单片机系统的汽车仪表方面的内容,完善这个系统,使其功能更加强大,更加易用,更加人性化。 此篇论文是在我的导师张素妍老师的悉心指

38、导下完成的,导师在研究的选题、研究方案的制定、研究进度、论文撰写等多方面给予了耐心细致的指导,我的每一点进步无不倾注着导师的心血。在论文完成之际,我谨向张素妍老师及其帮助过我的所有老师表示衷心的感谢,感谢她给予我的帮助。 衷心感谢单位里的领导对我的关怀和照顾,李经理和金经理和郑工程师在论文设计中给了我各种帮助和支持,在他们的亲切关怀和谆谆教导下,使我顺利完成论文课题的设计。 最后,感谢我的父母和家人,感谢他们对我工作学习的理解与支持以及生活上无微不至的关怀! 尚赛 二零一一年五月于浙江振展附录: 系统组成的原理图表头显示程序:#include#include#defineuchar unsig

39、ned char#defineuint unsigned inttypedef unsigned char INT8U;typedef unsigned int INT16U;#define ENABLE_ISP 0x87 uint Csplv3=0,Zsplv3=0;uint Csplvn = 0,Zsplvn = 0;uint Csplvo = 0, Zsplvo = 0;uint zstc,cstc,zstn,zstc,swtn,swtc,rytn,rytc,cstn;uint stepcsn,stepcso,stepzsn,stepzso,stepswn,stepswo,stepryn

40、,stepryo;uchar tempmil1=0,tempmil2=0,totalmil1=0,totalmil2=0,totalmil3=0,totalmilx=0;uchar Ryvalue9=0,Swvalue9=0;uchar Ryvaluen=0, Swvaluen=0;ucharTempseg10=0xbf,0x07,0x7d,0x5f,0xc7,0xdb,0xfb,0x0f,0xff,0xdf;ucharTotalp7=0x00,0x12,0x10,0x0e,0x0c,0x0a,0x08;/define step moto drive IC-sti6608/*sbitCSFD

41、= P00;/sbit ZSFC = P01;sbitSWFB = P03;/sbitRYFA = P13;sbitRYFA = P10;sbit CCW = P02;*/sbit FB = P00;sbit CW = P01;sbit FA = P02;sbit OWaterled = P25;sbit ORYled = P03;bit Cszerof = 0;bit Zszerof = 0;bit Ryflag = 0;bit Swflag = 0;bit Csoverf = 0;bit Zsoverf = 0;bit Adsfirstf = 0;bit Adrfirstf = 0;bit

42、 Mflag = 0;bit Totalzero = 0;bit Keyflag = 0;bit Keyflag1 = 0;bit Keyzhflag = 0; union union_temp16 INT8U un_temp82; INT16U un_temp16;my_unTemp16;INT8U Byte_Read(INT16U add); /读一字节,调用前需打开IAP功能,void Byte_Program(INT16U add,INT8U ch); /字节编程,调用前需打开IAP功能,void Sector_Erase(INT16U add); /擦除扇区,void IAP_Disable(); /关

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

当前位置:首页 > 科普知识


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