FPGA项目(13)——基于FPGA的电梯控制系统

1.摘要

随着科技的发展,电梯早在上个世纪就已进入人们的生活。对于电梯的控制,传统的方法是使用继电器——接触器控制系统进行控制。随着EDA技术的发展,FPGA已广泛应用于各项电子设计中,本设计即利用FPGA来实现对电梯控制系统的设计。

本此课程设计基于Verilog HDL集成电路硬件描述语言开发的四层电梯控制系统, 以Quartus II为开发环境,最终在FPGA开发板上实现四层电梯控制系统的基本功能,其功能主要包括:显示电梯楼层数、响应楼层请求、电梯升降指示、电梯开关门、电梯到达停站要求楼层后,蜂鸣器给出声音提示、快速开门、快速关门、电梯报警等。本文采用模块化设计的方法,整个系统主要分为四个模块,其中包括:矩阵键盘模块、电梯控制模块、复位模块、数码管显示模块。

首先,通过FPGA系统板上的矩阵键盘按键输入楼层请求,其中包括电梯内部楼层的请求、电梯外部上升的请求及电梯外部下降的请求;同时,利用LED灯和数码管来显示输入的请求;然后,遵照电梯运行时的方向优先原则及内部响应优先原则来逐次应答请求;并且外部增加快速开门、快速关门按键超重报警等功能,高度还原了现实生活中实际电梯的运行状况。

2.引言

当今社会,随着城市建设的不断发展,高层建筑的不断增多,电梯作为高层建筑中垂直运行的交通工具已与人们的日常生活密不可分。目前电梯的控制普遍采用了两种方式,一是采用微机作为信号控制单元,完成电梯信号的采样、运行状态和功能的设定,实现电梯的自动调度和集选运行功能,拖动控制则由变频器来完成;第二种控制方式用可编程控 制器取代微机实现信号控制。从控制方式和性质上来说,这两种方法并没有太大的区别。目前电梯控制系统主要有三种控制方式:继电路控制系统(“早期安装的电梯多位继电器控制系统”)、FPGA的控制系统、微机控制系统。继电器控制系统由于故障率高、可靠性差、 控制方式不灵活以及消耗功率大等缺点,目前已逐渐被淘汰,微机控制系统虽在智能控制方面有较强的功能,但也存在抗扰性差,系统设计复杂,一般维修人员难以掌握其维修技术等缺陷。而FPGA控制系统由于运行可靠性高,使用维修方便,抗干扰性强,设计和调试周期较短等优点,倍受人们重视等优点,已经成为目前在电梯控制系统中使用最多的控制方式,目前也广泛应用于传统继电器控制系统的技术改造。

3.功能设计

基本要求:

  1. 每层电梯入口处设有上、下请求按键各一个(注:一楼只有上请求按键,四楼只有下请求按键),电梯内设有到达层次的按键,每个请求按键按下时,都有相应的LED灯与之对应;
  2. 电梯所处楼层由数码管显示,电梯上、下状态由LED灯指示;
  3. 电梯每秒升(降)一层,到达某一层时,数码管显示对应的楼层;
  4. 电梯到达有停战要求的楼层后,蜂鸣器给出声音提示,经过0.5秒电梯门自动打开,开门指示灯亮,开门5秒后,电梯门自动关闭(开门指示灯灭),电梯继续运行;
  5. 能记忆电梯内、外所有请求信号,并有相应的指示LED显示,并按照电梯运行规则次第响应,每个请求信号保留至执行后撤除;
  6. 电梯运行规则:电梯处于上升模式时,只响应比电梯所在位置高的层次的上楼请求信号,由下而上逐个执行,直到最后一个请求执行完毕;如果高层有下楼请求,则直接升到有下楼请求的最高楼层接客,然后进入下降模式;电梯处于下降模式时与之相反,仅响应比电梯所在位置低的楼层的下楼请求,由上到下逐一解决,直到最后一个请求被处理完毕;如再低楼层有上升请求,则降至该楼层,并进入上行模式;电梯执行完所有请求后,应停在最后所在的位置不变,等待新的请求;
  7. 接通电源时,电梯应停留在一楼,而各种上行、下行请求皆被清除。

创新要求:

  1. 电梯内部设置快速开门、快速关门按键,且可在门开到一半或关到一半的中间状态触发。
  2. 电梯自带超载功能,即人员超载则电梯门不会关闭并发出警报,电梯停留在该层并停止运行,直至超载人员出电梯,电梯恢复正常运行。
  3. 电梯在关门状态中若有同方向请求及内部请求则电梯门打开。
  4. 电梯在开门状态,清除本楼层同方向外部请求及内部请求。

