# 工程描述
使用了乐鑫esp32c3 mini 模块,支持wifi、蓝牙、usb
支持esp-idf、micropython、arduino等多种开发环境
项目工程是两个pcb硬件,都可以作为单独项目使用:
1.QCan可以作为车辆OBD数据采集分析工具。
2.QLcd可以作为小屏幕使用。
## 项目说明
QCan项目使用esp32c3 模块实现can数据的采集和转发,可以通过蓝牙 wifi等无线协议发送到手机和电脑上。通过把esp32设置成ap模式方便电脑手机在车内或者其他没有路由器的环境下进行数据采集和处理。
QLcd屏幕显示部分,汽车速度,挡位,电流电压,温度,气候等以及各种创意头像和动画。
## 项目属性
本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。
## 项目进度
目前电路设计验证没问题,通过立创免费打板后手动焊接测试,没进行smt测试。外壳设计没进行验证。装车测试冬天esp32有一定温度,估计需要cnc一个散热片或者金属外壳进行夏天暴晒测试。
## 设计原理
### QCan
供电部分:
![image-20240319193616641.png](//image.lceda.cn/pullimage/6WkgXVcVdslkWWVvyvsZl51pBiwvH06Gix7WnU0Q.png)
可以选用车载版本的LMR14006YDDCT,使用这个时候 R15 和R16可以不焊接,如果需要长时间上车为了防止小电瓶亏电,请自行计算R15、R16的分压值,达到关停的功能。如果使用LMR16006YDDCR 必须使用R15上拉电阻,否则无供电输出。
CAN信号转换部分:
![image-20240319193934077.png](//image.lceda.cn/pullimage/yd7ISjgfUJtbzs2A8csc4j9J0ESuGtHfLLY9p7Fx.png)
加入了一个U4 作为esp32向设备发送can消息的开关,主要是为了保证车辆安全,现在很多新能源车不需要启动发动机,容易导致错误信号触发车辆动作,为了保证安全请把这个开关置于停用状态,R10是用于绕过开源功能,请根据需求选择。
esp32 核心部分:
![image-20240319194350438.png](//image.lceda.cn/pullimage/6zBRxEtqHUKAUY6EJCB548DLX2Wulso876FCxNme.png)
key1用作烧录功能,引出了tx0 rx0 可以作为调试用,也支持usb直接调试,预留了一个led作为状态指示,根据自己需求开发。
### QLcd部分
供电部分:
![image.png](//image.lceda.cn/pullimage/LpqZSM9Oc5BQ2JIQEIuTyaZpXSRe9A0GW3DZsNOM.png)
使用AMS1117供电,保证大电流下的稳定性。
esp32 核心部分:
![image.png](//image.lceda.cn/pullimage/aE4hOlAK1VXFvQxWP86I59ZzMKASiNEPZoZ0sFn3.png)
最小esp32c3核心电路,引出usb方便调试。
屏幕部分:
![image.png](//image.lceda.cn/pullimage/8Pj5BgNu47jbL2vi2o2MjNJfhGVudajrpEugQu4c.png)
使用spi驱动的lcd屏幕,通过spi驱动屏幕显示。
## 软件说明
## 示例代码环境:
arduino
## 依赖库:
esp32_can:https://github.com/collin80/esp32_can
can_common:https://github.com/collin80/can_common
tfp_espi:https://github.com/Bodmer/TFT_eSPI
## 核心代码说明:
### QCan部分
#### gpio配置部分
\#define SHIELD_LED_PIN GPIO_NUM_10
\#define SHIELD_CAN_RX GPIO_NUM_1
\#define SHIELD_CAN_TX GPIO_NUM_0
#### can 初始化
CAN0.setCANPins(SHIELD_CAN_TX, SHIELD_CAN_RX);
if (!CAN0.begin(500000)) {
debugln(" CAN...............FAIL");
delay(500);
ESP.restart();
}
debugln(" CAN.................OK");
CAN0.watchFor(0x257); //过滤指定id 不加就全部捕获
### QLcd
代码比较复杂 详细代码可以参考git连接。
#### GPIO引脚配置
#define TFT_BACKLIGHT_ON HIGH
#define TFT_MOSI 7
#define TFT_SCLK 6
#define TFT_CS 10
#define TFT_DC 5
#define TFT_RST 4
#define TFT_BL 1
## 实物展示
![image.png](//image.lceda.cn/pullimage/xlbjvCq784FbIg5QDrYA1SYoENOCU3ahoawYuj1w.png)
![image-20240219201000806.png](//image.lceda.cn/pullimage/PeJn3oY9P562zY2Kkzd1NaoH0MYhVNR20k4wZQMZ.png)
## 其他
B站演示视频:
[【开源车载仪表盘】]( https://www.bilibili.com/video/BV1fD421H7ZD/?share_source=copy_web&vd_source=661686d26237b801719f4f21f34db01c)
工程附件:
代码和硬件手册都在git连接里面。
开源代码:
https://gitee.com/question_h/qcan.git
11
35
收藏到专辑