设计题目: 智能消防系统
题目来源: 2023 年全国大学生电子设计竞赛试题试题 G 题
一、 任务:
- 设计一套智能消防系统, 采用 FPGA 实验板。 防区区域为 40dm× 48dm,
- 可能出现的火源如图所示的 1、 2、 3、 4。 当消防车接收到火源地点位置信息即刻前往熄灭火源, 消防工作完成时间越短越好。 其中白色部分是街区, 消防车不得驶入, 红色区域是消防车停车点。
二、 要求:
- 消防车起始停留在红色区域, 接收到火情信息并显示火源地点位置坐标后,
- 出发前往火源地点, 途中不得碾压街区及其边界线。 消防车距离火源地点 5dm内停车, 发出声光报警, 持续 5 秒, 表示将模拟火源熄灭, 之后消防车返回红色区域。 从消防车出发到返回红色区域, 用时越短越好
三、硬件部分
- 主要结构:4驱直流电机小车
- 主控:FPGA
- 传感器:1.四路循迹模块(避线) 2.红外计数器(测速/里程计算)
- 代码主要语法:状态机
四、解题四路
一、调试小车基本运动模式
什么是分频器?
分频器原理
- 通过检测输入时钟信号下降沿(上升沿),或者说采样的方法,控制输出的时钟信号频率。
如将50MHZ的时钟信号12分频:
1 | process(clk,q1) |
分频器模块
- 用于产生各种所需频率的方波信号
1 | -------------------------------------- |
什么是PWM?
- PWM(Pulse Width Modulation)即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速、开关电源等领域
- PWM重要参数: 频率 = 1 / TS 占空比 = TON / TS 精度 = 占空比变化步距
信号接口/变量定义:
1 | ----------------------------------------------------------------------------------------- |
1 | BEGIN |
路线规划(以路线4为例)
计时器(控制小车在不同状态下定时运动)
1 | process(clk1ms,Timer_flag) |
程序主要部分(状态机)
不同状态下,根据路径规划,小车的运动姿态(转向,直行)不同,每个状态有特定的状态转移条件(运动时间(用红外计数里程判断更精准),特征值(黑线)
- 小车碰到黑线(居民楼)进行偏移转向
- 车头碰到黑线(关键点检测)进行直角转弯
- 小车要精确地行驶,到底指定地点,需要利用好黑线,既不能触线,也不能过偏,即贴线行驶,这就要使得小车在贴线行驶的路段在规定的 时间 / 里程 内,进行贴线行驶->避线->贴线行驶,三个状态的闭环,在小车行驶姿态垂直于黑线时的路径,循迹模块检测黑线直接进行直角转弯即可(这样就不需要控制里程/时间)。
- 规划好前往火源点的路径后,返回的路径按照相反的逻辑控制即可。
1 | ----------------------------------------------------------------------------- |
四路数据选择器模块
1 | LIBRARY IEEE; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Turin's Blog!