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

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

 

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

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

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

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

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

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

模块1:counter

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

模块2:超声波模块

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

模块3:转换模块

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

模块4:数码管模块

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

模块5:PWM模块(电机)

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

模块6:PWM模块(舵机)

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

硬件平台:

Ego-one(FPGA主控):

电机(PWM控制):

舵机(PWM控制):

电池(供电):

稳压板(稳压):

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

超声波(用于测距):

Openmv摄像头(识别色块并且将信息传到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

超声波发送脉冲

                   

工程如下:

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

双击project_chaoshengbo.xpr可打开工程

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

  • 12
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
FPGA循迹避障小车设计需求如下: 1. 功能要求: - 循迹功能:能够根据指定的路径或者以某种方式识别地面上的线路,并能够沿着线路行驶。 - 避障功能:具备识别障碍物的能力,并能够根据避障策略进行相应的行动,以避免碰撞。 - 控制功能:能够通过外部设备(如手机、遥控器等)或者自主决策进行控制。 2. 硬件要求: - FPGA芯片:具备足够的逻辑资源,可以实现复杂的算法和逻辑功能,如图像识别、脉冲宽度调制等。 - 传感器:包括线路识别传感器(如红外线传感器、摄像头等)和障碍物识别传感器(如超声波传感器、红外传感器等)。 - 电机:提供足够的动力和转向功能,以实现小车的前进、后退、左转和右转等行动。 - 电源:提供稳定的电压和电流,以保证各个组件的正常运行。 3. 软件要求: - 软件开发工具:使用支持FPGA开发的软件工具,如Quartus、Vivado等,进行逻辑设计和编程。 - 算法设计:编写适用于FPGA的图像处理算法,包括线路识别和障碍物识别算法,并实现对小车的控制逻辑。 - 界面设计:设计友好的用户界面,以方便用户对小车进行控制和监控。 4. 性能要求: - 实时性:要求小车能够在实时环境下对线路进行识别和障碍物进行检测,并能够根据实时数据作出相应的控制动作。 - 精准性:要求小车的循迹和避障能力具备一定的精准性,能够准确地沿着指定路径行驶,并能够及时地避开障碍物。 - 稳定性:要求小车的系统稳定,能够在长时间运行和各种环境条件下保持稳定的性能。 总之,FPGA循迹避障小车的设计需求包括循迹功能、避障功能、控制功能、硬件要求、软件要求和性能要求。通过合理的硬件配置和软件开发,实现小车的实时、精准和稳定的行动能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值