APP下载

基于单片机的捣固车油门控制系统的设计与实现

2022-09-09夏志鹏

电子技术与软件工程 2022年13期
关键词:油门中断车速

夏志鹏

(国家能源集团铁路装备有限责任公司神维分公司 天津市 300467)

1 捣固车控制系统研究

捣固车控制系统流程:

本文在此基础上研究导航的自动驾驶系统,通过系统实现捣固车的自动巡航,状态判别等,整体系统流程如图1 所示。

图1 :整体流程设计

捣固车自动驾驶系统是根据读取GPS 传输的位置信息,确定车辆初始位置及列车状态,同时将采集到的信息发送给单片机。单片机根据设计中的卡尔曼滤波算法,对不同传感器采集到的信息进行融合计算,得出更精确的定位信息。通过主芯片输出的PWM,驱动捣固车发动机按照不同的速度等级输出功率,使用S 曲线算法控制车辆速度,以及实现加速、匀速、减速等功能。当车辆在自动驾驶功能使用中,出现超速现象,在报警后仍无人为操作的情况下,立即施加制动效果退出系统,直至停车。

2 捣固车控制系统的硬件模块设计

2.1 捣固车控制系统的硬件设计

本系统的主要作用是通过传感器对捣固车的速度进行采集处理,本系统的硬件结构是基于组成部分为速度传感器为主的速度采集部分,MCU 控制和采集部分,系统复位电路以及串口通信模块,电源和时钟传感器模块组成。

2.2 系统硬件总体设计

控制系统结构简图如图2 所示。

图2 :控制系统结构简图

在整个系统中,利用速度传感器的方式对电压信号进行采集,然后利用MCU 的AD 转换模块对信号进行转换,从而得到数字信号,通过计算数字信号对应的数值可以转换为对应的数字信号处理该信号,根据转换的速度数值跟阈值进行比较最后完成对捣固车的控制。

2.2.1 MCU 模块设计说明

STM32 为32 位微处理器,MPU:STM32F103RCT6,并且STM32 具有ADC 模拟数字转换功能,相对于FPGA和51 单片机具有巨大的优势。

STM32F10 内部含有一个设备控制器USB,这个USB的架构为通用的全速设备标准,这个USB 端口可以通过软件进行配置,包括的功能有系统待机和唤醒端点可由软件配置。

STM32F103RCT6 集成了数字模拟信号和模拟转数字的信号转换器,其中模拟转数字不同,在电路内部中,共有3 个AD 转换器,可以将数字信号转换成模拟信号。在使用scan 扫描时,可以完成选定的模拟信号转换,通过自适应的方式。

2.2.2 电源控制模块

供电电压选用12V 的外接电压,通过电压转换转化为5V 和3.3V 的电压,其中5V 电压为速度传感器提供供电,并且为3.3V 的供电模块提供电压。5V 供给速度传感器。当把电路的电压从12V 转换成5V 时,使用DC-DC 的12V-5V降压电路。

该电路具有较高的耐电流性和负载能力,其体积比较小。对于其主芯片LM12003 而言,可以实现电磁屏蔽,从而降低外部因素的影响,提高电源的稳定性。

为了产生3.3V 的电压,本文选用了较为常见的ASM1117 模块进行电压的转换,考虑到电源功率、减少电路的复杂程度和相互干扰,通过AMS1117-3.3V 来提供3.3V供电,输入电压得范围4.55V~12V 之间,固定输出电压为3.3V,整个系统具有高效性的特点。

2.2.3 传感器模块

测速装置在捣固车控制系统中战友非常重要的地位,对测速装置的要求的分辨能力强、高精度和尽可能短的检测时间。本文速度传感器采用的是霍尔传感器。

霍尔传感器元件安装在车轴齿轮箱上,用磁场作为车轴传动的运动和位置信息载体。

当该霍尔器件处在任何极性的恒定磁场中时,其上的两个霍尔传感器将产生同样的输出信号。无论该磁场的绝对强度有多大,它们之间的差值总为零。如果两个霍尔单元之间存在磁场梯度,那么将产生一个差值信号,并在芯片上放大。

2.2.4 RS422 串口通信模块

本系统中采用422 串口与外界通讯。单板加入两路RS-422 串口,一方面是为了调试方便,在调试过程中通过RS-422 串口查看电路板是否正常工作;另一方面主要是为了控制系统与其他设备之间的通信,将系统探测激光的结果传输给其他设备,供其他设备或系统做出相应调整和应对。

