Spring 2016 3DoT Goliath Final Project Document

 

By: Ayman Aljohani ( Project Manager)

Team members:

Ayman Aljohani (Project Manager)

Tae Lee ( Mission and Systems Engineer)

Kevin Moran (Electronics and control Engineer)

Jerry Lui (Manufacturing Engineer)

Table of Contents

Executive Summary

Objective

The objective of the 3DOT Goliath is to design a small-scaled version of the Goliath Tank, as a toy, that meets the following

requirements: Safe: uses IR transmitter and receiver. Less than 6 hours printing time. Piloted via live cam on an Android phone. Low cost: should not exceed $80 total. Controlled by 3DOT board. Looks cool and inspired by the Goliath Tank. Periscope must be attached to an Android phone laying horizontally zero degree with the x-axis.

 

Mission Profile

The mission profile of this project is to play a “laser-tag” battle with the 3DOT Spider. Every hit will require a 5 second delay in between to avoid multiple tags.  With each hit the buzzer will make a sound to indicate that it got hit.  After receiving the third hit the robot will be disabled and play a short song afterwards.  The game will take place in a 6 ft. x 6ft area on the linoleum floor. The maximum distance for detection from the detector will be 5 ft.

 

Mission Objective Update

1

Level 1 Requirements

  • Laser tag game must be safe for children
    • Uses IR transmitter and  receiver to stimulate a game of tag
  • Less than  6 hours printing time
  • Piloted via live cam on an Android phone
  • Low cost: should not exceed  $80  total
  • Controlled by 3DOT board
  • Looks cool and inspired by the Goliath Tank
  • Periscope on an Android      phone degree with the x-axis

 

Level 2 Requirements

 

  • The rover will be controlled by two individual DC motors (3-5V)
  • Battery duration should last to the whole period of the battle 15 min
  • Controlled via Bluetooth using an Android Device
  • Print parts of rover individually
  • LED will be used for a game of laser tag
  • Laser sensors (on PCB) must be 3 inches

 

Preliminary Project Design Documentation found here

 

System Design

System Block Diagram

1

 

 

The figure below will show how each components on the Goliath will be connected and how they will interact with each other.  

 

Experimental Results

Uploading the Firmware onto the 3Dot Board

 

After assembling the 3Dot Board we need to program the ATMEL 32U4 chip by uploading a firmware.  Without the firmware we will not be able to upload any programs onto the ATMEL 32U4.  A detailed explanation will be provided by the following link:  Upload Firmware

 

Troubleshooting the 3DoT  Board

 

After assembling the 3Dot board I had to make sure that each component was soldered correctly.  In addition, testing the motor driver by uploading a program using the Arduino IDE onto the 3Dot Board.  To know more about the test procedure, check out the following link:  3Dot Board Troubleshooting

 

Arxterra Control Panel Test

 

To be able to use the Arxterra Control Panel from the website we had to perform a couple of tests.  The test is to make sure that the communication between the android Arxterra application communicates with the Arxterra control panel (1) on the computer.  To know how the test was implemented check the link:  Arxterra Control Panel Test  

 

Bluetooth Module Test

 

Before we implement the Bluetooth module onto the Arxterra Firmware we had to perform a simple test to see how the Bluetooth module functions.  The test will allow us to see the information we send from the android device using the BlueStick Control, which will than be displayed on the Arduino serial port.  The link will provide a detailed explanation of the test performed:  Bluetooth Module Test

 

 

3DoT Goliath DC motor trade-off study

In this post, it was my job to narrow down from a few DC motors to just two and do a trade-off study in order to figure out which one would work best. The motors were compared in regards to customer requirements. The motor chosen had to fit all customer requirements, including some requirements needed in order to make the project successful.

Motor trade-off study

Laser vs IR LED trade-off study

