【问题标题】:How to program a CAN-BUS arduino shield to control car windows?如何编程 CAN-BUS arduino shield 来控制车窗?
【发布时间】:2014-04-07 20:12:40
【问题描述】:

我的项目是使用语音识别来控制车窗。我已经使用 EasyVR arduino shield using 和 arduino MEGA 成功控制了一些 LED。现在我想使用 CAN-BUS arduino shield 来控制窗户。

因为我拥有的汽车没有 OBD-II 连接器,所以我使用了两个带有两个 CAN-BUS arduino 屏蔽的 arduino,一个作为发送器,另一个作为接收器。现在我不知道如何编程 CAN-BUS arduino shield 来模拟汽车的窗户?

我正在使用的 CAN-BUS 屏蔽:https://www.sparkfun.com/products/10039

Arduino 超级:https://www.sparkfun.com/products/11061

【问题讨论】:

标签: arduino voice-recognition can-bus


【解决方案1】:
  1. CAN 总线是一种通信协议(类似于 RS485,但更可靠)。它本身不控制任何东西。
  2. 如果通过 I/O 控制车窗、大灯或其他设备,并且 I/O 与 CAN 总线通信,那么您可能能够控制车窗、大灯等。
  3. 用于 Arduino 的 CAN 总线屏蔽具有 Microchip MCP2515 CAN 控制器和 MCP2551 CAN 收发器,因此您不需要其中 2 个。

我们正在与同事合作进行电动汽车项目,我们能够使用 Arduino 和 CAN 总线扩展板进行监控。

如果你想控制窗口,我会考虑尝试这个设置:

  1. 断开窗户与按钮和电源的连接。
  2. 放2个继电器,有H桥(上下移动)来控制车窗电机http://www.ebay.com/itm/1pcs-5V-2-Channel-Relay-Module-for-Arduino-PIC-ARM-DSP-AVR-Electronic-/261099571172?pt=LH_DefaultDomain_0&hash=item3ccabf47e4
  3. 放置一些限位开关,在窗户关闭或完全打开时打开继电器。
  4. 使用 Arduino 控制这些继电器。

在我看来,这将是最简单的方法。而且你不必去扔 CAN 总线。

编辑 还提供一些汽车规格。如果它没有OBD II插座可能不是新的,所以我猜是用按钮控制窗户。

【讨论】:

    【解决方案2】:

    CAN shield 既可以是接收器也可以是发射器,您不需要其中的两个(除非您将两个网络桥接在一起。

    不幸的是,操作窗口不是标准消息。事实上,窗口控制器实际上可能位于LIN 总线(不是 CAN)上。我不确定是否有 LIN 屏蔽,但它是relatively simple physical layer 芯片和 UART,所以你应该能够安装一些东西。

    那么你将不得不对消息进行逆向工程......

    如果您可以从维修手册中了解 CAN/LIN 总线的外观,您应该能够找到接入正确总线的地方。

    然后监视总线并操作窗口开关以查看是否出现新消息,或者常规消息中的某些特定位是否发生变化。消息中通常会有序列计数器和校验和,您还必须了解它们才能正确重播适当的消息。

    【讨论】:

    • 好的,CAN BUS 无法访问汽车的窗户,它可以控制什么?例如,CAN BUS 可以控制大灯、雨刷或空调,控制它的信号是什么?谢谢
    • 可能控制窗口,它可能不会。在任何情况下,都没有标准命令来控制汽车上的任何东西。有标准的 OBD 诊断命令来询问 ECU,但每个平台上的控制和传感机制都不同,而且车辆制造商会随心所欲,因此您必须对其进行逆向工程。恐怕只有在相当现代的车辆上才能控制空调、雨刷等设备。
    【解决方案3】:

    Windows 由作为 CAN SUB BUS 的 LIN BUS 控制。它是串行单线通信。最简单的方法是在您的 Arduino 上使用 lin 收发器芯片,这样您就不会打扰自己检测中断,只需在 Rx 中接收并在 tx 中发送。然后你需要监听LIN Bus并检测打开或关闭窗口时使用的ID,一旦检测到ID和数据包数据,你就可以重放它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-01
      相关资源
      最近更新 更多