电梯控制器设计资料.doc

上传人:叶*** 文档编号:36674680 上传时间:2022-08-28 格式:DOC 页数:23 大小:1.13MB
返回 下载 相关 举报
电梯控制器设计资料.doc_第1页
第1页 / 共23页
电梯控制器设计资料.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《电梯控制器设计资料.doc》由会员分享,可在线阅读,更多相关《电梯控制器设计资料.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、EDA技术课程设计报告设计题目: 专业班级: 学生姓名: 学 号: 指导教师: 课程设计成绩: 完成日期:2015年12月20日目录 引言.11. 提出问题.22.设计任务及设计要求.2 2.1 设计任务.2 2.2 设计要求.33 设计总体思路.4 3.1 电梯运作流程.4 3.2 电梯运行控制流程图 .5 3.3 电梯控制器 .6 3.4 数码管显示控件 .74 各单元电路设计 .7 4.1 DELED 模块.7 4.2 电梯控制模块 .85 总体电路设计.9 5.1 DELED 模块功能 .9 5.2 总体电路. 10 5.3 试验箱仿真. 116 设计调试体会与总结. 13参考文献 .

2、 14附录 . 1521 / 23引言随着社会的发展,电梯的使用越来越普遍,已经从原来只在商业大厦、宾馆使用过度到在办公楼、居民楼等场所使用,并且对电梯功能的要求也不断提高,相应地其控制方式也在不停地发生变化。对于电梯的控制,传统的方法是使用继电器接触器控制系统进行控制,随着技术的不断发展,微型计算机在电梯控制上的应用日益广泛,现在已进入全微化控制的时代。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或

3、一个系统)分成外部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。电梯的微机化控制

4、主要有以下几种形式:1PLC控制2单片机控制3单板机控制4单微机控制5多微机控制6人工智能控制。随着EDA技术的快速发展,VHDL已广泛应用于电子设计与控制的各个方面本文采用VHDL语言来设计实用六层电梯控制器,其代码具有良好的可读性和易理解性,源程序经A1tera公司的 Quartus II软件仿真,目标器件选用CPLD器件。通过对六层电梯控制器的设计,可以发现本设计有一定的扩展性,而且可以作为更多层电梯控制器实现的基础。1 提出问题电梯作为垂直方向的交通工具,在高层建筑和公共场所已成为不可或缺的设备。中国是全球最大的电梯市场,也具有最强的电梯生产能力,但由于缺乏自主知识产权和核心技术,自主

5、品牌占市场的份额很少。随着社会需求的变化,电梯朝着节能、环保及智能化方向发展。EDA技术打破了软件和硬件间的壁垒,是计算机的软件技术与硬件实现、设计效率与产品能合二为一,它代表了电子技术和应用技术的发展方向。VHDL主要用于描述数字系统的接口,结构和功能,它的语法简单易懂,移植性好。本设计采用VHDL,源程序Altera公司的Quartus II软件仿真。运用有限状态机的设计方法,设计了两个进程相互配合,状态机进程作为主要进程,信号灯控制进程作为辅助进程。在主进程中定义了9个状态,分别是“up”、“down”、“stopbutton”、“position”、“doorlight”、“udsig

6、”、“stoplight”、“fuplight”、“fdnlight”在电梯时钟的触发下,通过当前状态和信号灯信号判定下一状态。信号灯控制进程中,信号灯存储按键请求情况,它的熄灭是由状态机进程中传出的信号来控制。2 设计任务及设计要求2.1 设计任务六层电梯控制器将实现的功能:1.每层电梯入口处设有上下请求开关,电梯内设有顾客到达层次的停站请求开关。2.设有电梯入口处位置指示装置及电梯运行模式(上升或下降)指示装置。3.电梯每秒升(降)一层楼。4.电梯到达有停站请求的楼层,经过1秒电梯门打开,开门指示灯亮,开门4秒后,电梯门关闭(开门指示灯灭),电梯继续进行,直至执行完最后一个请求信号后停留在

7、当前层。5.能记忆电梯内外所有请求,并按照电梯运行规则按顺序响应,每个请求信号保留至执行后消除。6.电梯运行规则:当电梯处于上升模式时,只响应比电梯所在位置高的上楼请求信号,由下而上逐个执行,直到最后一个上楼请求执行完毕;如果高层有下楼请求,则直接升到由下楼请求的最高层,然后进入下降模式。当电梯处于下降模式时则与上升模式相反。7.电梯初始状态为一层开门状态。2.2 设计要求控制器的功能模块如图2.1所示,包括主控制器、楼层选择器、状态显示器、译码器和楼层显示器。乘客在电梯中选择所要到达的楼层,通过主控制器的处理,电梯开始运行,状态显示器显示电梯的运行状态,电梯所在楼层数通过译码器译码从而在楼层