In the beginning of the semester, we began comparing two different method for meeting the project requirement of having a laser tag game. We tested both a laser and IR led with their respective receivers.  The benefits of the laser were the range and low power consumption; the problem was the safety with using lasers. The IR LED was very safety to use, unfortunately the range was very low, as the light diffused. At this point we believed the laser would make the perfect candidate for the game.

Laser vs IR trade-off study

Progression of laser tag components

In this post I explain my reasoning in the progression of the different technologies we wanted to use to make the laser tag possible. The laser and IR emitter were giving me trouble in order to design the game. Another idea was to use a visible LED and turn that into brighter light using the same idea of a flashlight. Testing proved successful as I was able to increase the range, and maintain the safety. As it would turn out, the LED light would not a viable option either, yes be ready to have your ideas rejected often, that is life.

 

Progression of Laser tag components

Making laser tag possible: The Schmitt trigger

In this post I discuss why a Schmitt trigger is needed in order to make the laser tag game successful. Since I will be using an IR emitter/receiver, the signal output is analog which is very hard to control. By using the Schmitt trigger I am able to invert this signal and convert it to a single bit digital signal output, which we are able to monitor better.

Making Laser tag possible

Making laser tag possible: The receiver

By recommendation of my division manager, for the receiver we used an infrared transistor SPH 310 (Opto-semiconductor).  In the post I include the analog voltages outputs using both Arduino plotter and monitor. You will find basic code to test the analog voltages as well as my EAGLE CAD drawing.

The Receiver

Making laser tag possible: The emitter

In this post I discuss the IR emitter, which is built by using a few resistors, an IR LED, and a 2n2222 NPN transistor. The calculation for the resistor that I have selected are provided. This emitter will be able to be controlled on/off by controlling the voltage that is sent to the base of the transistor. The EAGLE CAD schematic is also included.

The Emitter

Subsystem Design

Interface Definitions

2

3

3

 

 

 

The following table will provide the pins for the Atmega32u4 Microcontroller 3Dot Board:

Now we will narrow down the number of pins we will be using on the Atmega32u4 Microcontroller:

1

 

CUSTOM PCB DESIGN

3DoT Goliath PCB Testing

Once the PCB was assembled by manufacturing engineer, it was my job to ensure it would work. With the help of the division manager, and systems engineer we were able to determine the problem. The blog post goes through our mistake and how we solved the problem, as well as a recommendation for when you have to design your PCB.

Custom PCB Design Testing

Making Laser Tag Possible: Extending the IR Range

With the PCB working correctly, I realized that the range was around 6-8 inches. That range needed to increase in order to make a more entertaining laser tag game. With the help of a lens and an online formula I tried to concentrate the IR LED in order to increase the range. Here you will find a very helpful formula that will help you with this problem.

Extending the IR range

The PCB Layout

In this blog post you will find the process I had to go through in order to finalize the final PCB layout. From the design on Fritzing, to testing the circuit, and finally designing it on Eagle CAD. All files have been provided by Eagle CAD. Pay attention to the Phoenix 254 connectors, as well as grounding everything to ensure your circuit works.

PCB Layout

 

PCB  physical layout

For the PCB layout blog post I go detail on the methods and a few tips and tricks regarding the layout of the board and the usage of EagleCAD. The main thing to remember is the trace width guide. For boards that aren’t powering much (simple light show, 1 or 2 small motors) the trace width can be fairly thing but for anything that requires more power (over 500mA) one should consult the guide to properly determine the width otherwise it won’t be able to supply enough power.

Remember to manually layout your traces! The auto route is terrible.

PCB Physical layout

SMD Soldering

The SMD soldering blog is just quick tutorial on how to solder small IC’s and surface mount components. I’ve included a very good video on how to SMD solder using a hot air gun and soldering iron for the larger SMD components (0805 resistors, etc.)

Note: Due to an issue with embedding the video won’t play properly. Open it in another tab and you’ll be able to view it.

SMD Soldering

 

3DoT Board Fabrication:

The 3DoT Board was soldered by project manager and tested by System Engineer.

