Arduino OBD II 适配器


产品简介

 

OBD-II URAT适配器能将UART数据传输到OBD-II上。适配器的车辆实时输出数据是接入OBD-II端口和稳压电源的,接入的电源能够保证Arduino和附属的其他设备正常工作。此适配器可和Arduino或其它5V微控制器一起使用。

OBD是车载自动诊断系统的英文缩写,它是汽车行业的专业术语,表示汽车自我诊断和报告的能力。OBD系统能让车主或维修技工了解到汽车各种子系统的健康状态。自上世纪80年代发明了车载计算机后,OBD就得到了广泛的应用,而通过OBD所输出的诊断信息的形式也相继变得多样化。

 

第二代OBDOBD-II)用于控制汽车排放量,它通过运行电脑系统来达到一系列标准。它于1994年首次引入美国,并成为1996年美国新生产车辆中的必备系统。加拿大,欧盟部分地区,日本,澳大利亚,巴西等其他国家也采取了类似做法。大多数的现代车都支持OBD-II或者OBD系统。

 

OBD-II要求每辆车都应装有标准诊断连接器(DLC),并且能够用标准方式来描述它同汽车的计算机(电子控制单元)通信。大部分信息能够通过接入OBD总线来获取,包括故障指示灯的状况(MIL),诊断故障码,检查与维修信息,冻结帧,车辆识别号码,各种实时参量等。

特点

 

基于STM32的单芯片(CAN 版本)

内置直接插入汽车OBD-II端口的OBD接头

支持CAN总线(大多数现代车都使用OBD),J1939J1850ISO9141

2孔型Rx/Tx接头,能轻易连接ArduinoUART接口

2孔型电源接头,可提供反向保护的5V直流电(电流最高可达500毫安)

可扩大的Arduino数据库,能显示车辆数据,并可供Arduino板使用

 

技术规格

 

大小:72x48x28毫米

质量:70

电线长度:1

 

硬件简介

适配器的插入OBD端口通常在方向盘下方或略向左的位置。

Arduino OBD II 适配器_第1张图片Arduino OBD II 适配器_第2张图片Arduino OBD II 适配器_第3张图片

在另一端,4线(6线模型B)率领的适配器到2(3为模型B)连接器如下图所示(单独或一体机连接器需要额外提供)

Arduino OBD II 适配器_第4张图片Arduino OBD II 适配器_第5张图片

数据线定义:

黄色:Tx(连接到 Arduino’s UART Rx/ D0)

蓝色:Rx(连接到Arduino’s UART Tx/ D1)

红色:VCC (连接到Arduino’s VCC)

黑色 (或绿色):GND (连接到Arduino’sGND)

灰色:SDA(仅提供于模型B)

褐色:SCL(仅提供于模型B)

 

当连接在一个Arduino,黄线应该连接到D0(ArduinoUART Rx)和蓝线D1(ArduinoUART Tx)。电源线可以连接任何ArduinoVCCGND的引出线,这样Arduino电路板就会被供电,而不需要额外的外部电源输入。

 

关于库

 

一个专用的Arduino用来开发和维护,提供一组易于使用的API来检索实时数据从车辆。

 

下面的示例代码是一个简单的发动机转速指示器,它使用13 LED(建在每个Arduino电路板)表明是否引擎是高于5000 RPM

 

#include<OBD.h>

COBD obd;

void setup()

{

  // we'll use the debug LED as output

  pinMode(13, OUTPUT);

  // start serial communication at the defaultadapter baudrate

  Serial.begin(OBD_SERIAL_BAUDRATE);

  // initiate OBD-II connection until success

  while (!obd.Init());

}

 

void loop()

{

  int value;

  // save engine RPM in variable 'value',return true on success

  if (obd.ReadSensor(PID_RPM, value)) {

    // light on LED on Arduino board when theRPM exceeds 5000

    digitalWrite(13, value > 5000 ? HIGH :LOW);

  }

}

 

当前版本定义的PID

 

Vehicle speed(PID_SPEED)  //车速

 

EngineRPM(PID_RPM)       //发动机每分钟转速

 

Throttleposition(PID_THROTTLE) //节流阀位

 

CalculatedEngineload (PID_ENGINE_LOAD) //理论发动机负荷

 

AbsoluteEngineload (PID_ABS_ENGINE_LOAD) //绝对发动机负荷

 

Enginecoolanttemperature (PID_COOLANT_TEMP) //发动机冷却液温度

 

Intaketemperature(PID_INTAKE_TEMP) //进气温度

 

IntakeMAP(PID_INTAKE_PRESSURE)//进气压力

 

MAFflowpressure (PID_MAF_FLOW)//最低听阈流动压

 

Fuelpressure(PID_FUEL_PRESSURE) //燃油压力

 

Fuellevel(PID_FUEL_LEVEL) //燃油油位

 

Barometricpressure(PID_BAROMETRIC)//气压

 

Ignition timingadvance(PID_TIMING_ADVANCE)//点火提前时间

 

Enginerunningtime (PID_RUNTIME)//发动机运行时间

 

Vehiclerunningdistance (PID_DISTANCE)//车辆运行距离

 

 

由汽车ECU提供的其他定义可以被添加到OBD-IIPID。完整的代码和库在GitHub.

 

你可能感兴趣的:(arduino,行业数据)