◇武汉轻工大学电气与电子工程学院 陶云轩 李素芬 张祥武 杨文卓
使用FPGA器件作为主控制芯片,Quartus II作为编程软件,使用DE10-NANO作为编程后的硬件板子,设计一个基于DE10-NANO板的电梯控制系统,便于实现更多层电梯控制,有较强的灵活性。
电梯在生活中随处可见,大型的商城中、高档的酒店内都少不了电梯的身影。现阶段,电梯控制系统硬件由轿厢操纵盘、厅门信号、PLC、变频器、调速系统构成,变频器只完成调速功能,而逻辑控制部分是由PLC完成的。PLC负责处理各种信号的逻辑关系,从而向变频器发出起停信号,同时变频器也将本身的工作状态输送给PLC,形成双向联络关系[1-2]。
FPGA,其实是一种开发者在短时间内利用个人PC就可以在实现多次重写的廉价设备,是高密度可编程逻辑器件的主流产品[3],具有运行效率高,操作简易,易于实现大规模系统和二次开发的系统。
Quartus II 是Altera公司的综合性CPLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持DescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程[4]。
本研究将使用FPGA器件作为主控制芯片,Quartus II作为编程软件,设计一个基于DE10-NANO板五层电梯控制系统。
(1)该电梯五层,除第一、五层,每层都设有上下键,一层设有上键,五层设有下键。
(2)电梯内有防超重系统、紧急呼叫按钮、故障指示灯、报警系统和楼层按钮等。
(3)电梯到达指定楼层后,过2秒后电梯门打开,开门4s电梯开始关闭,再经过6s电梯开始上下行。
(4)电梯没有接到指令时,在3楼待命。
电梯控制器主要由指令请求模块、电梯运行状态模块、显示模块、开关门模块、超重报警模块这五个模块组成。以下为这五个模块的功能。
(1)指令请求模块。
表1 指令请求模块信号
电梯在运行的过程中,并不是简单的按照顺序优先逻辑,而是按照最佳方案来运行的,例如:当电梯在1楼时,同时收到4楼和5楼的下降请求信号,则电梯首先上升到5楼,然后再下降到4楼,这样可以最大化的节省电能。在没有请求时,电梯会自动到3楼待机。
(2)电梯运行状态模块。
电梯运行状态分为上升、下降、预上升、预下降、停止。
当电梯没有收到请求信号时,电梯自动回到3楼,进入待机状态,或者说是预上升状态,此时电梯只能接收到上升信号。
当电梯在2、3、4楼时,如果没有收到信号,则返回3楼进入待机状态;如果收到上升信号,则进入预上升状态,准备上升;若收到下降信号,则进入预下降状态,准备下降。
当电梯在5楼时,此时电梯只能接收到下降信号。若没有请求信号,则自动返回3楼待机;若收到下降信号,则进入预下降状态,准备下降。
进一步分析,当电梯处于停滞状态,如果有楼层上升信号(out_upi,i为2至5)产生时,电梯就会进入预上升状态(pre_up),电梯门处于关闭状态(door<=2'b00),过6s后电梯进入上升状态(up<=1'b1);如果有楼层下降(out_dowi,i为2至5)信号产生时,电梯就会进入预下降状态(pre_dow),电梯门处于关闭状态(door<=2'b00),过6s后电梯进入下降状态(down<=1'b1)。
表2 运行状态模块信号
(3)显示模块。
显示模块包括以下两部分:
a、用七段数码表示的电梯楼层显示。如用display<=7'b011 0000表示电梯到达1楼,display<=7'b1101101表示电梯到达2,display<=7'b1111001表示电梯到达3楼,display<=7'b0110011表示电梯到达4楼display<=7'b1011111表示电梯到达5楼。其原理为:当电梯在某楼时,其中一部分接上正电源,此时数码管将显示该楼层的数字。
b、电梯超重报警(alarm)。
表3 显示模块信号
(4)开关门模块。
该模块用来控制电梯门的开关。当电梯到达指定楼层时,电梯门为打开状态(door<=2'b10),经过4s后,电梯开始关门(close<=2'b10),再经过6s,电梯开始进行向上(up)或向下(down)操作。还可以在电梯关门期间中断关门(stop<=2'b10)和电梯处于开门期间提前关门(close<=2'b10)。
并且,在出现电梯超载的情况下,电梯门不会关闭(close<=2'b00),直到电梯处于安全状态,才关闭电梯门。
表4 开关门模块信号
(5)超重报警模块。
本模块用来防止电梯超重。当电梯超重(full)时,电梯接到超载警告信号(alarm),电梯门会处于打开状态(door<=2'b10),当电梯不再超载时,清除警报(sys),电梯进入关门状态。
表5 超重报警模块信号
当电梯在1楼(att_floor1)时,5楼产生了向下的请求信号(out_dow5),于是电梯进入预上升状态,电梯门(door)关闭。在判断无超载信号(full)产生后,电梯进入上升状态(up)。电梯经过2楼(att_floor2)、3楼(att_floor3)、4楼(att_floor4)后抵达5楼(att_floor5),电梯停止上升,电梯门(door)打开,电梯进入停止状态(stop)。
图1 接收到向下的请求信号
当电梯抵达5楼(att_floor5)后,电梯接收到电梯内部到2楼的指令请求(out_ord2),但此时电梯接受到超载信号(full),于是发出警报(alar),电梯门(door)处于打开状态,电梯处于停止状态。等到超重状态解除时时,电梯门关闭(door),电梯进入预下降状态,随后电梯开始下降(down)。电梯经过4楼(att_floor4)、3楼(att_floor3)后抵达2楼(att_floor5),电梯门打开(door)。
图2 电梯内部收到向2楼的指令请求
本文基于FPGA,运用Quartus II软件设计了一个五层电梯,详细介绍了电梯控制系统的模块设计(包括了指令请求模块、电梯运行状态模块、显示模块、开关门模块、超重报警模块这五个模块)。并且本设计在追求电路简单化、性能稳定、运行安全可靠、操作便捷的同时,也能及时查找出问题,便于修改和升级,以实现更多层电梯控制。