首页 > 范文大全 > 正文

CAN总线发动机转速监控显示系统

开篇:润墨网以专业的文秘视角,为您筛选了一篇CAN总线发动机转速监控显示系统范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对于汽车技术上出现的通信量大、电气系统通信技术的缺点等缺陷,重点研究了can总线智能节点的设计和实现。通过P87C591微处理器对步进电机进行控制和利用CAN接口进行数据传输,将数据传送到CAN总线上,而且完成了从信号的采集到显示以及控制系统和传输系统的软硬件设计,实现了CAN总线的数据传输,使通信速率和容错性大大提高。

关键词:CAN总线;步进电机;单片机;发动机转速

DOI: 10.3969/j.issn.1005-5517.2012.9.014

引言

随着汽车中电气设备的不断增加和新型电子通信产品的出现,汽车的信息以及综合布线的共享也要有更高的要求,在通常情况下,其电气系统采用点对点的单一通信方式,这样的话就增加了汽车的重量和复杂度,而且实时性也不高,汽车的数据也不能共享,因此解决现代汽车中电子仪表和众多控制装置之间数据交换的问题,以及车载电子装置之间的数据通信就显得尤为重要,而CAN总线作为现场总线的一种就满足了上述要求[1]。

文章中,主要针对以上缺点设计了一种基于CAN总线的发动机转速监控显示系统装置,该装置通过利用单片机驱动步进电机显示转速并利用CAN接口进行数据传输,将数据传送到CAN总线上,使通信速率和容错性大大提高,能够实时监控发动机的转速情况,而且提高了测量精度、显示精度和测量的实时性,克服了机械式显示仪表无法回避的缺点[2]。

控制局域网CAN总线的系统研究

在该设计的系统中,采用了P87C591单片机作为微控制器,它主要是结合了SJA1000和P87C554(NXP微控制器)的功能,智能节点由该主控制器和82C250型总线收发器组成,而微控制器在控制着总线接口的同时也在控制着步进电机驱动器,以此来驱动步进电机显示转速。另外,微控制器还控制着CAN接口,将采集到的数据发送到CAN总线上,并且接收其他CAN节点的信号,通过上述操作来完成数据的传输和显示转速的功能。

系统的硬件设计

基于CAN总线的发动机转速显示系统主要是通过主控制器P87C591来进行主要控制,以此来实现CAN总线的传输功能。在此系统中主要有两部分,首先是主控制器P82C591控制着步进电机驱动器,用步进电机驱动器来驱动步进电机,之后是控制CAN收发器82C250进行数据的发送,最后再由CAN总线将数据传输到另一个CAN收发器和控制器中,在这个电路中由步进电机来驱动指针显示发动机的转速[3],并完成CAN总线的数据传输,同时来检验数据传输是否正确,因此在这里主要的硬件设计介绍如下。

微控制器P87C591的设计

控制器P87C591主要是采用了80C51的指令,另外它包括了SJA1000CAN控制器中的PeliCAN功能,它还增加了一下其他的功能,主要集中在增强的CAN总线接收中断、扩展的验收滤波器和验收滤波器可在运行中改变等功能,另外,PeliCAN寄存器可以直接由CAN特殊功能寄存器进行访问[4~5]。

在此给出该控制装置的结构示意图如图1所示。

通讯模块的电路设计

在CAN总线的设计中,非常重要的一点就是CAN总线节点连接电路的设计,为此给出了微处理器与收发器的连接和收发器与CAN总线的设计连接图,详见图2所示。

其中CAN收发器82C250与CAN总线的接口部分采用了一定的抗干扰和安全措施,82C250的CANH和CANL引脚各自通过一个5Ω的电阻R1和R2,然后他们再与CAN总线相连,这两个电阻可起到一定的限流作用,它们和5Ω的电阻R3共同保护82C250免受比较大的电流的冲击。CANH和CANL与地之间并联了两个30P的小电容C2和C3,这两个电容可以起到滤除总线上的高频干扰并起到了一定的防电磁辐射的作用。另外,在地和两根CAN总线的接入端之间分别反接了一个保护二极管,当CAN总线有较高的负电压通过时,二极管的短路也可以起到过压保护的作用,其中C1和C4也是30P的小电容。

步进电机驱动模块

步进电机的驱动可以通过步进电机驱动器来控制,因此在这里选择了步进电机驱动器M-SX12.017,该驱动器是一个有四通道的单片CMOS集成驱动器,它能够接收主控制器发来的脉冲信号,并将接收到的信号转换为具有一定频率的电平序列,该驱动器可以同时驱动四个步进电机正反旋转,带动指针指示实际测量值[7]。

步进电机采用为汽车仪表指示和其他指示设备设计的大扭矩、低功耗、精密的步进电机,其型号为微型步进电机M-SX15.168,它的步进马达需要两路逻辑脉冲信号驱动[8],可工作在5~10V的脉冲下,输出转角为315°,最大驱动频率为1100Hz,针轴最高的速度可以达到600°/s,输出轴的步距角最小可以达到1/12°,因此它可以用分步模式或微步模式驱动。

串口通讯电路

将编写好的程序通过电脑下载到单片机上,在这之间采用RS232串口来实现数据的传输。其中最为主要的是将HEX文件通过STC软件进行下载,而对于P87C591来讲,它是一个全双工的串行通讯口,因此单片机和电脑之间可以进行串口通讯。

图1 结构示意图

图2 CAN总线的设计连接

图3 主程序流程

图4 CAN初始化流程

系统的软件设计

要在系统中实现对发动机转速的监控和显示以及通过CAN总线进行传输的功能,就必须对其进行软件的设计和优化,因此该装置的软件设计主要集中在主程序模块、CAN总线通讯模块和表头驱动模块三部分。

系统的程序流程

具体的主程序流程图如图3所示。

CAN总线通讯模块的设计

在总线节点的软件设计中分为两个部分,一部分是初始化,即CAN控制器的初始化和单片机的初始化,另一部分是实现节点完成数据采集和对执行机构的控制功能。这里重点给出了CAN总线的初始化和节点数据采集等设计工作,CAN初始化处理编程的流程图如图4所示。

对于初始化结束之后,进行数据的采集和处理。主要是对转速的采集和数据处理,由于在工作时步进电机必须保持步距角的恒定,要是采集的频率选择不好的话,就会引起仪表指针的抖动,因此要使指针能够平滑地转动,而且转速是频率信号,并且变化较快,所以选择采样频率为4Hz,采用周期为250ms。

表头驱动模块设计

当驱动时间间隔到达时,中断程序就会被触发,驱动间隔计数器清零;当前指针的位置与由采样程序算得的理论值相互比较,如果相等则不作驱动;如果当前值大于理论值,那么驱动指针逆时针走一微步,并且执行当前值减1,如果当前值小于理论值,驱动指针顺时针走一微步,并且执行当前值加1,然后返回系统程序,由主循环安排定时循环。

结束语

(1)把CAN总线引入到汽车仪表显示检测中并利用CAN总线的通信速率高、容错性强的特点,提高了现场数据通信的可靠性和实时性,并且节约和简化了汽车的总体布线。

(2)主控制器作为监控显示系统的核心,可以很大程度提高测量精度和测量的实时性,并且可以克服机械式仪表无法回避的缺点。

(3)本文用步进电机来代替传动的动磁式和动圈式机芯作为驱动装置,可以大大提高显示精度,而且可以减少指针的抖动。