8、显示器中显示。由于其他模块相对简单很多,所以主控制器是核心部分。图2.1 控制器模块示意图3 设计总体思路3.1 电梯运作流程图3.1 上升流程图图3.2 下降流程图3.2 电梯运行控制流程图图3.3 电梯运行流程图3.3 电梯控制器电梯控制器运用状态机的设计方法,思路比较清晰。可以将电梯等待的每秒钟以及开门、关门都看成一个独立的状态。由于电梯又是每秒上升或下降一层,所以就可以通过一个统一的1秒为周期的时钟来触发状态机。根据电梯的实际工作情况,可以把状态机设置7个状态,分别是“电梯停留在第1层”“开门”“关门” “开门等待4秒”“上升”“下降”和“停止状态”、。各个状态之间的转换条件可由上面的

9、设计要求所决定。各状态机之间转换图如图3.4。图3.4 各状态机转换关系电梯控制器为其中的核心部件,控制其电梯的运行情况,而其控制则由按钮来决定,通过按钮指示灯判断电梯的工作状态及显示其运行情况。实验板上输入过大的脉冲序列,通过分频器将高频转换为低频,即buttonclk且通过此时钟信号控制电梯信号灯。当按钮为高电平时,电梯开始工作,并通过按钮信号灯决定电梯的运行。电梯所处位置显示通过译码器,再通过数据选择器显示到数码管上udsig和doorlight显示电梯门和电梯的状态。stoplight6.1,fuplight6.1fdnlight6.1显示按钮指示。Reset按钮使电梯恢复到初始位置。

10、楼层position变化相应的数码管也跟着变。首先考虑输入端口,一个异步复位端口reset,用于在系统不正常时回到初始状态;在电梯外部,必须有升降请求端口,一层是最低层,不需要有下降请求六层是最高层,不需要有上升请求,二三四五层则上升、下降请求端口都有;在电梯的内部,应该设有各层停留的请求端口:一个电梯时钟输入端口,该输入时钟以1秒为周期,用于驱动电梯的升降及开门关门等动作;另有一个按键时钟输入端口,时钟频 率比电梯时钟高。其次是输出端口,有升降请求信号以后,就得有一个输出端口来指示请求是否被响应,有请求信号以后,该输出端口输出逻辑l。被响应以后则恢复逻辑0;同样,在电梯内部也应该有这样的输出

11、端口来显示各层停留是否被响应;在电梯外部,需要一个端口来指示电梯现在所处的位置;电梯开门关门的状态也能用一个输出端口来指示;为了观察电梯的运行是否正确,可以设置一个输出端口来指示电梯的升降状态。3.4 数码管显示控件楼层position输出为一个3位2进制数,但是本实验需要用数码管显示,那么就需要一个deled模块,该模块的作用是将输入转换为8位2进制,从而控制LED灯的显示。4 各单元电路设计4.1 Deled模块图4.1 Deled模块输入输出关系:表一 Deled模块输入输出关系4.2 电梯控制模块图4.2 电梯控制模块电梯主控制模块端口说明:表二 电梯主控制模块端口说明5 总体电路设计

12、5.1 Deled模块功能图5.1 Deled模块图图5.2 Deled模块波形Deled模块的主要功能为用数码管显示楼层通过输入信号prosition2.0输出不同的ABCDEFGH从而起到显示所在楼层的作用。波形如图5.2所示。5.2 总体电路图5.4 电路仿真波形5.3 试验箱仿真图5.5 锁定管脚实验现象如图5.6电梯初始在1楼,左边5个按钮表示内部电梯层数15楼,右边5个按钮表示外部电梯15层。数码管下方两个灯分别表示停止和开门显示。现在举例有人在4楼想坐电梯去2楼。如图,在4层按下按钮,电梯运行到4楼,停止灯亮后开门等亮。并稳定显示停在4楼,接着在电梯内部按下2楼,电梯运行至2楼,