2.2.5 外部晶振和JTAG 下载电路

MCU 有一个X1 和X2 的IO 口可以接一个外部无源晶振作为系统的振源,晶振频率选择了24M,为常用的频率,选择22pf 的电容作为滤波电路来实现。

JTAG 的下载电路由七个信号连接到MCU 对应的JTAG(又称为联合测试小组,是JTAG 协议制定的组织)配置管脚进行程序的下载。

2.3 油门控制电路设计

油门控制电路的功能是实时监测油门拉杆的位置,并且当驾驶员误将油门拉杆推到最高位时,它能够及时的将加速信号变为怠速信号。RP1 和RP2 为安装在油门拉杆上的油门位置传感器。油门位置传感器中含有滑动变阻器,油门拉杆的转轴是与传感器内部滑动变阻器的电机连接,当油门拉杆位置发生变化时,电机的位置也发生改变,从而使油门位置传感器输出的电压信号发生变化。

在STM32 中,主控芯片2 的作用就是将油门控制电路的各个模拟信号进行收集,然后以此为基础得到了模拟量传感器的采集电路。从整体上看,该电路的作用是搜集油杆位置传感器中的信号,然后将得到的信号传递给主控芯片1,由该芯片中的ADC 模块进行处理,从而得到数字信号。

2.4 发动机转速监测电路设计

从整体上看,发动机转速检测电路的主要作用是对捣固车发动机的转速进行采集。NH60 霍尔转速传感器,利用监测电路,可以对脉冲信号进行滤波和整形,从而得到平稳标准的矩阵波。

通过分析霍尔传感器的原理可以发现,齿轮的转速、齿数会直接影响到电压的信号频率。如果齿数保持不变,此时输出电压频率越高,齿轮的转速也就越高,具体关系如下式:

F=R×n

在上述公式中,R 是发动机转速,n 为齿数,F 为电压信号频率。

2.5 档位监测电路设计

在STM32 主控芯片1 中,需要以驾驶员的理想速度作为基础来进行分析。其中,理想行驶速度主要是以捣固车的挡位、油门拉杆的位置为基础通过计算而得到的,然后以此为基础,得到捣固车档位监测电路。不论是分流电阻,还是分压电阻,其都是为了对光电耦合器进行保护。若光电耦合器处于导通状态时,利用电阻分流的方式对主控芯片进行保护;如果光电耦合器处于截止状态时,电阻是下拉电阻,此时主控芯片1 的引脚连接地面,此时输出的信号是低电平信号。

在捣固车中,其使用的档位监测器是DW02。在主控芯片1 中,其PA0 端输入的电平是高电平。反之,如果DW02的D1 引脚输出的电平为低电平时,此时在TLP521-1 光耦合器中,其内部发光二极管则处于截止的状态,3、4 端属于开关断开状态。在主控芯片1 中,其是以DW02 的4 根导线作为基础,按照其输出的高低电平组合决定档位。为了降低监测器对电路的影响,将对监测器进行输入隔离和输出隔离。其中,表1 表示的各个档位的参照表。

表1 :档位参照表

2.6 CAN总线技术

在对捣固车油门控制系统进行硬件节点设计时,主要构成的模块包括传感器模块、电源模块、中央控制处理器、CAN 控制器模块设计以及CAN 总线通信模块。在整个捣固车中,都是利用中央控制处理器,最终传送到CAN 总线中,然后利用通信模块将相关的信息传递给CAN 控制器,此时控制器对控制指令进行判断,然后将其进行传递,达到各个节点。而对于各个传感器而言,其节点也会利用CAN 总线将传感器状态传递给中央处理器,然后对数据信息进行处理,传递给单片机。

CAN 总线控制图如图3 所示。

图3 :CAN 总线控制图

3 系统算法及软件设计

本文控制系统目的是为了实现行驶阻力(坡度信号,默认钢轨与柜面摩擦系数为0)的变化自动调节发动机节气门开度,使行驶车速保持恒定,并根据速度传感器反馈的捣固车实际速率对车速进行调整或选择退出本系统,转由驾驶员手动控制。

3.1 系统软件的总体设计

