9 Jan 2019

Design and Development of ZIGBEE and MATLAB GUI (GUIDE) based Automatic Rapid Inventory Access System - My M.Tech Thesis

Introduction

In older days, the inventories were not as huge as they are today. So it was possible to search items in the inventories manually. But with the passage of time, it has all changed. Today’s modern inventories are so gigantic that the use of some automatic mechanism for quick accessing of items seems inevitable.
To solve this problem, here we have devised a wireless automatic rapid inventory access system using zigbee which can be very useful in large industries and big shops for quick accessing of items from large number of drawers in inventories. This Wireless system with a host computer has a convenient Graphical User Interface (GUI). Zigbee radios are used at the transmitting and receiving ends to provide wireless functionality.
The wireless rapid inventory access system has a host computer having Graphical User Interface      (GUI). This GUI is created by using the GUIDE (GUI Development Environment application of the MATLAB (MATrix LABoratory). It is compulsory for the user to enter the password to prevent any unauthorized access to continue. On entering the correct password the operator can use the inventory access system. This GUI has push buttons representing items of the inventory. A Zigbee mounted onto a Zigbee explorer is connected to the host computer which is configured as the coordinator. Another Zigbee present on the receiving end is configured as the router. The Zigbees are configured by using the X-CTU software. When the user clicks on the push buttons of the GUI the Zigbee at the transmitting end sends serial data. The Zigbee at the receiving end receives the data serially and sends it to the serial receive pin (Rx) of the microcontroller (PIC18F452). LEDs, which represent the drawers, are connected to the port of the MCU. The LEDs that correspond to the clicked button glow up and simultaneously an alarm is raised by the buzzer. This is an alarm for the office assistant to fetch the items from the inventory. Now the drawers indicated by glowing LEDs can be accessed easily and quickly without any delay and confusion. After receiving the desired item on the counter, the LEDs can be turned off by clicking the corresponding buttons in the GUI.
But sometimes, when the alarm is raised, the office assistant may be busy with some other task, so it may not be possible to fetch items immediately. By the time office assistant is busy with some other work, more items may also be ordered by the computer operator by glowing more other LEDs causing raising of the alarm again. When the office assistant finds himself free, all the ordered items can be fetched altogether.


1.3 History
Modern inventories are really huge in size but it was not the case, many years back in the past. In those days, the inventories were much smaller in size as compared to the modern inventories. So it was not much difficult to look for items in the inventories manually. For even larger inventories, one thing that would be done was, to increase the labor force engaged in fetching the ordered items from the inventories but even that couldn’t help, as it wasn’t prudential to hire so many laborers for this job. Not only this, it often led to confusions and misunderstandings in communication.
But as the inventories grew larger and larger it seemed impossible to search the desired items in the inventories manually. So it was essential to devise some automatic technique to solve this problem. So today’s modern industries have some electronic mechanism to find out the items from big inventories. The advantages of the automatic inventory access systems are, the reduced time to access the desired item and that too without any kind of communication gap.
1.4 Need of proposed research work
Since big industries and shops have large inventories having large number of drawers and it is very difficult to access desired items from a large sized warehouse having large number of drawers. Also the office assistant may not be available to serve at that moment. Because of this it takes long time to access the desired items from the inventories and also causes confusion while accessing correct drawers.
1.5 Significance of proposed research work
To solve the above mentioned problems rapid inventory access system has a LED for each drawer wherein the items are stored. LEDs will glow corresponding to the selected items by the host computer and an alarm will be raised by a buzzer indicating an order to the office assistant  to fetch items from the inventory without any need of communication with the computer operator. Now corresponding drawers having glowing LEDs can be accessed easily and quickly without any delay and confusion. This system uses a password protected Graphical User Interface (GUI) for authorized access. This GUI is created by using MATLAB software. GUIDE application of the MATLAB is used to make the GUI. This GUI will have buttons to represent inventory items. On clicking the GUI push buttons corresponding LEDs will glow in the inventory. The LEDs can be turned off by clicking the corresponding buttons in the GUI, after receiving the desired item on the counter.
1.6 Motivation of the work
When I was a trainee at ‘SONY INDIA’ in New Delhi, I came across the problems related to the accessing of items from the inventory there. I observed there, that whenever any item was ordered to be fetched from the inventory, it really took lot of time. There was communication gap between the office assistant and the person who ordered the item.  He often would fetch wrong item and that too with some delay.
Sometimes the office assistant would not be present there to serve so it was annoying to look for him first, before the items could be fetched. Not only this, when he was busy with some work while some item was ordered, he would forget to fetch the item. so it was essential to remind him of it again and again. That was really cumbersome. Thus the   inventory accessing system had lots of problems and was inefficient.
So I felt the need of some automatic electronic solution to deal with this problem and finally came up with the mechanism which could address all the problems mentioned above. This includes a computer having a convenient and password protected Graphical User Interface (GUI). Zigbee radios are used at the transmitting and receiving ends for wireless functionality.
When the computer operator selects items by the computer using GUI on clicking the push buttons, an alarm is raised by the buzzer and LEDs of the corresponding drawers glow in the inventory. This would be an order to the office assistant to fetch the items from the inventory. Now the drawers indicated by glowing LEDs can be accessed easily and quickly without any delay and confusion. The LEDs can be turned off by clicking the corresponding buttons in the GUI, after receiving the desired item on the counter.
But some time it may be the case that, when the alarm is raised, the office assistant may be busy with some other task, so the office assistant may not serve immediately. By the time office assistant is busy with some other work, more items may also be ordered by the computer operator by glowing more other LEDs that causes raising the alarm again. When the office assistant finds himself free, all the ordered items can be fetched altogether.
1.7 Objectives of the proposed research work
·       To design and develop a rapid inventory access system to speed up the accessing of items- 
A major problem faced by big industries and large shops is to find items in their large inventories. In very large inventories it is not easy to search the desired item manually. Not only this, delay and confusion becomes inevitable in this manual process. This problem can be solved by wirelessly glowing LEDs for drawers in the inventory for the desired items.
·       To design and develop a wireless inventory access  system using Zigbee radios-                                                                            With the help of Zigbee the mechanism of accessing items from the large inventories can be made wireless. Zigbees of different ranges of operation are available as per the size and the location of the inventory. Here we have used one Zigbee at the transmitting end and other at the receiving end. For larger industries the number of Zigbees at the receiving end (nodes) can be increased accordingly.                                                                                                        
·       To design a window for password protection to check unauthorized access
It is mandatory to enter password to continue the operation. Graphical User Interface is made by using the MATLAB software. GUIDE application of the MATLAB is used to make the GUI. The user is first encountered with a password window, which requires the user to enter password to continue. This prevents any unauthorized access.
·       To create a convenient Graphical User Interface (GUI) for the host computer.
After entering the password the user will be allowed to use the application. In order to fetch any item from the inventory, user will have to press the corresponding push buttons of the GUI. Thus on pressing the buttons corresponding LEDs will glow in the inventory for the drawers. After receiving the desired item on the counter, the LEDs can be turned off by clicking the corresponding buttons in the GUI.                                                                                                                                                 

·       To raise an alarm to the office assistant to fetch items from the inventory-                            On selecting items using the host computer by clicking the push buttons of the GUI, an alarm will be raised by the buzzer and LEDs of the corresponding drawers will glow in inventory. Sometimes when the alarm is raised the office assistant may be busy with some other tasks, because of this it may not be possible to fetch items immediately. By the time office assistant is busy with some other work, more items may also be ordered by the computer operator by glowing more other LEDs causing raising of the alarm again. When the office assistant finds himself free, all the ordered items can be fetched altogether easily and quickly without any delay and confusion.

3.1 Hardware design
The main components used in the hardware design of the proposed work are: microcontroller (PIC18F452), zigbee and the power supply. These components have been described as follows-
3.1.1 Microcontroller
Microcontroller has a crucial role in any control unit. A microcontroller not only has a microprocessor but also has memory and input-output peripherals. Other major components of the microcontroller include counters, timers, ADC etc. The peripherals of the microcontroller are programmable. Microcontroller has the flash programmable memory along with the RAM. The flash memory can be reprogrammed many times with the help of a program burner kit and the supporting software.
3.1.1.1 Features of PIC18F452
·       It is having high performance and flash memory
·       It is having 32 kb of code space,1536 bytes of RAM
·       It is having 256 bytes of EEPROM
·       It runs up to 40 MHz of clock speed
·       PLL option is available which can be enabled or disabled via programming. With the use of PLL the clock frequency get multiplied by four. In this case maximum frequency for external; crystal is 10 MHz
·       It is having an USB interface
3.1.1.2 Peripheral features:
·       High current sink/source
·       3 interrupt pins externally
·       Timer0 is 8-bit/16-bit timer/counter with a 8 bit programmable prescalar.
·       Timer1 module is a 16-bit timer/counter.Timer2 module is an 8-bit timer/counter with 8 bit period register which is a time base for PWM.
·       period register (time-base for PWM)
·       Timer3 module: 16-bit timer/counter
·       Secondary oscillator clock option - Timer1/Timer3
·       Two Capture/Compare/PWM (CCP) modules.
·       CCP pins that can be configured as:
·       Capture input: capture is 16-bit,
·       Max. resolution 6.25 ns (TCY/16)
·       Compare is 16-bit, max. resolution 100 ns (TCY)
·       PWM output: PWM resolution is 1- to 10-bit,
·       Max. PWM freq. @: 8-bit resolution = 156 kHz
·       10-bit resolution = 39 kHz
·       Master Synchronous Serial Port (MSSP) module.

3.1.1.3 Operating modes
·       3 wire SPI™  
·        Master and Slave mode (I2C)

3.1.2 Zigbee
3.1.2.1 ZigBee module:
ZigBee is a wireless transmission protocol and low power digital radio. It is based on an IEEE 802.15.4 standard for PANs. Unlicensed ISM bands use ZigBee modules. Power consumption is of vital importance in embedded systems so ZigBee radio modules are used extensively. Coordinator, router and end-device are the main categories of ZigBee devices in a ZigBee network. In a ZigBee network each device has a unique 16 bit PAN ID.
3.1.2.2 Device types
· ZigBee Coordinator (ZC): The coordinator which is an active device acts as the network tree master. It can also act as a bridge to connect to other ZigBee which might be present in outside networks. Each network must have one ZC, because its purpose is to start the network during the communication process. It starts PAN by choosing a RF channel and a PAN ID.
· ZigBee Router (ZR): Besides acting as a coordinator, it can also work as a router, which can forward the data, received by it from one network to another. When it has established connection with ZigBee Coordinator, the operation can be started.
· ZigBee End Device (ZED): In this mode the ZigBee acts as a dependent device. It can only talk either to the coordinator or to the router. This functionality helps the node network to be in the sleep mode for a given time and hence providing longer battery life. Before sending any sensor data a ZigBee End Device must join PAN in same manner as a router.  As it does not have to store the values in it, so a very small amount of memory is required. Therefore it is less expensive to manufacture as well to the network designer as compared to a ZR or ZC.

3.1.2.3 Device Addressing:
16-bit Network address is assigned to a ZigBee device when it connects to a ZigBee network and contains a 64-bit device address. The manufacturer assigns this 64-bit address. This 64-bit address is the serial number of the ZgBee device. Network Address and Device Address are used to establish the communication between the ZigBee devices. These ZigBee devices generally find application in point to point mesh networks. Ad-hoc networks can be formed with these devices. It has a defined rate of 250 kbps. It finds application in wireless street light control, traffic management systems, wireless home automation, electrical meters with automatic reading output and other various devices that are used by consumers in homes and industrial equipments. ZigBee is used in those applications which require short range of transmission and where wireless transmission of data is to be done at low rates. Hence, the zigbee technology is very simple and less expensive than other Wireless Personal Area Networks. As compared to Bluetooth, the ZigBee is much better in terms of cost and energy consumption and range of transmission. The bit rate of transmission depends on the frequency band. On 2.4 GHz band the typical bit rate is of 250 kbps, 40 kbps at 915MHz and 20 kbps at 868 Mhz. ZigBee device is configured by the use of X-CTU software.
We have a dc power supply of 5volts, on which the microcontroller operates and the zigbee needs to be interfaced to the microcontroller, but since the Zigbee operates at 3.3V (max). So it is required to convert the voltage from 5V to 3.3V. This can be done by using LM1117 IC. Zigbee adapter  board is used as a base for the zigbee.
The zigbee adapter has LM1117 IC which converts the voltage from 5 volts to 3.3 volts, as required by the zigbee for its operation. Zigbee pins are inserted into the zigbee base. Here out of twenty pins of the zigbee device, we use only three pins. These three pins are- 3.3 volts input power supply, ground and transmit pin. The pins of LM1117 IC with their description are- 
Vcc- This pin in connected to the 5V DC power supply.
Gnd-   It is used for the ground.  
Dout- It provides output of 3.3 volts, required by the zigbee device.


3.1.3.1 Transformer
Transformers have the capability to transfer electrical energy from one circuit to another with the help of inductively coupled conductors. Transformers can be used either to transform the voltage from high to low (step down) or from low to high (step up). Transformer has two sets of winding. One set of winding is called as primary winding while the other is the secondary winding. These two sets of winding are wrapped generally on a soft iron core. The primary coils is used to apply the input voltage while the output voltage is taken out from the secondary windings. The core of the transformer is made of dielectric material thus   provides insulation between primary and secondary coils. Image of the transformer is shown in the figure 3.14.
When varying current (AC) is applied to the primary windings of the transformer, a varying magnetic field is produced in the primary windings. This changing magnetic field is associated to the secondary windings of the transformer through the core of the transformer. Because of this varying magnetic field in the secondary windings, an electro-magnetic field is induced. This phenomenon is known as the inductive coupling and the voltage produced in the secondary windings of the transformer due to this phenomenon is known as the Electro Magnetic Force (EMF).
According to the Faraday’s law of Electro-Magnetic Induction (EMI) when a conductor is placed in a changing magnetic field then EMF is induced in the conductor and this induced EMF is directly proportional to the rate of change of flux and number of turns in the conductor coil.


Hence by Faraday's law of Electro-Magnetic Induction (EMI)-                              
. . . (1)
. . . (2)
Combining ratio of (1) & (2)
     . . . (3)
Where a= turns ratio
For step-down transformers, a > 1
While for step-up transformers, a < 1

3.1.3.2 Voltage regulator (LM7805)

As shown in the figure 3.15, the integrated circuit (IC) LM7805 has three pins .First pin of the IC represents input, second pin is ground and third one is the output. After rectification and filtering of the AC signal the signal is applied to the first pin i.e. input pin of the IC and 5 volt output is taken out from its output pin. 


3.1.3.3 Diode
Diode is an electronic component having two terminals, which allows current to flow only in one direction and offers very high resistance to the current in other direction. A semiconductor diode has a p-n junction which is responsible for the flow of current in only one direction.
When the p terminal of the diode is at higher potential as compared to the n terminal then the diode is forward biased and current is allowed to flow from p side to n side. But when the p terminal is at lower potential than the n side then the diode in reversed biased s does not allow current to flow in this case since it offers ideally infinite resistance to the current flow.
In this project the diodes have been used to design a bridge rectifier which is a full wave rectifier, to convert alternating current to direct current.


3.1.4 Light Emitting Diode (LED)
A light-emitting diode (LED) is made of semiconductor material.  For manufacturing the LED a direct band gap semiconductor is used which is mostly, gallium arsenide (GaAs).  When the charge carriers recombine with the majority carrier on the other side on crossing the junction, photons are emitted. The color of the light emitted from the LED depends on the material used in manufacturing. Wavelengths (or colors)[ from the infrared  to the near ultraviolet  may be produced. LED is shown in the figure 3.17.


3.1.5 Buzzer
A buzzer may be of mechanical, piezoelectric or electromechanical type. It is used as a device for audio signaling. In this project the buzzer works as an alarm to the office assistant to fetch items from the inventory.


4                                                       SOFTWARE DEVELOPMENT

4.1 mikroC

mikroC is a development tool used for the PIC microcontrollers. microC is used to develop embedded system applications. It is very easy for the programmer to develop applications with the help of powerful microC tool.  Not only it makes the programming easy to the programmer but also the high performance features are also retained.
 PIC microcontroller is used extensively in the world. C language is used mostly to program the microcontrollers, since it becomes much easier to program the microcontroller in C, because of large libraries available in the C language. Various features made available to the user by the microC includes- ANSI compliant compiler, very advanced Integrated Development Environment, comprehensive documentation, large libraries for hardware, and enriched set of  examples.

4.1.1 Features of mikroC

Following features are included in the microC to help the user in programming complex applications-
  •  C source code can be written using the built-in code editor.
  • mikroC libraries are available to improve the speed of the programming. It supports various types of microcontrollers viz.  PIC12, PIC16 and PIC18.
  • Code explorer can be used to monitor structure of the program.
  • microC also has the facility of the integrated debugger to debug executable logic and to inspect program flow.
  • A large source of examples is provided in the microC. These programs are ready to use in the programming. 
4.2 MATLAB
MATLAB stands for the “MATrix LABoratory”. It is a language for high-performance technical computing which includes visualization, computation, and programming in a user friendly environment. In MATLAB problems and their solutions are represented in common mathematical notations.
 4.2.1 MATLAB Environment
MATLAB is a high-level technical computing language for data visualization, algorithm development, numeric computation and data analysis. It is possible to solve technical computing problems using the MATLAB product very fast, not possible to obtain with traditional programming languages.
MATLAB can be used in a myriad of applications, which includes control design, signal and image processing, test and measurement, communications, financial modeling, computational biology and analysis.
Using MATLAB it is easy to document and share our work. MATLAB code can be integrated with another applications and languages, and MATLAB algorithms and applications can be distributed. These Features are mentioned below:
  • High level  technical computing  language  
  • Development environment to manage files, code and data
  • Interactive tools for design and problem solving
  • Various mathematical functions
  • Two dimensional  and three dimensional graphics functions to visualize data
  • Building custom GUI Tools  

4.2.2 The MATLAB System

The MATLAB system comprises the following main parts:

·       Desktop tools and development environment

MATLAB provides the desktop tools and development environment to help us use MATLAB files and functions more productively. Most of these tools are GUIs. These are viz. the MATLAB desktop and Command Window, an editor, debugger and code analyzer etc.

·       Mathematical Function Library

Library available in MATLAB for mathematical functions has a large collection of basic mathematical functions along with highly advanced functions.

·       The Language

The language used in MATLAB is a high level matrix/array language having control flow statements, data structures, input-output and object oriented features of the programming.

·       Graphics

MATLAB provides facilities for showing matrices and vectors by using graphs. It consists of functions for 2-D and 3-D data visualization, animation and presentation graphics. With the help of low level functions available in MATLAB appearance of graphics can be fully customized.  Not only this, we can build complete GUIs on MATLAB applications.

·       External Interfaces

Writing C/C++ and Fortran programs interacting with MATLAB are allowed by the external interfaces library which includes facilities for calling routines from MATLAB known as dynamic linking, for reading and writing MAT-files and calling MATLAB as a computational engine.
4.2.3 Overview of GUIDE
GUIDE is the acronym for GUI Development Environment. GUIDE provides various tools which helps in creating GUIs. GUIDE can be greatly helpful in designing graphical user interfaces. Two tasks are required to be performed to create GUIs which are mentioned below-
·        Layout the GUI.
The Layout Editor available in GUIDE contains various icons to help us make GUIs. These include icons for button, edit text, static text, toggle button etc. It is very easy to use any component depicted in the toolbox by clicking on it and to use it in our GUI. GUI layout is stored in a FIG-file.
·        Program the GUI.
On creating the GUI in the layout editor, a MATLAB program file is automatically generated by GUIDE. This program file has the control of the GUI. The GUI is initialized by the code present in that file. When the user clicks on the GUI component commands are executed. We can add our own code to the callbacks with the help of MATLAB editor to make it perform what we want. Callbacks are the functions which respond to user’s action. It is also possible to create GUIs by writing code in MATLAB without using GUIDE in the MATLAB command window as shown in the figure 4.1.
On clicking on the GUIDE icon available in the MATLAB command window as shown in figure 4.1, a new window ‘GUIDE Quick start’ appears. The ‘GUIDE Quick start’ window is shown in the figure 4.2. Now to make new GUI, click on the ‘create new GUI’ button, select ‘Blank GUI (default)’ and click on ‘OK’ button. Now the Layout Editor opens, having various component icons to create GUI. The Layout Editor is shown in the figure 4.3.

4.3 X-CTU     
X-CTU is a tool that configures ZigBee modules with whatever settings required. First step is to install X-CTU software. After this, ZigBee modules configuration begins. A point-to-point network is required to be constructed, which means that the two devices will communicate with each other. For this purpose, one ZigBee should be configured as a Coordinator (or Master), because it is mandatory to have one coordinator in each network and the other should be configured as a Router (or end device). So a Coordinator is created that will manage the network of ZigBee, here a network consists of one more ZigBee module. To begin, we need to take our ZigBee module (xbee radio) and insert it onto the XBee Explorer device and connect it to computer through RS232 serial port.
Further steps are given below:
After connecting the ZigBee with the computer, double click the X-CTU icon and a window s will open. This window looks like as shown in the figure 4.4.
Now click on the discover devices to discover the radio device. On clicking on this icon a window appears as depicted in the figure 4.5. On selecting the port to be scanned, click on next button.  
As we click on the next button a window appears allowing to set port parameters. These port parameters include baud rate, data bits, parity, stop bits and flow control. These parameters have been shown in the figure 4.6. After setting all these parameters, click on the finish button. Now as shown in the figure 4.7, click on the ‘add selected device’ button. 
Now the radio module gets added. At this stage the radio module can be configured. To configure it, click on the icon of the radio module to show its properties and to configure it.

Now the properties will be visible as depicted in the figure 4.8. After this, click on the update firmware icon. On clicking on the icon a window appears as shown in the figure 4.9. In this window select Zigbee Coordinator AT from the function set and 20A7 (Newest) from the Firmware version. Now click on the update button. On updating, it is time to configure the radio module.
To make the radio modules (zigbee devices) to communicate with each other it is essential to edit the addressing settings appropriately. So as clear from the figure 4.10, in the destination address high (DH) and destination address low (DL) write the serial number high (SH) and serial number low (SL) of the radio module, to be configured as the router. Write ‘coordinator’ in the Node Identifier (NI) to identify the device as the coordinator. After finishing all this, click on the ‘write radio settings’ icon.
The radio module ( zigbee module) can now be removed from the XBee Explorer . Now insert  the other zigbee module into the XBee Explorer to configure it as the ROUTER. Discover device and add the device in the same way, as was done for the coordinator device and click on the update Firmware . The update Firmware window is shown in the figure 4.11. Now select the Zigbee Router AT from the function set and 22A7 (Newest) from the Firmware version and click on update button.
After successful firmware updation, edit the addressing settings as depicted in the figure 4.12. In the Destination address High (DH) and Destination address Low (DL) write the Serial number High (SH) and Serial number Low (SL) of the radio module, configured as the COORDINATOR. Write ‘ROUTER’ in the Node Identifier (NI) to identify the device as the router and click on the ‘write radio settings’ icon.
4.4 PCB DESIGN AND FABRICATION
In this chapter the software used to design the PCB has been discussed. This chapter elaborates the steps taken to develop the layout of the hardware circuitry.
4.4.1 Eagle software 
After testing all the possible modules using general purpose PCB, the final hardware of the product is developed. PCB is designed using ‘Eagle’ software.
4.4.1.1 Schematic diagram
The first step in the PCB designing is the schematic design. The schematic provides the visual representation of the connections of the electronic circuit used. The schematic diagram can easily be made with the help of eagle software since various electronic components are present in this software to be used directly. It’s easy to select the components, place them and connect them with wires.
4.4.1.2 PCB designing
The next step is to create the layout and produce the PCB. The steps used to design the PCB are as follows-  
·       The schematic file is synchronized with the PCB document and errors are corrected, if any.
·       Components are grouped and aligned so that the connected components are grouped together to reduce the length of the connections.
·       Dependent components are placed as close as possible to each other.
·       Now the PCB layout is done manually so as to ensure best possible layout with minimum number of jumper wires.
·       Then DRC (Design Rule Check) is used to correct any errors in the PCB design.
·       As a final check a netlist is generated directly from the PCB and checked against the schematic to ensure that there is no problem in the PCB.
·       This PCB is submitted for manufacturing finally.
4.4.2 PCB design rules
Printed Circuit Board is an integral part of any electronic product and its design plays an important role in the design of the product. The general rules for design of PCBs are listed below.
4.4.2.1 Component Placing Concepts
·       General rule is to place those components, whose position is fixed for final fitting and Inter-connections. Then place the components, which are connected to these fixed components.
·       Components should be placed on the grid of 2.5mm.
·       Larger components are placed first and the space in between is filled with smaller ones.
·       All components should be placed in such a manner that dismounting of the other components is not necessary if they have to be replaced.
·       Components should be placed in a row or a column so that it gives good overview.
4.4.2.2 Conductor routing concepts
·       The simple rule is that the conductor length should be as short as possible. In simple circuits where lot of space is available, conductors can be run in any direction so as to give the shortest interconnection length.
·       Conductor forming sharp angles should be avoided otherwise these will give problem in etching.
·       Where one or several conductors have to pass between pads or other conducting areas, the spacing has to be equally distributed.
·       Minimum spacing is applied only where it cannot be avoided otherwise higher spacing should be given.
·       In double- sided PCBs, it is normal practice to draw the tracks on components side in the direction of y-axis and tracks on solder side in the direction of x-axis.
·       Distribute maximum number of tracks on the solder side and the rest on the component side.
4.4.2.3 Hole-Diameter Rules
The number of holes diameter on a PCB has to be kept minimum.
·       Satisfactory soldering results are usually obtained if the diameter of the finalized and plated holes gives about 0.2-0.5 mm clearance as compared with the nominal diameter of the component lead.
·       Hole diameter = effective lead diameter + hole location tolerance (PTH) + 0.2mm
4.4.2.4 Solder Pad Diameter Rules
·       In PCBs with PTH (plated through hole ), the widths of the annular ring should be at least 0.5 mm, but without PTH the annular rings must be more because there is no through-hole plating to give mechanical strength to the solder pads.
·       As a rule solder pad diameter is approximately 3 times the component lead diameter.
·       The pads are placed always exactly and properly centered on grid intersections.
·       The conductor width should always be less than the solder pad diameter. The pattern around the hole should be maintained as uniformly as possible to enable symmetrical solder joints.
4.4.2.5 Conductor Shapes
Sharp corners and acute angle bends in conductors should be avoided.
4.4.2.6 Voltage and Ground Distribution Rule
All the voltage & Ground connectors should have minimum length. Analog & Digital ground should be different.
4.4.3 PCB design factors
While taking into consideration the above rule, the designer should not neglect the various factors which influence the design of PCBs. These design factors are listed as follows.
4.4.3.1 Design Elements
Design inputs, which are provided by the equipment designer to the PCB designer, are known as Design Elements. The various elements to be considered are:-
·       Board Size (minimum and maximum)
·       Number of Layers (single sided or double sided or multi layered)
·       Hole Sizes
·       Board Thickness
·       Conductor Widths
·       External Connections
·       Mounting Holes
·       Type of circuit (analog or digital)
·       Component details with Specification
4.4.3.2 Electrical Design Factors
There are some important factors that must be accounted for a proper printed circuit board design. Resistance and capacitance are the most important design factors. Copper conductor tracks on a PCB have a finite resistively, which introduces a voltage drop proportional to the current flowing in the particular conductor.
4.4.3.3 Mechanical Design Factors
The various mechanical factors that have to be taken into consideration for designing of a PCB are:
·       Horizontal or vertical board mounting, as a consequence of other factors such as heat and dust.
·       The board size should be optimum and compatible with the PCB manufacturing process.
·       Proper hole diameter should be provided for component mounting.
·       Board mounting holes should be provided.
·       Heavy components should be adequately fixed.
4.4.4 PCB design
These PCBs are developed for the hardware implementation of all the modules. Layouts are made through the software ‘eagle’. Circuit design is shown below:



RESULTS AND DISCUSSION
A GUI has been created in this project to access the inventory items wirelessly. GUIDE (Graphical User Interface Development Environment) application of the MATLAB has been used to make the GUI. It is mandatory to enter password to continue the operation.  The user is first encountered with a password window, as shown in the figure 5.1 which requires the user to enter password to continue. This prevents any unauthorized access.         


On entering incorrect password, a message window will pop up, displaying ‘invalid password’ as shown in the figure 5.2. The password box gets cleared automatically, on entering the incorrect password. This allows the user to enter the password again without erasing the wrong password.  
After entering the correct password the user will be allowed to use the application. The user would see the buttons as shown in figure 5.3. These buttons correspond to some item in the inventory. In order to fetch any item from the inventory, user will have to press the corresponding push buttons of the GUI. Thus on pressing the buttons corresponding LEDs will glow in the inventory for the drawers. 

On clicking on the HAND TOOLS button, a window containing two panels of buttons appears, as shown in the figure 5.4. Using the buttons of the first panel, the LEDs can be turned on to fetch any desired item, while with the help of second panel the LEDs can be turned off, after receiving the desired item on the counter. In the same manner on clicking on the MEASURING TOOLS or BENCH TOOLS buttons, windows corresponding to the measuring tools or bench tools appear, as depicted in figure 5.5 and figure 5.6 respectively.

The GUI has two sets of panels having buttons, viz. LED ON panel and LED OFF panel to turn the LEDs on or off. Now on selecting the desired items by clicking on the buttons available in the LED ON panel of the GUI. The figure 5.7 shows first LED in glowing condition, on clicking the SCREW DRIVER button of the HAND TOOLS [LED ON] panel. As the LED glows, the BUZZER alarm is also raised, as an indication to the office assistant, to fetch items from the inventory. In the same manner, figure 5.8 depicts the second LED glowing with the buzzer alarm on clicking the SOLDERING IRON button of the HAND TOOLS [LED ON] panel.

Now as illustrated in the figure 5.9 second LED turns off on clicking the SOLDERING IRON button of the HAND TOOLS [LED OFF] panel. This LED is turned off by the computer operator on receiving the desired item on the counter.
Figure 5.10 shows the image of various LEDs glowing after clicking the corresponding buttons in the GUI of the respective LED ON panels, with the buzzer alarm. In figure 5.11, image showing various LEDs glowing with the buzzer alarm, as in case of the figure 5.10 except one blue LED in off status, after clicking the corresponding button of the LED OFF panel in the GUI, is shown.


CONCLUSION AND FUTURE SCOPE
6.1 Conclusion
This wireless automatic rapid inventory access system using Zigbee can prove to be very useful in big industries and shops to quickly access various items from inventories. A host computer having Graphical User Interface (GUI), Zigbee radio devices at transmitting and receiving ends are used to do it wirelessly.
The inventory access system contains a Graphical User Interface (GUI) supported computer at the transmitting side. It is essential for the user to enter the password to prevent any unauthorized access. On entering the correct password the user can use the inventory access system. The GUI has two sets of panels having buttons, viz. LED ON panel and LED OFF panel to turn the LEDs on or off. Now on selecting the desired items by clicking on the buttons available in the LED ON panel of the GUI, the Zigbee connected to the computer through Zigbee explorer, transmits the serial data. This data is received serially by the Zigbee at the receiving end. Now the data arrives at the serial receive pin of the microcontroller and the corresponding LEDs glow which are connected to the port of the microcontroller and simultaneously an alarm will be raised by the buzzer. This will be the alarm to the office assistant to fetch the items from the inventory. Now the drawers indicated by glowing LEDs can be accessed easily and quickly without any delay and confusion. Now the computer operator can turn off the LEDs, after receiving the desired item on the counter, by clicking the corresponding buttons of the LED OFF panel of the GUI.
6.2 Future scope
      Following modifications and advancements are possible in this proposed work in future:
·       More number of Zigbee modules may be used at the receiving end to create more nodes to make the system more useful for larger industries and shops to handle large number of drawers.
·       Xbee radios of larger range may be used for huge inventories.
·       Opening of the drawers can also be made automatic.
·       DBMS can be designed to perform many more other functions of data handling and responding to queries related to inventories.
·       Graphical User Interface (GUI) may have more other features to improve the convenience of the user.
·       Security features can also be added to ensure more secured access.

No comments:

Post a Comment