3DoT Board Fabrication

 

Hardware Design

 

Goliath Body dimensions

           

This blog was created to give a quick overview of our preliminary design and various features within Solidworks (filter types). Although this design was created before one of our manufacturing engineers had to drop the general dimensions remained the same. The body is still designed to house all of the components (3dot board or Arduino nano, battery box, motor cage, phone, etc.).

The filet options are mainly for aesthetic purposes. Instead of rounding off the corners of cutouts a conic rho profile can be used which generates a pointed, yet rounded, corner.

Preliminary Body Dimensions

 

Final body redesign

Since the manufacturing engineer that was originally tasked to create the body had to drop the course, I had to redesign the body to meet the requirements set out from the beginning of the course.

This blog just briefly goes over what to be done and what compromises were made to meet the majority of the requirements (only one requirement was not fully met at 50% -> exact replica of Goliath tank).

Final Body Design

 

SOFTWARE DESIGN

Updated Laser Tag Communication System

The new modified flow chart (shown below) will incorporate the new laser communication system.  New features  will include an automatic turn after receiving a single hit to avoid multiple hits in less than a second.  In addition, to disabling the Goliath and playing a short song after the third hit.  

The finalized flowchart  for the laser communication system for the Goliath is shown below:

 

1

 

 

 

The arduino C++ code that will be implemented in reference to the flowchart on the Goliath will be available by following the link:  Goliath-Arxterra Firmware

 

Making laser tag possible: Putting it all together

The final blog post in the sequence of making laser tag possible. Here you will find the final product of the emitter/ receiver combo. I have also included a flowchart showing exactly how our circuit will work. The circuit is to detect three different hits by an IR LED. After each hit a piezo buzzer will make a tone sound, after the third hit we play a melody and the rover is deactivated. The final code and output results are included.

Putting it all together

Arxterra Firmware Motor Control Modification Test

The 3Dot Board was not given at the time, so we had to use the Arduino Uno and the Arduino Motor Shield.  The Arxterra Firmware that was given to use had the motor controls for the Sparkfun Pro Micro with the Dual Motor Driver.  Hence, we had to make modifications to the firmware to work with the Arduino Uno and the Arduino Motor Shield.  

 

3DoT Goliath IR Emitter/Receiver Code Test

The early stages of development of the laser tag system required research and testing.  To see how IR worked we performed a basic test using IR Mid-Range Proximity Sensor (TSSP4P38) and a remote control (IR Emitter).  Follow the link to see a detailed explanation of the testing procedure for the circuit setup and the code used to test the sensor.

 

Verification and Validation Test Plans

We will perform a verification on the requirements that was discussed by the customer.  Each subsystem engineer will perform a verification test to verify that it meets level 1 and level 2 requirements.  A verification document/verification matrix are given in order to verify each requirements.  

 

In addition, a validation will be required to test the mission profile (rules of the game) by following a similar test plans as the verification.  For validation we will validate the test plans using a validation document on how to perform the test and validation matrix to check off the validated requirement.

 

Project Overview

 

WBS:

The WBS has been updated after resources allocations, one of the manufacturing engineer was assigned to work on PCB layout, and the other one was responsible for chassis design. A link to the WBS is here

 

1

 

 

 

 

Burndown Chart:

This is our final Burndown chart

Here is a link to the Burndown chart

1

 

 

Project Schedule:

The project schedule is divided into two levels, high level requirement under “planning phase”, and level 2 requirements which is broken down to tasks. Project Schedule

Here is a screenshot of the updated project schedule. The project  percent completion is 100% .

The project schedule was created on a very useful tool, Smartsheet. Here is a link to full details blog post. Smartsheet .  

 

1

Capture

 

 

 

 

Project Budgets:

One of level 1 requirements is budget. It is the project manager’s responsibility to keep track of budget, one way to do that is to have a parts request form. Any team member should fill out the request, print it out,  sign it , and get the PM approval before proceeding with any purchase. Our actual project budget is $85

