基于单片机的步进电机式汽车组合仪表_第1页
基于单片机的步进电机式汽车组合仪表_第2页
基于单片机的步进电机式汽车组合仪表_第3页
基于单片机的步进电机式汽车组合仪表_第4页
基于单片机的步进电机式汽车组合仪表_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

机的步进电机式汽车组合仪表第1章引言1.1设计的目的和意义目前的汽车仪表多为模拟式动圈式机芯(线圈连同指针壹起转动)或动磁式机芯(磁钢连同指针壹起转动)仪表,主要是利用电磁感应原理来实现仪表的指示,指针的回转回零则是利用弹簧游丝的弹性实现。动圈式机芯仪表抗震性能差、过载能力弱、指针易抖动等弱点;而动磁式机芯(主要是十字交叉机芯)仪表虽比较先进,但也存在壹致性、通用性差的缺点。同时,这俩种机芯的仪表都具有体积大、重量重、生产工艺复杂等缺点,因此,迫切需要壹种壹致性好、通用性强、可靠性高的驱动机芯来取代。随着计算机技术和微步进电机技术的不断发展,这给汽车仪表的技术变革带来了可能和机遇。微型步进电机是壹种以脉冲信号作为驱动信号的壹种特殊电机,用它来驱动仪表指针,和先前的模拟式机心仪I湘比具有体积小、重量轻、指示精确、壹致性好、便于控制等特点,特别适合于用单片机控制。而单片机具有集成度高,抗干扰能力强,且具有较强的数据处理能力和接口功能,所有功能由软件实现,应用灵活,系统的扩展、配置较典型、规范,容易构成各种规模的应用系统。以单片机来控制微型步进电机带动仪表指针来实现仪表指示功能已经成功的应用,充分地发挥了单片机和步进电机的所有优势,它们的完美结合构成的步进电机式数字化汽车组合仪表既保留了传-第2页-统仪表的指针式显示模式,指示简单直观,符合传统视觉效果,更主要的是精度高、可靠性好、抗干扰能力强、体积小、重量轻、生产检测工艺简单、壹致性和通用性好,非常适合现代汽车的生产。可是目前这种新型的数字化仪表都是以单个的形式出现,每个表都是壹个独立的整体,比如车速表、转速表、油量表、水温表、数字里程表等等,每壹个表都需要壹个MCU和仪表外壳,造成了很大的资源浪费和成本的提高。因此,进壹步提高发掘单片机步进电机在汽车仪表上的利用率和效能则是要继续研究的重要课题。1.2本设计的背景和发展状况由于目前的汽车仪表多为传统的动圈式机芯(线圈连同指针壹起转动)或动磁式机芯(磁钢连同指针壹起转动)仪表,存在抗震性能差、过载能力弱、指针易抖动等弱点;而动磁式机芯(主要是十字交叉机芯)仪表虽比较先进,但也存在壹致性、通用性差的缺点。同时,这俩种机芯的仪表都具有体积大、重量重、生产工艺复杂等缺点。但基于单片机系统的数字汽车仪表则具有精度高、可靠性好、抗干扰能力强、体积小、重量轻、生产检测工艺简单、壹致性和通用性好等优点,所以发展和研究基于单片机系统的数字汽车仪表意义重大。:第壹代汽车仪表是基于;第二代汽车仪表的工作原理基于电测原理,即通过各类传感器将被测的非电量转换成电信号加以测量,称之为电气式仪表;第三代为模拟电路电子式;第四代为步进电动机式全数字化汽车仪表从其应用技术手段上见,仍是属于电子技术范畴,也属于电子式仪表。目前国内大部分汽车厂商所生产的汽车中使用的仪表仍为传统的动圈式机芯或动磁式机芯仪表,只是在部分高档轿车上才使用了数字仪表系统。因此这壹块市场存在着很大的空白。1.3本设计的主要内容及难点本文根据目前国内汽车仪表的状况和要求,完成基于STC5410的步进电机式汽车联合仪表的实现,研究通用单片机和步进电机来实现汽车组合仪表的水温等基本信息。主要包括单片机控制系统的硬件结构、软件结构以及关键技术的实现。通过对汽车仪表系统的基本功能的分析,完成系统的总体设计方案及基本框图的设计:对系统的各个组成部分的具体电路进行分析和设计;对系统主要功能部分的软件进行分析和设计;行分析和解决。本设计主要是由俩个模块组成来实现本设计的目的--测速模块和测温模-第4页-块。测温模块由温度传感器直接将测到的温度数据(数字信号)传给单片机LEDLED数码显示管上。LED数码显示管显示速度不是这个设计的最大难点,最大的难点在于步进电机驱动仪表指针指示车速时,如何消除指针的抖动。其中便涉及到车速采样频率的问题,如果采样过快,表盘指针抖动厉害;车速,因此如何使表盘指针正确指示所要求的车速是壹个主要问题。本设计采取的是10s钟采样壹次。另外,此次设计不对车速进行非常精确的指示,而是“模糊指示”,所谓模糊指示,是指壹定车速区间内设壹个点,例如100km/h~150km/h之间的任何车速,在仪表盘显示的则是125km/h,以此类推。当然测速模块上的LED数码管显示的是“精确”指示,直接指示当时的车速。第2章系统设计方案论文研究的是基于单片机的步进式汽车组合仪表的解决方案。单片机是整个系统核心;微型步进电机是最直接最根本的控制对象;和汽车仪表密切相关的壹些汽车基本行驶信息(),是单片机所需要处理的信息;系统软件是实现系统功能根本手段;系统的抗干扰能力是系统能否稳定可靠工作的基本保证。通过对它们作理论分析和研究,能够对系统方案做出壹个总体的设计.2.1系统的功能和要求设计壹套车载智能仪表,用于显示和记录汽车行驶过程中的各种状态信息,具体实现功能应达到如下要求:1.采用通用单片机,用软件实现对系统的控制。2.用步进电机带动表盘指针实时指示汽车在行驶中的车速信号。3.用数码管显示汽车油箱温度。4.表盘展开角:车速展开角为0度,转速的展开角为0度。在程序设计时,展开角作为变量来处理,根据实际需要,能够随时调整。5.电源掉电和上电时,表头指针能复位回零。6.系统电源由外接变压器提供+12V电压。7.系统要具有较强的抗干扰能力,硬件设计和软件设计都必须考虑。8.系统要有较好的兼容性和通用性,标定和检测方便。2.2系统组成步进电机式汽车组合仪表系统由单片机模块、测温模块、测速模块、显示模块、步进电机控制模块、串口通信模块、单片机电源模块、单片机供电模块-第6页-等部分构成。系统组成图如图2.1所示:图2.1系统结构图2.2.1步进电机控制模块1.步进电机的结构步进电机是壹种将电脉冲转化为角位移的壹种特殊电机。汽车仪表所使用的(Coin)(RotorShaft)、针轴(PointerShaft)(GearReduction)和四个分布对称的触点(Contacts)组成。如图2.2和图2.31和引脚23和引脚4入信号。2.步进电机的分类步进电机分三种:永磁式(PM)(VR)和混合式(HB)7.5度或15度:反应式步进壹般为三1.5美等发达国家80;混合式步进是指混合了永磁式和反应式的优点,它又分为俩相和五相:俩相步进角壹般为1.8度,而五相步进角壹般为0.72度。这种步进电机的应用最为广泛。3.步进电机的工作原理在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加壹个脉冲信号,电机则转过壹个步距角。当步进驱动器接收到壹个脉冲信号,它就驱动步进电机按设定的方向转动壹个固定的角度(即步进角)。通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机的工作原理,当电流信号经由四个触点输入时,引起电机线圈的磁场变化,从而引起转动轴的转动,而后再通过齿轮差速比装置带动针轴的旋转。步进电机能够作顺时针和逆时针俩个方向运动,顺时针运动和逆时针运动,取决于电流信号的给定和变化。电机的正反转是由电平的高低来决定的。当;-第8页-如图2.41,2和3,4中输入相位差为60度的三相电流信号(图2.4中顺时针运动的时序图)1右侧运动到位置4,完成壹个整步运动,此时,电机作顺时针运动;当四个引脚1,2和3,4中输入相位差为60度的三相电流信号(图2.4中逆时针运动的时序图)时,步进电机由位置1左侧运动到位置4运动。在图2.4中,指针由1(4)的位置运动到4(1)的位置完成壹个整步运动;如图2.41(2)的位置运动到2(1)个相位相差180度。由于步进电机也能够将壹个整步分为三个分步来完成,所以完成壹个分步所需的脉冲数也只有完成壹个整步所需脉冲数的1/3了,相邻的俩个相位相差60度,可是,它的步距角始终不变。利用分步能够完成更准确的指示。4.步进电机的特点步进电机的壹个最显著特点就是:没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之壹,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之壹。壹般步进电机的精度为步进角的3-5%,且不累积。汽车仪表在实际应用中要求精度高、功能全,微特步进电机正好具备这些要求,除此之外,它仍具有体积小、控制操作方便的优点。系统选用的虽然为普通电机,可是。功能比较完备,精确度较高,而且性价比高,具有无累积误差、成本低、控制简单等优点。2.2.2测速和测温模块汽车的基本信号有车速、水温俩个,都是通过传感器采集。其中车速信号为频率信号,但不符合标准的脉冲信号,水温信号为电阻信号,是模拟信号,在送到单片机之前要对它们进行处理。采用何种方式和电路处理,则要对它们进行分析。1.车速信号车速信号和转速信号是通过传感器从汽车发动机相关位置取出,多以非接触方式获取,如用霍尔、电涡流等传感器获取。取出的信号为频率信号,但且非是标准的脉冲频率信号。根据取信号的位置不同,取出的信号有下面几种形式:(1)1.5V,高温时幅值较大。如图2.5所示。(2)点火线圈取信号.点火时出现瞬时高峰值,最大值可达300V,紧接着迅速-第10页-衰减。如图2.6所示。(3)2.7:直流成分较大,高频成分较多,必须作前级滤波处理。如图2.8所示。比较上面三个信号的特点,结合系统对输入脉冲信号的要求,决定从发动机的飞轮齿取信号。因为它的信号由专门时传感器产生,信号较好,谐波分量1.8v近于正弦波,只要经过滤波、整形等处理,很容易得到系统所要求的脉冲波形。2.水温信号通过传感器采集来的水温属于电阻信号,要进行滤波处理和A/D转换才能送入单片机.最后通过单片机处理,显示在LCD显示液晶屏上。3输入信号的处理转速、车速俩路频率信号通过限幅、滤波,再经过施密特触发器整形变成符合要求的脉冲信号送CPU计数器:水温、燃油量信号转换为电压信号,经限幅滤波送入A/D转换器,得到数字量再送CPU.2.2.3电源模块(单片机系统供电模块、单片机电源模块)系统的电路由于有模拟电路和数字电路俩部分,电源的要求也会不同。通常模拟电路的电源为+12V.;数字电路的电源则+9VCPU则为+5V求相当严格,能够采用开关稳压电源实现,尤其是脉宽调制型开关稳压器件组成开关的开关电源,具有体积小效率高、外围元件少、应用简单、输出电压可调、误差小、输出电流大、转换速率快、保护功能强等特点,特别适合于给单片机供电。除了对电源电压的大小有要求外,仍要考虑电源对系统硬件的干扰。在单片机仪表系统中,危害最严重的是来自电源的噪声干扰,而电源内阻是引起电源干扰噪声的主要原因,如果没有这种电阻,任何噪声都会被电源短路,在线路中不会建立任何干扰电压,但事实上,电源内阻不可能不存在。电源噪声主要来源于壹些大功率设备的使用及电源本身的配置的不合理性。单片机数据采集的电源干扰主要原因是因过压、欠压或尖峰电压的出现引发。过压和欠压的危害是显而易见的,它会使系统的直流工作电压偏离允许范围,而处于非正常工作状态。而对于尖峰电压,由于它持续时间很短,壹般不会毁.甚至破坏源程序。解决之上问题的办法是使用具有噪声抑制能力的交流电源调节器或稳压器。对于抗干扰的问题,本文在后面的章节中仍会详细介绍。2.2.4单片机模块-第12页-:输入数据的采集转换且驱动表头、驱动液晶显示里程、按键处理、系统标定等所有功能。根据系统的要求和现实的考虑,选用宏晶X公司生产的STC12C5410通用单片机。STC12C5410单片机简介STC12C5410是由宏晶X公司生产的和AtmelX公司生产的AT89C52性能相当的壹种8K字节闪烁可编程可擦除只读存储器(FPEROM-FalsbProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOSS位微处理器,俗称单片机。该器件采用高密度非易失存MCS-51将多功能8位CPU和闪烁存储器组合在单个芯片中,它是壹种高效微控制IntelX公司的MCS-51系列单片机相兼容,是广泛应用的单片机之壹。STC12C5410芯片图:图2.9STC12C5410芯片图2.2.5LED显示模块由单片机直接控制LED数码管显示车速和温度。LED数码显示管原理简介:发光二极管LED在工作的时候只有俩种状态,或者熄灭或者点亮,把LED按照壹定的结果排列就能够组成比较复杂的显示设备.当某壹个发光二极管导通的时候,相应的壹个点或壹条被点亮,控制不同组合的二极管导通就能显示字符.MCS-51单片机对LED管的显示能够分为静态显示和动态显示俩种。静态显示是各个LED管脚能稳定的显示字符;动态显示是指各LED轮流壹次壹次的显示各自字符,其实每次只有壹个数码管在显示,可是由于人视觉的惰性,能够见到各LED似乎是在同时点亮.静态显示需要占用很多CPU端口资源,而动态显示则需要很少的端口就能实现。动态显示是壹位壹位的轮流点亮各位数码管,这种诸位点亮的方式称为位扫描.通常各位数码馆的段选线相应且联在壹起,由壹个8为的I/O;各位的位选线有另外的I/O口线控制.同台方式显示是各数码管分时轮流选通,要使其稳定显示必须采取动态扫描方式,即在每壹时刻只选通壹位数码管,且送出相应的段码,在另壹时刻选通另外的壹位数码管,且送出相应的码段。图3.0数码管显示部分电路图3.11显示电路中,CS1,CS2,CS3三个引脚为片选,而A到DP为八3流,图上使用的为三位壹体的共阴数码管。而CS1B,CS2B,CS3B分别接到单片机的P2.0到P2.3口,起到片选作用。.2.2.6串口通信模块-第14页-单片机的串口通信模块主要是用于扩展单片机的功能,使其功能更加强大,操作更加方便,在有串口通信模块的情况下,能够实当下电脑上直接对整个也能够在计算上直接对该系统单片机进行读写控制,如能够直接写入本设计需要的程序,直接控制直流电机转速,直接控制和测温相关的温度调节。串尽管此次设计中没有用到这个串口通信模块,但有了此模块后,本单片机系统在以后的功能扩展上将具备更多的便利,如和温度监控系统,汽车超速报警监控系统进行连接,以实现更多的功能。第3章系统硬件设计3.1单片机模块功能的实现采用STC12C5410单片机,实现单片机模块各项功能。单片机模块接线如图3.1所示。图3.1单片机模块单片机模块管脚连接简介:对从测温传感器和测速传感器俩个信号输入的数据进行处理。P3.7连接测温模块芯片DB18B20。A0,B0,C0,D04个管脚连接的是步进电机驱动模块芯片ST188,用于单片机控制步进电机。LED数码管显示管,分别显示水温和车速。a,b,c,..-dp这8个管脚用于连接4个LED数码管,CS1,CS2,CS3,CS4,这4个管脚为片选管脚,用于根据程序选择4个LED数码管中其中壹个数码管点亮。P3.3~P3.53.2测温模块采用DS18B20温度传感器,实现测温模块各项功能。测温模块各项功能如图3.2图3.2测温模块DS18B20的性能特点:DS18B20温度传感器是美国Dallas半导体X公司最新推出的壹种改进型智且且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点可归纳如下:独特的单线接口仅需要壹个端口进行通信。多个DS18B20能够且联在唯壹的3线上,实现多点组网功能无需外部器件-第16页-可通过数据线供电,电压范围为3.0-5.5V零待机功耗温度以9或12位数字量用户可定义的非易失性温度报警设置报警搜索命令识别且标志超过程序限定温度(温度报警条件)的器件。负电压特性,电源极性相反时,温度计不会因发热而烧毁,只是不能正常工作。3.3测速模块采用ST188芯片来实现测速模块的各项功能,测速模块的接线图如图3.3。图3.3测速模块ST188芯片特点:采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。检测距离可调整范围大,4-13mm可用。采用非接触检测方式。应用范围:IC卡电度表脉冲采样集中抄表系统数据采集传真机纸张检测表3.1ST188芯片光电特性表3.4LED显示模块采用4个LED数码管来实现显示模块的各项功能,显示模块接线图如图3.4。图3.4显示模块该模块由单片机直接控制,显示水温。3.5步进电机控制模块采用ULN2803A芯片来实现步进电机控制模块各项功能,模块接线图如图3.5所示。图3.5步进电机控制模块东芝ULN2803芯片系列是高电压,高电流达林顿驱动芯片,由8对NPNLED)ULN2803芯片特性:输出电流(单输出)500mA(最大)持续高电压输出50V(Min)输出箝位二极管输入兼容各类型电平封装AP型号:DIP-18pin-第18页-封装AFW型号:SOL-18pin表3.2东芝ULN2803芯片特性表特性表:特性符号范围单位VCE(SUS)V输出持续高电压-0.5-50Iout500mA输出电流VinV输入电压-0.5-30VR50V箝位二极管反相电压IF500mA箝位二极管前向电压PD1.47W电能消耗Topr工作温度-40-85°CTstg存储温度-55-150°C3.6串口通信模块采用MAX232A通信模块接线图如图3.6所示。图3.6串口通信模块MAX232A芯片简介:MAX232A系列芯片为MAXIMX公司推出的驱动器/接收器,�为EIA/TIA232A以及V.28/V.24通信接口设计,尤其是为无法提供+-12V的电源的应用。这些芯片特别适合电池供电的系统,这是由于其低功耗关断模式能够将功耗减小到5μW以内。应用于:便携式计算机,低功耗调制解调器�3.7单片机系统供电模块、单片机系统电源模块采用U3LM模块提供电源。模块接线图如图3.7所示。图3.7单片机系统供电模块采用MC7805T供电源。模块接线图如图3.8所示。第4章系统软件设计本系统的软件功能主要是完成数据的采集和转换、步进电机的驱动、数据的存储、数据的显示、系统的复位等等,它包含主程序和若干个子程序。如何-第20页-使电机平滑地转动(尤其是在车速和转速较高时)需要做好俩方面的工作:壹是信号的采样频率的选定;二是表头驱动程序的合4.1系统软件模块划分根据系统任务分析,程序分为系统初始化、中断处理、步进电机驱动、车速转速测量、水温测量、串行通信、显示等模块。1.初始化模块。初始化模块用于系统程序运行之前完成系统功能参数的初始化。2.中断处理模块。获取程序所需的各种参数。3.车速里程测量模块。根据入口参数完成车速里程的计算、转换、存储。4.转速测量模块。根据入口参数完成转速的计算、转换。5.水温测量模块。根据入口参数完成燃油水温的计算、转换。6.串行通信模块。根据入口参数完成数据段的发送。4.2编程语言的选择当下单片机的编程语言主要有三种:汇编语言、C语言和PLM语言。其中C语言和PLM语言属于高级语言,它们的优点是本身具有丰富的库函数和数汇编语言则相反。本系统既对机器代码的效率有较高的要求,又对数据的计C语言混编的形式编程。4.3主程序设计系统的软件是由壹个主程序和若干子程序构成,主程序的主要功能是设定程序执行过程中用到的相关变量,分配寄存器,对所需要的参数进行初始化,然后按照要求在恰当的时间调用相应的处理模块和子程序,来对系统进行处理。主程序具体简述如下:1.定义系统运行过程中所需的变量;2.分配硬件系统所提供的相关资源,如寄存器、ROM以及中断资源和堆栈:3.完成系统的自检;4.在程序的运行过程中,按要求依次完成对系统各模块的调用,且将结果提供给用户;5.;保存系统运行过程中的必要参数。图4.1为主程序流程图。-第22页-图4.1主程序流程图4.4表头驱动子程序设计在进行表头驱动程序的设计时,要使表头指针能够平滑无抖动地转动,关键是要做到信号采样频率的选定和表头驱动程序的合理设计这俩点。4.4.1采样频率的选定由于步进电机在工作时要保持步距角恒定,如果采集频率选择不当的话,将会引起仪表指针的抖动,为使指针能够平滑地转动,选择恰当的采集频率是非常重要的。1.车速和转速信号采样频率的选定车速和转速属于频率信号,且变化较快。在选择采样频率时,既不能太快也不能太慢,太慢则指示滞后,不能反映车速和转速真实性,太快则会导致步进电机跟不上节奏,也会出现指针抖动现象。对于车速信号,由于设计的车速的满度为140公里/时,对应此速度的脉冲频率即最高输入频率为1940.2548个脉冲则为满度(即最大的采样值为48,采样完了之后马上刷新表盘)。245度/48余数为55会后5冲频率为45度的抖动。产生抖动的主要原因是信号频率太低,表的相应速度又不能太慢,所以在时间上产生了错位。因此采样周期为0.25秒,采样频率为4赫兹。当下,假设汽车以恒定的140公里/时行走时,则在某壹秒中第壹个计数周期采样的值如果为4849周期的采样值仍为48495何整数值被40,1,2,30产生5度的抖动了;如若不然,即使速度是恒定的,每个采样周期的采样值都不壹样,进而输出的结果也就会随之变化,仪表就会产生抖动,可是每相连的俩个采样值的差值不会超过2,因为余数的最大差值为2。对此解决抖动的方法就是测量脉冲宽度,只是要求信号的占空比恒定。这样如果每相邻的俩个采样值之差的绝对值小于2采样频率为4或42样,仪表指针就会做到连续平滑无抖动地转动。对于转速信号,其满度输入频率为9000赫兹,单位为转/分,由于满度输8-第24页-信号的整形处理壹致,均采用相同的电路,这样转速指针也可连续平滑的转动。2.水温信号的采样频率的选定由于水温信号的变化要慢很多,同时对它的要求也较低,因此采样频率能够相对较低。4.4.2表头驱动子程序设计;当车速和转速转换后的信号频率减小时,电机就向逆时针方向运动,这是反转;而当车速恒定时,指针也不发生改变。在进行程序设计时,要设定各步进电机的驱动间隔定时器和计数器,设定各表指针需要达到的角度位置和实际角度位置,均为1/12度,即壹个微步。表头驱动程序执行过程如下:1.驱动时间间隔到,中断程序被触发,驱动间隔计数器清零。2.检查当前指针的位置和由采样程序算得的理论值。3.如果相等则不作驱动。4.如果当前值>理论值,驱动指针逆时针走壹微步,且当前值减1:如果当前值<理论值,驱动指针顺时针走壹微步,且当前值加15.(当前值不等于理论值)500微秒执行壹次(驱动电机旋转壹微步)指针指向理论值。表头驱动程序流程图如图4.2所示。4.5车速采样测量子程序设车速和转速的采样测量基本相同,不同的是在测量车速的同时,仍要根据车速的输入脉冲数把里程数也计算出来。计算公式如下:里程数X=总的接受到的脉冲数/(传动比*传感器极对数),单位为千米其中:传动比=637,传感器极对数=8车速V=(3600*单位时间内的脉冲数)/(传动比.传感器极对数)/时其中:传动比=637,传感器极对数=8转速n=(60.每秒脉冲数)/齿数比,单位为转/分其中:齿数比=1281/4秒,即车速表的刷新周期为250微秒,而电机的最小驱动间隔为0.125微秒,即电机的执行周期为0.125微秒,设置采样滤波周期,每个周期中设置俩个检测点,时间间隔差为0.5微秒。根据指针偏角度公式“指针偏角=(角度/脉冲比)*频率/4”计算出指针实际偏转角度。图4.2为测量车速程序流程图。-第26页-图4.3车速测量子程序流程图4.6水温采样测量子程序设计水温属于电阻信号,通过测量水温传感器电阻信号,然后将转换后的数字信号直接通过MCU处理,最后显示在LED上。测温子程序函数流程图:图4.4测温模块程序流程图4.7本章小结本章对系统软件功能模块的划分,介绍了主程序及部分子程序的流程图,其中重点介绍了步进电机转动子程序的设计思想、流程图和程序设计。电机转动子程序是实现整个系统的关键技术,是软件的设计重点,它关系到仪表指;对于其它程序的设计只作了简单的介绍。第5章系统功能调试和性能测试系统在完成了上述硬件及软件设计后,做成样机,且对整个系统进行设计和相应的功能测试。5.1系统安装和调试系统调试包括硬件和软件俩个方面的调试。由于本设计包括2才去调试下壹个模块。硬件调试方面:硬件方面主要的问题:拼接时出现严重问题。硬件安装调试中出现的问题主要是焊点、芯片管脚焊错的问题。壹般情况下,主要避免犯之上俩个错误,硬件都能安装成功。在安装步进电机模块时,出现过主要的问题是刚开始把步进电机关系到相位的4脚,步进电机便能正常地运行。其次是测温模块,也是将温度传感器焊错了管脚,导致无法显示温度,通过用万用表测量电压,找出错误,改正后,测温模块便能正常运行。软件调试方面:调试工具:VC通过将单片机系统和电脑相连接,直接用VC烧写程序至单片机系统。-第28页-都是由于没有完全掌握好Cif方,导致最后的循环嵌套语句出现错误,出的结果和预期应该会出现的结果LED数码显示管上没有温度显示,后来检查程序时,才发现没有对温度传感器中LED修改,修改不了的就找同学帮忙修改。程序这壹块是最难做的,可是壹个个的解决,最终仍是在硬件上实现既定功能。5.2系统性能测试由于本设计只测车速、转速以及温度俩个信号。根据车速,水温俩路信号的LED显示和车速表头的指针变化及在表盘的位置。另壹方面,改变软件中采样周期,观察指针的转动和抖动情况。俩种参数的改变测试,测试结果和参照车型仪表的测试指标完全壹致,证明了论文中系统的方案和技术理论的正确性。当然,实际性能测试中,由于受条件所限,不可能将温度传感器放入水中测试水温(如不小心会使水接触电路,使电路短路),因此实际性能测试中,采用了三个温度点--室温、姆手温度、笔记本电脑出风口旁温度,以测定测温系统的性能是否符合标准。以下是测温数据表:表5.1测温结果表测温点室内温度姆指温度笔记本电脑出风口温度28.43348温度计实测温度28.633.248.1本系统测出温度由于DS18B20的精度是0.0625,对于实际使用中,这样壹个精度已经相当的高,所以误差由此可见,系统测得温度和温度计测得的实际温度之间的误差应该不是DS18B20本身所产生的,而是由系统自身不可避免的误差所产生,例如测温模块中的A/D,D/A转换电路,系统程序设计中的数据处理产生的误差等,都能引入壹定程度上的误差。总的来说,这样的误差是能够接受的。测速模块性能测试:测速模块主要包括LED-第30页-LED和本人水平有限,为简化难度,当下只能在仪表盘上指示实时测出的转速,通过程序换算车速,最后在仪表盘上指针指示的是车速的范围,具体就是:系统测得的车速在0-25km/h范围内的,指针指示的是0-50刻度之间的中心位置;系统测得的车速在25-50km/h范围内,则指针指示的是25-50km/h50-75km/h范围内,则指针指示的是50-75km/h的中心位置,以此类推。转速的改变主要是通过改变直流电机的电压以达到改变直流电机转速的目的,从而改变所需要测试的条件。在程序换算方面,仍然是限于硬件条件(不可能真正地用直流电机驱动壹轮胎进行测速)和本人水平条件,对车速采取如下方法:直流电机在4V的电压下的转速1500r/min计算方便,我们这里设该直流电机所驱动的轮胎的直径为20厘米,按照这样的设定所计算出来的车速应该为113km/h设定符合实际情况。以下为转速-车速测试结果表:表5.2转速-车速测试表直流电机电压LED显示的转速(每仪表盘上的指针位置经计算得出的车速(km/h)10s的转速)(km/h)6.42258100~125116.68.91368150~175166.398.30348150~175157.47.31303125~150137.0LED在这之中,仍然会出现指针指示不稳定的情况,可是基本上是稳定的。经过之上系统的功能测试表明,论文所研究设计的基于单片机的步进式汽车组合仪表性能表现基本符合要求,达到技术要求,不但何积小、重量轻、生产检测工艺简单,而且精度高,可靠性好、抗干扰能力强、兼容性高、通用性强、开发成本低、开发周期短,非常适合规模化生产。5.3后期需要改进地方比较初级的,功能比较单壹,没有将汽车仪表中常见的油量显示,蓄电池量显示,方向灯等壹起做到系统中,同时车速显示也是过于粗糙,只是显示大(km/h)信在以后的学习中,能够更加深入的了解到有关基于单片机的汽车仪表方面的知识和技术,使该设计更加完善,更加人性化,更加直观。结束语-第32页-;数字;仪表系统的软件设计;系统的功能测试。本文设计的是基于单片机的步进电机式汽车组合仪表,用单片机技技术应用于传统汽车仪表中,实现了传统汽车仪表的基本功能,用步进电机带动表盘和LED指针实时指示汽车在行驶中的车速信号;用LED显示汽车水温信号。通过对仪表系统功能测试,系统各方面性能表现良好,基本达到实际要求。此次设计中主要是做了以下几件事:1.以ST5410各个组成部分进行了详细的分析和介绍,尤其是对能给系统性能的车载输入信号的性质特征进行了细致的分析,为后面系统的硬件设计打下了基础。2.在系统的硬件设计过程中,为了使测量准备、表头指针转动平滑无抖动和增强系统的抗干扰性,对车载信号中的车速信号进行了整形和滤波。3.在系统的软件设计过程中,对步进电机的驱动程序作了详细的设计,系统设计的关键是如何使表头指针能平滑无抖动地转动。设计中,采取设定步进电机的驱动间隔定时器和计数器的方法来减小指针抖动。4.对仪表系统功能进行了反复地模拟测试,通过改变温度、直流电机转动速度,不断进行测试,通过测试,系统各方面性能表现良好,基本达到技术要求,从而证明了系统方案的可行性和实用性。尽管此次设计出了较为简单的基于单片机系统的汽车仪表,且且达到了基本目标,但仍然离实际应用的标准非常远,许多实际汽车仪表中的功能都没有集成进这个系统,最重要的车速显示非常粗糙,只是显示了范围,没有显示在这个方面进行更加深入的学习,继续研究基于单片机系统的汽车仪表方面的内容,完善这个系统,使其功能更加强大,更加易用,更加人性化。此篇论文是在我的导师严彬老师的悉心指导下完成的,导师在研究的选题、研究方案的制定、研究进度、论文撰写等多方面给予了耐心细致的指导,我的每壹点进步无不倾注着导师的心血。在论文完成之际,我谨向严彬老师及其帮助过我的所有老师表示衷心的感谢,感谢她给予我的帮助。衷心感谢机电所有老师在学习生活和课题工作中对我的各种帮助和支持,在他们的亲切关怀和谆谆教导下,使我顺利完成了学士阶段的学业。最后,感谢我的父母和家人,感谢他们对我工作学习的理解和支持以及生活上无微不至的关怀!陈刚二零零七年五月于地大参考文献:-第34页-[1]杨忠敏.汽车仪表的发展现状.汽车电器,2004,(4):1-3[2]许德章.现代汽车仪表技术和发展趋势.汽车电器,2002,(5):127--129[3]刘友庆.汽车仪表北京:人民交通出版社,1993:10-94[4]Mizushima.DevelopmentofLiqudCrystalDisplayModuleforAutomobile.ShapuGiho/SharpTechnical.1993,(97):73-76[5]郑发农.电动电子车速里程表的研究.汽车电9,1999,(6):1-3[6]马兰皋.数字仪表和显示器件.北京:电子工业出版社,1989:140-145[7]陈宝江.MCS单片机应用系统使用指南.北京:机械工业出版社,1997,(7):130--171[8]谭浩强.C程序设计(第二版)北京:清华大学出版社,2000:75-80[9]王曦,董燕飞.步进电机转台的控制.微计算机信息,2005,21(2):29-30[10]潘旭峰.现代汽车电子技术北京:北京理工大学出版社,1995:229-232[11]李潮青.单片机原理及接口技术.北京:北京航空航天大学出版社,1999:56-70[12]宋培义,刘立新.单片机原理、接口技术及应用.北京:中国广播电视出版社,1991,(1):73-78[13]谭浩强.C程序设计(第二版)北京:清华大学出版社,2000:75-80[14].单片机AT90S2313在汽车里程表中的应用.电子技术,2001,(3):35-38[15]邬宽明.单片机外围器件实用手册壹数据传输接口器件分册.北京:北京航空航天大学出版社,1998:56--90[16]TimBour,StanGage.IntegratedLEDDisplayTechnologyforAutomobiles.ElectronicInstrumentPanelDisplays.Paper970192:127-134[17]孙德刚,刘越.强烈电磁干扰情况下车内传感器信号的检测.计算机自动测量和控制,2000,(8):57-59[18]徐雁.单片机测量频率的俩种方法.电测和仪表,1995,(3):22-25[19]王柏林.单片机系统设计的误区和对策.电子技术应用,2002;28(2):22-25[20]CraigSzydiowski.AGatewayforCANSpecification2.oNon-PassiveDivices.AutomotiveMicrio-controllers.Paper930005:201--209[21]FumihikoAndoh,HiroshiShimamoto,andYoshihiroFujita.ADigitalPixelImageSensorforReal-TimeReadout.IEEETransactionsonElectronDevices/theInstituteofElectricalandElectronicsEngineers,2000,47(11):2123--2127附录:系统组成原理图:测温模块程序:#include<reg51.h>#include<intrins.h>#defineDisdataP1#definediscanP2#defineuintunsignedint#defineucharunsignedcharsbitDQ=P3^7;sbitDIN=P1^0;uinth;//////////////////////////ucharcodeditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0-第36页-x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};ucharcodedis_7[13]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,0xFD,0xff,0xbf};ucharcodescan_con[4]={0xfe,0xfd,0xfb,0xf7};uchardatatemp_data[2]={0x00,0x00};uchardatadisplay[5]={0x00,0x00,0x00,0x00,0x00};/////////////////////////////voiddelay(uintt){for(;t>0;t--);}/////////////scan(){chark;for(k=0;k<3;k++){Disdata=dis_7[display[k]];if(k==1){DIN=0;}discan=scan_con[k];delay(90);discan=0xff;}}ow_reset(void){charpresence=1;while(presence){while(presence){DQ=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();DQ=0;delay(600);DQ=1;delay(72);presence=DQ;}delay(545);presence=~DQ;}DQ=1;}//////////////voidwrite_byte(ucharval){uchari,j;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();DQ=val&0x01;delay(72);val=val/2;}DQ=1;delay(12);}////////////////ucharread_byte(void)

