Here you can find the concusion about our project

After long weeks of assembler programming and electronical design and a few thousands of bytes later, a working elevator mechanism was developped. Our main goals were accomplished:

 Control the direction of the lift

The motor driver chip L293b allowed us to change the direction by sending a complementary set of digital signals.

Control the speed of the lift

Using PWM techniues, the duty cycle was modified during acceleration and deceleration of the elevator, chopping the voltage at the enable gate of the driver chip. Thus, speed control was accomplished.

  Respond on requests from customers at different levels

The program regurarly updates the state of the buttons and once a request is detected immediately moves in the right direction.

 Use a clever algorithm to decide which floors to service first

If multiple requests are pending, an elevator algorithm is used to determine in which order the floors need to be serviced. It is based on the principle that the lift will continue travelling in a certain direction as long as there are demands in that same direction.

 Build a three story lift shaft and cage

A wooden structure was built of about a meter high and a light cage was constructed.

  Make the elevator control as robust as possible

The elevator does not freak out in unexpected situations, e.g. somebody who continuosly presses the button of a certain floor while the lift is already there, or someone who requests to go up but changes his mind and presses a lower destination floor.

In addition:

 Transform the parallel data from the buttons to a serial input to the microcontroller

In order to save space at the gates of the microcontroller, a shift register was succesfully implemented. This gathers the parallell information from the seven different buttons and sends it as a serial code to the microcontroller.

Open and close doors of the cage

This was not yet implemented and is certain an idea for the future to further improve the elevator. Due to lack of time this feature was not yet assembled, but the current configuration certainly permits it. The driver chip L293b can drive a second motor. However, it must be a light motor because mounting it on top of the elevator increasing it’s weight and therefore the current in the circuit. This L293b chip is limited to 1A, if necessary a heavier duty chip must be installed.

  Begin and end sensors of the shaft for safety

At the ceiling and bottom of the shaft, two sensors were installed to detect if the elevator hits the roof or bottom. Although this normally never happens and was also not observed during the tests, these two sensors and the correspond emergency procedure programmed, ensure that in the case of this very unlikely event, no damage occurs to the cage or motor.
We are satisfied with the achieved result. We have some ideas for the future which can further improve the configuration:

        ·        Open en close door mechanism
·        Infrared sensor to detect if there is still somebody standing in between the doors
·        Overweight detection of the cage
·        Expansion to more floors
        ·        Allow the elevator to be heavier
        ·        Try the use of encoder for position detection

      ·        Use photosensors for end detection system instead of buttons

We thourouhgly enjoyed this project, even though we cursed the assembler programming several times. But this was due to unexperience with this kind of programming and, at the end of the journey, we have a much better view and feeling with assembler language. We enjoyed being able to work independently and to investigate certain topics more in detail: for instance analog to digital conversion, pulse width modulation, H-bridges for motor control, interrupt handling, design of a pcb bord, …
 Finally, we would like to thank Ronald Van Ham, Kristof Goris and Jean-Pol for there devote assistance to make this project work.