首页 > 匠心独运 > FPGA“机甲大师”
FPGA“机甲大师”
16精仪系
作品介绍

FPGA“机甲大师”

作者:2016级王广晗 精仪系

指导老师:马骋 精仪系

关键词: NIOSⅡ 软核处理器 伺服控制

摘要

本作品是一辆搭载二轴云台、摄像头、水弹枪的三轮全向移动小车。小车可以通过手机蓝牙遥控全向移动和转动,云台开启追踪模式时,无论小车如何运动,依靠OpenMV摄像头伺服控制始终保持水弹枪指向某个颜色的目标。本作品作为“系统芯片设计实践”的课程设计,获得A+

方案设计

本作品最大特点是主控是FPGA,而非常用的单片机。

1 实物照片和机械结构示意图

3个编码器减速电机互成120°角,配合全向轮,让小车具有平面内全向移动能力。水弹枪安装在二轴舵机云台上(AX-12A串行总线舵机),可以调节方向和俯仰角度,用继电器控制开火。OpenMV摄像头与水弹枪近似同轴,可以寻找色块等目标,将其坐标发给主控。

主控芯片是Altera Cyclone EP4CE10 FPGA,开发板是黑金AX4010FPGA工程中调用了一个NIOS Ⅱ软核,并在软核总线上挂载了多种官方和自定义外设,如NIOS Ⅱ官方的PIO,定时器,串口,用Verilog编写的自定义编码器、电机速度PID、特定串口接收等,用于完成底层功能,而遥控、色块追踪等上层逻辑则由NIOS Ⅱ中的软件(C代码)完成。

2 软硬件架构/数据流图

功能展示

    小车控制方面,电机的编码器计数,PID速度环,PWM输出控制都是FPGA硬件上完成的。控制周期为10ms,可实现与软件PID相同的效果。结合三轮全向轮小车的速度映射关系,即可直接在软件中控制小车的前后、左右、旋转速度。偏差量和PID系数的乘法是用移位实现的,所以占用的资源不多。

    蓝牙遥控用的是手机APP Bluetooth Electronics,可以自定义一个GUI,比如按某个按钮发送一个字符串。接收端判断收到的字符串,可实现小车八个方向的移动、自转,二轴云台舵机角度调整,水弹枪开火,追踪模式开关等。

3 遥控APP界面

    除遥控外,水弹枪还具有目标追踪功能,分为俯仰和方向两个PID位置环。OpenMV摄像头发现目标后,将其坐标发给FPGAPID周期为20ms,输入量为目标坐标与水弹枪瞄准点的偏差,输出量为舵机角度增量,从而让水弹枪迅速指向目标。在追踪模式开启时,云台不可遥控而小车底盘仍可遥控,无论小车如何运动,云台能保持水弹枪始终指向目标。

 

 

作品视频1
评论 文明上网理性发言,请遵守评论服务协议
登录  登录后可以发言~
全部评论
主办方
承办方