设计题目: 智能消防系统
题目来源: 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!



![【stm32单片机】[操作系统][RT-Thread][3]线程通信](/img/blog_cover/rt-thread.jpg)