基于Infineon TC26B微控制器的智能后车控制系统,支持图像处理、PID控制、数据存储等功能。
本项目是一个嵌入式智能车控制系统,主要用于后车的自动跟随、避障、图像识别等功能。系统采用模块化设计,包含多种控制算法和传感器接口。
- 主控芯片: Infineon TC26B
- 摄像头: MT9V03X
- 陀螺仪: IMU660RA
- 存储器: W25N04 NAND Flash
- 显示屏: IPS200 LCD
- 编码器: 增量式编码器
- 通信: UART无线通信
系统初始化模块
- 功能: 负责整个系统的硬件初始化和设备配置
- 主要特性:
- 外设初始化(LCD、ADC、PWM、编码器等)
- PID控制器初始化
- LADRC控制器初始化
- 电压检测和低电压保护
- IMU和摄像头初始化
- 参数加载和电机控制初始化
- 关键变量:
FOC_PWM: 电机PWM控制值Send_state: 数据发送状态标志
图像处理与目标识别
- 功能: 摄像头图像采集、处理和目标跟踪
- 主要特性:
- 图像二值化处理
- 连通域检测算法
- 目标点提取和跟踪
- 误差计算(用于路径跟踪)
- 自适应亮度检测
- 数据结构:
Connected_area: 连通域信息结构体point: 目标点坐标结构体
图像存储与数据管理
- 功能: 图像压缩存储、数据回放和分析
- 主要特性:
- 图像压缩算法(30x80分辨率)
- 二值化图像存储
- 参数数据存储
- 视频回放功能
- Flash存储管理
- 存储类型:
- 原始图像、二值化图像
- 目标点坐标、PID参数
- 速度数据、加速度目标值
曝光调整模块
- 功能: 摄像头曝光时间动态调整
- 主要特性:
- 曝光时间Flash存储
- 手动曝光调整界面
- 曝光参数持久化保存
PID控制器
- 功能: 经典PID控制算法实现
- 控制器类型:
- 位置式PID控制
- 增量式PID控制
- IMU专用PID控制
- 速度环PID控制
- 参数: KP、KI、KD、积分限幅、输出限幅
线性自抗扰控制器(LADRC)
- 功能: 先进的自抗扰控制算法
- 主要特性:
- 扩张状态观测器(ESO)
- 扰动估计与补偿
- 差速控制功能
- 参数复制功能
- 核心参数: 控制器带宽(wc)、观测器带宽(w0)、控制增益(b)
滑模控制器(SMC)
- 功能: 滑模变结构控制算法
- 主要特性:
- 滑模面设计
- 抖振抑制
- 鲁棒性控制
- 参数: k1、k2、lambda、输出限幅
卡尔曼滤波器
- 功能: 定点数卡尔曼滤波算法
- 主要特性:
- Q10定点格式实现
- 浮点接口封装
- 噪声估计与状态预测
- 应用: 传感器数据融合、状态估计
参数Flash存储系统
- 功能: 系统参数的永久存储和管理
- 主要特性:
- 最多64个参数存储
- 参数配置结构化管理
- 默认值和范围限制
- 参数恢复功能
- 存储内容: PID参数、LADRC参数、速度限制等
参数方案管理
- 功能: 多套参数方案的切换和管理
- 主要特性:
- 多种驾驶模式参数
- 快速参数切换
- 方案备份和恢复
菜单系统
- 功能: LCD菜单界面管理
- 主要特性:
- 多级菜单结构
- 按键导航
- 实时参数显示和调整
- 菜单项动态更新
菜单项定义
- 功能: 具体菜单项的定义和实现
- 包含功能:
- 参数调整菜单
- 系统设置菜单
- 调试信息显示
按键处理
- 功能: 物理按键扫描和事件处理
- 支持按键: Button_1~4 (4个独立按键)
- 特性: 按键防抖、事件标志
PICO上位机通信
- 功能: 与上位机的图像和数据通信
- 主要特性:
- 图像数据传输
- 实时数据显示
- 二值化图像传输
- 调试线条和点显示
- 支持格式: 原始图像、压缩图像、JPEG图像
PICO Link II通信协议
- 功能: PICO通信协议的底层实现
- 主要特性:
- 数据包封装
- 通信协议解析
- 数据传输管理
NEC红外遥控
- 功能: NEC协议红外遥控接收
- 主要特性:
- NEC解码算法
- 红外信号接收
- 遥控指令解析
- 应用: 遥控器控制、参数调整
W25N04 NAND Flash驱动
- 功能: 外部NAND Flash存储器驱动
- 主要特性:
- SPI通信接口
- DMA数据传输
- 块擦除和页编程
- 坏块管理
- 容量: 4Gbit (512MB)
- 应用: 图像存储、数据记录
数据显示
- 功能: 实时数据显示和监控
- 显示内容:
- 传感器数据
- 控制器输出
- 系统状态信息
PTS数据处理
- 功能: 特定数据格式的处理
- 应用: 数据格式转换、协议处理
数据裁剪
- 功能: 数值范围限制和裁剪
- 应用: 控制量限幅、数据预处理
定时器演示
- 功能: 系统定时器的配置和使用示例
- 应用: 定时任务、周期性控制
- IDE: AURIX Development Studio 或 Eclipse
- 编译器: TASKING Tricore Compiler
- 调试器: AURIX Debugger
- 导入项目到IDE
- 配置编译器路径
- 编译生成hex文件
- 通过调试器下载到目标板
- 通过LCD菜单调整PID参数
- 使用按键切换控制模式
- 通过上位机监控实时数据
系统初始化 -> 硬件配置 -> 参数加载
↓
图像采集 -> 图像处理 -> 目标识别
↓
误差计算 -> 控制算法 -> 执行输出
↓
数据存储 <- 状态监控 <- 用户交互
- 多种控制算法: PID、LADRC、SMC、卡尔曼滤波
- 完整的图像处理链: 采集→处理→识别→跟踪
- 数据存储回放: 支持图像和参数数据的存储回放
- 用户友好界面: LCD菜单系统,支持实时参数调整
- 通信功能: 上位机通信、红外遥控
- 参数管理: Flash参数存储,支持多套方案
- 版本: V2.0.0
- 最后更新: 2024年
- 作者: [鸣]
请参考项目根目录下的许可证文件。
本README文档详细介绍了Back Car V2.0.0项目中code/目录下每个文件的具体功能和作用,便于开发者理解和维护代码。