13、停止灯亮后开门等亮。并稳定显示停止在2楼。图5.6 实验箱现象6 设计调试体会与总结电梯控制器系统设计已经全部完成,基本实现了预期效果,实现了电梯按预定运行规则上升、下降、载客等功能,在本设计中,因为考虑了扩展性,所以在信号定义的时候就使用了二进制的向量,而不是整数。在设计方法上也做了特殊的设计,所以使得扩展性较好。如果要实现n层电梯的控制,首先在端口的地方就要加入所有的按键,而指示灯只要把向量中的6改成n就可以了。在本设计过程中还需要改进的地方有,电梯运行规则的优化(如设计闲时忙时控制规则)、电梯运行速度的控制、设计更多的报警功能等。电梯控制系统的设计中体现了VHDL覆盖面是如此的广,描述能

14、力强,是一个多层次的硬件描述语言及运行速度快,使用方便,便于修改,设计简单等特点。本设计在实用方面和参考方面具有一定的价值。但是由于设计时,没有考虑到试验箱器材的限制,导致按键与LED灯数量不够。所以刚开始仿真时将stop6button空闲出来没有进行任何操作,造成该输入端电平不稳所以在进行仿真的出现楼层不准的现象,在后期实验我们放弃了电梯外部有2个按键的思想,而改为只用一个按键,将其余按键再电路图中做接地处理,实验现象得到改进。参考文献1 黄正巾,徐坚等. CPLD 系统设计与应用M.北京:电子工业出版社,2002,110-123.2 蒋璇,臧春花.数字系统设计与 PLD 应用技术M.北京:

15、电子工业出版社,2001,23-34.3 孟宪元.可编程 ASIC 集成数字系统M.北京:电子工业出版社,2003,231-243.4 潘松,王国栋. VHDL 实用教程(修订版)M.成都:成都电子科技大学出版社,2002,45-87.5 宋万杰,罗丰,吴顺君.CPLD 技术及其应用M.西安:西安电子科技大学出版社,2005,25-56. 附录Deled 模块library ieee;use ieee.std_logic_1164.all;entity deled is port( s : in std_logic_vector(2 downto 0); a,b,c,d,e,f,g,h:out

16、 std_logic);END DELED;architecture behav of deled is signal data : std_logic_vector(2 downto 0); signal dout : std_logic_vector(7 downto 0);begin data dout dout dout dout dout dout dout dout dout = 00000000; end case; end process; h=dout(7);g=dout(6);f=dout(5);e=dout(4); d=dout(3);c=dout(2) ;b=dout(

17、1);a=dout(0);end behav;电梯模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity eightlift is port(buttonclk:in std_logic;-按钮时钟信号 liftclk: in std_logic;-电梯时钟信号 reset:in std_logic;-复位键 f1upbutton:in std_logic;-一楼上升按钮 f2upbutton:in std_logic;-二楼上升

18、按钮 f3upbutton:in std_logic;-三楼上升按钮 f4upbutton:in std_logic;-四楼上升按钮 f5upbutton:in std_logic; f6upbutton:in std_logic; f7upbutton:in std_logic; f2dnbutton:in std_logic; f3dnbutton:in std_logic; f4dnbutton:in std_logic; f5dnbutton:in std_logic; f6dnbutton:in std_logic; f7dnbutton:in std_logic; f8dnbutt

19、on:in std_logic; fuplight:buffer std_logic_vector(8 downto 1);-上升指示灯 fdnlight:buffer std_logic_vector(8 downto 1);-下降指示灯 stop1button,stop2button,stop3button, stop4button, stop5button, stop6button, stop7button, stop8button:in std_logic; stoplight:buffer std_logic_vector(8 downto 1);-内部停止指示灯position:b

20、uffer integer range 1 to 8;-楼层位置显示 doorlight:out std_logic;-电梯门指示灯 1 开 0关 udsig:buffer std_logic );-0处于上升模式,1处于下降模式 end eightlift;architecture art of eightlift is type lift_state is (stopon1,dooropen,doorclose,doorwait4,up,down,stop);-电梯的 7 个状态signal mylift:lift_state;-内部电梯状态信号signal clearup:std_log

21、ic;-上升清除信号signal cleardn:std_logic;-下降清除信号begin controllift:process(reset,liftclk) variable pos:integer range 1 to 8;-楼层位置变量begin if reset=1 then mylift=stopon1;-起始状态 clearup=0;-上楼信号清除 cleardn=0;-下楼信号清除 pos:=1;-处于一楼 position doorlight=1;-电梯门开 position=1;-电梯处于一楼 pos:=1;mylift mylift doorlight=0;-电梯门关

22、 if udsig=0 then-电梯处于上升模式 if position=8 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=1;mylift=doorclose; else udsig=1;mylift=down; end if; elsif position=7 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=0;mylift=doorclose; elsif