Here is a link to Parts Request Form.

Here is a link to Project Budget.

Mass Budget

Power Budget

 

Concluding Thoughts:

Suggested Practice: 

As a project manager, I had to work closely with each division engineer, especially Systems Engineer. I learned a lot through this experience. In the beginning of the semester, we had to sit with customer, president, and student assistant to define level 1 requirement of the project. That  process, iteration, is a continuous process in which a project manager verifies the customer’s requirements and provides options. The Goliath mission was to battle 3DoT Spider, thus it is important that both team work closely to define game rules and communications means between two robots. Also, another important thing is beam-width of IR, in our project we used IR, should be the same for a laser-tag game to be fun. The customer requirements will be very simple in terms of wording, but project manager and team should critically think of being creative thinking out of the box.

For a project to be completed in a timely manner, the team has to meet at least twice a week, one during regular class time, and another during the week. We had to meet three times a week to complete our project, twice on campus and once online. Communication between team member is highly important, so from the first meeting we decided to use Google Hangout app to communicate with each other.

Lesson Learned: 

Preliminary Design Review, and Critical Design Review should have  detailed information about the project. Project Manager should start preparing for CDR and PDR two weeks before the deadline.

Project video is a useful tool to promote the project, thus it is advised that Project Manager plan the video from the beginning of the semester by recording clips of the engineering method followed toward the final product.  

Smartsheet was a powerful project management tool that helped me easily managed my team. At the same time, it is good platform for communication between team members to have discussions about certain task assignment or requirement clarification. I strongly encourage project managers to use it, here is some information about it.   

Blog post is a good way to pass the knowledge to successors, therefore I encourage all team members to post on Arxterra regularly.  

After all, this was a challenging experience that expanded my understanding of real world engineering problems.

 

Resources

  1. Project Video
  2. CDR Presentation for Goliath  (Prezi)
  3. PDR Presentation for Goliath
  4. Project Schedule on Smartsheet 
    1. Project Burndown
    2. Project Schedule on Google Spreadsheet
  5. Verification and Validation documents
  6. Solidworks Chassis File for Goliath
  7. Fritzing Files for Goliath
  8. EagleCAD Custom PCB Files for Goliath
  9. Burndown Excel File
  10. Arduino and/or C++ Code
  11. BOM
  12. Other Files (Parts Purchase Request) , Team Members Evaluation Rubric 

 

Spring 2016 3DoT Goliath, Body Redesign

By: Jerry Lui (Manufacturing Engineer)

 

This blog post is to address the redesign of the body to meet the following specific requirements:

  • Print time under 6 hours
  • Scaled model of the Goliath tank
  • Phone and components must fit within the body
  • Sensors must be at a height of 3 inches

1

 

 

To meet the requirement of printing under 6 hours, a major redesign of the body had to be done.

 

To cut down on the print time, prefabricated Tamiya wheels and tracks were used.

 

https://www.pololu.com/product/106

 

Parts of the body were removed and replaced with thin trusses to help with the stability of the body.

 

The printer supplied by Professor Hill was lacking around 0.5’’ to properly print the base and top in one go so I had to split the parts within Solidworks to 2 parts.

 

The height of the sensors and emitters was set to that it was exactly at 3 inches (+/- 0.01inches due to the PLA shrinking and expanding from the print)

 

The body was printed with a 25% fill density, x1.2 wall thickness (typically x0.8 and x1.2 and always a factor of 0.4), and at a speed of 40mm/s. The print time was barely affected when changed to 0.8 so I opted to add slightly more rigidity to the body this way.

 

The body’s dimensions are essentially scaled down to the width of my Galaxy S4 phone (also held on by a ledge within the body) but it couldn’t have been an exact replica of the Goliath tank due to the print time requirement. There just wasn’t enough time to print all of the side panels and bolts while fitting the phone within the body of the rover.

 

The total print time came out to around 5hr 57minutes.

