11
Wireless Voice Controlled Elevator ET-493 Senior Design Project I Spring 2013 Proposal Report By: Jeremy Hester Computer Engineering Technology Southeastern Louisiana University Advising Instructors: Mohammad Saadeh Cris Koutsougeras Submitted May 08, 2013 Abstract In this senior design project, the task is to build an elevator that can accept voice commands wirelessly. The proposed design includes an experimental small scale model that will be used to test the system, which is around four feet tall and consists of multiple floors/levels for demonstration. The system itself consists of two Arduino Uno boards communicating wirelessly through XBee modules, a DC motor with an Incremental Optical encoder and a G30A Planetary Gearbox, an implementation of an Easy-VR module and microphone, and multiple roller-lever switches. The idea behind this design is to make the usage of an everyday elevator more accommodating in especially cramped situations and less of an ordeal in humility for those

csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

Wireless Voice Controlled ElevatorET-493 Senior Design Project I

Spring 2013

Proposal Report

By: Jeremy HesterComputer Engineering TechnologySoutheastern Louisiana University

Advising Instructors: Mohammad Saadeh Cris Koutsougeras

Submitted May 08, 2013

Methodology

•The Arduino Board

The first step for my project was to get acquainted with the primary means of controlling my system. As this was the first time I had used the Arduino board (Figure 1), a great deal of research and experimentation had to be done. This board is based on the ATMEGA328 controller. It comes with six analog input pins and thirteen digital output pins, six of which can be used for pulse width modulation.

Abstract

In this senior design project, the task is to build an elevator that can accept voice commands wirelessly. The proposed design includes an experimental small scale model that will be used to test the system, which is around four feet tall and consists of multiple floors/levels for demonstration. The system itself consists of two Arduino Uno boards communicating wirelessly through XBee modules, a DC motor with an Incremental Optical encoder and a G30A Planetary Gearbox, an implementation of an Easy-VR module and microphone, and multiple roller-lever switches. The idea behind this design is to make the usage of an everyday elevator more accommodating in especially cramped situations and less of an ordeal in humility for those physically handicapped. The frame for the model is complete, while the room and lifting mechanism still needs to be assembled. The DC gear motor is capable of delivering high output torque and can provide a shaft motion with high-resolution, thanks to the gears added on its shaft and the encoder installed at its bottom. Torque analysis for the load and the track’s friction are necessary for the motor selection. Testing of the electronics and control unit is currently underway. Throughout the final stretch of this semester, it is expected that the wireless communication module, the voice recognition module, and the servo motor selection will be ready. During the summer, the individual system components will be integrated into the physical frame. During the first part of fall, I will perform final testing and tuning of the system and its components.

Page 2: csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

Figure 1: The Arduino Uno

I mainly attempted to diversify my knowledge by testing different means of input to different forms of output. These included digital and analog devices such as buttons, potentiometers, and sometimes combinations of both to operate different kinds of motors. This was important especially when determining which kind of motors to use in the circuit. Using Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo, and DC), and concluded that the DC motor was the easiest to control. A geared DC motor with an encoder can deliver precise shaft motion with high torque. , amplified with a standard H bridge, was most suited for the task of raising and lowering the room. An extensive amount of testing was required to accurately predict a precise number of rotations based on the feedback of the encoder. The encoder decided upon was an Incremental Optical encoder that sends signals through two channels (A and B), that send signals in a set of phases that represent internal rotation. It was tested on various Pulse Width Modulation values to measure not only accuracy, but strength and speed as well. Ultimately I was able to achieve a maximum of 40 perfect geared rotations before noticing any significant deviations.

Abstract

