0—基于FPGA(ZYNQ-Z2)的多功能小车

   在电子技术与创新的课设中我选择了这个题目,在设计的时候遇到了非常多的问题,但是网上的对应资料又非常少,因此在完成设计之后,我把设计方法与代码在这篇博客中分享出来,希望能对需要的人有所帮助。


目录

1.题目

2. 题目分析:

3. 器件使用

4. 工程文件 

5. 传送门


1.题目

基于FPGA的多功能小车
1、基本要求
设计一个多功能的智能小车,通过多传感器的数据融合可以实现智能小车的红外避障、循迹、寻光、红外遥控、无线蓝牙、超声波测距与避障的功能。整个系统可以分为FPGA控制模块、电机驱动模块、传感器检测模块、数码管显示模块。
实验中需要通过FPGA来控制两个直流电机的正反转,从而实现两个轮子的转向和转速。由于FPGA引脚的驱动能力很弱不能直接驱动电机.所以需要电机的驱动电路。驱动电路不仅有提升驱动能力的作用,还起到隔离保护的作用。
传感器检测模块包括:红外避障和循迹模块、寻光模块、红外遥控模块、无线蓝牙模块、超声波测距与避障模块。
用数字来显示智能小车当前处于何种模式,如1代表循迹功能等最后,将各个单元模块逐级连接起来,实现系统功能。
2、扩展内容:自拟


2. 题目分析:

  根据要求,小车需要实现电机驱动、电源管理、蓝牙遥控、红外遥控、超声波避障、循迹、红外避障、寻光,并且设计对应模块。

  这些要求对于STM32与Arduino而言,是非常容易实现的,但是使用FPGA却是另一种难度。一是因为FPGA更底层,更难;二是网上的资料稀缺,没有参考。这些原因造成了实现难度比较大。


  对于项目的设计,我会从硬件与软件设计分模块实现。

硬件 软件
电源模块

PWM生成模块

电机驱动模块 电机模块
传感器模块 蓝牙模块

分频模块

超声波测距模块
传感器算法设计
Ardunio代码
OpenMV代码

设计总览:

0—基于FPGA(ZYNQ-Z2)的多功能小车_第1张图片


3. 器件使用

器件 型号
小车底板 铝合金底板*1
电机 直流编码减速电机*4
蓝牙模块 JDY-31*1
超声波模块 CS100A*1
循迹模块 TCRT5000*2
寻光模块 TEMT6000*2
红外遥控 HX1838*1
电机驱动 TB6612FNG*2
数码管 四位数码管
稳压芯片 LM317、LM2596-5.0、AMS1117-3.3
电池 智能车锂电池
其他 杜邦线、贴片电容电阻电感LED、电位器等等
FPGA PYNQ-7020(ZYNQ-Z2)
Ardunio Arduino uno
视觉模块 OpenMV

编程平台:Vivado2018.3、Arduino IDE、OpenMV IDE、立创EDA


 4. 工程文件 

演示视频:(待上传)

PCB文件:FPGA综合项目PCB文件

原理图:FPGA多功能小车 PCB原理图

工程文件:基于FPGA(PYNQ-7020)的多功能小车


5. 传送门

1.硬件设计

1.1 硬件设计—电源模块

1.2 硬件设计—电机驱动模块(TB6612FNG)

1.3 硬件设计—传感器模块设计与PCB总览

2. 软件设计

2.1 软件设计—电机驱动模块

2.2 软件设计—蓝牙串口

2.3 软件设计—超声波测距

2.4 软件设计—红外遥控

2.5 软件设计—寻迹模块、寻光模块、跟随模块

3. 拓展功能

3.1 拓展功能—OpenMV的色块识别


注:本人大二学生,对FPGA理解浅薄,如有错误请指正。

你可能感兴趣的:(fpga开发)