2

 

3

 

4

 

Capture

 

Conclusion

The redesign has met all but one requirement partially (scaled model). The model has the general shape of the tank but is lacking the panels and bolts.

 

Sources

 

https://www.pololu.com/product/106

 

Spring 2016 3DOT Goliath, PCB testing

By: Kevin Moran (Electronics and Control Engineer)

Once the PCB was assembled by the manufacturing engineer (Jerry Lui), it was to test it. If all the testing and assembling had been done correctly then the PCB should have worked with a problem. As testing began we quickly realized that the PCB was not sending any voltage to the IR emitter. With the help of Jeff Cool, Tae Le, and Jerry Lui, we realized that the problem was with the NPN transistor we had ordered.

1

 

The problem was with this 2n2222 transistor above. The RB was not being used as a base, but rather the collector (which should be connected to ground). After many attempts, we came to the conclusion that the SMD transistor had been placed wrong.

 

2

As can be seen by the arrow, once we compared the diagram of the transistor, with this picture, we realized that the resistor RB was going to the right connection of the transistor, when it should have been pointed to the left connector, and the right connector straight to ground. Thanks to the ingenuity and quick thinking of Jerry Lui, he was able to quickly fix this problem, by flipping the SMA transistor over. After that was fixed, we tested the IR emitter and we saw voltage going through it, and the receiver worked perfectly as well. Below is the final output of the PCB, converting an analog signal into a single bit digital signal! YAY!

3

 

As can be seen, a perfect digital signal with either a 0 or 1 bit. On/off applications. Now we are ready to defeat the 3DoT Spider bot.

 

Sources:

http://www.mouser.com/ProductDetail/TTElectronics/2N2222ACSM/?qs=%2fha2pyFaduhY4tRQXhKL%2feLyX%252bM6m2ylmJNPJCp%2fVeaSnptWjDmpSA%3d%3d

 

Spring 2016 3DOT Goliath, SMD Soldering

By: Jerry Lui (Manufacturing Engineer)

The reason for this post is to create a guide on how to solder SMD components onto your fabricated board.

By the last quarter of the semester, custom PCB’s should have been fabricated and all components on hand. Our PCB is shown above with a total dimension of 1’’x1.425’’. The majority of the components are SMD with the exception of the 2 through hole dielectric capacitors, piezo speaker, and phoenix pins.

 

First the PCB should be cleaned thoroughly with at least 70% rubbing alcohol (preferably 90%+) by soaking either Kim-wipes or cotton swabs.

 

1

 

Next flux should be applied to the contacts of the board. Generally use a no-clean water based flux for ease of cleaning but a typical rosin based flux will suffice. These come in small containers to syringes to pen applicators.

 

2

 

 

Now that the flux has been applied each contact pad has to have solder paste or normal solder.

3

 

A stencil can be used but it needs to be fabricated so the next step will be hand application

 

4

 

DO NOT put too much solder paste. There only needs to be enough to thinly cover the pads. For the multi-pin packages like opamps, a thin line of solder paste can be applied perpendicularly to the pads instead applying it to each pad individually. Once all the pads have been covered in solder paste it’s time to add the components.

5

 

Here I use tweezers to place the SMD components onto the prepared board. To help with placing the SMD properly, grip the components from the top or use a  angled tweezer. The components don’t need to be pressed all the way down, give them a light press and the capillary effect of the solder will automatically align them.

 

 

To have a proper solder joint the board needs to be warmed up properly. An increase of  will be fine. If a reflow oven isn’t being used a hot air station is adequate as well.

6

 

Set the temperature to around 310C (depends on the flux paste used) with the air setting to 1~3 and hold the hot air reflow gun 3~5 inches over the board while rotating the gun for a few seconds. The point of this is to heat up the board (especially the ground plane) and to allow the components/leads to come up to the proper temperature. Once the board is warmed up (the paste will also start to become more fluid) hold the reflow gun 1~2 inches over the board while wiggling the gun. The solder will start to melt and align the components to the pads.

 

