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

FPGA-超声波避障小车(ego1)​      基于FPGA的超声波避障小车,通过FPGA来实现一个颜色控制启动和停止的利用超声波测距(且显示)来避障的小车。

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

image.png

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

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

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

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

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

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

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

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

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

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

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

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

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

模块1:counter

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

模块2:超声波模块

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

模块3:转换模块

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

模块4:数码管模块

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

模块5:PWM模块(电机)

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

模块6:PWM模块(舵机)

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

硬件平台:

Ego-one(FPGA主控):

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

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

电机(PWM控制):

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

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

舵机(PWM控制):

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

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

电池(供电):

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

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

稳压板(稳压):

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

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

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

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

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

超声波(用于测距):

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

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

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

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

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

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

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)FPGA-超声波避障小车(ego1)

工程如下:

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

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

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

双击project_chaoshengbo.xpr可打开工程

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/21718.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注