4.设计原理

设计一个电梯运行控器,该电梯有4层楼,设计的电梯调度算法满足提高服务质量、降低运行成本的原则;电梯的内部有一个控制面板它负责按下请求到的楼层,并且显示当前尚未完成的目的地请求,当到达该楼层以后自动撤销本楼层的请求即将面板灯熄灭;除1层和4层分别只有上和下按钮外,其余每个楼层(电梯门口旁)的召唤面板都有两个按钮,分别指示上楼和下楼请求。当按下后,对应按钮灯亮。如果电梯已经到达该楼层,按钮灯熄灭;电梯的外部面板会显示电梯当前所在的楼层及上行还是下行(暂停则上下行指示灯灭);电梯向一个方向运行时,只对当前方向前方的请求进行应答,直到本方向前方无请求时,才对反方向的请求进行应答。当前内部控制面板上有的请求只要经过所在楼层均会立即响应,在所有内部外部请求都已完成后,电梯转入等待。设计思路采用经典的有限状态机[1]的设计方法,有限状态机可以认为是组合逻辑和寄存器逻辑的特殊组合,它一般包括组合逻辑和寄存器逻辑两个部分,寄存器逻辑用于存储状态,组合逻辑,用于状态译码和产生输出信号。

电梯模型图:

本次设计的rtl框图

5.实物图

 

6.完整工程 

(或者私我便宜拿,还可以提供设计报告、答辩ppt,功能演示视频等等!!)

基于FPGA的电梯控制资源-CSDN文库icon-default.png?t=N7T8https://download.csdn.net/download/guangali/88678501?spm=1001.2014.3001.5501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/284418.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

事务失效的十种常见场景

学习事务失效场景 1 概述 事务的传播类型isolationTransactionnal注解属性 事务方法未被Spring管理方法使用final类型修饰非public修饰的方法同一个类中的方法相互调用方法的事务传播类型不支持事务异常被内部catch,程序生吞异常数据库不支持事务未配置开启事务错…

媒体捕捉-拍照

引言 在项目开发中,从媒体库中选择图片或使用相机拍摄图片是一个极为普遍的需求。通常,我们使用UIImagePickerController来实现单张图片选择或启动相机拍照。整个拍照过程由UIImagePickerController内部实现,无需我们关心细节,只…

Spring Boot整合 EasyExcel 实现复杂 Excel 表格的导入与导出功能

文章目录 1. 简介2. 引入依赖3. 导入功能实现3.1 创建实体类3.2 编写导入 Controller3.3 编写导入页面 4. 导出功能实现4.1 编写导出 Controller4.2 编写导出页面 5. 启动应用 🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 &…

HttpClient入门

HttpClient入门 简介 HttpClient 是 Apache HttpComponents 项目中的一个开源的 Java HTTP 客户端库,用于发送 HTTP 请求和处理 HTTP 响应。它提供了一组强大而灵活的 API,使得在 Java 程序中执行 HTTP 请求变得相对简单 maven依赖 org.apache.httpco…

C语言操作符下

在这篇文章中&#xff0c;主要讲解关系操作符、条件操作符、逻辑操作符&#xff0c;及其短路。 一. 关系操作符 C语言用于比较的表达式&#xff0c;称为关系表达式&#xff0c;里面运用的运算符就称“关系运算符”&#xff0c;主要有下面6个&#xff1a; < 小于运算符>…

基于Vite创建简单Vue3工程

首先安装node.js环境&#xff0c;没有node.js环境&#xff0c;便没有npm命令。 1、Vue3创建执行命令 D:\TABLE\test>npm create vuelatestVue.js - The Progressive JavaScript Framework√ 请输入项目名称&#xff1a; ... vue_test √ 是否使用 TypeScript 语法&#xff…

【C++】Windows编译FileZilla Client

按照Compiling FileZilla 3 under Windows - FileZilla Wiki (filezilla-project.org)操作即可。 1.下载安装MSYS2 msys2-x86_64-20220118.exe 2.更新MSYS2 进入MSYS2 MinGW 64-bit shell&#xff0c;运行 pacman -Syu重复退出shell&#xff0c;更新MSYS2。直到没有可更新…

【Maven】工程依赖下载失败错误解决

在使用 Maven 构建项目时&#xff0c;可能会发生依赖项下载错误的情况&#xff0c;主要原因有以下几种&#xff1a; 下载依赖时出现网络故障或仓库服务器宕机等原因&#xff0c;导致无法连接至 Maven 仓库&#xff0c;从而无法下载依赖。 依赖项的版本号或配置文件中的版本号错…

