Top Banner

of 45

Gun Automation

Apr 06, 2018

Download

Documents

Saad Ali
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
  • 8/3/2019 Gun Automation

    1/45

    S

  • 8/3/2019 Gun Automation

    2/45

    CERTIFICATE

    Certified that the contents and form of project entitledDead Eyesubmitted by

    Dillshad,Saad Ali and Wasif Ali have been found satisfactory for the requirement of the

    degree.

    Advisor: Co-Advisor:

    Mr. Kamran Zaidi Dr. Muhammad Murtaza Khan

  • 8/3/2019 Gun Automation

    3/45

    DEDICATION

    In the name of Allah, the Most Gracious, the Most

    Merciful

    DEAD EYE is dedicated to the lives of the policemen, army personnel, guards and even the

    civilians that either sacrificed their lives for our safety, or became a target of terrorists

    attacks.

  • 8/3/2019 Gun Automation

    4/45

    ACKNOWLEDGEMENTS

    We are extremely thankful to our Advisor and Co-Advisor, Mr. Kamran Zaidi and Dr.

    Muhammad Murtaza who lead us in the right directions from the beginning to complete this

    project. They were always there to help and guide us in any possible manner.

    A few other staff members who helped us were Mr. Abdul Afram, Mr. Osman Hassan and

    Mr. Tawakkal Hussain Balouch (R.A CS Lab), we are thankful to you as well.

  • 8/3/2019 Gun Automation

    5/45

    Abstract

    DEAD EYE is an automated gun project in which a real gun movement can be controlled

    from a distance and fired. There is a camera mounted as a scope of the gun. The video is used

    as a feedback to control the movement of the gun. Based on the image anyone sitting on the

    computer can decide whether or not to shoot and where exactly to shoot without even holding

    the gun. Moreover the gun can also auto-target objects using image processing. This is

    achieved by the RF link between the gun movement control unit and a computer.

    This idea if properly implemented for security purposes can help save lives of guards, army

    personnel and policemen.

  • 8/3/2019 Gun Automation

    6/45

    Contents

    ABSTRACT 5

    TABLE OF CONTENTS 6

    INTRODUCTION 9

    1.1- BLOCKDIAGRAM 9

    LITERATURE REVIEW 11

    1.2- THE SOFTWARE 11

    2.1- OPEN-CV 11

    2.2 - OPEN-CV VS. MATLAB 12

    2.3 - SERIAL COMMUNICATION 12

    2.4 - WIRELESS COMMUNICATION 13

    2.5 - MICROCONTROLLERS 16

    2.6- DC MOTORS 20

    2.7- MOTOR CONTROLLER 22

    METHODOLOGY 27

    3.1- SOFTWARE 27

    3.2- THE ELECTRONICS 29

    3.3- THE MECHANICS 35

    RESULTS 39

    4.1- CAMERA INPUT (PC PART) 38

    4.2- TO GENERATECODEFROMFEEDBACKCAMERA 38

    4.3- RF LINK 39

    4.4- MICRO CONTROLLER PART: 39

    4.5- MOTOR MOVEMENTS: 40

    4.6- OBJECT TRACKING: 40

  • 8/3/2019 Gun Automation

    7/45

    List of Figures

    (FIGURE 1.1-BASIC BLOCKDIAGRAM) 8

    (FIGURE 2.1, OPEN-CV STRUCTURE) 11

    (FIGURE 2.2- RF TRANSMITTER) 13

    (FIGURE 2.3- RF RECEIVER) 14

    (FIGURE 2.4-POWER WINDOW MOTOR) 20

  • 8/3/2019 Gun Automation

    8/45

    (FIGURE 2.5- DC GEARED MOTOR) 21

    (FIGURE 2.6- BASIC SERVO-SYSTEM) 23

    (FIGURE 2.7-H-BRIDGE) 25

    (FIGURE

    2.8-H-BRIDGE

    OPERATION

    ) 25(TABLE 2.1- H-BRIDGE TRUTH TABLE) 26

    (FIGURE 3.1- CAMERA VIEW MOUSETRACKING) 28

    (FIGURE 3.2- CAMERA VIEW OBJECTTRACKING) 28

    (FIGURE 3.3-FINAL SCHEMATIC) 28

    (FIGURE 3.4- SERIAL COMMUNICATION) 30

    (FIGURE 3.5-SYSTEM DIAGRAM) 31

    (FIGURE 3.6- FINAL H-BRIDGE) 32

    (FIGURE 3.7- OPTICAL ENCODER) 33

    (FIGURE 3.8- ENCODER PCB) 33

    (FIGURE 3.9-1ST MECHANICAL PROTOTYPE) 34

    (FIGURE 3.0- MECHANICAL BASE) 35

    (FIGURE 3.10- MECHANICAL TOP) 36

    (FIGURE 3.11- IMPLEMENTED MECHANICAL ASSEMBLY) 37

    (FIGURE 4.1- RF OSCILLOSCOPE RESULT) 39

    (FIGURE 5.1- SERVOSYSTEM MATHEMATICS) 41

    (FIGURE 5.1- SERVOSYSTEM MATHEMATICS CONTD..) 43

    CHAPTER 1

    INTRODUCTION

  • 8/3/2019 Gun Automation

    9/45

    Our country is suffering from intense security issues these days. Every time we switch

    on our television we hear some bomb blast, target killing or an intruder in a facility. We as

    Pakistanis are always liable to think for the betterment of our nation. We are not supposed to

    waste off our studies in some foreign company but whatever we gain, we have to contribute

    in our nations prosperity. This place is our identity and we respect it.

    So the FYP was a chance to just show the intent that we can help save lives even in

    current conditions. We all can think and even implement small ideas that maybe life saving.

    And what are engineers for? They are the ones to make life and surroundings easier, simpler

    and safe.

    The thought behind this project was just a try to give a sense of security and safety to

    the men who ensure our safety. Obviously no one can cheat death, but the feel can make a lot

    happy, peaceful at their jobs and hardworking as well. And how would that happen? Its that

    the project aims to make people able to use guns without putting their own life in danger.

    1.1- BLOCK DIAGRAM

    I would use this simple block diagram to illustrate my concept:

    (Figure 1.1-Basic Block Diagram)

    This actually means that we dont carry a gun while holding it, rather we would be

    monitoring the gun movement on our computer and a click would be translated into a real

    trigger press at the same time. This would actually be helpful in a lot of occasions that I

    would mention further. This could give guards or army men a lot of time to react to any

    critical situation while they wont be at personal risk at the first attack. And most probably,they could deactivate the threat the first time it attempts to react violently.

  • 8/3/2019 Gun Automation

    10/45

    This is an inspired version of some movie clips and other projects, but the aim was to

    make a cheap product from Pakistan that is beneficial for our law enforcing agencies once it

    reaches its implementation stage.

    DEAD EYE consists of a software part and a gun mount. The software could be for a

    laptop or a PC depending on the conditions for its intended use. The gun mount (mechanical

    part) would have a wireless camera to it that provides the feedback. The user on the computer

    end would be monitoring via this camera and make decisions based on it. There would be

    some auto functionalities included that could be object detection, object tracking, sentry gun

    etc. These could be extended to targeting and then wireless controls over the internet so that

    global access can be provided.

    The DEAD EYE could be helpful in various occasions. Army personnel can use these

    instead of initial trooping in any fight scenario. The snipers can use this at some distance as

    an aid to their mission. And the best of its application is the life saving of guards at security

    check points. If a thread is determined, shooting decisions can be made from a safe distance if

    the area is in threat of a suicide attack.

    CHAPTER 2

    LITERATURE REVIEW

    1.2- THE SOFTWARE

    One of the tasks in project development was creating a user interface to enable the

    user to view the live video feedback from onboard wireless camera and easily control the

    movement of the gun using the mouse or object tracking. The interface will also enable the

    user to access difference features of the Dead Eye like video recording, object detection,

    auto targeting etc. Also the interface would enable the user to choose different settings likewhich serial port (COM1, COM2etc.) is being used as an interface to the hardware etc.

    For the development of user interface there were several options available like Visual

    Basic, C++, and MATLAB etc. Also for image processing part MATLAB or OpenCV could

    be used. Data communication can be done through USB, parallel port or serial port.

    We are using OpenCV and C++ as a basis for the PC interface development. OpenCV

    can be used with any C based languages. For data communication we are using serial port.

    2.1- OPEN-CV

  • 8/3/2019 Gun Automation

    11/45

    OpenCV is an open source computer vision library. The library is written in C

    And C++ and runs under Linux, Windows and Mac OS X. OpenCV provides computational

    efficiency and with a strong focus on real time applications. OpenCV is written in optimized

    C and can take advantage of multicore processors. OpenCV is broadly structured into four

    main components, which are shown in

    Figure below the CV component contains the basic image processing and higher-level

    computer vision algorithms; ML is the machine learning library, which includes many

    statistical classifiers and clustering tools. HighGUI contains I/O routines and functions

    for storing and loading video and images, and CXCore contains the basic data structures

    and content.

    (Figure 2.1, Open-CV Structure)

    We will be using some features of OpenCV HighGUI Toolkit and some of MSDN

    library in the creation of user interface and to detect mouse movement.

    2.2 - OPEN-CV VS. MATLAB

    The reason of choosing OpenCV over MATLAB is that OpenCV is a library designed

    for this purpose while MATLAB provides a general purpose programming environment.

    OpenCV is a dedicated library for image processing application. Therefore the functions are

    optimized and can run on different platforms. OpenCV application can be easily integrated to

    other applications. Matlab on the other hand is a generic high level environment initially

    created for vector type operations and that has evolved to a powerful simulation and dataexploration tool. MATLAB is used not only for image processing but also for signal

  • 8/3/2019 Gun Automation

    12/45

    processing, neural networks, wavelet transforms, differential equations, statistics, etc.

    MATLAB is a good option for illumination design, image processing algorithm development,

    spectral analysis, and data exploration. But when is time to take the development to a real-

    time environment where the code may be integrated with other application OpenCV is a

    better option.

    2.3 - SERIAL COMMUNICATION

    Dead Eye uses UART (serial port) for communication with the hardware. The serial

    port takes bytes of data and transmits the individual bits in a sequential fashion. At the

    destination, a second UART re-assembles the bits into complete bytes. Each UART contains

    a shift register which is the fundamental method of conversion between serial and parallel

    forms. Serial transmission of digital information (bits) through a single wire or other medium

    is much more cost effective than parallel transmission through multiple wires. Also serial

    data can be easily transmitted wirelessly. This rules out any need of parallel data

    transmission and hence parallel port.

    Serial data can be transmitted either through USB or serial port. As we require very

    little data-rate (as will be explained later) so this makes serial port the best option. It is also

    the easiest to implement.

    2.4 - WIRELESS COMMUNICATION

    The concept behind wireless communication for DEAD EYE is basically the

    necessity for the project as well. There has to be some wireless medium for exchanging data

    and control signals between the computer and the moving part i.e the gun.

    Wireless communication can be via:

    Radio frequency communication,

    Microwave communication, for example long-range line-of-sight via highly

    directional antennas, or short-range communication, or

    Infrared (IR) short-range communication, for example from remote controls or

    via Infrared Data Association (IrDA).

    Applications may involve point-to-point communication,point-to-multipoint

    communication,broadcasting, cellular networks and otherwireless networks. The ideal

    choice for DEAD EYE was to be made based on the requirements of the project that were.

    http://en.wikipedia.org/wiki/Radiohttp://en.wikipedia.org/wiki/Microwavehttp://en.wikipedia.org/wiki/Infraredhttp://en.wikipedia.org/wiki/Remote_controlhttp://en.wikipedia.org/wiki/Infrared_Data_Associationhttp://en.wikipedia.org/wiki/Point-to-point_(telecommunications)http://en.wikipedia.org/wiki/Point-to-multipoint_communicationhttp://en.wikipedia.org/wiki/Point-to-multipoint_communicationhttp://en.wikipedia.org/wiki/Broadcastinghttp://en.wikipedia.org/wiki/Cellular_networkhttp://en.wikipedia.org/wiki/Wireless_networkhttp://en.wikipedia.org/wiki/Radiohttp://en.wikipedia.org/wiki/Microwavehttp://en.wikipedia.org/wiki/Infraredhttp://en.wikipedia.org/wiki/Remote_controlhttp://en.wikipedia.org/wiki/Infrared_Data_Associationhttp://en.wikipedia.org/wiki/Point-to-point_(telecommunications)http://en.wikipedia.org/wiki/Point-to-multipoint_communicationhttp://en.wikipedia.org/wiki/Point-to-multipoint_communicationhttp://en.wikipedia.org/wiki/Broadcastinghttp://en.wikipedia.org/wiki/Cellular_networkhttp://en.wikipedia.org/wiki/Wireless_network
  • 8/3/2019 Gun Automation

    13/45

    Medium Range (distance)

    Can be interfaced with a Microcontroller

    ISM band

    Abundant Market Availability

    Cost Effective

    Easy Implementation

    2.4.1- RadioFrequency

    Keeping in view these key points, we chose the Radio Frequency medium for

    communication. This was bought from SPARKFUN Electronics. They are off the shelf

    products so in case of a failure, we can always buy them again and are cheap as well. The

    best feature of the RF-434 module and our main reason to choose it was its protocol, i.e.

    UART for serial data. This way our task became simpler as this module was just simply

    removing the serial data cable for communication to a wireless link and that too without

    adding any complications. The RF-434 module has the following details for its

    Transmitter and Receiver respectively:

    2.4.1.1 - RF Link transmitter - 434MHz (WRL-08946)

    (Figure 2.2- RF Transmitter)

  • 8/3/2019 Gun Automation

    14/45

    This is a 434MHz Radio Frequency transmitter. It works with the RF Links at

    434MHz at either baud rate. Only one 434MHz transmitter will work within the same locality

    so that could ensure us safety.

    This wireless data is the easiest to use and the lowest cost RF link available in the

    market. These components are used to transmit position data, temperature data, and even

    current program register values wirelessly to the receiver. These modules have up to 500 ft

    range in open space. The transmitter operates from 2-12V. The higher the Voltage, the

    greater the range - see range test data in the documents section.

    These modules are used extensively and have been very impressive with their ease of

    use and direct interface to a Microcontroller. The theory of operation is very simple. What the

    transmitter 'sees' on its data pin is what the receiver outputs on its data pin. If you can

    configure the UART module on a Microcontroller, you have an instant wireless data

    connection.

    This is an ASK transmitter module with an output of up to 8mW depending on power

    supply voltage. The transmitter is based on SAW resonator and accepts digital inputs and

    makes building RF enabled products very easy.

    Features:

    434 MHz Transmitter Operation

    500 Ft. Range - Dependent on Transmitter Power Supply

    2400 or 4800bps transfer rate

    Operating Voltage 2-12 Volts

    Low cost

    Extremely small and light weight

    Supported Antennae: 30-35cm of wire

    2.4.1.2- RF Link 2400bps receiver - 434MHz (WRL-08949)

  • 8/3/2019 Gun Automation

    15/45

    (Figure 2.3- RF Receiver)

    This is used as a receiver only for 434 MHz with UART protocol. The following

    receiver type is good for data rates up to 2400bps and works only with the 434MHz

    transmitter. Multiple 434MHz receivers can listen to one 434MHz transmitter.

    This wireless data receiver on RF-434 is the easiest to use along with lowest cost, size

    and effectiveness. People have used these components to transmit position data, temperature

    data, and even current program register values wirelessly to the receiver. These modules have

    up to 500 ft range in open space. The receiver is operated at 5V.

    The receiver can be directly interfaced with any Microcontroller with its serial input

    pin. This could be well explained to layman that the RF module can replace the serial wire

    with the transmitter at the transmitting end and the receiver at the place of collection of data.

    Thus a wireless link can be created with extreme simplicity of just placing the module. Data

    rates are limited to 2400bps for this particular receiver.

    This receiver has a sensitivity of 3uV. It operates from 4.5 to 5.5 volts-DC and has

    digital output. Therefore it is recommended to use a regulator for its input so that there are

    safety precautions for the circuitry. The typical sensitivity is -103dbm and the typical currentconsumption is 3.5mA for 5V operation voltage.

    Features:

    434 MHz Receiver Operation

    500 Ft. Range - Dependent on Transmitter Power Supply

    2400 bps transfer rate

    Low cost

    Extremely small and light weight

  • 8/3/2019 Gun Automation

    16/45

    Operating Voltage 4.5-5.5 Volts (typically 5V)

    Supported Antennae: 30-35cm of wire

    2.5 - MICROCONTROLLERS

    This is the module of our project in which we have to receive serial data from PC via

    an RF Module and generate PWM for motor movements and synchronize them with the

    mouse movements at PC end. This task is easily achievable by the AVR we chose i.e.

    ATMEGA16

    A microcontroller is a specialized form of microprocessor that is designed to be self-

    sufficient and cost-effective, where a microprocessor is typically designed to be general

    purpose (the kind used in a PC). Microcontrollers are frequently found in automobiles, office

    machines, toys, and appliances.

    Basic features of a Microcontroller we needed for the completion of DEAD EYE are:

    Interrupts

    Timers (for PWM)

    Serial Input (Asynchronous)

    I/O Ports

    ProcessorsArchitecture

    2.5.1- RISC

    Reduced Instruction Set Computers

    Fundamental set of instructions

    More control for users to design their own operations

    2.5.2-CISC

    Reduced Instruction Set Computers

    Large amount of instructions each carrying different permutation of same operation

    Functionality of instruction dependant on processor design

  • 8/3/2019 Gun Automation

    17/45

    Easily available controllers in market are;

    1)PIC

    2)8051

    3) AVR

    2.5.3- History

    Invention wise, 8051 is the forefather (date of birth = 1985) followed by PICs and AVRs.

    2.5.4- Difference in Architecture

    8051 - 8 bit micro based on CISC architecture (Complex Instruction Set Computer)

    PIC - 8 bit micro based on RISC architecture ( Reduced Instruction Set Computer)

    AVR - 8 bit micro based on RISC architecture ( Reduced Instruction Set Computer)

    2.5.5- Machine cycles

    8051 has 250 instructions which take 1 to 4 machine cycles to executive

    PIC has nearly 40 instructions which are mostly 4 cycles instructions

    AVR has 140 instructions which are mostly 1 cycle based

    2.5.6- Speed Factor

    8051 1 machine cycle in 8051 divides the clock freq. by

    PIC 1 machine cycle in PIC divides the clock freq by 4

    AVR 1 M.C in AVRs divides the clock freq by 1

    for e.g. if we use 12 MHz Xtal in all the 3 micros then the speed of execution will be as

    follows:

    8051 = 12 MHz /12 = 1 MHz i.e. = 1 million instructions per second

    PIC = 12 MHz/4 = 3 MHz i.e. = 3 million instructions per secondAVR = 12Mhz/1 = 12 MHz i.e. = 12 Million instructions per second

    So we can clearly see the that AVR executes more number of instructions per given time and

    can be considered as the fastest among the 3.

    8051 consumes more power than the other two and PIC consumes the least power.

    Both PIC and AVR are RISC based but their instruction Sets are entirely different.

  • 8/3/2019 Gun Automation

    18/45

    2.5.7- Programmings Percpective

    From Programmings (i.e. writing a code) perspective: 8051s are suitable for simpler

    and less demanding applications, next comes PICs and last comes AVRs.8051 has very

    powerful instruction set, it has commands which do more complex calculations, it also hasgot strong arithmetic logic unit which makes computation simple. Whereas PICs and AVRs

    have simple single instructions and the programmer has to tell (dictate) each and every step to

    achieve the final outcome.

    2.5.8- Examples

    Normal AVRs do not have Multiplication instruction.

    8051 Assembly we can simple use the instruction: MUL A, Bbut in AVR you have to

    write some 20 lines of code to multiply two registers or values.

    Similarly division also: in 8051 we have DIV A, B but in AVR again you have to

    write some 20 lines of code.

    There is no ADD instruction in AVRs, in 8051 we can Compliment a port bit or a bit

    variable by using CPL instruction but in AVR we don't have this instruction.

    In 8051 we can easily access the individual port bits but in AVRs we don't have this

    freedom.

    2.5.9- Cost

    8051 is still in use because of its simplicity and popularity and lowest cost.AVRs and

    PICS are costly and come with many on chip peripherals like: hardware SPI, ADC, I2C,

    USART, Analog comparator, internal RC oscillator, in-system programmability etc.

    2.5.10- Selection of Controller

    From the above given facts and most importantly our previous experience, we have

    seen that AVR is more reliable than 8051. So AVR being a modern day controller too was

    our obvious choice. It is challenging yet a good learning experience.

    2.5.11- Low Power CMOS 8-bit AVR

  • 8/3/2019 Gun Automation

    19/45

    By executing powerful instructions in a single clock cycle, the ATmega16 achieves

    throughputs approaching 1 MIPS per MHz allowing the system designed to optimize power

    consumption versus processing speed.

    Features include:

    16 Kbytes of In-System Programmable Flash with Read-While-Write capabilities

    512 Bytes EEPROM

    1 Kbyte SRAM

    32 general-purpose I/O lines

    32 general-purpose working registers

    JTAG interface for Boundary-scan On-chip Debugging support and programming

    Three flexible Timer/Counters with compare modes

    Internal and external interrupts

    A serial programmable USART

    Byte-oriented Two-wire serial interface

    An 8-channel 10-bit ADC

    A programmable Watchdog Timer with Internal Oscillator

    An SPI serial port

    2.6-DC MOTORS

    A direct current (DC) motor is a fairly simple electric motor that uses electricity and

    a magnetic field to produce torque, which turns the motor. At its most simple,

    a DC motor requires two magnets of opposite polarity and an electric coil, which acts as

    an electromagnet. The repellent and attractive electromagnetic forces of the magnets provide

    the torque that causes the DC motor to turn.

    Magnets are polarized with a positive and a negative side. The attraction between

    opposite poles and the repulsion of similar poles can easily be felt, even with relatively weak

    http://www.wisegeek.com/what-is-a-magnetic-field.htmhttp://www.wisegeek.com/what-is-an-electromagnet.htmhttp://www.wisegeek.com/what-is-a-magnetic-field.htmhttp://www.wisegeek.com/what-is-an-electromagnet.htm
  • 8/3/2019 Gun Automation

    20/45

    magnets. A DC motor uses these properties to convert electricity into motion. As the magnets

    within the DC motor attract and repel one another, the motor turns.

    A DC motor requires at least one electromagnet. This electromagnet switches the

    current flow as the motor turns, changing its polarity to keep the motor running. The other

    magnet or magnets can either be permanent magnets or otherelectromagnets. Often, the

    electromagnet is located in the centre of the motor and turns within the permanent magnets,

    but this arrangement is not necessary.

    DC motors are used for a variety of purposes, including electric razors, electric

    carwindows, and remote control cars. The simple design and reliability of a DC motor makes

    it a good choice for many different uses, as well as a fascinating way to study the effects of

    magnetic fields.

    Our initial purchase was the following DC Motor:

    2.6.1- The Power Window DC Motor

    These are readily available in the market and have high power handling capabilities.

    (Figure 2.4-Power Window Motor)

    Power Window MotorSpecifications

    Left and Right versions available

    Draws 2 amps

    80 RPM output

    Output: 12 tooth 13/16" dia. gear

    Overall Size: 7 1/2"x 1 1/2"x4"

    This wasnt sufficient for our purpose, reason being that it apparently had power handling

    capabilities but on the same time consumed alot of energy. Moreover, its response at certainfrequencies was not good and it also sounded worst at times.

    http://www.wisegeek.com/what-is-an-electromagnet.htmhttp://www.wisegeek.com/what-is-an-electric-car.htmhttp://www.wisegeek.com/what-is-an-electric-car.htmhttp://www.wisegeek.com/what-is-an-electromagnet.htmhttp://www.wisegeek.com/what-is-an-electric-car.htmhttp://www.wisegeek.com/what-is-an-electric-car.htm
  • 8/3/2019 Gun Automation

    21/45

    2.6.2- Pittman Geared DC Motor

    This was a pretty good choice of ours at the middle of our project timeline. These

    motors are highly powerfull and had more power handling capabilities than the previous

    choice, more over they consumed very little current and also had a 24VDC ratings. This gaveus more room for PWM variations. The gearing of the motor was origional that was good for

    reliability and its RPM was just as we wanted. There was a rear shaft attached with the

    ungeared part which was necessary for the encoder to be fitted in.

    (Figure 2.5- DC Geared Motor)

    DC Brush Gearmotor

    1.37" Diameter

    144.0:1 ratio

    500 oz-in Maximum Continuous Torque

    3033 oz-in Peak Torque (Note: Peak torque is provided for the purpose of

    performance calculations only. Operation near, or at, a stalled condition will result in

    motor and/or gearhead damage).

    43 rpm No load speed

    Torque Constant (Kt) = 5.17 oz-in / amp

    Voltage Constant (Ke) = 3.82 v/krpm

    Resistance (R) = 2.96 ohms

    Inductance = 2.51 mH

    Rated voltage: 24 volts

    Encoder: None

    Length: 4.32"

    The gearhead will be damaged when operating at the Peak Torque

    Unit supplied with ball bearing output shaft

  • 8/3/2019 Gun Automation

    22/45

    2.7- MOTOR CONTROLLER

    A motor controller is a device or group of devices that serves to govern in some

    predetermined manner the performance of anelectric motor. A motor controller might

    include a manual or automatic means for starting and stopping the motor, selecting forwardor reverse rotation, selecting and regulating the speed, regulating or limiting the torque, and

    protecting against overloads and faults.

    Every electric motor has to have some sort of controller. The motor controller will

    have differing features and complexity depending on the task that the motor will be

    performing.

    The simplest case is a switch to connect a motor to a power source, such as in small

    appliances or power tools. The switch may be manually operated or may be

    a relay orcontactorconnected to some form of a sensorto automatically start and stop the

    motor. The switch may have several positions to select different connections of the motor.

    This may allow reduced-voltage starting of the motor, reversing control or selection of

    multiple speeds. Overload and overcurrent protection may be omitted in very small motor

    controllers, which rely on the supplying circuit to have overcurrent protection. Small motors

    may have built-in overload devices to automatically open the circuit on overload. Larger

    motors have a protective overload relay or temperature sensing relay included in the

    controller and fuses orcircuit breakers for overcurrent protection. An automatic motor

    controller may also include limit switches or other devices to protect the driven machinery.

    2.7.1- Relevant circuit to motor control, The H-Bridge

    An H bridge is an electronic circuit which enables a voltage to be applied across a

    load in either direction. These circuits are often used in robotics and other applications to

    allow DC motors to run forwards and backwards. H bridges are available as integrated

    circuits, or can be built from discrete components.

    The name, H-bridge. Sometimes called a "full bridge" the H-bridge is so named

    because it has four switching elements at the "corners" of the H and the motor forms the cross

    bar. The basic bridge is shown in the figure to the right.

    The key fact to note is that there are, in theory, four switching elements within the

    bridge. These four elements are often called, high side left, high side right, low side right, and

    low side left (when traversing in clockwise order) as shown below:

    http://en.wikipedia.org/wiki/Electric_motorhttp://en.wikipedia.org/wiki/Fault_(power_engineering)http://en.wikipedia.org/wiki/Switchhttp://en.wikipedia.org/wiki/Relayhttp://en.wikipedia.org/wiki/Contactorhttp://en.wikipedia.org/wiki/Sensorhttp://en.wikipedia.org/wiki/Fuse_(electrical)http://en.wikipedia.org/wiki/Circuit_breakerhttp://en.wikipedia.org/wiki/Electronic_circuithttp://en.wikipedia.org/wiki/Roboticshttp://en.wikipedia.org/wiki/Integrated_circuitshttp://en.wikipedia.org/wiki/Integrated_circuitshttp://en.wikipedia.org/wiki/Discrete_componentshttp://en.wikipedia.org/wiki/Electric_motorhttp://en.wikipedia.org/wiki/Fault_(power_engineering)http://en.wikipedia.org/wiki/Switchhttp://en.wikipedia.org/wiki/Relayhttp://en.wikipedia.org/wiki/Contactorhttp://en.wikipedia.org/wiki/Sensorhttp://en.wikipedia.org/wiki/Fuse_(electrical)http://en.wikipedia.org/wiki/Circuit_breakerhttp://en.wikipedia.org/wiki/Electronic_circuithttp://en.wikipedia.org/wiki/Roboticshttp://en.wikipedia.org/wiki/Integrated_circuitshttp://en.wikipedia.org/wiki/Integrated_circuitshttp://en.wikipedia.org/wiki/Discrete_components
  • 8/3/2019 Gun Automation

    23/45

    (Figure 2.7-H-Bridge)

    An H bridge is built with four switches (solid-state or mechanical). When the

    switches S1 and S4 (according to the first figure) are closed (and S2 and S3 are open) a

    positive voltage will be applied across the motor. By opening S1 and S4 switches and closing

    S2 and S3 switches, this voltage is reversed, allowing reverse operation of the motor.

    Using the nomenclature above, the switches S1 and S2 should never be closed at the same

    time, as this would cause a short circuit on the input voltage source. The same applies to the

    switches S3 and S4. This condition is known as shoot-through.

    2.7.2- Operation

    (Figure 2.8-H-Bridge Operation)

    The two basic states of an H bridge

    The H-bridge arrangement is generally used to reverse the polarity of the motor, but

    can also be used to 'brake' the motor, where the motor comes to a sudden stop, as the motor's

    terminals are shorted, or to let the motor 'free run' to a stop, as the motor is effectively

    disconnected from the circuit. The following table summarises operation, with S1-S4

    corresponding to the diagram above.

    http://en.wikipedia.org/wiki/File:H_bridge_operating.svg
  • 8/3/2019 Gun Automation

    24/45

    S1 S2 S3 S4 Result

    1 0 0 1 Motor moves right

    0 1 1 0 Motor moves left

    0 0 0 0 Motor free runs

    0 1 0 1 Motor brakes

    1 0 1 0 Motor brakes

    (Table 2.1- H-Bridge Truth Table)

    CHAPTER 3

  • 8/3/2019 Gun Automation

    25/45

    METHODOLOGY

    The aim was to accomplish the task using easy and has simple maintenance

    procedures in case failures are faced. It always is the simplicity that is reached in designing.

    The designing was indeed tough in the beginning but the advisor/co-advisor was always there

    to help us.

    3.1-SOFTWARE

    3.1.1- OpenCV

    As explained previously the user interface of the Dead Eye uses OpenCV. A

    camera is mounted on gun so that when gun moves camera moves with it. The user interface

    consists of a Camera Window that displays live video feedback from camera along with cross

    hair as shown in the figure.

    (Figure 3.1- Camera View mouse tracking)

  • 8/3/2019 Gun Automation

    26/45

    That camera is aligned so that the centre of crosshair is where the gun is targeting. In

    the software part each frame is accessed from the camera one at a time. Then using some

    OpenCV functions a crosshair is drawn at the centre of that window by calculating the

    dimensions and width of that window. After that there are two modes in the software part.

    Mouse tracking and objecting

    3.1.1.1 - Mouse Tracking

    After generation of crosshair mouse listener function checks for any mouse

    movement/click. If any movement or click is detected a mouse call back function is called.

    This function stores the coordinates of mouse and any click/key pressed at that location and

    compares them with mouse position in previous frame thus giving us the magnitude of mouse

    movement. These coordinates are stored in variables and sent through serial port over to the

    RF transmitter. In case of no mouse movement some data in still transmitted indicating no

    movement. The data consists of 3 bytes. One indicating X coordinate, one Y coordinate and

    one indicating any click or key presses. After that the next frame is loaded into memory and

    process carries on for each frame in a loop. That serial data is received by microcontroller

    and PWM and encoder signals are generated for each motor accordingly hence moving the

    gun and camera.

    3.1.1.2 - Object Tracking

    In this mode a crosshair is generated in a similar way. The whole frame is stored in

    memory in RGB format. The software then divides the whole frame into several 5x5 pixel

    areas and applies a filer which detects red pixels. If the concentration of red pixels crosses a

    threshold it marks it as red area and draws a tiny circle around it indicated a detected area.

    Similarly whole frame is scanned for red pixels. A red object is going to have several red

    pixel areas as indicated by circles in the figure. Then the centroid of red areas is calculated

    and X and Y coordinate of that centroid is compared with current crosshair position and sent

    through serial port, the same way mouse coordinates are sent in mouse tracking mode. The

    same process is carried out in each frame of the video sending coordinates of the target by

  • 8/3/2019 Gun Automation

    27/45

    taking feedback from the camera, enabling the gun to autotrack the object in real time.

    (Figure 3.2- Camera View object tracking)

    3.2- THE ELECTRONICS

    Here is an overall schematic of our project, each part is then further explained. This is

    our actual final implementation and the necessity of DEAD EYE as well.

  • 8/3/2019 Gun Automation

    28/45

    (Figure 3.3-Final Schematic)

    3.2.1- RF Linkage

    In the initial stages, we were unable to transmit through this module, the reason was

    mainly that these modules dont come with a proper data sheet and circuit diagrams. Then we

    had a hit and trial method and finally we were able to transmit serial data wirelessly.

    1. The first way was to just use it as the circuit diagrams shown and the pin names

    suggested. We used a USB-RS-232 converter and tried the circuit and then the signal

    received was in mill-volts as compared to a 5v transmitted signal. This was certainly

    no acceptable.

    2. The next way was to use a PCs Serial Port and then the same configuration but the

    results were the same even on a 12V Transmitted Signal that is from a PCs Serial

    Port.

    3. At first in the forums etc. It was mentioned that this module is excellent without anantenna at small ranges and also where there are no hindrances, but we then tried it

    out with a laptop and a USB-RS232 converter along an antenna and the results were

    better, we were getting a 1V signal but not as we wanted. The antenna for 433Mhz

    was of 17Cm in length.

    4. The next experiment was indeed refreshing for us and that gave us excellent results i.e

    around 3.8V Received Signal as compared to a 5V transmitted. Now this was done by

    a rather simpler approach, i.e an antenna mapped to the module, the serial port from a

    PC and then an MAX-233 before the Transmitter.

  • 8/3/2019 Gun Automation

    29/45

    The issue with this configuration was glitches, unreliability, noise increments as the

    temperature rose and a reset was also required timely.

    5. The next was the use of 2 ICs that were a bit expensive as well with the previous

    configuration.

    The HT 12E Encoder ICs are series of CMOS LSIs for Remote Control system

    applications. They are capable of Encoding 12 bit of information which consists of N

    address bits and 12-N data bits. Each address/data input is externally trinary

    programmable if bonded out.

    The HT 12D ICs are series of CMOS LSIs for remote control system applications.

    This ICs are paired with each other. For proper operation a pair of encoder/decoder

    with the same number of address and data format should be selected. The Decoder

    receive the serial address and data from its corresponding decoder, transmitted by a

    carrier using an RF transmission medium and gives output to the output pins after

    processing the data. Compatible with RF Modules 433 MHz.

    3.2.2- Serial Communication Block

    As explained in the PC part, the computer sends 3 bytes of data in every frame of

    video through serial port over an RF link. The microcontroller receives those 3 bytes of

    data.One byte represents mouse movement in X axis, one for Y axis and one represents

    clicks/keys pressed. The magnitude of number is directly proportional to movement of mouse

    in respective axis. For example if the mouse moved 10 pixels in X direction and 2 pixel in Y

    direction. It will transmit 10,2,0 to the microcontroller. The actual data received it at a rate of

    3 Xfram rat second

    Here is the schematic of the Serial Port along with a MAX233 implemented physically on our

    final board.

  • 8/3/2019 Gun Automation

    30/45

  • 8/3/2019 Gun Automation

    31/45

    PWM and sends it to the H-Bridge which in turn powers the motors. Now the best part is that

    the encoders send pulses back to the microcontroller as feedback and then the actual motion

    of the motor is sensed and then again the microcontroller pulses the H-Bridge and in this way

    an accurate control system is established.

    3.2.4- H-Bridge

    An H-bridge has been well explained in the previous chapters, but there is something

    new to the one we implemented finally, the limit switches. Now these were needed as we

    have to limit the motion of our gun to as far as a naked eyes vision can see. If a switch doest

    short the ends, the respective side of the H-Bridge would not find a groud and hence limiting

    its motion to that side. The limit switches were fixed physically at locations so that the

    mechanical structure isnt affected in case of false PWM Generation. Therefore the normallyclosed switches and the final H-Bridge is shown below

  • 8/3/2019 Gun Automation

    32/45

    (Figure 3.6- Final H-Bridge)

    3.2.5- Optical Encoders (Feedback from motors)

    A digital optical encoder is a device that converts motion into a sequence of digital

    pulses. By counting a single bit or by decoding a set of bits, the pulses can be converted to

    relative or absolute position measurements. Encoders have both linear and rotary

    configurations, but the most common type is rotary. Rotary encoders are manufactured in two

    basic forms: the absolute encoder where a unique digital word corresponds to each rotational

    position of the shaft, and the incremental encoder, which produces digital pulses as the shaft

    rotates, allowing measurement of relative position of shaft. Most rotary encoders are

    composed of a glass or plastic code disk with a photographically deposited radial pattern

    organized in tracks. As radial lines in each track interrupt the beam between a photo-emitter-

    detector pair, digital pulses are produced.

    The most popular type of encoder is the optical encoder, which consists of a rotating

    disk, a light source, and a photo-detector (light sensor). The disk, which is mounted on the

    rotating shaft, has coded patterns of opaque and transparent sectors. As the disk rotates, these

    patterns interrupt the light emitted onto the photodetector, generating a digital or pulse signal

    output. A similar disk was mounted on the rear axle of each motor. Its shown in the figure

    below and similar to the approach we used in our structure.

    (Figure 3.7- Optical Encoder)

    We designed the encoder ourselves using a (commonly known as) U Shape Infrared Sensor in

    series with a resistor and a Pull-UP resistor. Below is its PCB Layout :

  • 8/3/2019 Gun Automation

    33/45

    (Figure 3.8- Encoder PCB)

    3.3- THE MECHANICS

    THE 1st

    Protype:

    As mentioned in the previous chapter, we were using power window DC motors and

    therefore we made a simple and light mechanical assembly for the project. The material used

    was ACRYLIC and that was as it had DIY capabilities. It had a low height base and a strong

    Y-Axis as well. But due to the change in motor selections, the whole mechanical structure

    had to be revised.

  • 8/3/2019 Gun Automation

    34/45

    (Figure 3.9-1st Mechanical Prototype)

    THE FINAL STRUCTURE:

    There was a lot to be done as the time lines were getting tougher and tougher but we

    had to cope with it. As soon as the motors were bought and tested thoroughly, we realized

    that a strong and long lasting mechanical structure shall be designed that has the capabilities

    to work further and beyond this project as well. Therefore we shifted to metal and there was

    Iron, Steel, Aluminium, Cast Iron, Plastics and all sorts of nuts and bolts used for the

    completion.

    3.3.1- The Base

    This design was indeed a challenge in itself but it worked pretty well. The base has

    the ability to rotate 360 degrees clockwise and counter clockwise. It can be limited to design

    it for any specific application. Therefore we limited it to 180 degrees as that is what a human

    eye is capable of.This was designed using simple mechanics and the structure could be

    repaired as well (if anything goes wrong). That means that it was thought before for errors.

  • 8/3/2019 Gun Automation

    35/45

    The first step was to create a base sheet .3 inch wide of iron in dimensions of 20inch by

    20inch. There were wheels below and handles on it for easy carriage of the structure while

    working on it. This was chosen so that weldings could be done on it later. Then the motor

    holding plate along with the rotating pulley was made out of cast iron. After this the

    appropriate height was given to the plate and then wheels to be equal in height to the pulley

    were lifted using Steel Bars and all this is illustrated by the picture below:

    (Figure 3.9- Mechanical Base)

    3.3.1- The Top Part

    The next step became to feel critical as there was further less time remaining. Then

    we first made an aluminium sheet of 19 inch in diameter. Then a steel plate of 3feet by 1 feet

    was taken. 1 feet on each side was bended at right angles and then it was cut in between for

    weight reduction. Its illustrated well in the picture. Then the tops ends of the bended plate

    were fitted with ball bearings and then an iron bar was fitted in it for rotation.

  • 8/3/2019 Gun Automation

    36/45

    (Figure 3.10- Mechanical Top)

    Finally the motor and the gun was mounted and the structure was complete. This was done

    well in time.

  • 8/3/2019 Gun Automation

    37/45

    (Figure 3.11- Implemented Mechanical Assembly)

    CHAPTER 4

    RESULTS

    MILESTONES:

    Our targets were to:

    1. Get the correct input from camera to computer

    2. To perform Differential method on the frames to generate encrypted code for the gun

    to move.

    3. The code has to be received by the controller via RF LINK.

    4. To generate PWM so that we can synchronize the mouse movement and the gun

    movement.

    5. The PWM generated has to be delivered to Gun Assembly through H-BRIDGE.

    6. To make an Assembly that can hold the gun and to place motors to achieve best

    possible results for the prototype.

    7. Image processing/object tracking.

    ACHIEVED MILESTONES:

    4.1- CAMERA INPUT (PC PART)

    As explained previously the user interface of the Dead Eye uses OpenCV. A wireless

    camera is mounted on gun so that when gun moves camera moves with it. The user interface

    consists of a Camera Window that displays live video feedback from camera along with cross

    hair as shown in the figure. We were able to achieve this GUI and this milestone

    4.2- TO GENERATE CODE FROM FEEDBACK CAMERA

    That camera is aligned so that the centre of crosshair is where the gun is targeting. In the

    software part each frame is accessed from the camera one at a time. Then OpenCV shows acrosshair at the centre of that window by calculating the dimensions and width of that

  • 8/3/2019 Gun Automation

    38/45

    window. After that a mouse listener function checks for any mouse movement/click. If any

    movement or click is detected a mouse call back function is called. This function stores the

    coordinates of mouse and any click/key pressed at that location and compares them with

    mouse position in previous frame thus giving us the magnitude of mouse movement. These

    coordinates are stored in variables and sent through serial port over to the RF transmitter. In

    case of no mouse movement some data in still transmitted indicating no movement. The data

    consists of 3 bytes. One indicating X coordinate, one Y coordinate and one indicating any

    click or key presses. After that the next frame is loaded into memory and process carries on

    for each frame in a loop. That serial data is received by microcontroller and PWM signals are

    generated for each motor accordingly hence moving the gun and camera. We were able to

    correctly execute this and achieve this milestone

    4.3-RF LINK

    These were the best possible results achieved from our RF Linkage out of all experiments we

    performed.

    (Figure 4.1- RF Oscilloscope Result)

    4.4-MICRO CONTROLLER PART:

    3 bytes of data was received by the controller from the RF Receiver. First 8 bit data is for the

    gun movement in X-AXIS. For that a PWM has to be generated, we used its internal registers

    and its predefined functionalities to do so, it was simple we had to place the input in its OCR

    register , which has its function to generate PWM corresponding to any 8 bit value placed in

    it. Then the Prescalar operations were performed to achieve PWM of our desired

    specifications. Same was done for the Y-AXIS.

  • 8/3/2019 Gun Automation

    39/45

    Then the feedback from the encoders was incorporated and an accurate PID controller was

    implemented. This incread our accuracy and response time as well.

    4.5- MOTOR MOVEMENTS

    To give pulses to the motor and their widths defining the amount rotations i.e. the

    distance covered. This could not be achieved without H BRIDGE to control the movements

    in both directions. There are two motors one for X-AXIS and the other for Y-AXIS. We were

    able to complete the movement of our mechanical assembly correctly synchronized with the

    mouse movements. This was further tuned by the use of encoders for feedback. The slits were

    counted and that told us of the actual motion of the motors and the desired motion and errors,

    delay and inaccuracy was decreased to a great extent.

    4.6- OBJECT TRACKING

    Successful object tracking was achieved by using image processing techniques

    implemented at computer end using OpenCV. The gun is able to auto track and target any red

    object in real time.

  • 8/3/2019 Gun Automation

    40/45

    CHAPTER 5

    DISCUSSIONS

    5.1-MATHEMATICAL MODELLING:

    THE SERVOMECHANISM

    A servomechanism, or servo, is an automatic device that uses error-sensing negative

    feedback to correct the performance of a mechanism. The term correctly applies only to

    systems where the feedback or error-correction signals help control mechanical position or

    other parameters. For example, an automotive power window control is not a

    servomechanism, as there is no automatic feedback that controls positionthe operator does

    this by observation. By contrast the car's cruise control uses closed loop feedback, which

    classifies it as a servomechanism.

    It is illustrated in the figure below:

    (Figure 5.1- Servosystem Mathematics)

    H-Bridge:

    It is the power amplifier used to power the DC motors. As we have used two identical

    servo systems, their control is implemented separately.

    Transfer Function of the H-Bridge is given as:

    Ts=KaTas+1

    Where, Ka is the voltage gain of the amplifier & (Tas+ 1) is the log due to low pass filters of

    all sorts in the Voltage Amplifier

    DC-Servo Motors:

    http://en.wikipedia.org/wiki/Negative_feedbackhttp://en.wikipedia.org/wiki/Negative_feedbackhttp://en.wikipedia.org/wiki/Cruise_controlhttp://en.wikipedia.org/wiki/Control_theoryhttp://en.wikipedia.org/wiki/Negative_feedbackhttp://en.wikipedia.org/wiki/Negative_feedbackhttp://en.wikipedia.org/wiki/Cruise_controlhttp://en.wikipedia.org/wiki/Control_theory
  • 8/3/2019 Gun Automation

    41/45

    Its transfer function is as follows:

    Ts=1Ke(Tes+1)(Tms+1)

    Where,

    Te= Electrical Time Constant of the motor

    Tm= Mechanical Time Constant of the motor

    Generally Tm is greater than the given Ke if the voltage is kept constant.

    From the datasheet of our motors used:

    Te=0.85

    Tm=9.3

    Ke=3.82

    Encoder:

    A counter is required to monitor the output of the encoder. The encoder-counter is modelled

    as an integrator:

    Ts=KencS

    Where Kenc is the resolution of the encoder. Let us now calculate it:

    Number of Slits=24

    Total Rotation= 360 Degrees

    Gearing Ratio= 144.0 : 1

    So ResolutionKenc=36024*144= 0.1041 Degrees = 6.084 Minutes

    Controller:

    Transfer function of the PID Controller is as follows:

    Ts=Kp+Kis+Kds

  • 8/3/2019 Gun Automation

    42/45

    Now putting all these into the basic form:

    (Figure 5.1- Servosystem Mathematics Contd..)

    TRANSFER FUNCTION OF OUR SERVO-SYSTEM:

    Now we calculate our transfer function using the simple feedback formula that comes

    out to be:

    Ts=ss+1Tas+1Tes+1TmTaTeTmKess+1Tas+1Tes+1Tm+KaKenc(Kp+Kis+Kds)

    Chapter 6

    CONCLUSION

  • 8/3/2019 Gun Automation

    43/45

    By the grace of Allah, we successfully completed our project by the help of

    our supervisors, faculty members and lab assistants. Our batch was very helpful and

    supportive during the whole project and was there to help us in all possible ways.

    As mentioned in the previous chapters, all the milestones were achieved

    successfully and the gun movements were synchronised with mouse movements and

    object movement in object tracking mode. The RF link was well established at low

    baud rates but that was once the most challenging part of our project. The gun moves

    excellent in both the axis of rotation and can be a good replace of human eyes

    monitoring at security points. The accuracy was well above expectations of a little

    more than 6 Minutes.

    Open CV was a very good choice over MATLAB reason being its designed

    for

    Faster and real time applications

    It is designed for imaging and computer vision

    It offers much greater performance and frame rates for video streaming

    The AVR being the modern controller showed up excellent performance and it

    was indeed easier to program as we were hands on with C++ programming already.

    Encoders for feedback from the motors were the backbone of our

    implementation of the Proportional controller. That was the point where we reduced

    our errors and then finally achieved excellent results.

    The ideology of DEAD EYE was for the betterment of law enforcing agencies of

    Pakistan. The results shown and explained shoe that these can be mounted on military

    vehicles, security check points, guarding areas and intense security places where

    earlier there were guards risking their lives. Improving this system can make it so

    important for our defence organisations that it can be useful in navy ships and even

    helicopters.

    We want our nation to progress as other countries are advancing

    technologically. South Koreans and Americans have already implemented such ideas

    and have aided a lot to their soldiers by the use of autonomous armoury.

  • 8/3/2019 Gun Automation

    44/45

    Such systems are quite necessary for the implementation of any autonomous

    project. We were successful in proving the proof of concept and also proving a

    platform and idea for future engineers to work on.

    Chapter 7

    RECOMMENDATIONS

  • 8/3/2019 Gun Automation

    45/45

    We would like to add up some advice for the future engineers to just keep these in mind

    so that they do not face the problems we did. In this way, they may work faster and maybe

    are implement something much better than we did. That is the way technology evolves and

    new products are created:

    1. Students should be aided to get high quality equipment for their projects and not the

    low quality, unreliable and untested components from the market. At least there

    should be a system to help students in their purchase and also feedback on various

    vendors.

    2. There can be a system in this campus to aid students to import components under the

    university import and custom policies so that students can save a lot of their money.

    3. An in campus mechanical workshop should be formed for the aid of students to save

    time and last moment modifications.

    4. The modules bought by the students are not up to the exact specifications that are

    mentioned in forums and on the websites of the suppliers and producers. There should

    be availability of high end sensors and modules and if possible military grade

    products so that students can achieve what they desire and have worked hard for.