7

 

Once the board is completely soldered, clean it again with rubbing alcohol and kim wipes or cotton swabs.

8

Conclusion:

Soldering surface mount components is very straightforward and isn’t as hard as many people believe it to be, especially with a hot air gun or reflow oven. As long as you have a steady hand (for hand soldering) and patience (hot air gun) you’ll be able to solder SMD components with ease.

 

EEvlog has great tutorials on how to re-flow:

How to re-flow

 

 

Spring 2016 3DOT Goliath, Mission Objective Update

By:  Tae Min Lee (System)

Mission objective also known as Con Ops was needed to set the rules for the laser tag game.  Both systems engineer from the SpiderBot (Chris Hirunthanakorn) and the Goliath (Tae Min Lee) discussed and finalized the rules for the laser tag game.  The list of rules that are listed below will allow us to have a clean and fair match.

Con Ops:

  1. The game will last for three rounds. One round ends when a robot is hit three times and is disabled. This may last up to 10 or 15 minutes.

 

  1. A robot is considered disabled if it is unresponsive to commands for 10 seconds after the final tag.

 

  1. At the end of one round, both robots will return to their starting positions.

 

  1. The game will take place in a 6 ft x 6ft area on the linoleum floor of ECS 315. If any robot leaves the designated area, they are not allowed to attempt to tag the other robot and must re-enter the game area.

 

  1. An Infrared LED emitter and Infrared detector will be used as the tagging system.

 

  1. The maximum distance for detecting a direct hit will be 5 ft. This means the IR emitter is hitting the detector in a straight line from 5 ft away. Whatever voltage is outputted by the detector will be the minimum threshold for defining a hit. (need to define that voltage here once we figure it out)

 

  1. Collisions between the two robots is not allowed. If a collision does occur, the robot that caused it will take a penalty hit. Once the penalty hit is taken, the robots move back to their starting positions.

 

  1. A buzzer will make a noise to indicate when the robot is tagged and when it is disabled.

 

  1. When a robot is tagged, it will make a sound and it will be deactivated for the next 5 seconds. This will allow the robot to move out of the way and not cause multiple tags at once.

 

 

 

 

Spring 2016 3DOT Goliath, CDR Debrief

By: Ayman Aljohani (Project Manager)

Introduction:

Critical Design Review(CDR), is an important phase of the project, it presents the design of the project. It also provides a clear view on the project standing and percent completion.

After presenting our CDR, we were debriefed by the president, and the customer on our presentation content .

Here is  the debrief summary:

 

Title Page:

Was good, nothing to comment on.

Executive Summary

weakness:

Too much information was provided in  the executive summary

correction: 

Keep it short and simple

Only explain the major features of the project

System Design

weakness: 

Missing 3Dot Components on the System Block Diagram

Poly fuses

LDO

LIPO Charger

strength: 

Paul commented that the color coding on the system block diagram and  the legend, it was easy to follow. 

Experimental Results:

weakness:

Problem with the analog Schmitt trigger

However, Elec. Engineer, Kevin,  found out the problem and fixed the output of the threshold voltage on 4/20/2016.  The president is also notified about the fix on the threshold voltage issue.

Our goal of the Schmitt trigger is to convert analog signal to a digital signal.

Subsystem Design

No comment, it was good.

Interface Design

weakness:

messing 3DOT components.

correction:

Include 3Dot components

Custom PCB Design

weakness:

 The custom PCB  was not designed to be able to attach onto the 3Dot board as a shield.  The point of this design is to avoid the number of wires being used to connect to the microcontroller.

correction: 

Have custom PCB attach to the 4 pins on the 3Dot.

For future design reference it will follow a similar design shown by the following site:

https://www.adafruit.com/products/94

Software Design

weakness: 

The lockdown code that will disable the robot after 3 hits from the enemy was not included.

Verification & Validation Test Plans