详解Vue3中的事件监听方式

本文主要介绍Vue3中的事件监听方式。 目录 一、v-on指令二、使用符号简写三、事件修饰符四、动态事件名五、常见的监听事件六、自定义事件 在Vue3中&#xff0c;事件监听的方式与Vue2有一些不同。 下面是Vue3中事件监听方式的详细介绍&#xff1a; 一、v-on指令 Vue3中仍然使…

[嵌入式AI从0开始到入土]9_yolov5在昇腾上推理

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注&#xff1a;等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间&#xff0c;后期会考虑出视频教程&#xff0c;务必催更&#xff0c;以防我变身鸽王。 第一章 昇腾Altas 200 DK上手 第二章 下载昇腾案例并运行 第三章…

OCP NVME SSD规范解读-3.NVMe管理命令-part2

NVMe-AD-8&#xff1a;在某些情况下&#xff08;如Sanitize命令、Format NVM命令或TCG Revert方法后数据被清除&#xff09;&#xff0c;设备应允许读取已清除的LBAs而不产生错误&#xff0c;并在最后一次清除完成后&#xff0c;对未写入LBAs的读取返回所有零值给主机 NVMe-AD…

【北亚数据恢复】mysql表被truncate,表数据被delete的数据恢复案例

云服务器数据恢复环境&#xff1a; 华为ECS云服务器&#xff0c;linux操作系统&#xff0c;mysql数据库&#xff08;innodb引擎&#xff09;。作为网站服务器使用。 云服务器故障&#xff1a; 在执行mysql数据库版本更新测试时&#xff0c;误将本应该在测试库上执行的sql脚本执…

【JavaScript】浮点数精度问题

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…

移动端开发框架mui代码在安卓模拟器上运行2(HbuilderX连接到模拟器)模拟器窗口及多开设置

开发工具 HBuilder X 3.8.12.20230817 注意&#xff1a;开发工具尽量用最新的或较新的。太旧的版本在开发调试过程中可能会出现莫名其妙的问题。 接上篇&#xff0c;移动端开发框架mui代码在安卓模拟器上运行&#xff08;HbuilderX连接到模拟器&#xff09;&#xff0c;这篇主要…

Mediapipe绘制实时3d铰接骨架图——Mediapipe实时姿态估计

一、前言 大约两年前&#xff0c;基于自己的理解我曾写了几篇关于Mediapipe的文章&#xff0c;似乎帮助到了一些人。这两年&#xff0c;忙于比赛、实习、毕业、工作和考研。上篇文章已经是一年多前发的了。这段时间收到很多私信和评论&#xff0c;请原谅无法一一回复了。我将尝…

HarmonyOS 实践之应用状态变量共享

平时在开发的过程中&#xff0c;我们会在应用中共享数据&#xff0c;在不同的页面间共享信息。虽然常用的共享信息&#xff0c;也可以通过不同页面中组件间信息共享的方式&#xff0c;但有时使用应用级别的状态管理会让开发工作变得简单。 根据不同的使用场景&#xff0c;ArkTS…

HarmonyOS 组件通用属性之通用事件 文档参数讲解(触摸事件)

好 本文 我们来说说触摸事件 字面意思也非常好理解 就是我们手机手指触摸物体触发 我们先在编辑器组件介绍中 找到这个东西的基本用法 Button("跳转").onTouch((event: TouchEvent) > {})最明显的就是 event 的类型变了 点击事件的是 ClickEvent 而这里是 Touc…

14 2023.12.31 --------release--------misc--------

呵呵 一部分 misc 存在草稿箱好久了 而且 也并没有那么重要, 直接放出去吧 今年的 专业技能方面的收获主要是一些方面 linux 方面, 这部分内容主要是集中在上半年 90 telnet 连接上对方服务之后 立即 “Connection closed by foreign host.“ 89 重写 /proc/sys/vm/nr_pd…

【LMM 002】大型语言和视觉助手 LLaVA-1.5

论文标题&#xff1a;Improved Baselines with Visual Instruction Tuning 论文作者&#xff1a;Haotian Liu, Chunyuan Li, Yuheng Li, Yong Jae Lee 作者单位&#xff1a;University of Wisconsin-Madison, Microsoft Research, Columbia University 论文原文&#xff1a;htt…

win/linux 环境查看动态库包含的函数

我们打包了动态库&#xff0c;还要查看是否包含一些函数&#xff0c;需要导出这些函数 在win 环境下可以使用 .def 格式的文件进行操作 ######################################################### 跳过这一步&#xff0c;回到主题&#xff0c;在两个系统平台如何查看动态库包…