这是一个基于英飞凌TC264芯片的FOC(磁场定向控制)双驱动器演示项目,主要用于展示智能车控制系统的设计与实现。项目集成了平衡车控制、机器视觉、舵机控制、PID算法等多种功能模块。
本项目是与C. Wang合作,在Y. Li和Y. Wang学长的帮助下完成的。
- 主控芯片: 英飞凌TC264D (AURIX系列)
- 开发板: 逐飞科技TC264 V2.6版本
- 驱动器: CYT2BL3 FOC双驱动器
- 传感器:
- IMU660RA 六轴陀螺仪
- MT9V03X 摄像头模组
- 显示屏: IPS200液晶显示屏
- 其他: 4路舵机、蜂鸣器、LED指示灯
- 基于PID算法的角度和角速度控制
- 速度闭环控制
- 卡尔曼滤波器用于姿态解算
- 实时的平衡状态监控
- 摄像头图像采集与显示
- 边缘检测与线性跟踪
- 十字路口检测
- 圆环识别
- 路障检测
- 坡道等元素,详见/code/camera
- 4路独立舵机控制(腿部关节)
- PWM信号生成,频率300Hz
- 可调节的舵机角度范围和中心位置
- 动态舵机控制算法
- 与小驱动器的UART通信(460800波特率)
- 实时速度数据反馈
- 电机占空比控制指令发送
- IMU数据读取与滤波
- 姿态角计算
- 陀螺仪漂移补偿
├── code/ # 用户自定义代码
│ ├── balance_car_control.* # 平衡车控制算法
│ ├── leg_control.* # 腿部控制模块
│ ├── steer_control.* # 舵机控制模块
│ ├── camera.* # 摄像头处理
│ ├── pid.* # PID控制算法
│ ├── small_driver_uart_control.* # 驱动器通信
│ └── ...
├── libraries/ # 库文件
│ ├── infineon_libraries/ # 英飞凌官方库
│ ├── zf_common/ # 逐飞通用库
│ ├── zf_device/ # 逐飞设备驱动
│ └── zf_driver/ # 逐飞底层驱动
├── user/ # 主程序文件
│ ├── cpu0_main.c # CPU0主程序
│ ├── cpu1_main.c # CPU1主程序
│ └── isr.* # 中断服务程序
└── README.md # 项目说明文档