In this senior design project, the task is to build an elevator that can accept voice commands wirelessly. The proposed design includes an experimental small scale model that will be used to test the system, which is around four feet tall and consists of multiple floors/levels for demonstration. The system itself consists of two Arduino Uno boards communicating wirelessly through XBee modules, a DC motor with an Incremental Optical encoder and a G30A Planetary Gearbox, an implementation of an Easy-VR module and microphone, and multiple roller-lever switches. The idea behind this design is to make the usage of an everyday elevator more accommodating in especially cramped situations and less of an ordeal in humility for those physically handicapped. The frame for the model is complete, while the room and lifting mechanism still needs to be assembled. The DC gear motor is capable of delivering high output torque and can provide a shaft motion with high-resolution, thanks to the gears added on its shaft and the encoder installed at its bottom. Torque analysis for the load and the track’s friction are necessary for the motor selection. Testing of the electronics and control unit is currently underway. Throughout the final stretch of this semester, it is expected that the wireless communication module, the voice recognition module, and the servo motor selection will be ready. During the summer, the individual system components will be integrated into the physical frame. During the first part of fall, I will perform final testing and tuning of the system and its components.

Page 3: csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

Figure 2: Rolling Lever Switch Figure 3: Basic example of Geared DC motor with Encoder

The inputs for this particular design will include four to five rolling lever switches (and the EasyVR as well of course) spaced out on the model as individual floor indicators. The idea is that when a floor has been specified, the main motor will spin either clockwise or counterclockwise depending on whether the room needs to go up or down. It will do this based upon a tested amount of rotations or until the room brushes up against the desired rolling lever switch for reliability. Consideration and further testing will also need to be completed regarding the distance and time the motor takes to accelerate and decelerate to and from a consistent pace. At this point it will stop spinning and a second motor (possibly a standard servo motor) will open the door to the room, briefly, before closing it again.

Page 4: csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

•XBee

Figure 4 Figure 5

Figure 4 is a Digi International XBee Series 1 802.15.4 wireless module with antenna. Figure 4 is an XBee Explorer mount which can be wired to a breadboard or connected to a computer via USB connector cable.

Figure 5: An Arduino Wireless shield. Instead of mounting the XBee onto a breadboard and manually connecting to the Arduino board it can instead be connected directly to the Arduino Uno itself.

An integral component of this project will be the XBee wireless module. This design implements two 802.15.4 series 1 modules. These modules will each be connected to a preprogrammed Arduino (programmed by myself of course) in order to allow communication between the two. One board will be connected to the Easy VR hardware and will acquire voice input, which I will have converted into specific signals. These signals (“1”, “2”, “Up”, “Down”, “Start”, “Stop”, etc.) will then be transmitted to the corresponding XBee attached to the alternate Receiver Board which will be programmed to interpret them for use as input commands. It will then make decisions of whether to go up or down, and how far to do so based on the fixed lever switches and the predetermined amount of rotations. I will also include an emergency stop function for testing, and to avoid accidents.

Page 5: csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

I will be doing the majority of this programming along with basic implementation in the week following proper testing on all of the major components. The testing of the Xbee itself included confirming communication between the two modules. This is done most easily through the use of Digi’s X-CTU software for Windows XP and Windows 7. One must make sure the modules are operable using this program by testing their modems and updating their firmware. The biggest problem that I have faced thus far was the fixing of two bricked XBee modules which had to be reset and their firmware rewritten according to specific Baud rates. With my equipment, resetting the modules had to be done at a specific time during the testing using a jumper wire. I have since succeeded in writing a basic test program that accepted communication from the computer to the Arduino involving the activation of LED’s according to different input signals. In the time since I have performed many other tests incorporating motors with specific speeds and rotations along with different methods of control. In doing so I was able to get a feel for different types of delay between modems and how they would affect relevant components. This was also done utilizing two communicating boards mainly in a transmitter receiver configuration.

•Easy VR

Figure 7 Figure 8 Figure 9

Figures 7 through 9 depict the Easy VR voice recognition module, its components, and an Arduino shield to mount it on respectively.