Everything was good for the verification and validation test plans.

Project Updates

strength: 

Smartsheet is good to use  

weakness: 

 The actual cost of the free items was not included 

Fix the uncertainty for the resource report, it should be zero uncertainty. 

WBS should not have a repeated loop process

Project Demonstration

it was a good demo. 

 

Spring 2016 3DOT Goliath, Making Laser Tag Possible: Putting it all Together

By: Kevin Moran (Electronics and Control Engineer), Tae Lee (Systems- Provided the musical notes code needed for this game)

 

In this post, I will be discussing the final results for the IR Emitter when being used alongside with a Schmitt Trigger and the code that will be used to determine when the 3DoT Rover gets hit 3 times by an IR emitter.

I will first show below what happens when this final circuit is connected to an Arduino analog pin, although the Schmitt trigger is technically used to convert an analog signal to digital, I feel it is important to understand these changes in analog first.

  • I first tested the output by connecting it to the Analog input of my Arduino Uno
  • The final output of the signal by using the correct resistors values has very little noise and it is controlled within our 0-5V range
  • When the IR light hits the receiver, the signal from the photo-transistor is passed by the Schmitt trigger. This trigger then inverts the signal, and reduces the noise from the input giving us the output shown here.

1

As can be seen this signal is inverted from the original IR receiver signal, and the final output has relatively zero noise.

 

 

Since this trigger is an analog to digital converter, I also decided to test the output with a digital Arduino pin.

  • I decided to test the circuit with an Arduino Digital Input (2) just to ensure if asked, the PCB would work with either analog or digital input.
  • The concept is the same, except the outputs are either 0v or 1v.
  • The signal in the output is different from the analog output, they are peaks.
  • As you can see from the Arduino plotter, the circuit detects the IR light faster, and counts more hits/second.

2

 

However upon closer inspection, I was told my output is not supposed to be spiked, but rather look similar to the analog output. One reason might be the Op-Amp I was told to use. I will continue testing and resolve this issue.

 

The Code:

3

 

This code is used to track the number of hits on the 3DoT Rover when testing with the analog pin. It consists of a loop that is activated once the voltage on the receiver reaches 3.5v, and counts the number of times it reaches this level or higher. Below I present the pseudo code and the flow chart in hopes of better explaining this code.

4

 

 

Flowchart:

5

 

 

Once the micro-controller detects 3 hits, it will play a short song and then reset, and start over again.

Sources:

https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage

 

 

Spring 2016 3DOT Goliath, Making Laser Tag Possible: The emitter

By: Kevin Moran (Electronics and Control Engineer)

In this post I will be discussing the IR emitter that is being used to make this game possible, and the components that go along with it:

 

Components:

IR LED: NTE30047

Transistor: 2N2222

Resistors: 8.6k and 110 ohm

 

The NPN transistor acts like a current regulator to ensure the IR LED is provided just enough current. The base which is connected to the 8.8k ohm resistor is connected to a digital pin on our micro-controller (3DoT or Arduino Nano) and this allows us to control when the emitter is on or off. The 110 ohm resistor is connected between the 5V supply and the positive side of the IR LED, while the ground is then connected to the collector.

1

 

This is the resistor value that allows us to use this NPN transistor as an on/off switch.
 

 

Fritzing Diagram:

 

2

 

 

 

Eagle CAD schematic:

 

 

3

 

Sources:

Jeffrey Cool: Division Manager

https://learn.sparkfun.com/tutorials/transistors

 

Spring 2016 3DOT Goliath, PCB Layout

By: Jerry Lui ( Manufacturing Engineer)

The general layout of the PCB was determined by the how sensitive the signal was, the specific wiring of IC’s to surface mounted components, and mounted surface area. Power input was placed away from sensitive signals and had a trace width of 32mm @ 1oz/ft^2 copper thickness (determined by the PCB house/fabricator) with a total temperature shift of 10C which allows total current of 1A. The trace thicknesses can be quickly determined by the following chart:

