车辆遥测平台搭建指南
1. 硬件连接
在构建车辆遥测平台时,硬件连接是基础且关键的一步,下面为你详细介绍主要硬件的连接方式。
-
OBD - II 模块连接
:
- 将 OBD - II 串行连接的接地引脚连接到扩展板的接地端。
- 使用短跳线将 RX 引脚连接到 Mega 的 RX1,TX 引脚连接到 Mega 的 TX1。这两个连接对应 Mega 的第二个串行端口,即 “Serial1”(端口编号从 0 开始)。需要注意的是,虽然第一个串行端口技术上是 Serial0,但通常简称为 “Serial”。
- 无需连接串行连接器上的 VCC 引脚,因为我们不使用它为 OBD - II 模块供电,仅需连接接地、TX 和 RX 引脚。
-
GPS 模块连接
:
- 把 GPS 串行连接的接地引脚连接到扩展板的接地端。
- 同样使用短跳线将 RX 引脚连接到 Mega 的 RX2,TX 引脚连接到 Mega 的 TX2。这些串行连接对应 Mega 的第三个串行端口,即 “Serial2”。
- 由于 GPS 模块需要由 Arduino 供电,所以要连接 VCC 引脚。但因为使用的是工作在 3.3V 的 LS20031 模块,不能直接将串行 VCC 线连接到扩展板的 +5V,而需要使用短连接线将其连接到扩展板的 3.3V 引脚。
- 为避免混淆,建议在电路板上做标记,明确哪个是 OBD - II 接口(Serial1,无电源),哪个是 GPS 接口(Serial2,3.3V)。
2. 大容量存储方案选择
在 Arduino 项目中,数据存储是一个重要问题,以下为你介绍不同的存储方案及其特点。
|存储方案|容量|优点|缺点|
| ---- | ---- | ---- | ---- |
|内部 EEPROM|ATMega168 为 512 字节,328P 为 1KB,1280 为 4KB|非易失性存储|容量极小,仅适合存储通过 LCD 菜单输入的配置值|
|外部闪存芯片|1Mbit(128KB) - 4Mbit(512KB)|可存储更多数据|数据难以外部访问,无文件系统概念,需自行管理数据存储位置|
|MicroSD 闪存卡|可达数 GB|价格便宜、体积小、容量大,支持标准 SPI 连接|实现文件系统支持会耗尽 Arduino 资源|
|标准 USB 记忆棒|大容量|大容量、价格便宜、速度快、可移除,数据可通过标准软件访问|需特定芯片支持|
3. VDIP1 模块准备
在本项目中,我们选择使用标准 USB 记忆棒作为大容量存储设备,这得益于 FTDI 公司的 Vinculum VNC1L 芯片,而 VDIP1 模块则是搭载该芯片的理想选择。
-
模块特点
:VDIP1 和 VDIP2 模块都包含 VNC1L 芯片,区别仅在于 VDIP1 有一个 USB 接口,VDIP2 有两个。二者可运行相同的固件,且 VDIP1 包含第二个 USB 端口的所有连接,你甚至可以自行连接第二个接口。
-
固件选择与更新
:
- VNC1L 支持多种固件,本项目使用 FTDI 所称的 “VDAP”(Vinculum Disk And Peripheral)固件,它可作为 USB 主机连接其他 USB 从设备,如记忆棒和其他外设,并支持 FAT 文件系统。
- 若 VDIP1 模块预装了不同的固件,可从 www.vinculum.com 下载 VDAP 固件,将其重命名为 “ftrfb.ftd” 后放在记忆棒上,插入 VDIP1 模块并通电,芯片会自动搜索并更新固件。
-
通信模式设置
:VNC1L 支持串行 UART、SPI 和并行 FIFO 三种通信模式,本项目使用串行 UART 模式。通过设置板上一对 3 针引脚的跳线,将两个跳线置于下拉(左)或上拉(右)位置即可选择 UART 模式。
-
引脚连接
:在 UART 模式下,VDIP1 的引脚定义如下表所示:
|引脚|名称|类型|描述|
| ---- | ---- | ---- | ---- |
|6|TXD|输出|Tx 数据输出|
|8|RXD|输入|Rx 数据输入|
|9|RTS#|输出|请求发送(低电平有效)|
|10|CTS#|输入|清除发送(低电平有效)|
|11|DTR#|输出|数据终端就绪输出(低电平有效)|
|12|DSR#|输入|数据集就绪输入(低电平有效)|
|13|DCD#|输入|数据载波检测输入(低电平有效)|
|14|RI#|输入|振铃指示输入(低电平有效)|
|15|TXDEN#|输入|启用 RS485 Tx(低电平有效)|
对于 OBDuinoMega,仅需使用 TXD、RXD、RTS 和 CTS 连接,可忽略引脚 11 - 15。此外,还需关注 VCC(+5V)、GND、PG(编程)和 RS(复位)引脚。VCC 和 GND 直接通过扩展板连接到 Arduino 的 +5V 和 GND,PG 和 RS 为低电平有效,需通过 10K 电阻偏置到 +5V 以禁用它们。为方便开发,可将 RS 引脚通过 1K 电阻连接到 Arduino 数字 I/O 引脚 12,在正常操作时将引脚 12 设置为 HIGH,通过将其脉冲设置为 LOW 可强制 VDIP1 复位。
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(选择存储方案):::process
B --> C{是否选择 VDIP1 模块}:::decision
C -->|是| D(准备 VDIP1 模块):::process
C -->|否| E(选择其他存储方式):::process
D --> F(选择合适固件):::process
F --> G(更新固件):::process
G --> H(设置通信模式):::process
H --> I(连接引脚):::process
I --> J([结束]):::startend
E --> J
以上就是车辆遥测平台搭建的上半部分内容,涵盖了主要硬件的连接、大容量存储方案的选择以及 VDIP1 模块的准备,希望能为你的项目搭建提供清晰的指导。
车辆遥测平台搭建指南
4. VDIP1 模块安装与连接优化
为了方便操作和维护,我们对 VDIP1 模块的安装和连接进行了优化。
-
初步测试安装
:先在原型扩展板上安装一对 12 针母头,以适配 VDIP1 的引脚排列,并在扩展板上安装相关的上拉电阻和通信电阻,这样 VDIP1 模块就可以直接插入进行早期测试。
-
后期连接优化
:后期使用一对 12 针可分离公头和一些带状电缆制作迷你 “延长线”,将安装在机箱前部的子组件连接到原型扩展板上的母头,便于模块的插拔和更换。
5. LCD 模块选择与连接
LCD 模块是车辆遥测平台中重要的显示设备,以下是关于它的选择和连接的相关内容。
-
模块选择建议
:大多数 OBDuino 和 MPGuino 单元使用 16x2 的 LCD 模块,代码支持不同宽度和 2 行或 4 行的显示。在选择时,如果要在驾驶时查看 LCD,应选择对比度和可读性高的显示模块。一些白蓝配色的 20x4 单元虽然外观酷炫,但对比度差,难以清晰读取信息。早期的黄绿底黑字 LCD 设计虽然看起来有些过时,但通常能提供最佳的对比度。另外,也可以选择更高级的显示类型,如具有 HD44780 兼容接口的真空荧光显示器(VFD)和有机发光二极管(OLED)模块,它们显示更明亮、更清晰,但更难找到且价格更高。
-
连接方式与特点
:本项目不使用 LiquidCrystal 库,而是实现了自己的 LCD 驱动函数,以减少内存使用。和之前的项目类似,采用 4 位模式驱动 LCD 以节省布线和 I/O 引脚,同时 MPGuino/OBDuino 代码库还增加了背光控制和对比度控制功能。
-
引脚连接说明
:LCD 与 Arduino 的引脚连接如下表所示:
|Arduino 引脚|LCD 引脚|标签|名称|描述|
| ---- | ---- | ---- | ---- | ---- |
|GND|1|GND|接地|显示接地连接|
|+5V|2|VCC|电源|显示 +5V 连接|
|数字输出 6|3|Vo|对比度|对比度调整电压|
|模拟输入 0|4|RS|寄存器选择|数据(高电平)/控制(低电平)|
|GND|5|R/W|读写|读取(高电平)/写入(低电平)|
|模拟输入 1|6|E|使能|启用字节/半字节传输|
| |7|D0|数据 0|数据位 0|
| |8|D1|数据 1|数据位 1|
| |9|D2|数据 2|数据位 2|
| |10|D3|数据 3|数据位 3|
|模拟输入 2|11|D4|数据 4|数据位 4|
|模拟输入 3|12|D5|数据 5|数据位 5|
|模拟输入 4|13|D6|数据 6|数据位 6|
|模拟输入 5|14|D7|数据 7|数据位 7|
|(晶体管)|15|VB1|背光电源|背光 +5V 连接|
|GND|16|VB0|背光接地|背光接地连接|
将 LCD 放置在原型扩展板旁边时,上述引脚分配能使 LCD 连接与扩展板连接很好地对齐,可使用扁平带状电缆进行连接。为方便操作,将带状电缆连接到一段可分离公头排针上,便于拆卸。虽然将数据线连接到模拟输入引脚看起来有些奇怪,但在软件中这些输入会切换到数字输出模式并作为普通数字引脚使用。
-
对比与背光控制
:为了保持整洁,截取一段 20 针的排针,从 +5V 连接器和相邻的 GND 引脚开始,跨越间隙连接到 A0 - A7 连接器,再跨越下一个间隙连接到 A8 - A15 连接器,中间间隙的引脚未使用,可用钳子拔出。A8、A9 和 A10 引脚用于菜单按钮。对于 LCD 的对比度控制引脚 3,有以下几种连接方式:
- 连接到 10K 可变电阻的中心连接点,电阻的另外两个引脚连接到 GND 和 +5V,可手动调节对比度。
- 连接到 Arduino 数字 I/O 线 6,该引脚可作为 PWM 输出,软件可通过调整 PWM 比率控制 LCD 对比度,输出电平为 0(低)时对比度最高,输出电平为 255(高)时对比度最低。
- 如果 LCD 支持,也可像之前项目一样将此引脚硬连接到 GND 以获得最大对比度。
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(选择 LCD 模块):::process
B --> C(连接引脚):::process
C --> D{是否需要调节对比度}:::decision
D -->|是| E(选择对比度调节方式):::process
D -->|否| F(完成连接):::process
E --> F
F --> G(测试显示):::process
G --> H([结束]):::startend
综上所述,车辆遥测平台的搭建涉及多个硬件组件的连接和配置,包括 OBD - II 模块、GPS 模块、VDIP1 模块和 LCD 模块等。通过合理选择存储方案、正确设置模块固件和通信模式、优化硬件连接方式,能够构建一个功能完善、易于使用的车辆遥测平台。希望以上内容能帮助你顺利完成平台的搭建工作。
超级会员免费看
67

被折叠的 条评论
为什么被折叠?



