FPGA-超声波避障小车(ego1)

    基于FPGA的超声波避障小车,利用ego1的100HZ时钟,我们可以自己定义不同占空比的PWM来控制电机的转速和舵机的角度,我们可以通过自己写计时器获得超声波来回所需的时间来测量距离,根据距离的远近返回来控制电机的转速以及舵机转动的角度,我们也可以加上openmv识别色块的功能,来模拟小车识别红绿灯控制小车的出发和停止。结合以上描述,我们可以通过FPGA来实现一个颜色控制启动和停止的利用超声波测距来避障的小车。如下图

FPGA-超声波避障小车(ego1)_第1张图片

 

根据项目任务要求,我们可以大致把目标任务分为以下几点:

1.利用计数器来实现不同占空比的PWM输出。

FPGA-超声波避障小车(ego1)_第2张图片

FPGA-超声波避障小车(ego1)_第3张图片

2.通过控制触发信号trig(10us的TTL)使内部循环发出8个40KHZ脉冲即驱动超声波,接收回响信号echo,通过echo得到距离。

FPGA-超声波避障小车(ego1)_第4张图片

FPGA-超声波避障小车(ego1)_第5张图片

3.将超声波的数值显示到数码管上。

FPGA-超声波避障小车(ego1)_第6张图片

3.配置openMV终端,通过io口的高低电平来传输色块颜色信息。

FPGA-超声波避障小车(ego1)_第7张图片

为实现目标,我们在FPGA里设置了如下图所示的六个模块(vivado)

FPGA-超声波避障小车(ego1)_第8张图片

模块1:counter

分频模块实现每0.5s检测一次距离判断是否转向。

模块2:超声波模块

定时发布trig,并检测传来的echo信号,计数并转换为距离。

模块3:转换模块

转化模块将二进制的距离转化为四位二进制,方便后续数码管显示。

模块4:数码管模块

将转化过来的四位二进制距离在数码管上显示。

模块5:PWM模块(电机)

通过设置特定占空比的 PWM波来使电机达到相应速度,同时也接收openmv传来的开机关机命令。

模块6:PWM模块(舵机)

通过设置特定占空比的 PWM波来使舵机转到相应角度

硬件平台:

Ego-one(FPGA主控):

电机(PWM控制):

FPGA-超声波避障小车(ego1)_第9张图片

舵机(PWM控制):

FPGA-超声波避障小车(ego1)_第10张图片

电池(供电):

FPGA-超声波避障小车(ego1)_第11张图片

稳压板(稳压):

FPGA-超声波避障小车(ego1)_第12张图片

电机驱动(将模拟信号转化为电机适配的信号):

FPGA-超声波避障小车(ego1)_第13张图片

超声波(用于测距):

FPGA-超声波避障小车(ego1)_第14张图片

Openmv摄像头(识别色块并且将信息传到ego1里):

FPGA-超声波避障小车(ego1)_第15张图片

相应的,我们可以设计如下方案:

1.打开开关sw1,识别特定色块,小车前行(openmv+电机)

2.数码管显示前置超声波测距示数(超声波)

3.若前置超声波测距示数大于80cm,方向不变

若示数在80cm到40cm之间,方向转动一个小角度

若示数小于40cm,方向转动一个大角度(舵机)

4.转动方向判断:通过左右两个超声波测距比较,若舵机要转动角度,则往超声波测距大的方向转动,实现避障功能。

5.前置超声波的距离与电机的PWM占空比正相关(超声波+电机)

6.识别特定颜色色块,小车停止(openmv)

部分io口设置:

Io

FPGA IO PIN

对应程序变量

作用

IO_L18N

G17

Go1

电机模拟信号

IO_L18P

H17

Go2

电机模拟信号

IO_L17N

J13

Go3

电机模拟信号

IO_L17P

K13

Go4

电机模拟信号

IO_L16N

D17

ECHO

超声波返回脉冲

IO_L16P

E17

TRIG

超声波发送脉冲

IO_L15N

G14

PWM

舵机模拟信号

IO_L14N

F16

ECHO1

超声波返回脉冲

IO_L14P

F15

TRIG1

超声波发送脉冲

IO_L13N

G16

ECHO2

超声波返回脉冲

IO_L13P

H16

TRIG2

超声波发送脉冲

                   FPGA-超声波避障小车(ego1)_第16张图片

工程如下:

FPGA-超声波避障小车(ego1)_第17张图片

FPGA-超声波避障小车(ego1)_第18张图片

 project_chaoshengbo.srcs中放的是.v文件和约束文件

双击project_chaoshengbo.xpr可打开工程

资源已上传,链接等审核后会放在文章中。

你可能感兴趣的:(fpga开发,嵌入式)