littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Arduino和Python的电动车控制系统

项目简介

本项目是基于Arduino和Python的电动车控制系统,能对电动车仪表盘、信号灯、电池状态等功能进行实时监控与控制。借助CAN总线和串行通信和多个硬件模块交互,用Python开发的GUI界面可显示和记录车辆各项数据,适用于电动车或电动汽车的控制系统开发,具备实时数据采集、处理和显示功能。

项目的主要特性和功能

  1. CAN总线通信:经CAN总线和多个硬件模块进行数据交互,支持CAN消息的打包、解包和广播。
  2. 串行通信:通过串行通信和Arduino Teensy板进行数据交互,支持数据的实时传输和解析。
  3. 多任务处理:运用FreeRTOS实现多任务并发处理,保证系统的实时性和稳定性。
  4. 仪表盘控制:实时显示车辆的速度、信号灯状态、电池电压、电流等信息,通过GUI界面可视化展示。
  5. 数据记录:把车辆关键数据记录到SD卡,作为“黑匣子”数据,同时通过XBee模块将数据实时传输到地面站。
  6. 硬件控制:控制电动车的信号灯、雨刷、刹车灯等外部设备,根据车速和电机转速控制电离合器的接合。
  7. 错误处理与日志记录:系统有错误处理机制,能记录错误和异常信息,确保系统可靠性。

安装使用步骤

环境准备

  • 确保安装Python环境,安装Tkinter库和串行通信所需的库(如pyserial)。
  • 安装Arduino IDE,确保安装所需的库(如MCP_CANFreeRTOSSdFat等)。

硬件连接

  • 将Arduino Teensy板通过USB连接到计算机。
  • 连接CAN总线模块、XBee模块、SD卡模块等硬件设备。

代码配置

  • 下载并解压项目代码。
  • 根据硬件配置,调整代码中的串行端口、波特率、CAN总线频率等参数。

运行程序

  • 在Arduino IDE中上传相应的代码到Teensy板(如NV10_front_MEGANV10_Back_MEGA等)。
  • 运行Python程序,启动GUI界面。
  • 确保串行端口和Arduino板的连接设置正确,GUI界面将实时显示车辆的各项数据。

数据监控与记录

  • 通过GUI界面实时监控车辆的速度、信号灯状态、电池电压等信息。
  • 数据将自动记录到SD卡中,并通过XBee模块传输到地面站进行进一步分析。

注意事项

  • 运行程序前,确保Arduino Teensy板上的代码已正确配置,且与Python程序中的通信协议相匹配。
  • 根据具体的硬件和通信需求,调整串行端口、波特率、CAN总线频率等设置。
  • 确保CAN总线的终端电阻配置正确,以保证通信的稳定性。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】