{uchari,j;ucharvalue=0;-第38页-for(i=8;i>0;i--){DQ=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();value>>=1;DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();DQ=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();if(DQ)value|=0x80;delay(72);}DQ=1;return(value);}/////////////////////////read_temp(){ow_reset();write_byte(0xCC);write_byte(0xBE);temp_data[0]=read_byte();temp_data[1]=read_byte();ow_reset();write_byte(0xCC);write_byte(0x44);}//////////////////////////work_temp(){ucharn=0;if(temp_data[1]>127){temp_data[1]=(256-temp_data[1]);temp_data[0]=(256-temp_data[0]);n=1;}display[4]=temp_data[0]&0x0f;display[0]=ditab[display[4]];display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);display[3]=display[4]/100;display[1]=display[4]%100;display[2]=display[1]/10;display[1]=display[1]%10;if(!display[3]){display[3]=0x0A;if(!display[2]){display[2]=0x0A;}}if(n){display[3]=0x0B;}}///////////////////main(){Disdata=0xff;discan=0xff;for(h=0;h<4;h++){display[h]=8;}ow_reset();write_byte(0xCC);write_byte(0x44);for(h=0;h<5000;h++){scan();}while(1){read_temp();work_temp();for(h=0;h<5000;h++)-第40页-{scan();}}}测速模块程序:#include<reg51.h>#defineuintunsignedint#defineucharunsignedchar#defineLedPortP1sbitCS1=P2^0;sbitCS2=P2^1;sbitCS3=P2^2;sbitCS4=P2^3;sbitA0=P2^4;sbitA1=P2^5;sbitA2=P2^6;sbitA3=P2^7;uinta;uchardatacon50ms=0x00;bittrue;/*************************/charcodedis_7[11]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09,0xFD};/*共

温馨提示

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

评论

0/150

提交评论