电梯控制器设计电路(5篇)
人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。相信许多人会觉得范文很难写?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。
电梯控制器设计电路篇一
电梯行业是一个慢热型的市场
目前的电梯行业,是变频器行业应用中的重要领域,而电梯领域对海浦蒙特而言,也是重要的战略部署行业,特别针对扶梯、直梯开发了不同的专用驱动控制器,“目前来讲,电梯是变频器应用行业的主流行业,市场比较大的,而海浦蒙特现在要做的就是要在电梯行业去放大自身的局部优势,专注于细分的市场,扎实的做下去。”
“电梯行业是一个慢热型的市场,不同于塑料行业、食品机械等行业,是一个长期积累的过程,所以在电梯行业的突然放量是不可能的,但是我们在电梯领域已经积累了好多年,我们公司在成立之初就做好了持久战的准备,前期目标就是要在行业中稳固,打好坚实的基础之后在深扎根进去,我相信经过前几年的培养海浦蒙特近年来在行业的销售曲线会有快速提升。”
国产变频器企业要实力就要有自己的软硬件
在变频器行业,山寨货的情况其实和山寨手机是一样的,在全国几百家的变频器企业中,有多少家真正的拥有自己配套的软硬件。对于认真做企业的人而言,市场是最好的炼金石,是一个真正提炼的过程,大浪淘沙,没有拥有自身强硬的实力和竞争力的企业,很难说不会被市场所淘汰。“我相信在变频器行业,山寨的情况和手机行业路径会是一样的,只不过在变频器领域这个淘汰的过程会相对长一点。”
在变频器专用的应用领域,特别是以起重、电梯等行业而言,即是一个需要长期缓慢培养的过程,又是一个需要企业自身慢慢沉淀沉入的行业,“在这些领域,用户的需求不再是单一的价格体现,首先考虑的是产品的可靠性、安全性和稳定性,只有在这些需求得到满足以后,产品的功能性、服务保证、价格水平才有体现的空间,这都是后续考虑的问题,这就是用户需求。”
首矽致芯科技在嵌入式mcu及dsp方面具有较强的技术优势,目前的嵌入式mcu采用8英寸0.18-0.5%26micro;mcmos工艺,程序存储器采用的是一次可编程rom或flash,公司在数模混合电路设计、电磁兼容及产品的可靠性等方面的设计技术处于业界领先水平,主控芯片在变频器和汽车电子周边产品等多项应用领域我们都有着成熟的技术。
电梯控制器设计电路篇二
前言
电梯作为垂直方向的交通工具,在高层建筑和公共场所已成为不可或缺的设备。中国是全球最大的电梯市场,也具有最强的电梯生产能力,但由于缺乏自主知识产权和核心技术,自主品牌占市场的份额很少。因此要加大对电梯技术的创新和发展,提升电梯的性能,就需要引进更好的技术,电梯控制器就是很好的装置,大力开发控制器是很必要的。电梯控制器可以有很多实现方式,本设计用了eda技术进行操作。eda技术打破了软件和硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率与产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。
vhdl主要用于描述数字系统的接口,结构和功能,它的语法简单易懂,移植性好。我设计的是一个5层电梯控制器。分为主控制器和分控制器。主控制器是电梯内部的控制器,每层电梯入口处有一个分控制器。本设计采用vhdl源程序 altera 公司的 quartus ii软件仿真。运用有限状态机的设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为辅助进程。在主进程中定义了七个状态,楼层上升请求upin,楼层下降请求downin,提前关门输入close,延迟关门输入delay,电梯运行的开关run_stop,电梯运行或停止指示lamp,电梯运行或等待时间指示run_wait,在电梯时钟的触发下,通过当前状态和信号灯信号来判定下一状态。信号灯控制进程中,信号灯信号存储按键请求情况,它的熄灭是由状态机进程中传出的信号来控制。
本程序设计调用了ieee 库,ieee 库是 vhdl设计中最为常用的库,它包含有ieee标准的程序包和其他一些支持工业标准的程序包。本设计采用 std-logic-1164、std-logic-unsigned、std-logic-arith 程序包。以关键词 entity引导,end entity lift 结尾的部分是程序的实体部分。vhdl的实体描述了电路器件的外部情况,本设计定义了关于三层电梯控制器用到的各类时钟、异步复位按键、信号灯指示端口、电梯的请求端口。它描述了端口模式主要有in、out,以及各端口信号的数据类型主要有std-logic、std-logic-vector、integer。以关键词 architecture 引导,end architecture rtl结尾的语句部分是结构体部分,结构体描述电路器件的内部逻辑功能。
目录
第一章 绪论...........................................3 §1.1课程设计题目......................................3 §1.2设计目的..........................................3 §1.3课程设计要求......................................3 §1.4课程设计思想......................................4 第二章 课程设计步骤..................................6 §2.1设计背景..........................................6 §2.2课程设计的意义....................................6 §2.2.1中国电梯的现状..................................7 §2.2.2 电梯的节能和环保................................7 §2.2.3 电梯的智能化....................................7 §2.3电梯控制器的流程图.................................8 §2.4 电梯控制器的内部组成结构图........................8 §2.5 主要模块设计.....................................9 §2.6 vhdl源程序.......................................10 §2.7 仿真结果与分析....................................20 第三章 总结心得......................................22 参考文献...............................................22
第一章 绪论
电梯控制器由硬件和软件两大部分组成。硬件包括控制器、控制器地板、读卡天线、电源、写卡器、ic卡片等组成内呼控制器,软件包括下位机运行控制软件、上位机写卡授权软件。我设计的七层电梯控制器主要应用 eda电子电路技术。eda的发展使得设计更具有灵活性。随着我国经济持续增长、城镇化建设的加速和房地产行业的进一步发展,对电梯的需求越来越大。所以电梯控制器就需要大强度的发展,来满足社会的需求。电梯的发展更加的智能化,节约化。对社会的发展,人民生活水平的提高具有很大的意义。所以加大对电梯控制器的发展,和技术上的研究是 很重要的。随着 eda技术发展和应用领域的扩大与深入,eda 技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对eda的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。eda技术的提高,促进了电梯控制器的发展。电梯行业也随着科技的发展,不断地出现在人们生活的各个场所,因此,对电梯控制器的设计是一个很实用的例子,对掌握 eda技术的应用也有很大的帮助。
§1.1 课程设计题目:电梯控制器的设计
§1.2 设计目的
进一步巩固理论知识,培养所学理论知识的在实际中的应用能力;掌握 eda 设计的一般方法; 熟悉一种 eda 软件,掌握一般eda系统的调试方法;利用eda软件设计一个电子技术综合问题,培养vhdl编程、书写技术报告的能力。为以后进行工程实际问题的研究打下设计基础。
§1.3 课程设计要求
设计一电梯控制器实现如下功能:一个五层电梯控制器。分为主控制器和分控制器。主控制器是电梯内部的控制器,每层电梯入口处有一个分控制器。主控制器的功能如下: 1.在按电梯开关时相应请求,否则不响应; 2.电梯初始位 置是一层; 3.电梯运行时,指示当前所在楼层; 4.当电梯到达所请求的楼层时,自动开门,然后继续运行,如果没有请求信号,停留在当前楼层; 6.收到请求后,自动到达用户所在楼层,自动开门; 7.电梯内外设有各种请求,并按电梯运行顺序执行,在执行后清除请求; 8.电梯运行规则:当电梯处于上升状态时,仅响应比电梯位置高的用户的请求;当电梯处于下降状态时,仅响应比电梯位置更低的用户请求;分控制器的功能如下:1.设有上升请求按钮和下降请求按钮,实时检测用户按键; 2.指示电梯当前坐在楼层 3.当电梯到达本层时,清除请求。
§1.4 课程设计思想
实验模拟生活中电梯运动控制,电梯总共五层,最简单的控制思想如下:采集用户呼叫楼层,并放入相应的记忆单元中;不考虑电梯轿厢所在楼层。若有用户呼叫,电梯上行直到达到用户呼叫最大层再下行直到到达最低层。由此构成一次行程;每完成一次行程检测是否所用用户呼叫均已响应完毕。如果没有,电梯继续运行,直到响应完所有用户呼叫。否则,电梯停止运行;其中用户请求包括外部请求和内部请求。有外部升降请求信号需点亮相应的外部请求指示灯,内部升降请求信号同外部;根据电梯所在楼层,七段数码管显示楼层数;当电梯运行到有相应外部呼叫或内部呼叫楼层时,电梯停止运行,灭掉相应的呼叫显示灯,电梯开关门后,继续运行。电梯控制器设计两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为辅助进程。根据电梯的实际工作情况,可以为状态机设置三个状态,电梯的控制状态包括运行状态、停止状态及等待状态,其中运行状态又包含向上状态和向下状态。主要动作有开、关门,停靠和启动。乘客可通过键入开、关门按钮,呼唤按钮,指定楼层按钮等来控制电梯的行与停。状态机进程中的很多判断条件是以信号灯控制进程产生的信号灯信号为依据,而信号灯控制进程中信号灯的熄灭又是由状态机进程中传出的信号来控制。
电梯控制器有如图1-1所示的系统框图。其中clk为基准输入时钟信号,在时钟上升沿有效;upin为楼层上升请求信号,高电平有效;downin为楼层下降请求信号,高电平有效;楼层选择键st_ch,高电平有效;提前关门开关close和延时关门开关delay, 高电平有效;电梯运行开关按钮run_stop,电梯在高电平时正常运行,低电平时停止运行;输出信号包括电梯运行/停止输出信号lamp、电梯运行/等待时间显示电run_wait,电梯所在楼层指示数码管st_out,楼层选择指示数码管direct。由于信号run_wait、st_out和direct的输出要能够直接指示电梯控制器的各种运行状态,因此可以采用共阴极led数码显示管。由电梯控制器系统框图可得到图1-2。
图 1-1电梯控制器系统框图
图1-2 总体组装图
第二章 课程设计步骤
§2.1 设计背景
近年来,随着我国房地产业的持续高速发展,高层建筑越来越多。因此,一种能使人们快速、便捷地到达目的楼层的电梯便应运而生了。分析近几年房地产业的发展趋势,特别是商品住宅的高速发展,将使住宅对电梯的需求 量持续攀升。人们对电梯安全性、高效性、舒适性的不断追求也推动了电梯技术的进步。随着电梯技术的发展,绿色化、低能耗、智能化、网络化、蓝牙技术的电梯成为一段时间内的发展趋势。为保证人们能更安全、更快捷地到 达目的楼层,实现人性化的功能,对电梯系统中的控制部分进行优化设计是非常必要。因此这部分的设计也就成了在电梯设计领域里最为核心的技术。为了实现电梯的智能化,可以采用许多方法。它的智能化控制可以有以下几种形式: 控制;2.单板机控制;3.单片机控制;4.单微机控制;5.多微机控制;6.人工智能控制。随着 eda技术的快速发展,电子设计自动化(eda)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。它是一种实现电子系统或电子产品自动化设计的技术,与电子技术、微电子技术的发展密切相关,并吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。传统单片机设计的电梯控制外围电路复 杂,性能不稳定,而采用 eda 设计,却拥有电子系统小型化、低功耗、高可靠性、开发过程投资小、周期短等优点,而且还可以通过软件编程对硬件结构和工作方式进行重构,使得硬件设计如软件设计那般方便快捷。本次设计就是应用eda电子电路技术来设计电梯控制器,从而使用一片芯片就可以实现对电梯的控制的。
§2.2 课程设计的意义
电梯作为垂直方向的交通工具,在高层建筑和公共场所已经成为重要的建筑设备而不可或缺。电梯产业的前景和走势随着社会的需求而悄然发生着改变,除了考虑安全、舒适、豪华装修等要求外,市场对新一代的绿色电梯、节能电梯和智能电梯的需求越来越旺盛。国内外电梯企业顺应市场需要,加大研发投入,都准备在未来新概念电梯产业发展中占得先机。
§2.2.1 中国电梯的现状
近年来,随着中国房地产业的快速发展,与之配套的电梯生产制造业也经历了迅猛发展的阶段,电梯产量保持了每年 20%以上的增长速度。我国电梯的出口年均增长率将保持在 35%以上,电梯行业逐步成为国内比较重要的行业。随着我国经济持续增长、城镇化建设的加速和房地产行业的进一步发展,对电梯的需求越来越大。估计未来 50年估计中国新增住房面积将达到200亿平方米。国家规定20 米以上高楼就应安装电梯,因此未来电梯最大的市场就是住宅市场。此外,机场、商场、地铁等大型公共设施建设对自动扶梯、观光电梯等电梯的需求量也十分可观。电梯作为终端消费品,品牌在市场竞争中的作用非常明显。品牌往往成为人们在选择电梯产品时的重要考虑因素,电梯生产要想建立良好的品牌并获得市场的认可,也必须经过市场一定时间的不断考验。面对外资巨头的贴身进逼,我国电梯品牌在服务和营销上难以匹敌,其生存状况不容乐观。所以大力发展电梯控制器技术对我国电梯行业的发展至关重要。
§2.2.2 电梯的节能和环保
“绿色”已成为 21世纪的主流色调,一个全球性的绿色市场为企业的发展提供了广阔的空间,当今社会谁先推出绿色产品,抢占绿色营销市场,谁就能掌握竞争的主动权。老式电梯噪音、占用空间、耗能等形成的危害积累起来是相当大的,因此,在城市环保社区建设中,如何尽量减少电梯对环境的危害是相当重要的课题之一。目前,我国市场每年销售各种类型的电梯达 4.5 万部,如果这些电梯全部实现环保化,其环境效益是难以估量的。
§2.2.3 电梯的智能化
随着城市化的高速发展,越来越多的摩天大楼拔地而起。就摩天大楼的高度而言,不仅受建筑技术上的制约,而且还有电梯升高方面的困惑,因而,在摩天大楼日益完备智能化的趋势中,电梯的智能化也不容忽视。它不仅是人们上上下下的代步工具,同时,也是摩天大楼智能化的一个重要标志。尽管电梯在摩天大楼中只是—个细节,但电梯智能化程度的高低却决定着它服务质量的优劣。因而,7 电梯的智能化在一定程度上反映出智能大厦的智能程度。计算机技术,通讯技术与控制技术的发展使大厦的智能化成为现实,而电梯是智能建筑中的重要交通工具,其技术发展及智能化程度也倍受世人关注。智能化的电梯要与智能大厦中所有自动化系统联网,如与楼宇控制系统、消防系统、保安监控系统等交互联系,使电梯成为高效优质、安全舒适的服务工具。
§2.3电梯控制器的流程图
外部按键初始化等待请求信号寄存器是否有请求?状态寄存器是目标层与本层是否同层?否判定电梯运行方向外部硬件执行机构电梯运行。
图 2-1 总流程图
§2.4 电梯控制器的内部组成结构图
整个电梯控制器dtkzq应包括如下几个组成部分:① 时序输出及楼选计数器;② 电梯服务请求处理器;③ 电梯升降控制器;④ 上升及下降寄存器;⑤ 电梯次态生成器。该电梯控制器设计的关键是确定上升及下降寄存器的置位与复 位。整个系统的内部组成结构图如图 2-2 所示:
图 2-2电梯控制器的内部组成结构图
§2.5 主要模块设计
图2-2中所示的各电路模块可以通过采用多进程的方式实现。
一、分频信号和楼选信号产生进程
分频信号和楼选信号产生进程将输入时钟信号进行二分频,同时对楼选指示变量dir进行从0到4的计数。
二、楼层请求寄存器置位与复位进程
该进程通过楼层选择指示变量dir、电梯所在楼层变量liftor和输入信号upin、downin、st_ch来判断楼层请求寄存器ur、dr的复位。
假设电梯所在楼层为num,此时电梯如处于运行中,这时若楼层指示为t且t>num时按下了楼层选择确认键st_ch,或者按下上升按钮upin,则对应的上升请求寄存器ur(t)赋值为1,否则,若电梯运行时间到,且没有任何的请求,则对应的上升请求寄存器ur(t)赋值为0;反之,如果电梯处于运行中,楼层指示为t且t 三、电梯运行次态控制进程 电梯运行次态控制进程的设计是实现电梯控制器最为重要的一部分,合理判断电梯的运行次态是正确完成设计的关键。该进程根据ur/dr寄存器的状态和电梯所在楼层的变量liftor,当wai_t的值为110时,给出电梯的下一个状态。信号ladd指示电梯的下一个状态,其值为11时电梯上升,00时电梯下降,01或者10电梯都处于等待状态。 当run_stop信号为高电平时,电梯处于运行状态,假设运行时间到,wai_t=110,如果此时上升或下降请求寄存器的每一位都为0,则电梯处于等待状态,电梯下一状态指示信号ladd为00或者为01;否则,若电梯处于第n层,如果此时第n+1层的上升或者下降请求寄存器的值为1,则电梯处于运行等待状态,如果此时第n+1层以上的上升或者下降寄存器有请求或者n层以下的上升或者下降寄存器有请求,电梯处于上升状态,ladd的值为11,其他情况电梯处于下降运行状态,ladd的值为10。 四、电梯运行楼层计数及提前/延时关门控制进程 此进程完成提前/延时关门控制功能,并对电梯运行的楼层数进行计数。在分频信号的上升沿启动进程,信号closex和delayx分别完成提前关门和延时关门请求,并根据下一状态指示信号ladd对楼层计数器liftor进行相应的操作。 §2.6 vhdl源程序 显示电路的vhdl实现如下: library ieee;--库函数的说明 use ;--程序包的说明 use ;entity led is port(ledin: in std_logic_vector(2 downto 0);--输入信号 ledout: out std_logic_vector(6 downto 0));--输出信号; end led;architecture rtl of led is--结构体 begin process(ledin)begin case ledin is--共阴极led显示译码:g f e d c b a when “000”=>ledout<=“0111111”;--0 when “001”=>ledout<=“0000110”;--1 when “010”=>ledout<=“1011011”;--2 when “011”=>ledout<=“1001111”;--3 when “100”=>ledout<=“1100110”;--4 when “101”=>ledout<=“1101101”;--5 when others =>ledout<=“0000000”;--其他情况时灯灭 end case;end process;end rtl;五层电梯控制器主体的vhdl实现如下: library ieee;--库函数的说明 use ;--程序包的说明 use ;use ;entity lift is port(clk:in std_logic;--时钟信号 upin:in std_logic;--上升请求键 downin:in std_logic;--下降请求键 st_ch:in std_logic;--楼层选择键 close:in std_logic;--提前关门键 delay:in std_logic;--延时关门键 run_stop:in std_logic;--电梯运行开关 lamp:out std_logic;--运行或停止灯 run_wait:out std_logic_vector(3 downto 0);--运行或等待时间 st_out:out std_logic_vector(3 downto 0);--电梯所在楼层指示 direct:out std_logic_vector(3 downto 0)--楼层选择指示);end lift;architecture rtl of lift is signal ur,dr: std_logic_vector(5 downto 1);signal dir,liftor: integer range 0 to 4;signal wai_t: std_logic_vector(2 downto 0);signal divide,hand,clkin: std_logic;signal ladd: std_logic_vector(1 downto 0);signal closex,delayx: std_logic;begin direct<=conv_std_logic_vector(dir,4)+1;st_out<=conv_std_logic_vector(liftor,4)+1;run_wait<='0'& wai_t;lamp<=ladd(1);hand<=wai_t(2)and(not wai_t(1)and wai_t(0));closex<=close and(not ladd(1));delayx<=delay and(not ladd(1));--分频进程 p0:process(clk)begin if(clk'event and clk='1')then clkin <=not clkin;end if;end process p0;--分频及楼选信号产生进程 p1:process(clkin)12 begin if(clkin'event and clkin='1')then divide<=not divide;if(dir=4)then dir<=0;else dir<=dir+1;end if;end if;end process p1;--楼层请求寄存器置位与复位进程 p2:process(ur,dr,dir,upin,downin,st_ch,liftor,wai_t,run_stop,hand)variable num,t:integer range 0 to 5;begin num:=liftor+1;t:=dir+1;if(run_stop='1')then--电梯运行时--选择楼层大于当前楼层或者有上升请求 if(((t>num)and(st_ch='1'))or(upin='1'))then case t is when 1=>ur(1)<='1';when 2=>ur(2)<='1';when 3=>ur(3)<='1';when 4=>ur(4)<='1';when 5=>ur(5)<='1';when others=>null;end case;--电梯运行时间到 elsif(hand='1')then 13 case num is when 1=>ur(1)<='0';when 2=>ur(2)<='0';when 3=>ur(3)<='0';when 4=>ur(4)<='0';when 5=>ur(5)<='0';when others=>null;end case;end if;--选择楼层小于当前楼层或者有下降请求 if(((t p4:process(divide,ladd,wai_t,closex,delayx)begin 17 if(divide'event and divide='1')then--分频后的时钟上升沿 if(wai_t=“000” or closex='1')then wai_t<=“110”;else if(delayx='0')then wai_t<=wai_t-1;else wai_t<=“010”;end if;--电梯处于运行状态 if(wai_t=“001”)then if(ladd=“11”)then--电梯上升,楼层加1 liftor<=liftor-1;end if;end if;end if;end if;end process p4;end rtl;顶层模块设计: library ieee;--库函数的说明 use ;--程序包的说明 entity top is port(clk:in std_logic;--时钟信号 upin:in std_logic;--上升请求键 downin:in std_logic;--下降请求键 st_ch:in std_logic;--楼层选择键 close:in std_logic;--提前关门键 delay:in std_logic;--延时关门键 run_stop:in std_logic;--电梯运行开关 lamp:out std_logic;--运行或停止灯 run_wait: out std_logic_vector(6 downto 0);st_out: out std_logic_vector(6 downto 0);direct: out std_logic_vector(6 downto 0));end top;architecture rtl of top is component led is port(ledin: in std_logic_vector(2 downto 0);ledout: out std_logic_vector(6 downto 0));end component led;component lift is port(clk:in std_logic;--2hz信号 upin:in std_logic;--上升请求键 downin:in std_logic;--下降请求键 st_ch:in std_logic;--楼层选择键 close:in std_logic;--提前关门键 delay:in std_logic;--延时关门键 run_stop:in std_logic;--电梯运行开关 lamp:out std_logic;--运行或停止灯 run_wait: out std_logic_vector(3 downto 0);st_out: out std_logic_vector(3 downto 0);direct: out std_logic_vector(3 downto 0));end component lift;signal s0,s1,s2:std_logic_vector(3 downto 0);begin u1:lift port map(clk,upin,downin,st_ch,close,delay,run_stop,lamp,s0, s1,s2);19 u2:led port map(s0,run_wait);u3:led port map(s1,st_out);u4:led port map(s2,direct);end rtl; §2.7仿真结果与分析 由2.6节里的vhdl语言描述得到的电梯控制器为对象进行仿真,得到的rtl电路如图2-3所示。 从图上可以看出,电梯控制器由一个控制主体电路模块和三个显示电路模块组成,它们分别完成电梯状态的控制和显示功能。 图2-3 电梯控制器rtl电路图 对这样一个数字系统进行功能仿真得到的仿真波形如图2- 4、2- 5、所示。 图2-4电梯控制器有上升请求时的仿真波形图 图2-5电梯控制器有下降请求时的仿真波形图 图中,当信号close为高电平时,电梯进入运行次态控制进程,通过判断上升、下降请求寄存器每一位的值,决定电梯的运行状态,并通过状态指示信号输出该状态。 在波形仿真中,根据实际,我们有必要做一些假设,即是:1.外部请求上升的乘客,进入电梯后一定是按更高层的停站按钮;2.外部请求下降的乘客,进入电梯后一定是按更低层的停站按钮;3.如果有乘客进入电梯,则一定有停站请求; 4.同一时刻有很多人按键的概率很小,所以我们认为请求信号都有一定的先后顺序。 第三章 总结心得 在这两周的设计过程中,除找资料外,大多时间都是在电脑上进行的,通过反复的编译,仿真,不断试验来实现所得结果。在设计上,运用了 eda 自上而下的设计思想,逐步完善所设计功能,同时,用到 vhdl 语言中的状态机,多进程,case、if?.else 等语句,才达到以上结果。在设计中也遇到许多困难,在自己及同学的共同努力下才完成此设计。因此这次课设给我带来的收获主要有:进一步熟悉 quartus ii软件的使用和操作方法以及硬件实现时的下载方法与运行方法,很好的弥补了我们平时只学不用的缺陷;对vhdl语言的自顶向下设计方法有了进一步的认识,对其中的许多语句也有了新的理解和掌握;对自己独立思考和解决问题的能力也有了很大的锻炼,同时同学间的互帮互助精神也是在课程设计中很好体现的。自己做的五层电梯控制器的运行情况都能正确的实现,更好的理解了电梯控制器的工作方式。在做设计的同时也有许多意外的收获,比如对电脑也有了进一步的认识,同时也意识到了英语的重要性,在编译的过程中如果如果出现了错误,要是看不懂就很难去改正,所以以后我将会更加努力的学习英语。 参考文献: [1] 潘松.黄继业.《eda 技术实用教程(第3版)》.清华大学出版社,2009.[2] 刘欲晓.方强.黄宛宁《eda技术与vhdl电路开发应用实践 》.电子工业出版社,2009.[3] 苏长赞.《电梯设计与应用》.人民邮电出版社,2008.22 我要分享电梯控制器由硬件和软件二大部分组成。硬件包括控制器、控制器底板、读卡天线、电源、写卡器、ic卡片id卡片等组成内呼控制器,软件包括下位机运行控制软件、上位机写卡授权软件。下面就具体介绍一下电梯控制器系统结构以及电梯控制器系统功能,让大家更加了解电梯的功能。“” 电梯控制器由硬件和软件二大部分组成。硬件包括控制器、控制器底板、读卡天线、电源、写卡器、ic卡片id卡片等组成内呼控制器,软件包括下位机运行控制软件、上位机写卡授权软件。下面就具体介绍一下电梯控制器系统结构以及电梯控制器系统功能,让大家更加了解电梯的功能。 电梯控制器的简介 电梯控制器由硬件和软件二大部分组成。硬件包括控制器、控制器底板、读卡天线、电源、写卡器、ic卡片id卡片等组成内呼控制器,软件包括下位机运行控制软件、上位机写卡授权软件。 智能型电梯楼层人员管制系统,专供电梯轿箱内管制人员出入特定楼层。管制持卡人员出入特定允许出入之楼层,以防止随意出入各楼层而确保安全;具区段式增加,删除,查询卡号及楼层设定;操作模式:单层卡持有人刷卡直达.无需再按键;多层卡用户刷卡后,须再按卡片内记录的权限按键抵达;可选配密码键盘,实现忘带卡时输密码坐电梯;具有时间区管制:实现系统在某段时间内开放,某段时间内受控,使电梯按规定自动运行;该系统与电梯本身系统采用无源触点连接,两者完全隔离,不会对电梯原有性能产生任何影响;产品自带自检装置当系统发生故障或者遭破坏时可送出讯号,会自动从原系统中脱离,恢复电梯原状态,不影响电梯的使用;具有消防信号输入接口,当无源的干接点消防开关信号启动后,ic卡电梯系统不工作,电梯恢复到原状态;使用低功率之cmos微电脑、断电时人员及储存资料可保存10年绝不流失;含高级接待卡功能;脱机或者联网状态系统会自动记录每次成功刷卡使用电梯的相关信息。 电梯控制系统结构 电梯控制系统硬件由轿厢操纵盘、厅门信号、plc、变频器、调速系统构成,变频器只完成调速功能,而逻辑控制部分是由plc完成的。plc负责处理各种信号的逻辑关系,从而向变频器发出起停信号,同时变频器也将本身的工作状态输送给plc,形成双向联络关系。系统还配置了与电动机同轴连接旋转编码器及pg卡,完成速度检测及反馈,形成速度闭环和位置闭环。此外系统还必须配置制动电阻,当电梯减速运行时,电动机处于再生发电状态,向变频器回馈电能,抑制直流电压升高。 电梯系统是一个六层六站的系统,井道内设有轿厢、安全窗、对重、安全钳、感应器、平层、楼层隔磁板、端站打板及各种动作开关,轿厢底部设有超载、满载开关,井道外每层设有楼层显示、呼梯按钮及指示、一层设基站电锁,井道顶部有机房,内设机房检修按钮、慢上、慢下开关、曳引机、导向轮和限速器,并道底部设有底坑,缓冲器、限速器绳轮;轿厢内设有厅门、轿门、门机机构、门刀机构、门锁机构、门机供电电路、安全触板、轿顶急停、检修、慢上、慢下开关及轿顶照明、轿顶接线厢,轿门和厅门上方设有楼层显示,轿门右侧设有内选按钮及指示、开关门按钮、警铃按钮、超载、满载指示。本文的重点是先将原由继电器控制的电梯控制柜进行改造,用plc取代继电器进行电梯控制,以提高电梯的可靠性和安全性;然后将电梯的信号通过ddc采集送工作站进行电梯运行情况的监视。 直流电梯具有速度快、舒适感好、平层准确度高的特点,这是因为直流拖动系统调速性能好、调速范围宽。直流电动机的调速方法有改变端电压ua、调节调整电阻rtj、改变励磁磁。直流电梯的拖动系统通常有两种:(1)、用发电机组构成的可控硅励磁的发电机一电动机的拖动系统门禁电梯控制系统。 (2)、可控硅直接供电的可控硅一电动机拖动系统。 两者都是利用调整电动机端电压ua的方法进行调速的,前者是通过调节发电机的励磁改变发电机的输出电压进行调速的,所以称为可控硅励磁系统。后者是用三相可控硅整流器,把交流变为可控直流,供给直流电动机的调速系统,省去了发电机组,因此降低了造价,使结构更加紧凑,直流电梯因其没备多,维护较为复杂,造价高,因此常用于速度要求较高的高层建筑,它具有舒适感好、平层准确高的特点、速度有1.5-1.75m/s的快速梯和2.55m/s的高速梯。 电梯控制器系统功能 1、消防功能: 当遇到电梯消防时,电梯智能卡控制器会自动脱离电梯,是电梯恢复到无电梯智能卡控制状态,方便电梯内人员及时脱离危险。 2、限时功能: 物业人员把每张电梯专用卡写入有效时间,在这段时间内,业主正常刷卡乘梯,过了截止时间后,业主持电梯专用卡刷卡时无效,电梯按键不响应,业主需到物业处缴费,物业人员把业主的电梯专用卡重新写入相应的时间后,业主的电梯专用卡才能正常使用。 3、扣费功能: 物业人员把每张电梯专用卡写入有效次数,业主每刷一次,卡内次数就相应扣除一次,当卡内次数不足10次时,读卡器会发出报警声音提示用户充值,当剩余次数为0时,电梯卡便无法使用。 4、免维护功能: 当电梯刷卡控制器出现故障时,电梯维保人员可以直接在是电梯按钮连接板上拨动一个免维护开关,这样电梯按钮会自动进入无卡状态,业主无需刷卡,直接按动电梯按钮乘梯。对于维保人员来说,无需再恢复按钮线,直接将有故障的电梯刷卡控制器寄回我司进行维护,若在质保期内,则一旦电梯刷卡控制器出现故障,同时将立即寄出新的电梯刷卡控制器,直接免费更换新的即可,当电梯维保人员收到新的电梯刷卡控制器后,只需简单安装即可。 5、刷卡功能: 可根据需要随意设定电梯专用卡的权限,乘梯时需先刷卡后使用,使无卡或无权限人员无法进入并使用电梯,刷卡后,按钮需手动按亮或自动点亮。 总结:关于电梯控制器系统结构以及电梯控制器系统功能的相关信息就为大家介绍到这里了,希望这篇文章对大家有所帮助。如果大家还有什么不明白的地方可以在下方给小编留言哦,我们会尽快为您解答。 设计性实验项目名称 交通灯控制器设计 实验项目学时:3学时 实验要求:■ 必修 □ 选修 一、实验目的 1、学习与日常生活相关且较复杂数字系统设计; 2、进一步熟悉eda实验装置和quartusⅱ软件的使用方法; 3、学习二进制码到bcd码的转换; 4、学习有限状态机的设计应用。 二、实验原理 交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又 有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很 简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北 和东西直行的情况。 要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的燃灭规律为:初始态是两个路口的红灯全亮之后,主干道的绿灯亮,乡间道路的红灯亮,主干道方向通车,延时一段时间后,乡间公路来车,主干道绿灯灭,黄灯开始闪烁。闪烁若干次后,主干道红灯亮,而同时乡间公路的绿灯亮,延时一段时间后,乡间公路的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到主干道方向,重复上述过程。 三、设计要求 完成设计、仿真、调试、下载、硬件测试等环节,在型eda实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下: 1、有mr(主红)、my(主黄)、mg(主绿)、cr(乡红)、cy(乡黄)、cg(乡绿)六盏交通灯需要控制; 2、交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间; 3、乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出请求信号s=1,其余时间s=0; 4、平时系统停留在主干道通行(mgcr)状态,一旦s信号有效,经主道黄灯4秒(mycr)状态后转入乡间公路通行(mrcg)状态,但要保证主干道通行大于一分钟后才能转换; 5、一旦s信号消失,系统脱离mrcg状态,即经乡道黄灯4秒(mrcy)状态进入mgcr状态,即使s信号一直有效,mrcg状态也不得长于20秒钟; 6、控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。 四、主要仪器设备 1、微机 1台 1套 1套 2、quartusii集成开发软件 3、eda实验装置 五、实验步骤 源程序: 0module traffic1(clk,s,rst,light,sel,sg);input clk,s,rst;output[5:0] light; output [2:0]sel;output [7:0]sg;reg [5:0] light;reg clk1;reg [3:0] sc; reg [7:0] count;reg [7:0] cnt,sg;reg [2:0] sel;reg [3:0]a;parameter s0=0,s1=1,s2=2,s3=3,s4=4;initial begin count<=8'b01100000; light<=6'b001100; sc=s0; end always @(posedge clk)begin begin cnt=cnt+1; if(cnt==100)begin clk1=1'b1;cnt=0;end else clk1=1'b0;//100分频,clk为数码管扫描频率,clk1为计数频率 if(sel<7)sel=sel+1;else sel=6; end //sel为数码管选择 begin case(sel) 7: a=count[3:0];//0数码管为个位 6: a=count[7:4];//1数码管为十位 default: a=0; endcase case(a) 0:sg<=8'b00111111;1:sg<=8'b00000110; 2:sg<=8'b01011011;3:sg<=8'b01001111; 4:sg<=8'b01100110;5:sg<=8'b01101101; 6:sg<=8'b01111101;7:sg<=8'b00000111; 8:sg<=8'b01111111;9:sg<=8'b01101111;//8段译码值 default: sg=8'b11111111; endcase end end always @(posedge clk1 or negedge rst) begin if(!rst)begin count = 0;sc=s3;end // count set nothing but else 0 else if(count == 0) begin case(sc) s0: begin if(s)begin sc=s1;count = 8'b00000100;light=6'b010100;end else begin sc=s4;count = 8'b01100000;end end s1: begin count = 8'b00100000;sc=s2;light=6'b100001;end s2: begin count = 8'b00000100;sc=s3;light=6'b100010;end s3: begin count = 8'b01100000;sc=s0;light=6'b001100;end s4: begin if(s)begin sc=s1;count = 8'b00000100;light=6'b010100;end else begin sc = s4;count = 8'b01100000;light<=6'b001100;end end default begin sc=s0;count =8'h60;end endcase end else if((sc==s2)&(s==0))begin sc=s3;count = 8'b00000100;light=6'b100010;end else if((sc==s4)&(s==1))begin sc=s1;count = 8'b00000100;light=6'b010100;end else if(count[3:0] == 4'b0000) begin count = count-7;end else begin count = count-1;end end endmodule 管脚锁定 六、波形仿真 主干道60s倒计时 s信号为1时 七、实验心得 通过本次实验,让我进一步掌握了软件quartus的使用流程,一开始实验时波形仿真是正确的,但在电路上实现时主干道亮黄灯时,乡间道路亮的是绿灯,这显然是不对的,后面发现是管脚锁定时出现了问题,改回来之后就没问题了。管脚锁定时不能粗心,不然很容易出现问题。 曹军 生医121班电梯控制器设计电路篇三
电梯控制器设计电路篇四
电梯控制器设计电路篇五
彩灯控制器设计 摘要
一、系统设计要求
设计一个控制电路来实现8路彩灯按照一定的次序和时间间隔闪烁。具体要求如下:
1、当控制开关为0时,灯全灭;当控制开关为1时,从第一盏开始,依次点亮,时间间隔为1秒。期间一直保持只有一盏灯亮、其他灯全灭的状态。
2、8盏灯依次亮完后,从第8盏开始依次灭,期间一直保持只有一盏灯灭、其他灯全亮的状态。
3、当8盏灯依次灭完后,8盏灯同时亮同时灭,其时间间隔为0.5秒,并重复4次。
4、只要控制开关为1,上述亮灯次序不断重复。
5、用层次化设计方法设计该电路,编写各个功能模块的程序。
6、仿真各功能模块,通过观察有关波形确认电路设计是否正确。
7、完成电路设计后,用实验系统下载验证设计的正确性。
二、系统总体结构 系统框图如下所示,ena为控制开关,输入信号为2hz,经过分频器分频之后产生一个1hz的时钟信号,用两个12位内部信号的左、右移后的中间8位来控制8个灯的亮与灭。计数器1和计数器2的作用:一方面用2hz和1hz的时钟信号控制灯亮、灭的时间间隔;另一方面控制八盏灯的依次亮、依次灭和全亮、全灭。
使能信号ena为无效电平时(低电平),8只led灯保持全灭的状态;当使能信号ena为有效电平时(高电平),8只按照既定的花型进行变换,首先2hz的时钟信号在分频器的左右下改变为1hz的时钟信号,该1hz的时钟信号送至计数器
2、左移和右移模块,并由计数器2实现左、右移模块的选择。分别实现8只led灯的自左向右依次点亮,以及自右向左依次熄灭的花型变换;当完成自右向左的花型变换后,计数器2给出一个控制信号给计数器1,执行全亮全灭的花型变换,该模块的时钟信号是未经分频器分频的原始时钟信号2hz。只要使能信号有效,那么该系统就按照以上的花型变换顺序一直永序的变换下去。
三、各功能模块
1、时钟信号二分频模块:
功能描述:该模块的功能主要是将频率为2hz的时钟信号分频频率为1hz的时钟信号,并将频率为1hz的时钟信号输出给左移、右移模块作为这两个模块时钟触发信号。
代码部分: library ieee;use ;use ;entity clk_div2 is port(clk:in std_logic;output:buffer std_logic);end clk_div2;architecture one of clk_div2 is begin process(clk)begin if clk'event and clk='1' then output<=not output;end if;end process;end one;仿真
波
形
:
2、计数器模块:
功能描述:该模块的主要功能是通过计数,实现对左移及右移模块的选通,并在右移和左移模块完成后,跳转到循环取反模块执行指令。
计数器1代码部分: library ieee;use ;use ;entity count1 is port(clk,ena:in std_logic;output:buffer std_logic_vector(1 downto 0));end count1;architecture one of count1 is signal cq:std_logic_vector(5 downto 0);begin process(clk,ena)begin if clk'event and clk='1' then if ena='1' then if cq<“100111” then cq<=cq+1;if cq=“100000” then output<=“10”;elsif cq=“100001” then output<=“01”;elsif cq=“100010” then output<=“10”;elsif cq=“100011” then output<=“01”;elsif cq=“100100” then output<=“10”;elsif cq=“100101” then output<=“01”;elsif cq=“100110” then output<=“10”;elsif cq=“100111” then output<=“01”;end if;else cq<=“000000”;output<=“00”;end if;else cq<=“111111”;end if;end if;end process;end one;
仿真波形:
计数器2代码: library ieee;use ;use ;entity count2 is port(clk,ena:in std_logic;output:out std_logic_vector(5 downto 0));
end count2;architecture one of count2 is signal cq:std_logic_vector(5 downto 0);begin process(clk,ena)begin if clk'event and clk='1' then if ena='1' then if cq<“010011” then cq<=cq+1;else cq<=“000000”;end if;else cq<=“111111”;end if;end if;end process;output<=cq;end one;
仿真波形:
3、循环右移模块:
功能描述:该功能实现8只led灯的从左向右依次点亮的功能,点亮过程中,每时每刻都保证只有一个led被点亮,其它led全灭的状态。时间间隔为1s。
代码部分: library ieee;use ;use ;entity rightmove is port(clk,ena:in std_logic;count:in std_logic_vector(5 downto 0);output:out std_logic_vector(11 downto 0));end rightmove;architecture one of rightmove is begin process(clk,ena,count)begin if clk'event and clk='1' then if ena='1' then case count is when “000000”=>output<=“001000000000”;when “000001”=>output<=“000100000000”;when “000010”=>output<=“000010000000”;when “000011”=>output<=“000001000000”;when “000100”=>output<=“000000100000”;when “000101”=>output<=“000000010000”;when “000110”=>output<=“000000001000”;when “000111”=>output<=“000000000100”;when others=>output<=“000000000000”;end case;else output<=“000000000000”;end if;end if;end process;end one;
仿真波形:
4、循环左移模块:
功能描述:该功能实现8只led灯在从左向右依次点亮结束后,从右向左依次熄灭一只led,熄灭过程中,每时每刻都保证只有一个led被熄灭,其它led全亮的状态。时间间隔为1s。
代码部分: library ieee;use ;use ;entity leftmove is port(clk,ena:in std_logic;count:in std_logic_vector(5 downto 0);output:out std_logic_vector(11 downto 0));end leftmove;architecture one of leftmove is begin process(clk,ena,count)begin if clk'event and clk='1' then if ena='1' then case count is when “001000”=>output<=“111111111011”;when “001001”=>output<=“111111110111”;when “001010”=>output<=“111111101111”;when “001011”=>output<=“111111011111”;when “001100”=>output<=“111110111111”;when “001101”=>output<=“111101111111”;when “001110”=>output<=“111011111111”;when “001111”=>output<=“110111111111”;when others=>output<=“000000000000”;end case;else output<=“000000000000”;end if;end if;end process;end one;
仿真波形:
5、循环取反模块:
功能描述:该模块实现的是对完成逐个点亮和逐个熄灭的过程后,实现每秒2次的全亮、全灭的闪烁。即相邻两个动作之间的时间间隔为0.5s。
代码部分: library ieee;use ;use ;entity qufan is port(clk,ena:in std_logic;count:in std_logic_vector(1 downto 0);output:buffer std_logic_vector(11 downto 0));end qufan;architecture one of qufan is begin process(clk,ena,count)begin if clk'event and clk='1' then if ena='1' then case count is when “10”=>output<=“111111111111”;when “01”=>output<=not output;when others=>output<=“000000000000”;end case;else output<=“000000000000”;end if;end if;end process;end one;
仿真波形:
6、多选一模块:
功能描述:此模块选择左移、右移或者是循环取反中的一个模块信号送至8只led灯。
代码部分: library ieee;use ;use ;entity qufan is port(clk,ena:in std_logic;count:in std_logic_vector(1 downto 0);output:buffer std_logic_vector(11 downto 0));end qufan;architecture one of qufan is begin process(clk,ena,count)begin if clk'event and clk='1' then if ena='1' then case count is when “10”=>output<=“111111111111”;when “01”=>output<=not output;when others=>output<=“000000000000”;end case;else output<=“000000000000”;end if;end if;end process;end one;
仿真波形:
7、系统组合电路:
以上详细地介绍了各个模块的功能、代码以及仿真波形。下面将把6个分模块系统有序的整合在一起,形成一个功能完整的系统。
仿真波形:
四、系统调试
1、该系统使用开发板电路模式n0.6,其电路结构为
2、使用的可编程芯片型号为flex epf10k10-plcc84。
3、在将程序下载到实验箱上实际检测的时候,引脚的设置是一项简单
但极易出现错误的工作。时钟信号由clock0送出,其时钟频率为2hz,使能信号ena接的是实验箱上的3号按键。
4、当控制开关ena为0时,8只彩灯保持全灭的状态;当控制开关ena 为1时,彩灯按照预先设定的先自左向右依次点亮,全部点亮后按照自右向左的顺序依次熄灭,依次渐亮和依次熄灭的过程中,始终保持只有一盏彩灯被点亮或熄灭,且时间间隔为1s。当彩灯依次熄灭后,加快变换频率,以0.5s的时间间隔全亮、全亮交替。
5、调试结果:此系统可以顺利的实现了4的设定显示效果。
五、总结
本次实验课题主要包括四个阶段:课题选择阶段、查阅资料阶段、编程仿真阶段、实验箱检测调试阶段。
课题的选定是抽签决定的,有不少人说彩灯是最简单的一个课题。不过我认为没什么简单困难之分,不同的只是你对待它的态度。
查阅资料阶段则主要围绕的是选择何种方案可以更好的实现要求得功能,并最终确定各个功能模块的实现方案。
编程仿真阶段则主要是把上一阶段确定的方案变为vhdl代码,并编译仿真得到仿真波形。最后一个阶段就是实验箱检测和调试阶段,将已经编译仿真过的程序下载到实验箱进行实际的检测和调试。最终系统没出现什么问题,编译后的代码下载到实验箱后,彩灯顺利实现要求的花型变换。
最后要感谢老师的悉心指导,课程设计中,遇到了不少问题,多亏了老师的悉心指导才能够顺利、及时地解决问题,使得课题能够顺利完成。通过这次的课题设计,我深深体会到知识通过应用才能体现其价值。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除