1

我正在开发一个 Android 应用程序,我们使用 OBDII 读取汽车的发动机参数。目前,我们在驾驶汽车时实时获取速度 (kmh)、发动机的 RPM 和质量气流。我们现在必须找到一种方法,如何使用我们能够从 OBDII 获得的这些参数来确定当前设置的档位。我想只是指定例如给定 RPM 水平和给定汽车在特定档位上行驶的速度,但我认为它不会起作用。

也许你们中的一些人在这个领域有一些经验——我会非常有帮助的!

4

2 回答 2

0

没有任何先验物理知识(即知道是否有任何公式可以从一组输入参数计算齿轮),您可以利用数据挖掘领域。

您只需计算大量数据(包括齿轮!),然后检查是否有可能找到一个公式,包括您认为可能相关的渠道,从而足够频繁地为您提供正确的齿轮(您的选择频率可能是90% 或 99%)。

除此之外,我想说很难找到一个对每辆车有效的公式,以及您的输入参数(发动机转速、空气质量流量、以公里/小时为单位的速度)。问题是,以公里/小时为单位的实际速度也取决于车轮尺寸等。而且我不知道是否所有的变速器都使用相同的传动比(可能不是,因为我们有 5 个齿轮的变速器,等等 6 个齿轮)。因此,测量发动机的转速可能会导致车轮上的转速完全不同,每辆车的直径可能完全不同。

于 2015-05-12T07:39:53.340 回答
0

因此,对于处理相同问题的未来用户:实际上将当前速度除以当前 RPM 就足够了。通过这样做,在特定档位上行驶,您将获得一个恒定值(+- 一些小错误值)。

这意味着如果您的汽车有 5 个档位,您可以要求用户在每个档位上校准设备,这意味着当用户在特定档位上行驶时(无论在哪个 RPM/速度级别上),当前速度通过当前 RPM 将为您提供一个恒定值。如果您在特定齿轮上使用不同“级别”的 RPM 和速度来计算这个常数,它会给您一些小的错误值(假设错误为 0,001)。例如,在 2 档,您将得到常数 = 0,02 +- 0,001。在每个齿轮上定义这样一个恒定值,您几乎可以肯定地通过简单地将当前速度除以当前 RPM 并检查该值适合哪个齿轮的恒定值(+-错误值)来分类您当前正在驾驶的齿轮。

我测试了它 - 它工作得非常好;)。

于 2015-05-23T15:08:37.547 回答