Top Banner
1 Department of Electronics and Communication Jaypee Institute of Information Technology Noida Four Elevator Controller A Project Report submitted in partial fulfillment of the course of Digital Hardware Design Submitted to: Mr. Sidhartha S. Rout Submitted by: Siddharth 9911102336 Mehul Garg 9911102255 Devyani Gera 9911102210 Abhas Vijayvargiya 9911102153
26

Four Elevator COntroller

Nov 08, 2015

Download

Documents

Mehul Garg

The elevator control system is one of the important aspects in electronics control module in
automotive application. In this investigation elevator control system is designed with different
control strategies. First the elevator control system is implemented for multi-storage building.
This implementation is based on FPGA based logic controller for intelligent control of elevator
group system. This proposed approach is based on algorithm which is developed to reduce the
amount of computation required by focusing only on relevant rules and ignoring those which
are irrelevant to the condition for better performance of the group of elevator system. Here we
have designed controller for four elevators group.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 1

    Department of Electronics and Communication

    Jaypee Institute of Information Technology

    Noida

    Four Elevator Controller

    A Project Report submitted in partial fulfillment of the course of Digital Hardware Design

    Submitted to:

    Mr. Sidhartha S. Rout

    Submitted by:

    Siddharth 9911102336

    Mehul Garg 9911102255

    Devyani Gera 9911102210

    Abhas Vijayvargiya 9911102153

  • 2

    Table of Contents 1.Abstract 3

    2.Role Distribution Among Group Members 4

    3.Theory

    3.1 Dual Elevator Control 5

    3.2 Basic Principal 5

    4.Elevator Control & Its Working

    4.1 General Description 6

    4.2 Control & Working 6

    4.3 Assumptions 7

    4.4 Working of Elevators 7

    5.Block Diagram & State Machine Diagrams

    5.1 Model Simple Elevator Control system Inputs & Outputs 9

    5.2 From the point of View of an Individual User 9

    5.3 From the point of view as a System Being acted on by Many users 10

    5.4 Finite State Machine for Elevator System 11

    6.Limitations of the System 12

    7.Verilog Code 13

    8.Simulation Results 23

    9.Conclusion 25

    References

  • 3

    Abstract

    The elevator control system is one of the important aspects in electronics control module in

    automotive application. In this investigation elevator control system is designed with different

    control strategies. First the elevator control system is implemented for multi-storage building.

    This implementation is based on FPGA based logic controller for intelligent control of elevator

    group system. This proposed approach is based on algorithm which is developed to reduce the

    amount of computation required by focusing only on relevant rules and ignoring those which

    are irrelevant to the condition for better performance of the group of elevator system. Here we

    have designed controller for four elevators group.

  • 4

    Role distribution among Group Members

    The project was completed with contributions from all the group members equally. However

    the breakdown of the work completed by each member has been summarized below.

    Mehul Garg

    Verilog Coding for Four Elevator System

    Documentation

    Finite State Machine

    Siddharth

    Verilog Coding for Four Elevator System

    Documentation

    Abhas Vijayvargiya

    Theory

    Elevator Control & its Working

    Devyani Gera

    Block Diagram

    Verilog Coding for Four Elevator System

  • 5

    Theory

    1. Dual Elevator Controller

    An elevator or lift is a kind of transport device used to move people between building

    floors. Whenever a passenger presses the call button for an elevator, a computer

    receives the request and logs it for future reference. There are actually two sets of doors,

    which allow passengers safely to exit and enter the lift. One set of doors remains shut

    until an elevator car's presence is detected and the elevators computer controls the other

    door. Once both doors are open, passengers should leave quickly to allow new

    passengers to board and more calls to be answered. Elevator doors also contain motion

    detectors and other presence-sensing devices to keep doors from trapping passengers.

    Another issue want to be considered is the weight capacity. Overload in elevator will

    lead to accident and using the load sensor can control it. In modern life elevators have

    become an integral part of any public or commercial complex. It does not only ease the

    faster movement between any two floors and provide a way for movement of disabled,

    but has also become a status symbol. Elevators work on a gearless traction system in

    which the movement of the elevator is controlled by several steel hoist ropes and a

    counter-weight. The weight of the car and counterweight provides sufficient traction

    between the sheaves and the hoist ropes so that the sheaves can grip the hoist ropes and

    move and hold the car without excessive slipping. The machinery to drive the elevator

    is located in a machine room usually directly above the elevator hoist way. To feed

    electricity to the car and receive electrical signals from it, a multi-wire electrical cable

    connects the machine room to the car.

    2. Basic Principle

    Elevators themselves are simple devices and the basic lifting systems have not changed

    much in over 50 years. The control systems however, have changed substantially to

    improve safety and speed of operation. Elevators are designed for a specific building

    taking into account such factors as the height of the building, the number of people

    traveling to each floor and the expected periods of high usage.

    Controllers can also be programmed to respond differently at different times of the day.

    For example the elevator controller in a busy office building will receive a

    preponderance of calls from the ground floor in the morning. When workers are arriving

    and need to go to their workplaces on the upper floors, in that case, the controller will

    be programmed to send all unassigned cars to the ground floor rather than have them

    return to a home floor in their sector. Later in the day a different set of instructions can

    be used to send unassigned elevators to different sectors since passengers leaving the

    building will be much more evenly distributed among the floors than in the morning.

  • 6

    Elevator Controller and Its Working

    1. General Description

    Elevators as usually been called as cars come in dual or quad groups. The

    coordination of a group of cars in elevator systems for satisfying the demands of

    passengers is called the Elevator Group Control. The Elevator controller provides this

    control by monitoring the position of all the elevators. When a request comes, the

    controller checks the position of the request and assigns the elevator nearest to it to

    address the request. Generally it stores an algorithm to take the action according to the

    request position, and positions of the cars. It has proximity switches to sense the

    position of the elevators. Amongst the many factors included in the selection of the car

    wait time of the user is dominant.

    Figure 1 : Elevator Group Control

    2. Control and Working

    Elevator controller controls the entire operation of the Dual elevator system. The

    proximity sensors located to sense the positions of the cars provide the current state

    storing it in register. The obstruction sensors provide the status of obstruction. The

    elevator controller also reads the requests if any from any of the request positions

    through the flip-flops.

    If the door of any elevator is open, the timer signals from the elevator keep the controller

    informed of being busy. The control state machine receives all these signals. It is

    programmed to the algorithm by which it should control the system. The CSM then

    generates control signals for the next position and movement of the elevators. Elevators

    on receiving the signal address to the request that has been asked by the controller.

  • 7

    Figure 2 : Block Diagram for Dual Elevator Controller

    3. Assumptions

    The Dual Elevator System does face some conflict in the operation that which car

    should take the request when both are at the same positions. So some assumptions are

    implemented in the elevator algorithm. The assumptions considered are:

    Default State:

    The default position provides quick response to the request coming at any of the

    four floors. The default positions of the elevators are specified below

    E1 first floor

    E2 second floor

    E3 third floor

    E4 fourth floor

    Closing the Elevator Door:

    Door of the elevator closes after some time duration defined by the timer. By default

    the timer should be 0 and when to close the door it should be 1. The system also

    checks for any obstruction if present between the doors. Both the timer and

    obstructions is implemented using switch.

    4. Working of Elevator

    In this general block diagram there are two main blocks are available. One is controller

    and other is door operator. A sensor is connected between these two main blocks so that

    if there any sensor signal goes high, the operation on all four elevators will be carried

    out.

  • 8

    Figure 3 : Block Diagram of Elevator Controller

    Every elevator has inside buttons for 1 to 4 floors and outside call button at every floor.

    The sensor signal will sense the obstruction and timer, so that the signal from controller

    will be send to door operator and hence the door operator will control the elevator

    according to the request.

  • 9

    Block Diagrams and State Machine Diagram

    1. Model Simple elevator control system inputs and outputs[1]

    Figure 4 : Control System Input Output

    2. From the point of view of an individual user[2]

    Figure 5 : Individual Users Point of View

  • 10

    3. From the point of view as a system being acted on by many users[3]

    Figure 6 : Many users at a time

  • 11

    4. Finite State Machine for Elevator System

    The Finite state machine for Elevator System is done below. The state encodings are

    mentioned below. The input are 2-bit binary.

    State 00: floor 1

    State 01: Floor 2

    State 10: Floor 3

    State 11: Floor 4

    Figure 7: Finite State Machine for Elevator 1

  • 12

    Limitations of the Project

    This project has a few limitations that must be highlighted:

    The project does not account for obstacles to sensor or any other interruption to the

    movement of the elevator system.

    The project does not account for a real life elevator system in the sense that various

    functions of the elevator such as the hold door button, fire alarm button, stop etc. have

    not been inducted in the code

    The project assumes the opening and closing of the door and does not show it their

    function in the simulation.

    The functions of the lift operator such as scheduling a maintenance etc. have also been

    avoided.

  • 13

    Verilog Code

    `timescale 1ns /1ps // time scale of 1ns and resolution 0.01 ns

    module elevator_demo( input clk, reset, req_1F, req_2F, req_3F, req_4F, req_E1_1,

    req_E1_2, req_E1_3, req_E1_4, req_E2_1, req_E2_2, req_E2_3, req_E2_4, req_E3_1,

    req_E3_2, req_E3_3, req_E3_4, req_E4_1, req_E4_2, req_E4_3, req_E4_4,output reg [1:0]

    E1_pos, E2_pos, E3_pos, E4_pos,output reg [7:0] o1, o2, o3, o4);

    reg [1:0] E1_next_pos, E2_next_pos, E3_next_pos, E4_next_pos;

    reg dg;

    parameter firstfloor= 2'b00, secondfloor = 2'b01, thirdfloor = 2'b10, fourthfloor = 2'b11;

    always@(posedge clk, reset)

    begin

    if (reset)

    begin

    E1_pos

  • 14

    dg=4'b1110;

    end

    if (E1_pos==secondfloor)

    begin

    o1=8'b00100101;

    dg=4'b1110;

    end

    if (E1_pos==thirdfloor)

    begin

    o1=8'b00001101;

    dg=4'b1110;

    end

    if (E1_pos==fourthfloor)

    begin

    o1=8'b10011001;

    dg=4'b1110;

    end

    if (E2_pos==firstfloor)

    begin

    o2=8'b10011111;

    dg=4'b1101;

    end

    if (E2_pos==secondfloor)

    begin

    o2=8'b00100101;

    dg=4'b1101;

    end

    if (E2_pos==thirdfloor)

    begin

    o2=8'b00001101;

    dg=4'b1101;

    end

    if (E2_pos==fourthfloor)

    begin

    o2=8'b10011001;

    dg=4'b1101;

    end\

  • 15

    if (E3_pos==firstfloor)

    begin

    o3=8'b10011111;

    dg=4'b1011;

    end

    if (E3_pos==secondfloor)

    begin

    o3=8'b00100101;

    dg=4'b1011;

    end

    if (E3_pos==thirdfloor)

    begin

    o3=8'b00001101;

    dg=4'b1011;

    end

    if (E3_pos==fourthfloor)

    begin

    o3=8'b10011001;

    dg=4'b1011;

    end

    if (E4_pos==firstfloor)

    begin

    o4=8'b10011111;

    dg=4'b0111;

    end

    if (E4_pos==secondfloor)

    begin

    o4=8'b00100101;

    dg=4'b0111;

    end

    if (E4_pos==thirdfloor)

    begin

    o4=8'b00001101;

    dg=4'b0111;

    end

  • 16

    if (E4_pos==fourthfloor)

    begin o4=8'b10011001;

    dg=4'b0111;

    end

    end

    always@(posedge clk, reset, E1_pos, E2_pos, E3_pos, E4_pos, req_1F, req_2F, req_3F,

    req_4F, req_E1_1, req_E1_2, req_E1_3, req_E1_4,req_E2_1, req_E2_2, req_E2_3,

    req_E2_4, req_E3_1, req_E3_2, req_E3_3, req_E3_4, req_E4_1, req_E4_2, req_E4_3,

    req_E4_4)

    begin

    begin

    if (req_1F==1)

    begin

    E1_next_pos

  • 17

    begin

    if (req_E1_1==1)

    E1_next_pos

  • 18

    if (req_E3_3==1)

    E3_next_pos

  • 19

    reg req_E2_1, req_E2_2, req_E2_3, req_E2_4;

    reg req_E3_1, req_E3_2, req_E3_3, req_E3_4;

    reg req_E4_1, req_E4_2, req_E4_3, req_E4_4;

    //OUTPUTS

    wire [1:0] E1_pos;

    wire [1:0] E2_pos;

    wire [1:0] E3_pos;

    wire [1:0] E4_pos;

    wire [7:0] o1;

    wire [7:0] o2;

    wire [7:0] o3;

    wire [7:0] o4;

    //Instantiate FE_Test

    elevator_demo test1(.clk(clk), .reset(reset), .req_1F(req_1F), .req_2F(req_2F),

    .req_3F(req_3F), .req_4F(req_4F), .req_E1_1(req_E1_1),

    .req_E1_2(req_E1_2),

    .req_E1_3(req_E1_3),.req_E1_4(req_E1_4),.req_E2_1(req_E2_1),.req_E2_2(req_E2_2),.req

    _E2_3(req_E2_3),

    .req_E2_4(req_E2_4),.req_E3_1(req_E3_1),.req_E3_2(req_E3_2),.req_E3_3(req_E3_3),.req

    _E3_4(req_E3_4),.req_E4_1(req_E4_1),

    .req_E4_2(req_E4_2), .req_E4_3(req_E4_3), .req_E4_4(req_E4_4), .E1_pos(E1_pos),

    .E2_pos(E2_pos), .E3_pos(E3_pos), .E4_pos(E4_pos),

    .o1(o1), .o2(o2), .o3(o3), .o4(o4));

    initial begin

    // Initialize Inputs

  • 20

    clk = 0;

    end

    always clk=#10 ~clk;

    initial

    begin

    reset = 1;

    req_1F = 0;

    req_2F = 0;

    req_3F = 0;

    req_4F = 0;

    req_E1_1=0;

    req_E1_2=0;

    req_E1_3=0;

    req_E1_4=0;

    req_E2_1=0;

    req_E2_2=0;

    req_E2_3=0;

    req_E2_4=0;

    req_E3_1=0;

    req_E3_2=0;

    req_E3_3=0;

    req_E3_4=0;

    req_E4_1=0;

    req_E4_2=0;

    req_E4_3=0;

    req_E4_4=0;

    #10

  • 21

    reset = 1;

    req_1F = 0;

    req_2F = 0;

    req_3F = 0;

    req_4F = 0;

    req_E1_1=0;

    req_E1_2=1;

    req_E1_3=0;

    req_E1_4=0;

    req_E2_1=0;

    req_E2_2=0;

    req_E2_3=0;

    req_E2_4=1;

    req_E3_1=1;

    req_E3_2=0;

    req_E3_3=0;

    req_E3_4=0;

    req_E4_1=0;

    req_E4_2=0;

    req_E4_3=1;

    req_E4_4=0;

    #10

    // ALL FLOORS ARE NOW ONE

    reset = 1;

    req_1F = 1;

    req_2F = 1;

  • 22

    req_3F = 1;

    req_4F = 1;

    req_E1_1=0;

    req_E1_2=0;

    req_E1_3=0;

    req_E1_4=0;

    req_E2_1=0;

    req_E2_2=0;

    req_E2_3=0;

    req_E2_4=0;

    req_E3_1=0;

    req_E3_2=0;

    req_E3_3=0;

    req_E3_4=0;

    req_E4_1=0;

    req_E4_2=0;

    req_E4_3=0;

    req_E4_4=0;

    end

    endmodule

  • 23

    Simulation Results

    Figure 8: Simulation Results

  • 24

    The simulation results corresponds to the above mentioned testbench. The following requests

    were made to all the four elevators. Their output can be discerned in the four status values o1,

    o2, l3, & o4 which mention the position of the elevators E1, E2, E3 & E4 respectively.

    Each floor is decoded in the elevator status using eight bit numbers mentioned below:

    Floor 1 10011111 8h9F

    Floor 2 00100101 8h25

    Floor 3 00001101 8h0D

    Floor 4 10011001 8h99

    The output Ex_pos gives the floor on which the elevator is located as per the earlier

    mentioned values.

    The input were given as follows:

    E1- 2nd floor

    E2- 4th floor

    E3- 1st floor

    E4- 3rd floor

    The output is decided after 1 clock period, after which the values are reflected in the Ox

    register.

  • 25

    Conclusion

    This project has designed a four elevator system for as many floor. The output proves that

    each lift gives priority to the internal inputs as compared to the external outputs.

    The design can also be altered to suit the need for as many floors as required.

    The simulation results have been successful.

  • 26

    References

    [1] http://www.electrical-knowhow.com/2012/04/elevator-control-system.html

    [2] http://image.slidesharecdn.com/fourelevatorcontroller-140216134421-phpapp01/95/four-

    elevator-controller-3-638.jpg?cb=139255837

    [3] http://image.slidesharecdn.com/fourelevatorcontroller-140216134421-phpapp01/95/four-

    elevator-controller-3-638.jpg?cb=139255837