The Easy VR module will be the main form of user control for my project. The module itself is a multipurpose speech recognition module designed to be cost effective and contains already 32 user defined speaker dependant commands as well as support for multiple languages and a host of user independent commands. The module itself can be powered anywhere from 3.3 to 5.5V, consumes about 12 mA of current during operation, and is Arduino compatible. Like the XBee module, it will have to be tested and updated to the latest firmware before it can be properly assimilated. Thus far testing of the module is in its preliminary stages. Current successes involve basic word recognition and manipulation. Various words and pass codes were attempted that were both preprogrammed into the module and not preprogrammed. As for the components, Dr. Saadeh has generously taken care of their procurement and they are currently being tested. If things go according to plan, testing should hopefully be completed in the next week or so, either in or outside of the lab.

The Easy VR will be mounted or wired to a transmitting board in conjunction with an XBee module for sending and receiving data. When a voice command is entered, the signal will be sent to the

Page 6: csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

other mounted XBee unit on the receiver board controlling the motors on the elevator. The receiving board will interpret these instructions and move the motors according to specifications and lever inputs. As stated previously, an emergency stop function will also be implemented (A button for testing purposes, and a voice function for practical usage). When this command is issued the elevator will come to an immediate rest with the movement of the motors coming to a stop.

•Model Design

Figure 10 Figure 11

Figure 10 and 11 both depict the early state of the frame for the model. It is built primarily with various metal components each with holes spaced evenly throughout them for easy modification and assembly. It stands 48 in

tall and 48 in length and width.

The model design for the frame as seen in the figures above consists of a steady base supporting two vertical shafts with a ‘U’ shaped cross section facing inward towards one another. The shaft of the DC gear motor will be attached to a miniature winch and pulley system. Wrapped around the turning rod will be the elevator cable which will be fed through a hole in the center of the top of the frame lowering and raising the room.

The room itself will be made of wood and will be held in a fixed position by a set of three wheels on either side. As the room moves along the vertical shafts, the roller lever switches will be positioned along the holes in the shaft so that when the room passes over them they will be triggered sending a signal to the control system. The room has yet to be constructed, but a design has already been planned. The cable will support the room at four points to keep it level. On both the right and left side of the room will be two grooves cut to fit around the vertical shafts. Three wheels will be placed around

Page 7: csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

each groove, one inside the groove itself (snugly rubbing against the roller levers) and two on the outside fixing it inside its predetermined course. Finally the room will have a light weight swinging door to one side. This door will be swung open by a fixed motor (likely a standard servo) whenever the proper signal is received.

Figure 12: Basic Orthographic representation of current frame design. May be adjusted to meet future requirements as needed.

Page 8: csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

Figure 13: A basic diagram of logic flow.

Challenges:

Determining the exact number of signals received by the motor encoder on different PWM’s that would cause the geared motor to spin a full rotation.

Configuring various test programs to calculate and test for acceleration and deceleration distances and times.

Calculating how much torque is required to be able to both move the room up and down, and hold a fixed position.

Determining how many geared rotations it will take to go from one floor to another from different locations.

Calibrating the system on start up by designating a home position. Building a room that is both heavy enough to keep the cable taught, but also light enough to

keep the motor running smoothly, without pulling the room back downwards upon ceasing its rotation.

Page 9: csit.selu.educsit.selu.edu/~csit/seniorprojects/Seniorprojects...  · Web viewUsing Arduino I was able to learn how to use the three basic types of electronic motors (stepper, servo,

Timeline

APRIL 13 MAY 13 JUNE 13 JULY 13 AUG 13 SEPT 13 OCT 13 NOV 13

Wireless, EasyVR, Gear motor selection

Integrating individual components into the frame

Final testing and tuning of the system

Deliverables

April 13: Complete Testing of XBee modules: Completed

April 20: Complete Construction of Frame: Completed

April 21: Begin Gear Motor Selection: Completed

April 27: Complete Gear Motor Selection and Begin Testing: Completed

May 03: Begin Testing and Configuring The Easy VR Modules: Completed

May 08: Make Adjustments to Final Proposal Draft and Presentation

May 10: Have Final Proposal and Presentation Completed

May 10: Give Final Proposal Presentation

May 20: Complete testing of Easy VR modules

June 01: Begin Construction of the Room

June 10: Begin Door Motor Selection and Testing

June 20: Begin Integration of Individual Components

June 30: Begin Testing of the System