DLE发动机说明

最近项目中用到了DLE发动机作为前拉动力。在设计程序时,主要有两个方面,一是发动机的自动启动/停止逻辑,二是获取发动机反馈的数据。
首先介绍与发动机电喷系统的通信。根据数据协议,与发动机电喷系统通信为RS232通信,且为应答式通信,控制端需要定时发送协议数据,随后发动机端定时反馈发动机实时数据。
在这里插入图片描述
程序设计时,用一个线程定时与发动机电喷系统通信,并解析发动机反馈的实时数据(采用判断数据帧头的方式),在设计发动机自动启动时,需要用到发动机实时转速数据。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

而在设计发动机自动启动/停止逻辑时,思路为,由于自动启动/停止本质为控制两个GPIO口接通/断开。启动时,通过拉高GPIO口驱动板载继电器,从而接通发动机端启动继电器,待发动机启动完成,断开发动机端启动继电器,用以下次循环启动。而停止时,通过拉高GPIO口启动板载继电器,使发动机端转速反馈信号接地,从而使发动机端用于控制的转速信号为0,使发动机停止,待发动机完全停止后,断开GPIO口,用以下次循环启动。因此需要设计两个标志位,来代表实时状态,即发动机启动时,设置启动和停止标志位分别为beigin_start_flag=1;begin_stop_flag=0;而在发动机停止时,与其互斥,即beigin_start_flag=0;begin_stop_flag=1;而在距离逻辑实现时,只要以各自的标志位作为判断条件即可。

if(beigin_start_flag==1)
{
//这里写入发动机自动启动逻辑
}
else
{
//局部变量清零,使发动机启动可以循环多次
}
if(beigin_stop_flag==1)
{
//这里写入发动机自动停止逻辑
}
else
{
//局部变量清零,使发动机停止可以循环多次
}

代码实现如下图所示,需要注意根据发动机实际情况,更改发动机转速判断值,进而达到使发动机一次就能启动的情况。(注意控制发动机进气门)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值