23、 stoplight(8)=1 or fdnlight(8)=1 then udsig=0;mylift=up; else udsig=1;mylift=down; end if; elsif position=6 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=0;mylift=doorclose; elsif stoplight(7)=1 or stoplight(8)= 1 or fdnlight(8)=1 or fdnlight(7)=1then udsig=0;myli

24、ft=up; else udsig=1;mylift=down; end if;elsif position=5 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=0;mylift=doorclose; elsif stoplight(6)=1 or stoplight(7)=1 or stoplight(8)= 1 or fdnlight(8)=1 or fdnlight(7)=1 or fdnlight(6)=1 then udsig=0;mylift=up; else uds

25、ig=1;mylift=down;end if;elsif position=4 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=0;mylift=doorclose; elsif stoplight(5)=1 or stoplight(6)=1 or stoplight(7)=1 or stoplight(8)= 1 or fdnlight(8)=1 or fdnlight(7)=1 or fdnlight(6)=1 or fdnlight(5)=1 then udsig=0;

26、mylift=up; else udsig=1;mylift=down;end if;elsif position=3 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=0;mylift=doorclose; elsif stoplight(4)=1 or stoplight(5)=1 or stoplight(6)=1 or stoplight(7)=1 or stoplight(8)= 1 or fdnlight(8)=1 or fdnlight(7)=1 or fdnligh

27、t(6)=1 or fdnlight(5)=1 or fdnlight(4)=1 then udsig=0;mylift=up; else udsig=1;mylift=down;end if;elsif position=2 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=0;mylift=doorclose; elsif stoplight(3)=1 or stoplight(4)=1 or stoplight(5)=1 or stoplight(6)=1 or stopli

28、ght(7)=1 or stoplight(8)= 1 or fdnlight(8)=1 or fdnlight(7)=1 or fdnlight(6)=1 or fdnlight(5)=1 or fdnlight(4)=1 or fdnlight(3)=1 then udsig=0;mylift=up; else udsig=1;mylift=down;end if;elsif position=1 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=0;mylift=doorcl

29、ose; else udsig=0;mylift=up; end if; end if;elsif udsig=1 then if position=1 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=0;mylift=doorclose; else udsig=0; mylift=up; end if; elsif position=2 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000

30、then udsig=1;mylift=doorclose; elsif stoplight(1)=1 or fuplight(1)=1 then udsig=1;mylift=down; else udsig=0; mylift=up; end if; elsif position=3 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=1;mylift=doorclose; elsif stoplight(1)=1 or stoplight(2)=1 or fuplight(1)

31、=1 or fuplight(2)=1then udsig=1;mylift=down; else udsig=0; mylift=up; end if; elsif position=4 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=1;mylift=doorclose; elsif stoplight(1)=1 or stoplight(2)=1 or stoplight(3)=1 or fuplight(1)=1 or fuplight(2)=1 or fuplight(

32、3)=1then udsig=1;mylift=down; else udsig=0; mylift=up; end if; elsif position=5 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=1;mylift=doorclose; elsif stoplight(1)=1 or stoplight(2)=1 or stoplight(3)=1 or stoplight(4)=1 or fuplight(1)=1 or fuplight(2)=1 or fuplig

33、ht(3)=1 or fuplight(4)=1 then udsig=1;mylift=down;else udsig=0; mylift=up;end if;elsif position=6 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=1;mylift=doorclose; elsif stoplight(1)=1 or stoplight(2)=1 or stoplight(3)=1 or stoplight(4)=1 or stoplight(5)=1 orfupli

34、ght(1)=1 or fuplight(2)=1 or fuplight(3)=1 or fuplight(4)=1 or fuplight(5)=1 then udsig=1;mylift=down;else udsig=0; mylift=up;end if;elsif position=7 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=1;mylift=doorclose; elsif stoplight(1)=1 or stoplight(2)=1 or stopli

35、ght(3)=1 or stoplight(4)=1 or stoplight(5)=1 or stoplight(6)=1 orfuplight(1)=1 or fuplight(2)=1 or fuplight(3)=1 or fuplight(4)=1 or fuplight(5)=1 or fuplight(6)=1 then udsig=1;mylift=down;else udsig=0; mylift=up;end if;elsif position=8 then if stoplight=00000000 and fuplight=00000000 and fdnlight=00000000 then udsig=1;mylift=doorclose; else udsig=1; myliftposition=position+1;pos:=pos+1; if position 8 and( stoplight(pos)=1 or fuplight(pos)=1) then mylift=stop; elsif pos=8 and (stoplight(pos)=1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