1

 

While laying out the board make sure to perform a DRC error check frequently. The included .DRU error checking file has generic limitations which may or may not adequately represent your fabrication houses’ design requirements (EagleCAD will always flag drill and VIA holes). The fabrication house will generally supply a .DRU file that can be used in place and will often allow traces to be placed closer together.

1

 

 

All of the signals were moved as far from the power input as possible in this case I have placed on the top left corner. The large power supply capacitor was also placed as close as possible to the power input and the rest of the circuit was laid out to take power from that capacitor. Also, components were placed similarly to how they were wired in the schematic as much as possible so that they are generally easier to follow and understand.

 

Note that there are red dotted lines (and blue underneath) along the perimeter that represent the ground polygon which is needed to create the ground plane (red for top layer, blue for bottom layer). The isolation width (free space between the traces and ground plane) was set to 12mils by default but was changed to 16mils as a precaution. This value is mainly determined by the fabrication house limits.

 

5

 

To place a trace on the other side of the board while you’re currently laying a trace (top to bottom) click on the middle mouse button. This will automatically create a VIA (electrically connected through hole) that connects both traces.

 

TIP: If you don’t create a ground plane first you can right-click on any GND signal and hide it. This will reduce the air-wires shown so that laying out the PCB will be easier. All GND signals will be hidden with this option but can be restored by typing “ratsnest *” in the command line.

 

TIP: Component values can be hidden by disabling the tValues layer. This makes it significantly less cluttered.

6

 

 

 

In the picture below, the ground plane has been created by hitting the “ratsnest” command. Pay close attention to capacitors during the ground plane creation. The “relief” option should be enabled so that the negative terminal can actually be soldered easily; this option is set on by default.

 

7

The mounting holes seen above were created using VIA’s. The size is determined by what screw or mounting system that’s planned on being used. In this case the size was set to 86.6mils or the standard inner drill size of a M2 screw.

 

Text such as the label “Goliath spr’16” can be placed using the “text tool” and should be placed on the tPlace or bPlace plane. Make sure to properly label components and the positive terminal, negative/ground terminal or both.

 

8

 

This is what the board will look like after being fabricated from OshPark.

9

Conclusion

Laying out a PCB can be time consuming depending on the amount of components on your board. Never use auto routing as the algorithm used is not that great. Remember to account for trace thicknesses, pin locations, and temperature limits for components.

 

 

Spring 2016 3DOT Goliath, Making Laser Tag Possible: The Receiver

By: Kevin Moran (Electronics and Control Engineer)

 

 

In this post I will be discussing my initial selection for the IR receiver and how I began testing its analog output.

 

Components:

 

Transistor: SFH 310 (Opto Semiconductor)

Resistor: 2M ohm

IR light

 

The phototransistor is a two legged transistor, with its third input being the output of the IR LED (Infrared Light).

  • When a light is shined, the electrons begin to diffuse from the emitter to the collector, this causes a voltage drop from its original 5V.
  • Unfortunately this signal is noisy and trying to use it directly for a game of laser tag would be very difficult. I present below the analog output of this transistor.

 

Arduino Plotter Graph:

 

1

 

 

Arduino Monitoring:

2

As can be appreciated from both the plotter and the monitor plots of the Arduino software, this analog signal is all over the place, the voltage drops varies depending on the distance of the LED from the receiver, and the length of time the light actually hits the receiver. Playing a game of laser tag with these results would not be very appropriate. The noise levels when no IR light is hitting the receiver are also shown on the Arduino plotter graph.

Note: The resistor value of 2M was chosen based on testing the sensitivity of the receiver with various values. 2 mega ohms turned out to be the best result

 

 

The code:

To read the analog voltage output

3

 

Eagle Cad Schematic:

4

 

 

 

Sources:

Jeff Cool: Division Manager

https://www.arduino.cc/

https://learn.sparkfun.com/tutorials/transistors