河南理工大学万方科技学院毕业论文步进电机的汽车仪表的设计专业:电子信息工程班级: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:步进电机控制模块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设计的背景和意义目前的汽车仪表多为模拟式动圈式机芯(线圈连同指针一起转动)或动磁式机芯(磁钢连同指针一起转动)仪表,主要是利用电磁感应原理来实现仪表的指示,指针的回转回零则是利用弹簧游丝的弹性实现。动圈式机芯仪表抗震性能差、过载能力弱、指针易抖动等弱点;而动磁式机芯(主要是十字交叉机芯)仪表虽比较先进,但也存在一致性、通用性差的缺点。同时,这两种机芯的仪表都具有体积大、重量重、生产工艺复杂等缺点,因此,迫切需要一种一致性好、通用性强、可靠性高的驱动机芯来取代。汽车仪表的发展,按技术规格来分经过了四代:第一代汽车仪表是基于机械作用力而工作的机械式仪表,即机械机芯表;第二代汽车仪表的工作原理基于电测原理,即通过各类传感器将被测的非电量转换成电信号加以测量,称之为电气式仪表;第三代为模拟电路电子式;第四代为步进电动机式全数字化汽车仪表从其应用技术手段上看,还是属于电子技术范畴,也属于电子式仪表。目前国内大部分汽车厂商所生产的汽车中使用的仪表仍为传统的动圈式机芯或动磁式机芯仪表,只是在部分高档轿车上才使用了数字仪表系统。因此这一块市场存在着很大的空白。1.2本设计的主要内容及难点本文根据目前国内汽车仪表的状况和要求,完成基于STC12C5A08AD的步进电机式汽车联合仪表的实现,研究通用单片机和步进电机来实现汽车组合仪表的基本功能的解决方案。用单片机驱动步进电机指示汽车在行驶过程中的车速、转速,水温、油量、背光和各种状态指示灯等信息。主要包括单片机控制系统的硬件结构、软件结构以及关键技术的实现。通过对汽车仪表系统的基本功能的分析,完成系统的总体设计方案及基本框图的设计,本系统的关键问题,即如何消除指针的抖动进行分析和解决。本设计主要是由两个模块组成来实现本设计的目的--测速模块和测温模块。测温模块由温度传感器直接将测到的温度数据(电阻信号)传给单片机进行处理,最后显示在LCD上。这个设计的主要难度是在测速这个模块上。最大的难点在于步进电机驱动仪表指针指示车速时,如何消除指针的抖动。其中便涉及到车速、转速采样频率的问题,如果采样过快,表盘指针抖动厉害;如果采样过慢,则仪表指针抖动不灵敏,无法正确及时指示车速、转速,因此如何使表盘指针正确指示所要求的车速、转速是一个主要问题。第2章系统设计方案论文研究的是基于单片机的步进式汽车组合仪表的解决方案。单片机是整个系统核心;微型步进电机是最直接最根本的控制对象;与汽车仪表密切相关的一些汽车基本行驶信息(车速、转速、水温、油量),是单片机所需要处理的信息;通过对它们作理论分析和研究,可以对系统方案做出一个总体的设计.2.1系统的功能与要求设计一套车载智能仪表,用于显示和记录汽车行驶过程中的各种状态信息,具体实现功能应达到如下要求:1.采用通用单片机,用软件实现对系统的控制。2.用步进电机带动表盘指针实时指示汽车在行驶中的车速信号和转速信号。3.用LCD模拟显示汽车水箱温度和油量。4.表盘展开角:车速展开角为0度,转速的展开角为0度。在程序设计时,展开角作为变量来处理,根据实际需要,可以随时调整。5.电源掉电和上电时,表头指针能复位回零。6.系统电源由外接变压器提供+12V电压。7.系统要具有较强的抗干扰能力、较好的兼容性和通用性。2.2系统组成步进电机式汽车组合仪表系统由单片机模块、测温模块、测速模块、显示模块、步进电机控制模块、串口通信模块、单片机电源和供电模块等部分构成。系统组成图如图2.1所示:图2.1系统结构图单片机模块油量信号测量模块水温信号测温模块车速信号滤波和整形测速模块LCD显示步进电机控制模块步进电机电源模块串口通信模块程序写入转速信号滤波和整形测速模块2.2.1步进电机控制模块3.步进电机的工作原理在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机的一个最显著特点就是:步距角固定。保持转矩是指步进电机通电但没有转动时,定子锁住转子的力矩。它是步进电机最重要的参数之一,通常步进电机在低速时的力矩接近保持转矩。由于步进电机的输出力矩随速度的增大而不断衰减,输出功率也随速度的增大而变化,所以保持转矩就成为了衡量步进电机最重要的参数之一。一般步进电机的精度为步进角的3-5%,且不累积。汽车仪表中应用的主要是两相步进电机,即步进电机中有两个独立绕组(定子两个相对极上的线圈串联成独立线圈)。步进电机两个绕组的夹角一般有90°和60°两种样式,这里采用的是60°样式的VID29—05,内置减速比180:1的齿轮系,输出轴的步进角最小为1/12°,最大转速600°/S。系统选用的虽然为普通电机,但是。功能比较完备,精确度较高,而且性价比高,具有无累积误差、成本低、控制简单等优点。2.2.2测速与测温模块汽车的基本信号有车速、转速和水温、燃油四个,都是通过传感器采集。其中车速信号和转速信号为频率信号,但不符合标准的脉冲信号,水温信号和燃油信号为电阻信号,是模拟信号,在送到单片机之前要对它们进行处理。1.车速(转速)信号车速信号和转速信号是通过传感器从汽车发动机相关位置取出,多以非接触方式获取,如用霍尔、电涡流等传感器获取。取出的信号为频率信号,但并非是标准的脉冲频率信号。根据取信号的位置不同,取出的信号有下面几种形式:(1)发动机飞轮齿取信号。信号比较稳定,杂波较少,最小峰值为1.5V,高温时幅值较大。如图2.5所示。(2)点火线圈取信号.点火时出现瞬时高峰值,最大值可达300V,紧接着迅速衰减。如图2.6所示。(3)发电机取信号。又可以分相线和中性点取信号两种,相线取信号类似方波,但是有尖峰干扰信号,必须作前级滤波处理,如图2.7所示。中性点:直流成分较大,高频成分较多,必须作前级滤波处理。如图2.8所示。比较上面三个信号的特点,结合系统对输入脉冲信号的要求,决定从发动机的飞轮齿取信号。因为它的信号由专门时传感器产生,信号较好,谐波分量少,更稳定,更规则,幅值大于1.8v,虽不完全是较好的频率信号,但很接近于正弦波,只要经过滤波、整形等处理,很容易得到系统所要求的脉冲波形。2.水温信号通过传感器采集来的水温属于电阻信号,要进行滤波处理和A/D转换才能送入单片机.最后通过单片机处理,显示在LCD液晶屏上。3.燃油信号通过传感器采集来的燃油属于电阻信号,要进行滤波处理和A/D转换才能送入单片机.最后通过单片机处理,显示在LCD液晶屏上。2.2.3单片机电源和供电模块系统的电路由于有模拟电路和数字电路两部分,电源的要求也会不同。通常模拟电路的电源为+12V.要求不太高,经过一般稳压即可;数字电路的电源则不同,一般电路为+9V,可以用集成稳压电源实现,CPU则为+5V,而且要求相当严格,可以采用开关稳压电源实现,尤其是脉宽调制型开关稳压器件组成开关的开关电源,具有体积小效率高、外围元件少、应用简单、输出电压可调、误差小、输出电流大、转换速率快、保护功能强等特点,特别适合于给单片机供电。本系统中用三端稳压(7805)IC来组成稳压电源所需要的外围器件极少,IC型号后面的数字代表该三端稳压IC电路的输出电压,7805表示输出电压为+5V,电路内部还有过流、过热和调整管的保护电路,使用起来方便、可靠,价格便宜2.2.4单片机模块单片机模块是整个系统的核心,完成以下功能:输入数据的采集转换并驱动表头、驱动液晶显示里程、按键处理、系统标定等所有功能。根据系统的要求和现实的考虑,选用宏晶公司生产的STC12C5A08AD通用单片机。STC12C5A08AD单片机简介STC12C5A08AD是由宏晶公司生产的和Atmel公司生产的AT89C52性能相当的一种8K字节可编程可擦除只读存储器(FPEROM-FalsbProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS位微处理器,俗称单片机。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和可编程存储器组合在单个芯片中,它是一种高效微控制器,为很多嵌式控制系统提供了一种灵活性高且价廉的方案。和Intel公司的MCS-51系列单片机相兼容,是广泛应用的单片机之一。图2.9STC12C5A08AD的结构图2.2.5LCD显示模块由单片机控制HT1621B芯片驱动LCD显示燃油、水温、里程小计和总里程,HT1621是一个128(32*4)点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,命令模式包括一个系统配置命令,一个系统频率选择命令,一个LCD配置命令,一个声音频率选择命令,一个定时器/WDT设置命令和一个操作命令,数据模式包括READWRITE和READ-MODIFY-WRITE操作,操作模式类型码READ数据110WRITE数据101READ-MODIFY-RITE数据101COMMAND命令100模式命令应在数据和命令传送前运行,如果执行连续的命令,命令模式代码即100,将被忽略,当系统在不连续命令模式或不连续地址数据模式下,管脚/CS应设为1,而且先前的操作模式将复位,当管脚/CS返回“0”时,新的操作模式类型码应先运行。2.2.6串口通信模块单片机的串口通信模块主要是用于扩展单片机的功能,使其功能更加强大,操作更加方便,在有串口通信模块的情况下,可以实现在电脑上直接对整个系统进行操作,如监控该系统,直接获取相关信息到电脑上,如车速,温度;也可以在计算上直接对该系统单片机进行读写控制,如可以直接写入本设计需要的程序,直接控制直流电机转速,直接控制与测温相关的温度调节。串口通信模块最主要的功能是用于后续功能扩展,以使单片机具备更多的功能。本系统中用的是SPI接口模式的HT93LC66芯片,SPI接口需要两条控制线(CS和SCLK)和两条数据线(DIN/SDI和DOUT/SDO)。在这里从从设备的角度出发说明三线接口的数据线。DIN是从设备的数据输入线,DOUT是从设备的数据读出线。这里我们使