如图4 所示,当捣固车巡航控制系统启动后,程序进入初始化阶段。单片机一直检测是否有按键按下,当开关键按下后,液晶显示屏上显示当前车速巡航车速,当巡航车速为0km/h 时,系统处于非工作状态。当按下设定键后,检测档位是否在4 档,判断车速是否在40km/h-80km/h 之间,若是,则设置巡航车速即为当前车速;若不是,则系统关闭。当车速设置为当前车速时,系统打开,S 曲线算法控制开始调整车速。此时,按下加速(或减速)键,巡航车速没检测到一次信号就增加(或减少)1km/h,捣固车恒速巡航;此时,如果系统检测到取消键、开关键、模拟油门动作的按键中的任何一个按键信号,系统就会自动进入关闭状态,捣固车车速开始进入由驾驶员控制的状态。当车辆超出设定速度,发动机转速过高,检测到红灯或黄灯信号时,车辆报警提醒驾驶员采取对应措施。

图4 :系统软件流程图

3.2 CAN总线模块程序设计

CAN 初始化配置包括对系统时钟配置、输入输出配置和CAN 配置,其中 CAN 配置主要是对CAN 寄存器、内核、工作模式、滤波器进行设置。CAN 总线采用的是一种短信息帧结构,数据帧一次可发送字节数最大为8 个,在控制器的软件程序中,打开了CAN 模块的中断,主要有接收中断和发送中断。与接收相关的中断有接受中断、中断唤醒、接收器溢出中断、接收器警告中断和接收器错误被动中断。与发送有关的中断有发送中断、发送器警告中断、发送器被动错误中断和总线关闭中断。

CAN 数据程序图如图5 所示。

图5 :CAN 数据程序图

3.3 PWM子程序设计

捣固车油门控制系统中的STM32 需要输出一组PWM控制信号。STM32 芯片具有八个16 位定时器,本设计的模块仅用TIM3 产生一路PWM 输出,来控制电机的转速。产生主要用到三个寄存器,分别是:捕获/比较模式寄存器、捕获/比较使能寄存器、捕获/比较寄存器。其中将者3 位模式设置该寄存器的值与计数器的值进行比较,根据比较结果产生相应的动作。通过修改寄存器的值就可以控制PWM的输出脉宽了。

本设计用脉宽调制(PWM)工作模式,即单片机由RP1引脚输出脉冲宽度随时可调的PWM 信号,通过改变占空比来控制电机的转速。PWM 信号的周期可以通过向PC2 中写入数值来人为设定,该周期的计算。

3.4 模拟量采集子程序设计

在STM32 使用ADC 模块时,它需要对模拟量进行不间断的采集,如果不采用DMA 方式,而采用中断的方式对采集到的模拟量进行处理,效率不够高。因此在模拟量采集程序中采用DMA 传输方式,由DMA 把ADC 模块转换的数字量传输到SRAM 中,然后在进行处理。模拟量采集子程序主要完成以下程序的编写,首先是ADC 配置程序和初始化程序,开启扫描模式,用于多通道扫描,开启连续转换模式,对ADC 数据不停进行转换,采集数据对齐,初始化ADC,配置ADC 的通道0、1 为55.5 个采样周期,复位校准器等待校准寄存器复位完成,等待校准完成。

3.5 无迹卡尔曼滤波器设计

由于捣固车只沿轨道行驶,不会发生侧滑、颠簸等情况,运行速度始终沿着轨道切线方向,因此在坐标系中,车速的前向速度分量等于车速。

车辆位置速度计算流程图如图6 所示。

图6 :车辆位置速度计算流程图

系统通过获取GPS 位置信息,忽略地球自转的影响,接收GPS 信号,如果GPS 接收的信息有效可靠,单片机处理机的主要任务是通过GPS 接收机采集数据,根据GPS 接收机的信息解算出捣固车的初始位置,同时通过速度传感器获取目前捣固车车速,此时,则利用卡尔曼滤波算法将信息进行计算,得到准确的位置姿态。对比车载机车监控记录装置位置信息,正确校正车辆与信号机之间的位置。

3.6 S曲线算法及PID算法分析

4 研究与展望

本文对捣固车控制系统需要运用到的传感器和传感器算法进行研究,包括速度的修正算法以及改进算法研究和捣固车控制系统的算法研究。设计了测试系统,并完成了控制部分的硬件设计,硬件搭建后软件系统的运行流程,整体算法可行,满足设计要求。

猜你喜欢

油门中断车速
驾哥
汽车改装车上装油门的几种控制方法
2012款奔驰R300车修改最高车速限制
跟踪导练(二)(5)
千里移防,卫勤保障不中断
北京现代途胜车车速表不工作
两车直角碰撞车速计算方法及应用
道路交通事故中车速计算方法及应用
误将油门当作刹车的防错装置
AT89C51与中断有关的寄存器功能表解