Home
1 FAMU-FSU College of Engineering Department of Electrical and
Contents
1. 2 54 0 10 5 fe D 0 020 3 D 20 4 1 0 D 117Min 0 078Min 0 038Min Block Diagram Specifications of LEDs Courtesy of Adafruit BL L515RGBW CA Datasheet The LED connections are simple if only one led is being used the cathode is grounded with a resistor in between and the chosen color is connected to an input voltage source The remaining leg will be connected to a digital output pin of the Arduino board and it will be programmed to either turn on or off on a certain condition The figure below shows the proper wiring for the tri color LEDs and the exact pin connections for the Arduino that will be used in the project 63 eeee eese eeeee eeeevsvsesesee 99 99 9995 9 eeeeseeeeeeee 9 9 9 9 9 999797999 9 9979797979509 525 99999959595 s 9 9 979979 9 e eevee LESE 3y3 vi e S a qd s a DRM d c ee oee ee ee 0 e coe Ce ee 4 O ME i 5 3 oe e o p moment a 2 oe eee coee ee ee amp d diii d see ee see ee 5 whe RX PO 9 oeeee eevee gt rer Eo Es e e820 oeeee ef f pe z ph oe eee ee eee ee o oS ae B CURES oe oeeee eeeee ph a SEE TT oe see ee eee ee gt dme gt TT eeseeee eeeee D 4 1x1 gt ee ee ee eee ee E 1 RX1 gt eeeree ceereee ee 2 spa 20 oe ose ee eeeee ee 3 EU gt ose ee eoereee
2. 98
3. Description The software does not convert the electrical pulse to GMAX values Probability lt Very Low Low Moderate High or Very High gt Very low We will be using the existing code from last year s team to convert the voltage signals to GMAX values Consequences lt Minor Moderate Severe or Catastrophic gt Severe The reason why this risk is severe is because the accelerometer plays a large role in this project and if the voltage signals can t get converted then the accelerometer will not serve its main objective which is to measure GMAX values Strategy 1 Continue to work with the exiting code and to improve upon it 6 1 3 2 Technical Risk 2 ICP Malfunction Description The vibration or shock does not convert to an electrical pulse Probability lt Very Low Low Moderate High or Very High gt Moderate The reason why this is moderate is because the accelerometer needs a specific voltage and current drawn into it and if doesn t get it it won t be operational Consequences lt Minor Moderate Severe or Catastrophic gt Catastrophic The reason why this is catastrophic is because without an accelerometer the project wouldn t have any meaning Strategy 1 To check the voltage and current in the constructed circuit before connecting the accelerometer 2 Keep a spare just in case of any mishaps 3 Turn the power off after every usage 86 6 1 4 Technical Risk Data Logger 6 1 4 1 Te
4. id create file f ff create new file on SD card open for writing char filename 13 i temp buffer to hold filename on stack fdef SERIAL DIAGNOSTICS Serial println F Creating data file on SD card 355 ndif lcd clear lcd print F O pening new file 3 ff Joel s comments left over from an older version are below currently we fy just create a new data file each time the device is turned on fy OYONS si je peu juste utiliser le meme fichier et non ouvrir a chaque ff fois un nouveau create a new file JUR COUPER COLLER CETTE PARTIE FOR THE CASE WHEN save Buttonstate IS PRESSED re IT WILL BE ONLY WHEN WE ARE SAVING SAVES DATA TO THE SD CARD THAT amp FILE WILL re BE CREATED AMD ONLY AT THAT TIME THEM A FILE WILL NOT BE CREATED WHEN WE JUST jen ON THE DEVICE BUT ONLY WHEN WE ARE SAVING A FILE HIF YOU WANT FILE TO BE CREATED EACH TIME YOU TURN ON DEVICE strcpy P filename char F TURF TBB Cov 35 f f copy filename template to RAM f f Find the next available filename Note If files HH 99 already exist fe then all subsequent sessions will be appended to file 99 until 50 card is cleared for uintB amp t i B i lt 188 ix ff filename 5 i 1B8 H s filename 7 i 10 8 if 1 SD exists filename 1 break 7 Leave loop early with current filename ff end for if we finish the for loop filename will end up as TURF T93 LSV ud f fe ia fe Th ff Display the filename we re
5. a minimum of 0 0012 thickness b Footprints The footprints are the list of components with all the specifications like item number voltage and the name of the manufacture c Holes In the printed circuit board there are three different types of holes the through hole layers hole drill holes Through hole size 0 015 mil Layers hole size 0 06 mil Drill hole size 3 2 mm d Board Thickness and Layers The standard base thickness is 1 16 inch 0 062 e Trace width The interface design on eagle cad has a trace width of 0 4064 138 750740625 58 579665625 138 750740625 21 507021875 37 07204375 f Trace clearance To prevent shorting ground and power layer clearances need to be a minimum over the finished hole size of 0 020 to 0 025 The clearance between the traces on the top level is 2 32mm 20 The clearance between the traces on bottom level is 1 97mm g Gerber files There are two standards Gerber files the old version called RS 274D and the newest version called RS 274X The new version comes with more features that would embed aperture information into the files List of the new features Gerber files runs on Linux Support complex layers operations Different measurement units supported inch mm and mil Multiple files can be loaded Set the color layers independently using pop color box Fig 3 2 7 All the Gerber files of turf Tec design 2 4 Performance Assessment The impact
6. led print ba led setCursor 1li lcd print Turf T delavil7U led setCursor 1i led print ul Nae led setCursor 1li led print Turt Te delay 170 lcd setCursor 1li lcd printi a led setCursor 6 1l lcd print Turt Tec delay 2000 void display lat long Display longitude latitude on LCD int check digitalRead TOGGLE y Store the state of the Toggle Button in new variable CAD while check HIGH ff Only display coordinates while Toggle Button is still pressed CAD led setCursor 0 led print GPS led setCursor 3 li lcd print angle latitude led print latdir Displays latitude at the center of the screen nd raw Display longitude at the center of the screen 3rd row lcd setCcursor 3 2 lcd print angle longitudej lcd print longdir check digitalRead TOGGLE dr Check the status of the toggle button before exiting loop CAD display main screeni Display the main screen once Toggle button is released CAD The first segment simply scrolls Turf Tec International across the screen as soon as the component is powered on The second segment shows how the screen is now split up where the GPS coordinates will be displayed on its own separate screen 62 3 5 3 Status of Light Emitting Diodes LEDs L z 1 0 038 0 038Max PIN1 Green PIN Hue PN3 Anode Cathode PINA Red
7. 2 2 6 User Interface 11 1 Push Buttons Figure 7 User interface Diagram The user interface is the main interaction between the user and the Impact Tester It consists of a liquid crystal display four push buttons and two light emitting diodes It is used to display the GPS coordinates the GMAX values the date and time and the ready hold state This allows the user to see exactly what is being observed during each Impact Tester run The figure below shows the main screen layout GMAX E Ready Hold Battery Figure 8 main screen layout of LCD Each push button has its own independent functions The purpose of the largest push button is to toggle the system between the on and off state Secondary push buttons will save and clear the data during each run respectively allowing the user to have control of the measurements needed When pressing these two buttons at the same time the LCD will enter a mode which 15 the user can adjust the time zone accordingly This feature runs on a simple delay so after the time zone has been set the user will wait for 5 seconds and the LCD will return to the normal menu screen The fourth pushbutton is a toggle to switch between two menu screens on the LCD The first screen will show the main menu which has everything listed above except for the GPS coordinates and the second screen will display the current GPS coordinates at the center of the screen When the button is held the screen
8. Description There was a mistake made during board manufacturing 92 Probability lt Very Low Low Moderate High or Very High gt Very Low PCB manufacturing is a large business that has been going on for many years Most companies have legacies and have nearly perfected all manufacturing aspects Consequences lt Minor Moderate Severe or Catastrophic gt Severe If there was an error in manufacturing and debugging discovers it this could drastically delay the project due to a loss of time during debugging Strategy Send all files to the manufacturer needed to create a working board Use footprints for components in order to ensure correct polarization Speak to the manufacturer in case any question arise Chose a prestigious company in this field of business SR aan 6 2 Schedule Risks When creating a schedule it is important to have time allotted to accomplish each task When a problem arises the project will be less likely to become delayed because the amount of time needed to fix any problem that arises has already been taken into account in the schedule This is an effective way to create a schedule and make sure the team is where they intended to be at this point in time 6 2 1 Schedule Risk Behind Schedule Description The team is behind schedule or running out of time Probability lt Very Low Low Moderate High or Very High gt HIGH Due to the fact that so much is going on along with class time there
9. MMmmmm from angle mins_float 66 6 5 Put degrees and minutes together to make floating degrees DDD ddddddd data to a new record line in the output csv file ESE sed By PB process saveButtonPress ff log the DATE in US month dav vear format ff Attach minus sign to West or South coordinates ff Print all significant figures to log file f turn RED LED on while saving data lagfile print theMonth DEC logfile print lagfile print theDay DEC lagfile print 5 lagfile print theYear DEC lagfile print 5 ff log the TIME 12 hour format logfile logfile logfile logfile logfile print theHour DEC Prine ats printitheMinute DECI Prin a ys print theSecond DEC if thePH logfile print F PH 35 else logfile print F AM 35 logfile print 55 Xifdef SERIAL DIAGNOSTICS Serial Serial Serial Serial Serial Serial Serial Serial Serial Serial print theDav DECH print z 3 print theMonth DECH print 5 print theYear DEC print F 3 print theHour DECH princi 2 9 print theMinute DEC print Serial print theSecond DEC if thePM 4 Serial print F PA else 1 Serial print F AM t Serial print Hend it of oMAx VALUE ff logging the Gmax on the file lagfile print lastGmaxRound DECI lagfile print 55 53 ifdef SERTAL_DIAGNOSTICS Serial print lastGmaxRound DEC serial pr
10. More components must be purchased seeeee 96 6 3 2 Budget Risk 2 The price for a component was underestimated eeeeeeee 96 6 3 3 Budget Risk 3 Previous component needs to be re ordered seeeeeee 96 Fig Ge ge iy 6 UT T E UU UTC 98 o RETEN CMC S ote tenido usi SOM D M aM EM Se cep ED D So ue ones meena aetna 98 1 Introduction 1 1 Acknowledgments This year s Turf Tec International senior design team would like to acknowledge the previous senior design teams for their contributions and time given to this prototype The team would also like to acknowledge Jonathan Casanas for all his work he has continued to do on this prototype and also for assisting this year s team with technical aspects of the prototype The team would also like to acknowledge Dr Frank for all his contributions to the project and also helping this year s team understand the coding of the Arduino The team would like to give a special acknowledgement to Mr Mascaro for providing the idea of the impact tester as well as donating 1000 00 this semester for to the team to complete the product 1 2 Problem Statement The objective for the Turf Tec senior design team is to update and fix minor bugs in the existing prototype The team will also be rearranging the design of the circuit board as to create a less error prone easily maintained and organized design as Mr Mascaro stated that he would like the pr
11. lt Very Low Low Moderate High or Very High gt VERY HIGH Even though the software may be similar between components for example the Arduino will still have the same language to call on the pins and the GPS uses NMEA protocol there are large chances that since the components themselves are different that they will not function properly Consequences lt Minor Moderate Severe or Catastrophic gt SEVERE The progress of the project will delayed and more coding will need to be implemented in order to continue further into testing Strategy Research the proper programming language that will interact with the components Use the code already written and debug what is necessary If old code fails including debugging it write new code Work overtime a E 6 3 Budget Risk Budgetary risk may happen when one does not take into account problems that may arise such as faulty components Although it is hard to foresee this problem happening it can happen It is important to know what steps to take when something like this happens because if not done correctly the delay time can become substantial 95 6 3 1 Budget Risk 1 More components must be purchased Description There is a chance that either certain components are missing and will have be purchased yet there might be not funds to do so Probability lt Very Low Low Moderate High or Very High gt LOW The majority of the components have either been purchased or wi
12. 4 f SIGiTAL N oe ee ee eee ee o Ju P ie Wi ME SR CHE DI Se a nt 995 ceeee oer ee ore ee ee ee oe ee ee ee Made with 9 Fritzing org Diagram of tri color LED connections When the code was uploaded the LEDs responded correctly and lit up with their corresponding functions The main functions for the programming of the LEDs are shown below 5 App Main application functions code section fil ea a ae ee tee gd uut euis setupi Main initialization routine of application Called on startup fil void setupi i Initialize external LEDs init LEDs Initialize the LED pins Initialize pushbutton ping init buttons Initialize the pushbutton pins Initialize the LCD display init lcd The LED pins are initialized as outputs so that the microcontroller can determine when each LED should be turned on 64 i Used By App setupi void init LEDs f f Initializes the LED control interface Configure the LED pins as outputs ff pintode INT LED PIN OUTPUT sr Internal LED on pin 13 not visible to end user pinMode GREEN LED PIN OUTPUT Green LED on front of box pinkode RED LED PIN OUTPUT Red LED on front of box Make sure both LEDS are UFF initially They are wired as active high zo LOW off bit later in the startup sequence we will turn them both ON as a self test digitall rite GREEN LED PIN LED OFF digitalWrite BED L
13. Has be powered between 18 30V and have a current from 2 20mA 2 3 4 Requirements Specification for Data Logger a Micro SD shield responsible for storing data b Micro SD requires a minimum input voltage of 5V and a max current of 100 mA 2 3 5 Requirements Specification for User Interface 1 The LCD 00256 is used for a Displaying the date time and coordinates in correspondence to the GPS b Displaying the correct GMAX values in correspondence to the Accelerometer c Displaying the battery level of the power supply as obtained from the Arduino 2 The LCD 00256 requires a A minimum of 4 7V and a maximum of 5 5V b A maximum current of 3mA C Operating temperature range from O to 50 degrees Celsius 3 The Diffused RGB tri color LEDs are responsible for indicating when the information is being gathered and saved 4 The Diffused RGB tri color LEDs require a Red 2 1 2 5V Forward Voltage at 20mA current b Green 3 8 4 5V at 20mA current c Blue 3 8 4 5V at 20mA current 2 3 6 Requirements Specification for Power System 1 The power system is responsible for 19 a Provide the Arduino Board with 7 12V necessary to function b Provide the accelerometer with the 10 15mA and 25 9V needed to function c Battery must last for several hours 2 3 7 Requirements Specification for Printed Circuit Board a Cooper thickness This is total thickness of copper on the board surface Copper weight is measured in oz sq foot 1 Oz
14. PHA Ts m vec OCaB PH4 Ir BE PCT A15 OC4C PHS E BH PS A14 OC2B PH Tu a PC5 AT3 SSPcinTo Pao fis hz Pts AI2 SCKPONTI Pa1 s se PC3 ATI MOSUPCINT2 Paz en 8E PCH AIG MiSO PCiNT3 Pas 22 4 PT AS OG2APCNTS Fad e3 5s PCO AB OC AP OINTS PS faa 53 PGi AG OCIAPCINTS PBS 25 51 POO WA y 23 2a Fes ao E1 Be al 4 Bs ee 57 es es bof et pa aa Tes fee pez eu Es Ea PEERS ERS see Te eee EER ERE RED Peggle lt ggesgg EEE RREE T TEE 5 ATmega2560 pin assignments Information courtesy of the ATmega datasheet By default the Internal RC Oscillator provides an approximate 16MHz clock This clock may be selected as the system clock by programming the XTAL1 and XTAL2 pins 25 Ur RESET PC1 DW XTAL2 PCO GND XTAL 1 to A 2 AVCC The 16MHz oscillator circuit schematic connected to pins XTAL1 and XTAL2 This is the external circuitry of the board Information courtesy of the www arduino cc 3 1 2 Status of Pin Connections gt EQ c te me a2 zo A am 0 gt Made with 9 Fritzing org Figure 3 Pin connections from Arduino board schematic 26 The following pins have been selected and will be used Pin Connect To 15 GPS RX 14 GPS TX 12 LCD P5 11 LCD P6 10 LCD P11 9 LCD P12 8 LCD P13 7 LCD P14 6 LED G 5 LED R 4 PB Save 3 PB Clear 2 PB Toggle AO Accelerometer A1 Battery Level 50 Micro SD Shield DO 51 Micro SD
15. PIN je Raw 16 bit integer value 0 1023 from A2D converter return raw adc val gt RAW IMPACT THEESH i 43 float accel gs 41 ff Get the raw numeric reading from the 42D converter int adc val analogRead ACEEL AMALOD PIN Raw 18 bit integer value 6 1023 from A2D converter ie Convert the raw reading to the acceleration in g s fUbsoleted by faster calculation below f f float volts ADC VREF adc val one veriHz4 Scale ADC reading to a voltage in volte ff float nom acc voalts GEES PER VDLT f f Calculate nominal acceleration value in b force units float nom acc adc val SCALE FACTOR ff Using this precalculated scale factor saves us a couple ff of floating point multiplies MOTE We could make this routine even slightly faster by just working with ff Qund returning the unscaled value Seery verbose diagnostics used in debugging now commented out e tifdef SERIAL DIAGNOSTICS ff df nom acc gt B B f if Serial print Got reading ADC 5 if Serial printfade_val DEC ie Serial print volts 4 if Serial print volts DEC ff Seridlprinti accel 4 Pr Serial print nom_ace DEC fe Serial println 3 se tendif Here might be a good place to do any needed calibration corrections to convert ff the nominal G force value to a value comparable to that obtained by other instruments r This is a simple exponential smoothing algorithm Effectively it averages the
16. Shield DI 52 Micro SD Shield CLK 53 Micro SD Shield CS Arduino Description TX3 RX3 Waiting Saving data LED Acquiring Holding data LED SAVE pushbutton CLEAR pushbutton Menu Toggle pushbutton MISO MOSI SCK SS Turf Tec Impact Tester Ardruino MEGA2560 Pin Assignments To program the pins the same code courtesy of Dr Frank is being used this year only pin selections have been changed The following pin assignment breakdown is as follows 27 P ff GREEN_LED_PIN RED LED PIN numeric constant macros ff zy These macros define the pin numbers for controlling the two application fy LEDs light emitting diodes The green Acquiring Holding Data LED ff and the red Wait Saving Data LED ff ff Used by P ff ff Module Funetion s 4 Pe ee eee ee eee ff LED init_LEDst zl LCD errori zi FE process saveButtonPress process discButtonPresst hi App loopt P i ee define GREEN_LED_PIN 6 def ine RED LED PIN 5 Af zl 2 5 Batt Batterv level measurement constants code subsection zr fe This section defines macros for various constant parameters of the battery re voltage level measurement facility eR ee MEMME EMME M Y f BATT PIM Pin number for the battery level measurement fy USED BY Batt init_batt disp_blifef gt define BATT_PIN AL ff 2 41 Acc Accelerometer interface constants code su
17. The accelerometer can obtain a small amount of spectral noise meaning more accuracy An ICP Integrated Circuit Piezoelectric that is needed for the impact tester will have to have low impedance charge output When used the Arduino board function should then convert the voltage by 10mV g The accelerometer plays a large role in the measurements of the surfaces and with the accelerometer being accurate it can prevent any fatal trauma to the head depending on the field being analyzed 11 2 2 3 Battery Power System 11 1v 11 1V 20V 10 mA Figure 4 Battery diagram The power system is the circuit that powers the entire system It provides the Arduino Mega 2650 and the accelerometer with the necessary amount of power for each component to function The power system will consist of a rechargeable lithium ion battery to provide the power The Tenergy Li lon 11 1V battery is made of three 2600mAh cylindrical 18650 cells with PCB and poly switch for full protection There is a built in IC chip that will prevent the battery pack from over charging protection at 13V and over discharging protection at 7 2V and prolong battery life This year s team decided to make its on boost regulator to prevent having problems with too high or too low voltage 12 2 2 4 Global Positioning System GPS 11 1 Figure 5 GPS Diagram The GPS is used to record location date and time of each testing experiment This is an important a
18. all times 2 Enable the differential GPS option 3 If GPS still isn t accurate an external DGPS can be implemented 6 1 2 2 Technical Risk 2 Satellites cannot be located Description 83 The GPS will not be able to locate satellites because of its location Probability lt Very Low Low Moderate High or Very High gt VERY LOW The GPS can provide information in almost any environment This should not be an issue because the impact tester will not be used in areas that might cause a problem locating satellites Consequences lt Minor Moderate Severe or Catastrophic gt MINOR The areas that will have difficulty finding satellites will most likely not be the areas being tested due to the intended area of use Strategy 1 Provide knowledge as to how a GPS works and explain that this is a low risk with a small consequence 2 Alternate forms of GPS could be used if location can t be found Even so GMAX readings can still be conducted 6 1 2 3 Technical Risk 3 Backup battery gives out Description The backup battery is used to keep satellite locations active at all times Probability lt Very Low Low Moderate High or Very High gt HIGH After a certain amount of time the backup battery will eventually die Consequences lt Minor Moderate Severe or Catastrophic gt SEVERE This consequence proves to be severe only because there will be a long start up time prior to any testing in order for the GPS to acquire s
19. for example has a set of regulations on how hard a surface of the field can be which an upper limit value of 200 GMAX If the surface exceeds 200 on any part of the turf s surface is should be replaced The intended use of the impact tester is to the test the hardness of a turf surface Operating the impact tester will be very simple The user should understand that the tester will only be accurate for the surface that is being tested and not any area beyond that unless that area can be proven to be of the exact same material as the surface tested The tester needs to be ona level surface in order to be most accurate and should be placed upright and be able to stand still by itself The user will turn on the device using the power button on the controlling component and the LCD should display the date and time The GPS will obtain the devices current coordinates and the date and time At this point the user will raise the missile a weight with an accelerometer attached at its base to an indicated level and release it The missile should drop down through the guide tube and the LCD will display the GMAX measurement once the missile lands 1 5 Assumptions and Limitations 1 5 1 Assumptions 1 Battery will last for several hours Data logger has adequate space for storing multiple readings LCD screen must be able to be viewed in direct sunlight GPS will measure latitude and longitude coordinates GPS will have an error no higher than 10 feet in
20. generally the more satellites the better It takes ff at east 3 satellites to get any meaningful location reading and it takes at ff least 4 satellites to get an accurate reading With only 3 the unit can only ff guess at the altitude and if the guess is wrong this can throw off latitude fef Longitude quite a bit uinta t neats A ff X of satellites in use initially H char nparseptr pointer to where we are in string while parsing parseptr buffer 7 7 skip TGPGGA ff skip 6 commas for int ncmas B nemas 6 parseptr f if C parseptr 3 ncmase i naats parsedecimal parseptr ifdef SERTAL_DIAGNOSTICS Serigl printiP tbot satellites Jj Serial printlninsats 4 end it 38 3 2 6 Status of Packet Implementation Packet implementation will be done through the code under the function init_gps It will configure message types disabling all packets except GGA and RMC and it will set the baudrate to 38400 void gps config msg tvpes f Ae NOTE If vou change any fields of the below ff BE SURE TO ADJUST THE CHECESUMS ALSO fy http www hhhh org wimlL pro nmeaxor html ff delayciBam ff gpsserial print Fi PSRF1B3 BB BB B1 BH1 2bMr n 315 Ze Enable GGA every 1 second Default anyway ff delayrigmB gpsSerial print F PHTK314 B 1 8 1 8 8 8 7 7 8 8 8 8 8 8 8 8 8 80 28xr n 3 Disable GSA ff o delay iBB gpsSerial print F PMTK22B 2B0H 2CXr n 35
21. in the table below External mem mm OOO Power supply Power supply for logic 5V for LCM PU Operation data read write enable signal Four low order bi directional three state data bus lines 7 DBO DB3 MPU Used for data transfer between the MPU and the LCM These four are not used during 4 bit operation Four high order bi directional three state data bus lines Linia EET Used for data transfer between the MPU LED BKL power Power supply for BKL Anode Supp Power supply for BKL GND The code provided from last year s team works efficiently with the prototype The LCD displays the correct information properly on the screen The code provided at the bottom is what the LCD screen shows upon start up and the latitude longitude display 60 ff Scrolls Turf Tec International at start up CAD Assumes LCD has already been initialized f f Used By App setupil void disp logof 1i led setCursor 1l3 1 lcd printi T lcd setCursor 3 2 3 led print International delav l70 led setCursor 13 1 led printi led setCurgor 1l2z l led printi Tu delav l70 led setCursor lz lj lecd print led setCursor ll lj lced printi Tur delavil70 led setCurgor ll lj led printi a led setCursoar l10 1 led print i Turf delayv l170 led setCursor l 0 1 lcd print BE ie led setCursor 9 1li lcd print Tur delay 170j led setCursor 9 l j
22. made a request Where Va is the DC voltage bias being outputted from the accelerometer Ic being the current source that was developed la being the accelerometer current and R being the load resistance that cuts the current of the accelerometer V 10 6V R _ Lb ly 13mA 4mA 1 8 kQ 2 3 3 4 Status of Alternatives Considered Characteristics i Model 352C04 Model 052A60 224mmx11 2mm 21 6mmx9 53mm Power Requirements 18 30V 18 30V weet 47 Accelerometer Comparison Chart Courtesy of www pcb com As you can see from the comparison chart from above both are fairly similar but that they both can get the job done but model 352C04 which was selected is more suitable for what we want to implement 3 3 5 Overall Status As of right now the boost converter is outputting the correct voltage for the accelerometer which is about 18 5V We have not tested the accelerometer itself but we know that last year s team was able to get accurate readings 3 4 Data Logger All technical risks can be seen in the Risk Assessment section of this report 3 4 1 Status of Data Logger N COMMUNICATION PWR E ICSP Arduino MEGA Www arduino cc UA oO fons ANALOG IN 5V GND VIN o M gt Nm Made with J Fritzing org MicroSD card shield connected to the Arduino MEGA The data logger component selected is a 4GB micro SD card and shield The micro SD shield opera
23. nat to interfere too much with other tasks such as updating the time je display do last reading accel gs ff Update max value as needed if last reading max reading 1 max reading last reading h ff Next calculate the time elapsed since we first crossed the threshold unsigned long now millis millist4 elapsed millis now millis cross thresh milliz while elapsed millis lt PULSE_WINDOW_MILLIS4 ff Continue until enough time has passed Jethis is commented out because it is superseded by the HOLD application state ff Jg Enter the refractory state where we ignore all accelerometer data for ff de d couple of seconds while waiting for subsequent bouncing of the probe to stop gy je enter refractory state ff At this point max reading is the Gmax value max height of the pulse amp Display it on the LCD display Also saves it in the lLastomaxRound global var disp gmax max reading je Display it on the LCD display f f Also print it to the serial port for diagnostic purposes ifdef SERIAL DIAGNOSTICS Serial printi F Gmax 355 Serial print max reading Serial printing 4 end if e end read pulse 45 3 3 3 Status of ICP Integrated Circuit Piezoelectric The ICP chip that is in the accelerometer is used to convert the vibration into an electrical pulse The waveform or pulse that will be output from the accelerometer can appear like the one in figure below taken by
24. the external power supply The capacitor connection and the components connected to it are in a questionable state until a decision is made on what type of capacitor we ll have whether through hole or surface mount to reduce the circuit board width 3 7 2 Status of Software Selected As stated in the previous report the software chosen to design the PCB was Eagle CAD and some SketchUp to generated 3D visualization A few group members have downloaded the program onto their personal computers and have started learning the program We took the previous design from last year and modified it for our new design 76 3 7 3 Status of Interface Layers The interface is composed of two layers of connections The top layer contains all the components as well as most of the red traces while the bottom layer only contains blue traces The traces on the top layer are connected to the bottom layer via the yellow traces Figure 3 7 01 Interface Board in 3D Figure 3 7 02 Interface Top Layer 77 Figure 3 7 03 Interface Bottom Layer and pass filter for the accelerometer move accurate reading from accelerometer r P 1 Jee P 2 Ri4 31 1 4 5 d mE E C16 1 2 PC3 aa a 0 1u n ATU j GND 14 4 GND GND oe pe aN 3 GND SJS jp LT1072CS8PBF GND GND C19 100u parrel plug in the arduino 12 oltage regulator on the arduino chip ncp1117 digi key GND Figure 3 7 04 Voltage Booster Convertor 78 HD447a LCD E
25. using and open the file for writing lcd setCursor B 15 lcd print filename s logfile SD open filename FILE WRITE if logfile si il va erreur de creation du fichier char errmag 38 Commented out b c redundant with call to errori below lcd setCursor 3 15 cd print Fi File creation 35 lcd setCursor 25 Led print F Failed 35 stropy_Pferrmsg char F Couldn t create file 4 error errmsg 43 h dizinin continue e code for the SD card also converts the GPS data and formats it to display the day time GMAX latitude and longitude respectively in an organized matter This is found in function log angle and sd save data 51 Xifdef SERTAL_DIAGNOSTICS Serial print F Logging to Yy Serial println filename endif led setbu rsor B 25 Icd printi Fi Writing header 35 ffprinting the heading on the csv file out Turf Tec address to reduce code size f Commented je logfile fe logfile fe logfile ff logfile je logfile je logfile printing F rine cre print lngre sprinklntri printlinrFre printlinrFte Turf Tec International 35 1471 Capital Circle NW 13 Tallahassee FL 32383 USA 35 Order Line 888 258 7477 Phone A1 858 588 4826 Fax Ei 858 588 4827 5 logf ile printin F DAY TIME GHAx LATITUDE LONGITUDE 35 Xifdef SERIAL DIAGM STICS Serial Serial Serial Serial Serial Serial print litre print IngzFr p
26. will take the form of the layout below until released Longitude Latitude Figure 9 shows the way the GPS data will be displayed Finally light emitting diodes LEDs are used to indicate information and the state of the process One LED green will indicate when the data is being acquired and the other LED red will indicate when the data is being saved or if any errors have occurred during setup 2 2 7 Printed Circuit Board Copper thickness The thickness and width of a trace determines the amount of current in amps the trace can safely carry The thickness is also used in the calculation of trace impedance in ohms The formula for copper weight in ounces to thickness in mils conversion Thickness in Oz thickness in mils 1 37 The following is the formula for thickness in mils to cooper weight in ounces conversion t in mils t in Oz 1 37 Footprints A way of drawing with all the components with the manufacturer information with all the details of the position of each element that would be soldered onto the board 16 Plated Hole size tolerance of 0 0005 The board has a specific dimension tolerance of 0 010 Plating thickness in the hole wall of 0 0008 minimum allowed Many of the components in the design are through hole requiring a hole for each pin Circuit Board Overall thickness of most PCBs are 1 16 inch but can go as small as 1 32 inch Printed Circuit Board can consist of many layers and l
27. A for this GPS however the one Turf Tec is going to use is SGPGGA which is Global Positioning System Fix Data and SGPRMC to get current date info A string of data is displayed in the following format GPGGA hhmmss ss llll lLa yyyyy yy a x xx x x x x M x x M x x xxxx This is an example of string of data received GPGGA 053740 000 2503 6319 N 12136 0099 E 1 08 1 1 63 8 M 15 2 M 0000 64 The data can be broken down with the following chart 31 wee ums mmm SGPGGA String Breakdown Schematic courtesy of LOCOSYS data sheet 3 2 2 Status of Pin Selections The pin assignments at this stage are the same as last year The pins are subject to change depending on our new design If pins need to be moved we will do so LS20031 GPS Pin Arduino Pin Name Type Description 1 5V VCC P Power input 2 15 RX I Data input TTL level 3 14 TX O Data output TTL level 4 GND GND P Ground 5 GND GND P Ground Bottom view GPS Pin Assignments Schematic and information courtesy of LOCOSYS data sheet 32 aan peewee ett Ste 5 tette E C FINEM z eer AO MEUS ee 20 sesed eeee eeere SBeectt i tn ec N ee eeeenre j Reeeee e e m Neses 1 ML 9999 eeeee NN e KELES IE 1 eo Reweeee EE ee Reeeer Mj ee creer eeeee np ec seces tr Reeeee eeeee Reeeee er gt ee eccttt eeeeen c seces X VY xjiguznouv AMA eer Reeeee ecese ee Reeeerr m 2 25 iei 2n ecccc eeeeen ee s
28. D BY GPS init GPS pl rss IPSIS PINNAS MN ff define GPSRATE 4500 f deTine GPSRATE 966A devine GPSRATE 19268 def ine GPSRATE 36466 ff ff E ff ff Af fy ff ff Af ff ff ff BUFFSIZ numeric constant macro Size in bytes of the buffer for holding serial data received from the GPS module We want buffer size that will hald a whale GPS sentence at once to facilitate MMEA verification parsing and serial diagnostics Lines tend to be 8H characters long zo 9H is plenty We could make it even bigger for good measure USED BY GPS buffer read availt i MOUE Y E E E MMMM MMY MMMM MMMM YMM MMW MMM MY def ine BUFFSIZ zee fy Changed to 266 during the upgrade J5 f f Consider increasing above to 26H zo we can hold 2 full sentences fy GPGGA and GPRAC in case both come in while we are busy doing f f something else Would have to change algorithm to use that though ff We only read 1 line currently Also we are really tight on RAM so ff we might have to rewrite code elsewhere to save RAM Or get a bigger chip GPS global variables are then declared to include minutes seconds month day year latitude and longitude 34 ff 3 8 GPS GPS globals code subsection Pg eV PP Create global object for managing serial communication with the GPS module de Use pins 2 and 3 to talk to the GPS 2 is the Tx pin 3 is the Rx pin re Used By GPS r
29. D shields and modules pin 10 Sparkfun SD shield pin 8 const int chipSelect 10 void setup Open serial communications and wait for port to open Serial begin 9600 while Serial 55 wait for serial port to connect Needed for Leonardo only Serial print Initializing SD card On the Ethernet Shield CS is pin 4 It s set as an output by Note that even if it s not used as the CS pin the hardware S 10 on most Arduino boards 53 on the Mega must be left as a or the SD library functions will not work pinMode SS OUTPUT if SD begin chipSelect Serial println initialization failed return Serial println initialization done void loop if Serial available gt 0 if i lt 12 temp Serial read myString i temp itt if i 12 myString i 0 Serial print You typed Serial println myString i 0 Test if file exists if not send an error If so myFile SD open myString 56 for j 0 j lt 13 j myString j 0 i 0 if myFile read from the file until there s nothing else in it while myFile available Serial write myFile read close the file myFile close else if the file didn t open print an error Serial print myString Serial print does not exist Serial println X 3 4 4 Status of PC Software We have not been able to test t
30. Disable GSV ff o delay iBB5 ff gpsSerial print PSRF1B3 H4 BB B1 H1 27 r n 5 e Enable RMC every 1 second Default anyway y h J This function is commented out to reduce code size we re now assuming Je that the GPS has already been set to our preferred baud rate fe Make sure the GPS is set to communicate with us at ff our preferred baud rate ff Used By GPS init GPS void gps set baudratec fe MOTE If you change any fields of the below ff BE SURE TO ADJUST THE CHECKSUHMS ALSO Ae http www hhhh org wiml pro nmeaxor htmL gpsSerial print F PHTKzb1 3848B 2 7r sn 35 ff Start listening at new speed gpsSerial begint384885 39 3 2 7 Overall Status We are currently in the process of getting last year s prototype working Once we get it working we will be able to check whether or not the GPS is working correctly With the new library added hopefully there will not be any problems with the GPS 3 3 Accelerometer All technical risks can be seen in the Risk Assessment section of this report 3 3 1 Status of Accelerometer a a NS V LLLALLLRXCOSA COAALEAL G UE CDPAKLERSQHELLOELH hs m l 4 Meter Coupling Jp I rae Caperitor _ Autput lo Readout t f9 pEI 9 7 CC E Diode Switch 18 to 30 VDC j M _ LSA Lj L Hu m Ground Shows the block schematic for the accelerometer Picture courtesy of acceler
31. E BUTTON PIN ff If the state is unchanged there s nothing else for us to do here it new state save Buttonstate return Remember the new state save Buttonstate new state save Buttonstate new state ff If save button was just pressed process that event it save Buttonstate BUTTON STATE PRESSED last save millis now millis process saveButtonPress 68 When the clear button is checked it must also check if the save button has been pressed If both are true then the screen will display the time zone settings If only the clear button has been pressed its function will be processed void check disc btn f unsigned long now millis millis f f Process expiry of refractory period for save button it disc refractory unsigned long elapsed now millis last disc millis if elapsed gt PUSHBUTTUM DEB UNCE MILLIS disc refractory false I else return Still in refractory period so don t even bother reading button Get the current state of the discard button int new state digitalEead DISCARD BUTTON PIN f f IE the state is unchanged there s nothing else for us to do here it new state discard Buttonstate return Remember the new state discard Buttonstate new state ff If discard button was just pressed process that event itf discard Buttonstate BUTTON STATE PRESSED i last disc millis now millis process discButtonPress When the t
32. ED PIN LED OFFI The Red LED is used to indicate any errors that may occur and when data is being saved This can be seen from the following code segments ff Turn green LED off red LED on to indicate error digitalWrite GREEN LED PIN LED OFF digitalWrite BED LED PIN LED ON void sd save datai digitalWrite RED LED PIN LED ON turn RED LED on while saving data delayv 80 0 The Green LED is used to indicate when data is being acquired This pertains to incoming GPS coordinates and when a pulse is read from the Accelerometer digitallWrite GREEN LED PIN LED ON Turn on green LED to confirm that a pulse is being has been detected read pulseil Read the pulse dala if incoming GPS data ff We flash the green LED on just while we are reading serial data digitallWrite 5REEM LED PIN LED ON 65 3 5 4 Status of Push Buttons PCB Mounting Top View Single sided PCB t 1 6 T 4520 1 ROT Block Schematic of Push Buttons Courtesy of Micros Electronics 6x6mm PB Datasheet Four 120 05 dia Jil Terminal Arrangement finternal Connections The team will be using the same push buttons from last year which are 12X12mm which are easily accessible For example if maintenance crews were to wear gloves they would have no problem pressing push buttons on the interface The diagram below shows the push button connect to the Arduino Board eoeeees LIE I 35 o
33. RAM see long comment in the header of this code section yfconst float impactThresh IMPACT_THRESH fe Minimum detectable impact in g s RAW IMPACT THRESH This is the same thing as IMPACT_THRESH above but in raw A D converter units instead of in gees This allows faster detection of a threshold crossing because we don t have to do floating point arithmetic on each measurement The compiler will precompute the value of this constant ot compile time Used Bv Acc IMPACT DETECTED 41 define RAW IMPACT THRESH CC IMPACT_THRESH VOLTS PER 53 Z ADC_YREF MAX ADC VAL ef Commenting out const globals to save RAM see long comment in the header of this code section const int rawImpactThresh RAW IMPACT THRESH ff SCALE FACTOR This is a compile time precalculation to speed up conversion of f f raw accelerometer readings to G force values fe Used By Acc accel_gs read_pulse define SCALE FACT R ADC_VREF ONE_OVER_ADCMAX GEES PER VOLT ff Commenting aut const globals to save RAM see long comment in the header of this code section const float calefactor ADC VREF ME DOVER ADCHMA s GEES PER VULT ff Precalculate ADC G force scaling factor fy The following three constants are all related to the exponential smoothing algorithm Xdefine EXP WINDOW SIZE 2 8 ff Mominal size of the fuzzy window for exponential smoothing This window is nominally 2 measurements wide ff Used By Ac
34. Student Team Members FAMU FSU College of Engineering Department of Electrical and Computer Engineering EEL4911C ECE Senior Design Project FINAL REPORT Project Title Turf Tec Metrology Team 4 Shaneetra Graham Computer Engineering Email sjg10d my fsu edu Christian Rodriguez Computer Engineering Email cgr09 9 my fsu edu Joyce Kosivi Electrical Engineering Email Joycekosivi Q yahoo com Johnnie McCormick Electrical Engineering Email jrm08m 9 my fsu edu John Rodriguez Electrical Engineering Email jr11k my fsu edu Senior Design Instructor Dr Michael Frank ECE Review Committee Members Petru Andrei Rajendra Arora External Client John Mascaro Continuity Jonathan Casanas Submitted in partial fulfillment of the requirements for EELA911C ECE Senior Design Project November 14 2013 Executive Summary The project s objective is to provide a working Impact Tester that can be mass produced and highly reliable The impact tester is a measurement tool used to measure how hard a surface is This impact tester will be more specifically marketed towards use on turf and sports fields Turf Tec international is the leading sales representative for the Impact Tester and will direct their sales to the market of their choice The main market targeted by the company is the National Football League NFL The design focus of this project will be centered on the Clegg Impact Tester which is currently bein
35. a line is reached Returns true if a complete line fe wos found false otherwise ff Used By GPS readline App loope 36 boolean read avail f char s while 15 c gpsSerial read z7 read 1 character if c 1 return false no more characters available return line not done yet A Serial print c echo to serial diagnostic if 6 se ut ff CR character continue f f just skip over it we use LF as line end if buf index 6 amp amp c l 3 ze First character in buffer not a continue ff Must have started in the middle of a sentence Ignore chars till we get a if buf index BUFFSIZ 15 c n z7 buffer full or line feed buffer buf index 8 terminate string not including newline buf index B ze reinitialize buf index for next time return true se ves we got to the end of this line buffer buf_index c zz add character to buffer I f f never get here i ff Shorter version of readline to reduce code size ff Used By GPS init GPSt void readline 1 while read avail 4 ff Just keep reading stuff until read avail finds a line end i void init GPS 1 Xifdef SERIAL DIAGM STICS Serial println F Initializing GPS module 35 endif led clear 4 Icd print F Starting GPS 94 ff Starting the serial connection before turning the GPS on ensures ff we won t miss any data from it lt Moot now anyway cuz GPS is on all the ti
36. alfunction of a part on the power supply board Consequences lt Minor Moderate Severe or Catastrophic gt 90 CATASTROPHIC The power supply is what provides each component the power it needs to run It is the main part of the prototype without a working power supply the prototype is useless Once again the earlier that any potential risks or errors are discovered the less risk there is to the overall project Strategy 1 Thorough testing of the power supply board through use of schematics 6 7 1 Technical Risk Printed Circuit Board 6 7 1 1 Technical Risk 1 Unnecessary Components Description A component is disposed of because it seemed unimportant but later on seems to be a crucial part of the senior design Probability lt Very Low Low Moderate High or Very High gt High There are many components in a microprocessor and the functionality of each component can sometimes be difficult to decipher Consequences lt Minor Moderate Severe or Catastrophic gt Severe This could be a serious problem if it happens later in the spring semester Strategy 1 Fully analyze the component so that they can accurately pinpoint all unnecessary components 2 Seek professional help from advisors to complete the analysis 3 Leave all questionable components just in case they are crucial 6 7 1 2 Technical Risk 2 Manufacturing Time Description Manufacturing time is longer than for casted Probability lt Very Low L
37. any direction Impact tester should be water resistant USB will transfer data collected to PC computer Accelerometer will measure the GMAX values Arduino powered by battery source So ES E ee ea Ou 9 1 5 2 Limitations 1 Not exceeding manufacturing cost of 300 00 2 Impact tester durability to withstand being dropped 3 Precise locations of measurements 4 Adding Bluetooth to impact tester 1 6 End Product and Other Deliverables The Turf Tec senior design team will complete the existing prototype The prototype will be delivered at the end of the spring semester 2014 Turf Tec International will be able to mass manufacture the new prototype as demand fills for this product Other deliverables include a power supply for the battery a user manual on how to properly use the product another manual for Turf Tec International for setup purposes as well as any other documentation on the product 2 System Design 2 1 Overview of the System Figure 1 Top Level Diagram The Impact Tester will consist of six main components that work together to provide the correct functions The battery provides power to all the components The heart of the design is the Arduino The Arduino is the component that will be communicating with the GPS data logger accelerometer and the user interface It instructs the GPS to retrieve the correct coordinates and then store them in the data logger The Arduino similarly communicates to the accelerometer to
38. atellite locations This won t stop the function of the Impact Tester itself however it would prove as a nuisance to the consumer Strategy 1 Provide to the consumer the risk of this happening and explain what they should expect to happen if it does 2 Have a supply of the micro battery to sell separately 3 Offer to change the battery itself clip on battery 4 Allow the consumer to change the battery themselves 6 1 2 4 Technical Risk 4 GPS error correction won t enable Description The GPS error correction implemented does not work Probability lt Very Low Low Moderate High or Very High gt MODERATE There is a chance that the GPS hardware could be faulty and not allow for the correction to work If it s not a hardware issue then programming troubleshooting will have to be looked into 84 Consequences lt Minor Moderate Severe or Catastrophic gt MODERATE If the GPS error correction doesn t work there can be a larger error in accuracy than originally anticipate which will then attribute back to the first technical risk Strategy 1 Do research on how to enable the GPS correction 2 Contact the store if it doesn t enable to see if it s a product issue or code issue 3 It will be known if it s a code issue in the NMEA sentence 6 1 3 Technical Risk Accelerometer 6 1 3 1 Technical Risk 1 Software does not interface with the accelerometer Description The software does not convert the electrica
39. ayers on top of other layers Trace clearance The spacing between all the traces is super important factor in the printed circuit board design The traces on the board can short out if the traces are too close se j TE Width Back Side Copper Plane Current in Amps K temperature 1 c Area Area 2 IUe thickness x 1 378 Trace clearance the distance between printed circuit boards traces is critical to avoid a disruptive electrical discharge around or over the surface of a solid insulator The industry safety standards prescribe different spacing depending on the Voltage Current Heat and other factors should be considered Gerber files are a standard electronics industry file format used to communicate design information to manufacturing for many types of printed circuit boards In many ways Gerber is the electronics world s equivalent of PDF 17 2 3 Subsystem Requirements 2 3 1 Requirements Specification for Arduino Board 1 The Arduino MEGA2560 is responsible for a Receiving information from the GPS and converting it to display date time and coordinates on the LCD screen b Receiving the electrical impulse from the accelerometer and converting it to GMAX values to be displayed on the LCD screen c Communicate with the LEDs to flash when receiving information from the GPS and when saving information onto the data logger d Communicate with the pushbuttons One will power all the o
40. bsection BP MAE EEE EY YY YY YY yy YY J ACCEL_ANALOG_PIN Pin number used for analog input from accelerometer f f Currently analog pin 8 is used to read accelerometer value ff This does not need to be specified as AB b c it is used as an argument to analogRead 3 ff Used By Acc impact detected accel_ge define ACCEL_ANALOG_PIN B ff Commenting out const globals to save RAM see long comment in the header of this code section ffconst int accelPin ACLCEL_ANALOG_PIN Input signal from accelerometer interface de ACCEL_PIN Same as ACCEL_ANALOG_PIN but use this version instead when you re ff trying to use functions other than analoegRead Used By Acc init accelg3 define ACCEL_PIN AH 28 zi 2 12 FE Pushbutton interface constants code subsection Pe E EEEE E EEEE E EEO define PUSHBUTTON_DEBOUNCE_MILLIS 15H f Debounce interval for pushbuttons milliseconds length af refractory period fy If this is too small then the timezone setting feature will appear to skip time zones f f when the button bounces If this is too large then the user can t adjust timezone very quickly re Used By PB check save btn check disc btnt ff Pin identifiers for the save discard pushbutton ff We currently use two analog pins in digital mode ff Used By PB init_buttons 4 check_save_btn check disc btn 5 ff Addtional button has been added to Toggle between screens CAD ff We hove change
41. c CUR ITEH WEIGHT define CUR ITEM WEIGHT 1 8 EXP WIMDOW SIZE ff The weight of the current measurement in the smoothing algorithm is the reciprocal of the nominal window size Used By Acc LD ITEMS WEIGHT accel gst3 define LD ITEMS WEIGHT 1 8 CUR ITEM WEIGHT ff For weighted average purposes the combined weights of all items must sum to 1 so the cumulative weight f f oof all measurements before the current one is given by this formula ff Used By Acc accel gs Je Commenting aut const globals to save RAM see long comment in the header of this code section const float expWindowSize 2 H f f Fuzzy window size for exponential smoothing algorithm const float curItemWeight 1 B expWindowsize f Weight of newest measurement in exponential smoothing average const float oldItemsWeight 1 8 curItemWeight Weight of older measurements in exponential smoothing average ff PULSE WINDOW MILLIS This is the assumed maximum time interval from the fy first threshold crossing to the impact pulse s peak If this is too short f f noise while the plunger is falling can end up being misinterpreted as a fe false too short peak If it is too long then each Gmax measurement fe real or spurious will tie up the unit for an annoyingly long time before ff we can do anything else like save the value or take another reading re Used By Acc read pulse def ine PULSE WINDOW MILLIS 566 fr Previous values
42. chnical Risk 1 The USB can t retrieve information Description Data cannot be retrieve from the micro SD card Probability Very Low Low Moderate High or Very High Moderate code has been written but has not been tested by this year s group yet to make sure it s working correctly Consequences lt Minor Moderate Severe or Catastrophic gt MINOR If the USB can t retrieve information the old technique or simply pulling a data card out of the Adafruit shield will be implemented Strategy 1 Testing needs to be done to make sure the existing code works correctly and if not then code needs to be modify to make sure it does work correctly 6 1 5 Technical Risk User Interface 6 1 5 1 Technical Risk 1 LCD does not display correct information Description The LCD should be able to display the correct date time coordinates battery level and GMAX values Probability lt Very Low Low Moderate High or Very High gt Low Last year s Turf Tec team developed code that properly interfaces with the same exact LCD model The code displays all of the correct information after each trial run Consequences lt Minor Moderate Severe or Catastrophic gt Catastrophic If the LCD screen does not display the proper information the entire Impact Tester is defected The screen is the heart of the interface which directly shows the user exactly what is being read and measured If interface was defected the user would lose com
43. code size ff Used By App loope boolean verify checksumt 1 ff The following line is commented out to save code size since read avail now je ensures that the first character stored to the buffer is always a anyway ff if buffer H return false ff No initial gt reject int len strlen buffer f get length of string in buffer je Rather than actually verifying the checksum this temporary hack to reduce f f code size just makes sure there is a in the right place return buffer len 3 re The meat af checksum verification below iz commented out to reduce code size ff df buffer len 3 5 return false ff Ma checksum reject ff uinte_t ni hexZint butfer len 2 4 J bet first nibble of hex checksum ff if ni gt 155 return false f Bad tet hex digit reject ff uinte_t nz hexzintibuffer len 1 5 ff bet second nibble of hex checksum ff df ng gt 15 return false je Bad znd hex digit reject ff uinte_t n nice nz ff Put the nibbles together checksum val fe fe UK let s go ahead and compute the checksum of the data ff uinta t sum B fe for char p buffer 1 p buffer len 3 p f ff sum quinte toi pn Ti ff if sum nj return false Ae Checksum doesn t match reject J return true e Poss that gauntlet of tests accept t fe Reads all available characters from GPS serial connection at least ff until the end of
44. d Probability lt Very Low Low Moderate High or Very High gt MODERATE The majority of the components and their functions are known or have been ordered already HIGH The accelerometer has a high chance of blowing Consequences lt Minor Moderate Severe or Catastrophic gt MODERATE The progress of the project will delayed and ultimate delay other deadlines needed to be met Strategy Make sure the item is highly reliable so something like this won t happen again Read the datasheet and check to see if the problem can be fixed Check the return policy of the item Purchase another component such that more time is not wasted waiting ay Se 97 7 Conclusion The Turf Tec International Senior Design team 4 will deliver a finalized Impact Tester product to the sponsor Mr Mascaro The product will bring to a completion the work of the previous year s teams and produce a market ready Impact Tester The biggest contribution added this year will be the new Printed Circuit Board The new design will allow for a more organized design which should create an easier building method when the product is being mass produced That design is completed and ready to be sent to be constructed Upon receiving the new PCB the task of beginning testing will take place and has been planned for The team is already accustomed to working with the Printed Circuit Boards and the Arduino IDE because of the materials left over from the previous year
45. d the analog pins to digital pins with the upgrade to the mega CAD ff new feature used by PB intit_buttons gt check togg btn CAD define SAVE BUTTOM PIMH 4 A changed from 44 to 4 Xdefine DISCARD BITTOUM PIM 3 zz changed from amp 5 to 3 def ine TOGGLE 2 Newly added button for Toggle feature EEEE E EEEE EEE EEEE OEE E E ff 3 7 LCD LOD display control globals code subsection A eee ee MEEME ee PPP PPP PP PPP PVP PP ff First initialize a global instance lcd of the Liquidtrystal class for driving the LCD display Used By ff Batt disp blifeQ ve LED o init led 5 install custom glvph 5 Icd show state 3 lod_show_labels 4 ff lcd print num padleft errori disp_logot disp gmaxcj lcd print angle fe display timer display_lat_long display timezone 3 display_timezone_screen GPS init BPS handle BPGGAC ff 50 init_sd create file 5 ff FB process suveButtonPress process discButtonPressi App loop ffLiquidCrystal cdr18 11 9 8 7 65 ff These are the new assignments We didn t incorporate the LEDs with the PWM pins LiquidCrystal lcd 12 11 18 9 8 75 Ae Mew new assignments CAD 3 1 3 Status of Alternatives Considered The microcontroller that is currently used is part of the Advanced Virtual RISC or AVR family when looking into an alternative the team chose those from the Advanced RIS Machines or ARM family RISC Reduced Instruct
46. e ASSesSmeDE csset bbVa Sut dv o aad uses a Rabeu RN aa Ss unb S MERE ATE dav endienchatenctavaqnatavcnbiedoassas 21 2 3 CSIC POC SS a E E E 22 3 Design of Major Components SubSySteMs cccccccccccccccccceecceeeeeuseeeseseeeeeccececesseeacuueeeeessseceeceeeessueueueeess 22 LATINO ME TA pei E E E S 23 eG esse saeco IMEEM ESE EE E EEA A A EE EEEE E E E ET 30 SUPCR GP Sursee a EE EE EE TE 30 3 2AA or PINS EIEIO ane E O ES 32 3 24 5tdtus Or Da KUDI E N ora a A Aa 33 3 2 5 Status of Connecting to the Arduino Mega2560 cccccccesecccecessececeesececeeececeeeecesaeeceesuneceesenes 34 3 2 6 Status of Packet ImplemientatiOD ar erii de ees ver ee aeger uk s Gri ewv er Et eua xu vo ln ee rer undo vi eu egUs 39 ou OVES SEEDS costes tod edv mu letum pU N Mei E MEME 40 z3 AECGle FOIE e epa n EERR NEAN SERO quan ew S bs ve mum NR EUN T EI Uu EHE DI E 40 3 94 SEAEUS OF ACCelerOmleb el eeovoosecitoati s sae du x NEP Rev deu dat ao abus equa asp a ratu ensues 40 3 2 2 Status of Software Interface veo the oot Emi era sveito ote epe E YU E ERI rM MERE TUER SORS ERE RENI EIS Fecit 40 3 3 3 Status of ICP Integrated Circuit Piezoelectric aue e ad con nmn ea So Colas Ee E Feud Re vede vus 46 3 3 4 Status of Alternatives Considered onei a a a a 47 3 5 5 Overall Stab US sep avoue naan dasa pompa esseg caus Mou Feds sot irse vs tea I ese ER vauetsdiac shaved sse nes etx aUa mE EURO 48 SRM uoi a Hp 48 34 Status Of Data LOCLE iia pn RDU f pee Dies t
47. e pet utet PI ER SPERA TOT dU ERA 85 6 1 3 Technical Risk Accelerometer cccccsccssssssececccccceeesssseeecccccesaeussseeceesessaeseeeceeeessauaaseeeseeeesenaaas 86 6 L 4 Technical RISK Data bOSBO nirea Pvt Eel poet Questi et Eenu Dep DM E DUM E RMMUM De AN 87 6 1 5 Technical Risk User Interface irr tete rhe rb EHE n eIa po Ever Mee even poa en pL EX NER E HEDE EUR PAA NEN Er RA VERE SERA 87 6 1 5 1 Technical Risk 1 LCD does not display correct INfOrMatION cccccccsssseccceseceeeseeeeeeeeeeees 87 6 1 6 Technpicab RISK Power System d oa ert etia eder pte vot etu e Der oo p m aspi tuu C ete 89 6 7 1 Technical Risk Printed Circult BOOM 4 iine ironia ea S kr RE ex aedes ex arae vxo Pee enda EE 91 6 7 1 5 Technical RISK 3 Improper DesiBlY 2 p oit HRS epp RH EE RR Eede Dee UE b Eu oett Uem octets 92 D SEIS CULE RISKSs casus enN dnb c proton TE a EM cid I ms RU E TE pU EN ex aan mU RE PM P c NEED TUE 93 6 2 1 Schedule Risk Benin Schedule eere Eo E PER nue ERA XH E RUE BER REMIS EV SR ERE 93 6 2 2 Schedule Risk 2 Need to re order a damaged COMPONENL cccccsssccceeessececeeseceeeeeceesaeeeeeees 94 6 2 3 Schedule Risk 3 Prototype isn t finished prior to winter break eeneen 94 6 2 4 Schedule Risk 4 The transition from one component to another will not be smooth 95 6 S BUGS SUR IS K xs ER a eraut melio Eo eM cei a La Stead pM IM ocak hea a oe Cit ote La Cae 95 6 3 1 Budget Risk 1
48. ead avail gps config msg tvpes c gps set baudrate incoming DPS datait init DPS 3 dif ARDUINO 168 Softwareserial gpsSerial SoftwareSerial 2 3 else NewSoftSerial gpsSerial MewSoftSerial 2 3 endif de Here is the buffer for storing a line of GPS data being read until we Finish reading and processing it It comes with an associated index that keeps track of where we gre currently filling in characters f Used By GPS verify checksum read avail handle _GPGGA Y handle GPRMC O process linet App loop char buffer BUFFSIZ 7 string buffer for the sentence char buf index B ff index into buffer Used By GPS read availt fe ff The time at which we finished receiving the previous GPS sentence ff JS We re not using this currently we used to use it to know when ne ff to start looking for the next sentence ff ffunsigned Long Last BPS millis ff Most recent GPS data obtained The time date location data etc not all are needed f f Most recent raw GPS time data UTC GMT nat vet timezone adjusted ff Used By Time set svstem time GPS handle GPRMC 3 uinta t gpsHour gpsMinute gpssecond gpsMonth gpsDav uinti t gpsYear f f Most recent GPS location data Angle format Integer decimal DDDMMMMMM where D degrees M minutes 14 HHH ff This fits in 32 bits since 179 599 999 lt MASINT for 3z bit unsigned integers f f NOTE Currently we do not attemp
49. ega2560 sssseessssseeeeeene nennen nennen nens nantes nena sese na sese sess ness aa ese stessa seen 10 22 7 FC CCST OCU SI o esci RIP URDU IRIURE NISI ose QUIM UR MER ef IU ITEM 11 2 2 3 Battery Power System aoeheecsieduet m diueDap n tEmERE M HM eurn mE dU IMMER 12 2 2 4 Global Positioning System GPS seite eei S bre Ru Dot vetu p ru E pH ERES PE ri ONERU rnan Ea AE DM PES USE 13 2 4 5 Data obser MICED SD sieut acct en dietineriudiviut E Ete EM EM mE SUE Ne iu ortunisds 14 PAPA SOR WAV BIER TU 15 22 7 Printed Circuit BOAO T 16 2 2 9ub5ystebT REJUIreMmME NTS sinitiaisia ae er e Susie pom CEU PRU SUIS IDE 18 2 3 1 Requirements Specification for Arduino Board sseeesseeeeeeenn nennen nnns 18 2 3 2 Requirements Specification tor GPS oscscescicvskes sevekes uev epvh ua ee vusUE S HADN Tuo UE TEE On E 19 2 3 3 Requirements Specification for ACCEICrOMEATELS ccssccccessececccesececcesccecauseceeeeeeeceugeceesenseeetes 19 2 3 4 Requirements Specification for Data Logger cccccccessccccesseececeesececceeeceeceesececeeceeeueeceeseseeeeas 19 2 3 5 Requirements Specification for User INterface cssccccssseececesececceeecceeesececeeceeseeceesenseeeeas 19 2 3 6 Requirements Specification for Power SYStOM ccccsssccccessecceccesececceecceeeeseceeseeceseeneceesenaeeetes 19 2 3 7 Requirements Specification for Printed Circuit Board eeeeseeeeeeen nnns 20 24 Pertormarnc
50. eps to reduce power through the board will be done for example providing a voltage divider outside of the Arduino so less voltage is used 6 1 1 2 Technical Risk 2 There is not enough memory Description One of the problems the previous years team had with their previous board the UNO was that there wasn t enough memory in the board to support all the code Probability Very Low Low Moderate High or Very High VERY LOW There should be more than enough memory to support all the functions of the board Consequences Minor Moderate Severe or Catastrophic MINOR If anything code could be reduced or the Micro SD card could be implemented as additional memory Strategy 1 Write code and check the size of the files needing to load 2 Ifthe file size exceeds 256K implement the Micro SD card 6 1 2 Technical Risk GPS 6 1 2 1 Technical Risk 1 GPS isn t accurate Description One of the requirements is that the GPS calculates location accurately to avoid repeating tests locations Probability Very Low Low Moderate High or Very High LOW The LS20031 has 66 channels to provide precise measurements and differential GPS Consequences Minor Moderate Severe or Catastrophic gt SEVERE If the GPS is not accurate it is pointless to have it It has to provide precise location so the user does not repeat a test location Strategy 1 Enable the backup battery to make sure that the satellites are located at
51. ets Ulx etu esteso pla Poe sd SMEeE ern dU dM EM Rr a Odds 48 3 4 2 Status of Connection to the Ardunio Mega eese enne 48 3 4 3 Status of Communicating with the USB Port cccccccssccccessecceceesececceecceseeseceeeeeeesseeeceeseeseeeeen 54 3 4 4 5tatus OF PC SOfDWALB one iiio re EP Mi oe Pav itp be ce e kn MU Ueber ud eu UE PIN EV AN CUR tes 57 3 4 5 Status of Alternatives CorisldeFed state RA E A Re a M RESpE E nator RE OUR ERR upEs 58 D Ovarall St US aient bopheiE tu e tovt E eO dn ep E su Acc di Eu RP c nM uud hdi oce EM 58 39 USER Interlace e TL 59 3 5 1 Stat sor User InterTdCG boe tte o ba RR Ix E AT E 59 3 5 2 Status of Liquid Crystal DISDIAY sisi de ite oi eiae poer a ETE misters paced esc teri ene 59 3 52 Stat s oft Light Emitting Diodes LEDS us ood ovo Pont ma e sonus eue du v ted vutulbs Ses Ov sip Ue mta Fun dee d 63 39 A Status Ol PUSA BUON CST EU T I m Sleeet 66 3 5 5 Status of Alternative CONSIGEration ccccccccccccsssssseeeccecccccsuseeseeececeessuaeceeseeeeesaeaseeeeeeeeseaqags 71 Doo OV CWA Status uis usto emu tene dabei modteudaesics mis tucson ag tuts mE ies 71 3 0 Power System Battery ioc RE eR dp A a E MM MEI PM 71 S D E Stats Of POWEr SYSTE Nizam oru ai iisuEo o oes besos it tot diute teo essei tect dci uum a Use SE Pre DE 72 2 5 2 Starla tle setatis dictu onu Do tale atadinant ty Bus c uM tct M tel t nears st eaal MAS SRI EN 75 3 6 3 Status of Alternatives Considered s
52. etti Ly 2 o Beeeeer OTOT i ee Seeeeer ee eeeee eeerew ee eeeee Qeeccc eeccc Qrectt cce eeeeew ener Geeeee FTT ha ec Qeetctt eteco ec v 9 u ee eenee 2 ee Qeeeeer E F T ee geebdtt wh ee e eees erreee ee r r r F K Seeere eeeee DIT gi Seeere em ect CE E e enenee se dececo aandar ee Beeeer se a NN M E eeecctti ee e e 7989 ee eeet eoeeee oe Beect s a CE r Er r ee eoeene e s etes eeeee ee peccet GPS and Pin connections 3 2 4 Status of backup battery Last year s team decided to go with this GPS model because of its accuracy and the fact that it had a backup battery implemented already on it This is why we are going to continue with this model as well GPS backup battery implementation Picture courtesy of www sparkfun com 33 3 2 5 Status of Connecting to the Arduino Mega2560 Af GPSRATE numeric constant macro Specifies the baud rate for serial communication with the GPS module Most modules default to 4806 but some are 384B8H or other Check the datasheet NOTE Qur module is 4868 bv factory default but we hove reconfigured the one in our prototype to run at 384HH ADDITIONAL NOTE When a given GPS module is first received from the factory it will Likely be at 46685 we will have to adjust its baud rate up to 384B8B manually before shipping to end user Need a better procedure for this or else change code to just use the factory default rate 4806 USE
53. g sold as the primary Impact Tester by Turf Tec The Impact Tester will be tested using the standard methods published by the American Society for Testing and Materials ASTM The method F355 requires a weight to be dropped from a standard height and the accelerometer measures the impact The procedure F936 is under the same method and requires three successive drops on each test point The GMAX value is the average of the second and third drop This testing strategy will test the mechanical and electrical capabilities of the Impact Tester For the mechanical portion the missile will need to weigh five pounds and be lifted from eighteen inches These dimensions are scaled to properly demonstrate a human head of twenty pounds dropping from a height of two feet The electrical portion of the Impact Tester provides three main functions For one it reads the GMAX value which is calculated as a result of impact with the missile and the ground Second it logs the location of impact so multiple tests can be conducted at a time Lastly it displays the data in a user friendly display These main functions are broken down into a handful of electrical components which are the primary focus of the Turf Tec senior design team An accelerometer converts the impact into an electrical pulse which is then converted to appropriate GMAX values The GPS system calculates location date and time and the user interface is in the form of an LCD screen with pushbuttons and LED
54. give its readings and convert them into GMAX values then store them into the data logger Information stored in the data logger can be transferred to an external CPU The Arduino will work directly with the user interface to display the measurements on the LCD 2 2 Major Components of the System 2 2 1 Arduino Mega2560 Accelerometer 313v DATA 33W oy GPS Figure 2 Microcontroller Arduino Mega2560 The microcontroller is the main component of the design It controls all the functions of the other components and directs the flow of information in the design The data logger accelerometer and GPS act as inputs into the microcontroller and the user interface acts as an output of the controller Arduino is an open source physical computing platform based on simple I O board and a development environment that implements the Processing Wiring language The Arduino MEGA2560 features 54 digital I O pins 14 PWM outputs 16 Analog Inputs 256K flash memory with a 16 MHz clock speed Due to the effectiveness of this board this year s team found no reason to need to look for another board and will be using it in the final prototype 10 2 2 2 Accelerometer Accelerometer Figure 3 Overview of Accelerometer The accelerometer might be the single most important component of the overall design This component provides a raw instantaneous acceleration measurement which the CPU then has to calculate the GMAX readings from the raw signal
55. h defeats the purpose of the entire Impact Tester Strategy 1 Debug the code corresponding to the push buttons 2 Reload the code implemented by last year s team 6 1 6 Technical Risk Power System 6 1 6 1 Technical Risk 1 Battery does not work malfunctions Description The battery though delivered has yet to be tested at the time of this milestone Probability lt Very Low Low Moderate High or Very High gt LOW The battery has been bought from a reputable company with positive reviews with the Better Business Bureau so there should be no issues with a defective battery or shady business The possibility of the battery to stop working after frequent use is also there Consequences lt Minor Moderate Severe or Catastrophic gt SEVERE Without the battery the Impact Tester would have no means for it to be powered While other forms of power could be used such as replaceable batteries the power supply that has been designed is based on the specific battery that has been purchased It would be less severe the earlier the malfunction took place Strategy 1 Check power supply to make sure nothing would affect the battery 2 Make sure the battery is not mishandled in the course of the project 89 3 Frequent testing should be done to make sure no malfunctions have taken place 6 1 6 2 Technical Risk 2 Battery charger does not work malfunctions Description The risk that the battery charger does not work or ma
56. he code yet because of other issues with the software Once those bugs are fixed we will be able to test the software We will be putting in print statements in order to see what functions would work or not work Below is an example of the Graphical User Interface that was developed 57 a Turf Tec International Impact Tester rurf rec International Enter Number Of File To Retrieve Enter File Location To Save To 3 4 5 Status of Alternatives Considered Characteristic E CSV SD Card SanDisk Y Lock 4 0cs es Maximum Available f 4GB Capacity Power Requirements doi 4 20 100 mA m eoo Backup Battery Yes in Shield 3 4 6 Overall Status The Micro SD card has not been tested because of software problems When plugged into the Arduino the light on Mirco SD lights up which means the connections are properly placed 58 3 5 User Interface All technical risks can be seen in the Risk Assessment section of this report 3 5 1 Status of User Interface The interface provides the user with the ability to control the data being saved and acquired from the Impact tester The user interface is split into three major categories liquid crystal display LCD push buttons and light emitting diodes 3 5 2 Status of Liquid Crystal Display VDD y COM LCD PANEL vo LCD RS CONTROLLER R W AND PES DRIVER SEG LGB DBO DB DRIVER R LED LED BKL Figure 10 LCD cont
57. ing of board 1 7 14 1 17 14 Johnnie McCormick Eds AMON 1 12 14 A 1 16 14 Christian Rodriguez code working 80 A list of the areas of code that has been 1 12 14 changed and why Shaneetra Graham 5 1 17 14 Christian Rodriguez Pictures of your PCB i 1 12 14 1 17 14 Joyce Kosivi schematic so far 4 Pictures of user 1 14 14 1 17 14 Shaneetra Graham interface PCB sketch review 1 17 14 fp 1 22 14 John Rodriguez 5 Budget Estimate A Personnel Total Hours Base Pay Total Computer Christian Rodriguez 396 30 00 11 880 00 Shaneetra Graham 396 30 00 11 880 00 Electrical Joyce Kosivi 396 30 00 11 880 00 John Rodriguez 396 30 00 11 880 00 Johnny McCormick 396 30 00 11 880 00 Subtotal of A 59400 00 B Fringe Benefits 2596 of A 14850 00 C Personal overhead cost 4596 of A 26730 00 D Total Personnel Costs 100 980 00 E Expenses Item Cost Quantity Shipping Total LCD Purchased 1 0 00 17 95 GPS Purchased 1 0 00 59 95 Arduino MEGA 2560 Purchased 1 0 00 49 95 Accelerometer Purchased 1 0 00 299 99 81 Tenergy Li lon Battery Purchased 1 0 00 79 99 MicroSD Shield Purchased 1 0 00 24 95 F Total Direct Costs 514 83 G Overhead Costs 4596 of F 231 67 Total Cost of Project D F G 101 726 50 6 Overall Risk Assessment 6 1 Technical Risks Technical risks are design integration and project completion risks that may impact the success of the project Technical risk is expected in any new design To n
58. int os endif the latitude longitude as signe lag angleclatitude latdir lagf ile print 33 ifdef SERIAL DIAGNM STICS Serial print Y endif lag angleclongitude longdir logf i le print ln Ci A to rap back the the next record lagfile f lush Xifdef SERIAL DIAGNOSTICS Serial printing to rap back the the next record Serial flush 5 Serial println Entry saved on file 4 end it 3 4 3 Status of Communicating with the USB Port The code that controls communication from the Arduino to the serial port and vice versa has been created and is working properly This code waits for the file name sent from the PC to the Arduino via serial port and saves it into a character array The SD card then attempts to open a file using this array If opening this file is not successful the Arduino sends an error message back through the serial port Otherwise the SD card file is opened and its contents are sent through the serial port to be read and saved by the PC software This code was created and tested using the Arduino Uno for testing purposes Once it is completed and tested properly it will be integrated into the code written for the Arduino MEGA 2650 The code for the serial communication is given below 54 include lt SD h gt char myString 12 char temp File myFile byte i 0 byte j 0 change this to match your SD shield or module Arduino Ethernet shield pin 4 Adafruit S
59. ioe a ri e dn ena SI red S vH ERAN vies PRA RYE MEN LEA SR RN VE a Ne eau ERA 76 SL PELO CPC UIE BO Ii rsen ong Mere sant Estet miis leu O saad ce Ea aaahuse at sanction Edo uEas 76 3 7 1 Status Of Printed Circuit BO Al Coisccscdieveccecvscdeaceuedonndabenenscnceceatorienshiisneteuenapesertonlasentneealeicadioxeaes 76 3 7 2 Status OF Software Selected iip er p e rutina ee asy Tu euni s etiarn ea ae aoe es 76 34 23 Status or Interface Layer S aieo o tat ottenuta rata e arl ose dU out weeks Sous Cebu So pu Ei E edd 77 3 7 4 Status of Unnecessary Components eese nennen enean sisi r nennen ns 79 3 7 5 Status of Alternatives Considered winced e ctt eat aa SERRE NEAR SER USO rue HERR ERU Fors arenas 79 CN METTI Status cr seiie53 ach cast iapiceng sateen E E tseiawese aa eaaceanlieensa EA 80 zi Mee arsi U MNT NE TTD OT E EOE RT ER em 80 SPOE SPES HIA E cossenedsosbebumm med uxo cd EU detus que mu iv eode EO dI dM ipd MerLSp cU MedUbU E dU ME ME EU CMS 81 o Overall RISK ASsesSsImellt s eee e E ERE DON aan new hee ea desaqus dicus e bn vA quU E NU ROLE VUE deca undue Qui EHE IUUD 82 S Technical PISKS eversionem dV Du len Pup aupra Menit pa PN ardt cR rico Rar efc RN 82 6 1 1 Technical Risk Arduino MEGA2560 ccccccccccscesseeecccceccesseeseeececcessaneesccecessseegaeeeseeeeeeagegs 82 5 1 2 Technical RISKSGDS d d te REI HELD e E ER E SE CODUR IA Ee OR V Vo Ru CTUM An RU 83 6 1 3 Technical RISKCACCSIGFOTTIGEBE oae Rt e eT ene SH die
60. ion Set Computing mbed LPC1768 Characteristic 29 32 bit Cortex M3 32 bit Cortex M3 39 Digital 16 Analog 15 PWM 512KB flash 128KB flash Memory 64KB SRAM 20KB SRAM 4 5 9V input 4 12V input 5V USB output Supplies up to 500mA 3 3V output 3 3V API driven development ARM GCC USB port for Supports many programming external interfaces including USB JTAG integrated SPI SPI I2C CAN Ethernet and I2C 7 Channels of and serial direct memory access ad 4 channel timers 40 pin to include analog PWN serial and more Microcontroller comparison chart Information courtesy of www sparkfun com 3 1 4 Overall Status The Arduino MEGA2560 is already included in the inventory and is already incorporated in the design All connections have been made with the other components and the previous code has been updated in order to reflect them The board communicates with all components properly 3 2 PS 3 2 1 Status of GPS The current GPS is configured using a terminal program and ASCII NMEA packet sentences The code provided for the GPS was provided by Dr Frank A new time library was added to hopefully fix the time zone errors with the GPS 30 GPS antenna 1 MC 1513 TTL level GPS module oi Micro battery System Block Diagram Schematic courtesy of LOCOSYS data sheet The GPS LS20031 uses NMEA National Marine Electronics Association 0183 version 3 01 There are 10 interpreted sentences in NME
61. is a chance that a multitude of things can go wrong which can cause the group to be behind schedule Consequences lt Minor Moderate Severe or Catastrophic gt SEVERE The progress of the project will delay and ultimate delay other deadlines needed to be met Strategy 93 Order components once it is known which parts are going to be used Find components that won t require additional coding Find components similar to those in existing prototype Find components that will ship promptly Work overtime grs ge p 6 2 2 Schedule Risk 2 Need to re order a damaged component Description One of the components broke and need to be re ordered Probability lt Very Low Low Moderate High or Very High MODERATE Besides for the case of the accelerometer then it would be HIGH the majority of the components have been left over from last year and are in good working condition Consequences Minor Moderate Severe or Catastrophic SEVERE The progress of the project will delayed and ultimate delay other deadlines needed to be met Strategy 1 Make sure that everything is tested on a bread board before so everything can be managed before permanently placed 2 Ilf a component damages re order it Keep working on other parts of the project 4 When the new component comes in work overtime N 6 2 3 Schedule Risk 3 Prototype isn t finished prior to winter break Description Phase one upgrading the prototype isn
62. it sd function initializes the card and enables it The code checks that the CS pin is set to output if card can t be initialized an error will show If no error the create file function will run and create a file on the SD card labeled TURF TXX CSV the XX replaced with the corresponding file number 49 ff 4 9 SD 5O card functions code subsection eA YY YY YY PII PPP ff Initialize SD card drive Used By App setup i void init sd 1 je assumes LCD already initialized char errmsg 30 ff initialize the 50 card ifdef SERIAL_DIAGNOSTICS Serial print F Initializing 50 card 55 endif led clear Icd print F Enabling SD card 94 ff make sure that the default chip select pin is set to ff output even if vou don t use it pinMode SD CS PIM OUTPUT pour le chipset select the la sd card ff see if the card is present and can be initialized if ISD begin SD CS PIN E sd card do not initialize 1 Commented out b c redundant with call to error below zl Icd setCursor 4 2 p lcd print F Card failed 3 strcpy P errmsg char oF Badz missing SD card J error errmsg h ff Give user a visual confirmation that the Sb initialized properly Xifdef SERIAL_PIAGNOSTICS Serial println F SD card initialized 33 sd card do initializes correctly Hen 1 F Icd setCursor B 15 Icd print F SD card activated 35 delavtLED READABILITY PAUSE 4 50 vu i He
63. l pulse to GMAX values Probability lt Very Low Low Moderate High or Very High gt Very low We will be using the existing code from last year s team to convert the voltage signals to GMAX values Consequences lt Minor Moderate Severe or Catastrophic gt Severe The reason why this risk is severe is because the accelerometer plays a large role in this project and if the voltage signals can t get converted then the accelerometer will not serve its main objective which is to measure GMAX values Strategy 1 Continue to work with the exiting code and to improve upon it 6 1 3 2 Technical Risk 2 ICP Malfunction Description The vibration or shock does not convert to an electrical pulse Probability lt Very Low Low Moderate High or Very High gt Moderate The reason why this is moderate is because the accelerometer needs a specific voltage and current drawn into it and if doesn t get it it won t be operational Consequences Minor Moderate Severe or Catastrophic gt Catastrophic The reason why this is catastrophic is because without an accelerometer the project wouldn t have any meaning Strategy 85 1 To check the voltage and current in the constructed circuit before connecting the accelerometer 2 Keep a spare just in case of any mishaps 3 Turn the power off after every usage 6 1 3 Technical Risk Accelerometer 6 1 3 1 Technical Risk 1 Software does not interface with the accelerometer
64. last ff several measurements determined by expWindowSize with an exponential ly decaving ff weight on alder measurements This essentially averages over about a 1 2 ms window past accel past accel OLD ITEMS WEIGHT nom acc CUP ITEM WEIGHT return past accel Returns the smoothed acceleration value as the reading 44 void read pulse 1 unsigned long elapsed millia ff At this point we have no past data except for a single reading that tells us we ve Je crossed the threshold The following line is a hack where we average that reading f f together with H and pretend that the result constitutes our exponential ly smoothed f f reading from our infinite history as if the input instantly jumped from B to just f f above threshold between one reading and the next This is inaccurate but any j inaccuracy will fade away after a few more samples within a millisecond and probably well before the peak of the pulse is reached so it shouldn t affect the je final overall pulse height very much if at all float ast reading raw adc val SCALE FACTOR past accel ast reading 2 0 ff Initialize max value to first reading above threshold float max reading last reading f f The following loop reads smoothed accelerometer values as often as possible f f over the next few hundred ms This is assumed to be long enough to capture f f the true peak of the pulse while being a short enough to appear responsive ff and
65. last year s team From this figure one can notice a lot of noise in the output signal In order to reduce such noise one can implement a low pass filter that can cut off those high frequency glitches Given in equation 1 shows how we calculated the cutoff frequency for the low pass filter that we are currently using Another way could be to include a plastic material or Teflon spray non sticking substance in the hole where the missile is dropped to also reduce the noise from the missile sliding down the edges of the hole 1 1 cutoff frequency o 4 J nun Shows an actual example of an output signal that accelerometer generates To ensure that an output signal is really being produced the circuit shown in figure 5 was implemented by last year s team the circuit shows the new battery going straight into the Pololu which is the boost converter and from there into the LM317T which is the current source in this case with a 1 8kQ resistor used to cut the accelerometer current down to 4 mA The expression to cut the current down is given below in equation 2 The accelerometer is then connected to the resistance Then after a reading the signal will then pass through the bandpass and will filter any high frequency glitches and also will be used as a DC blocker 46 LM317T R1 C1 1 8kQ 0 1pF E Shows the implemented circuit used to test the accelerometer The current was changed from 13 mA to 4mA because Mr Mascaro
66. lfunctions is very real The charger could fail to supply the battery with the power it needs thus rendering the battery useless once discharged Probability lt Very Low Low Moderate High or Very High gt LOW The battery has been bought from a reputable company with positive reviews with the Better Business Bureau so there should be no issues with a defective charger or shady business The possibility of the charger to stop working malfunction after frequent use is also there Consequences lt Minor Moderate Severe or Catastrophic gt MINOR A replacement charger could always be purchased This would set the schedule back once the battery discharges depending when the problem is caught IT would not keep the prototype from functioning but would delay some time Strategy 1 Check on the charge time of the battery to make sure the charger gives the battery a consistent rate of charge 2 Make sure that the charger is being used as instructed and handled with care 6 1 6 3 Technical Risk 3 Failure of power supply A failure in the power supply is a considerable risk to the project The term power supply is referring to the main circuit board that supplies each component with the necessary voltage and current for it to function Probability lt Very Low Low Moderate High or Very High gt MODERATE Though much attention in being put into the power supply board there is always the risk of an error in calculation or a m
67. ll not exceed our current budget if purchased Also all mechanical work is done by Mr Mascaro himself Consequences lt Minor Moderate Severe or Catastrophic gt LOW More funding will have to be requested or money will have to be raised Strategy 4 Pricing strategies will be looked into to make sure the design team is picking components that are efficient and price effective 5 Locating more funds will be further looked into if needed 6 3 2 Budget Risk 2 The price for a component was underestimated Description The price for a component could cost more than previously expected Probability lt Very Low Low Moderate High or Very High gt MODERATE This is considered moderate for the majority of the components except the accelerometer it s HIGH This is because all our components are those that prices are pretty set for however the accelerometer is an expensive component itself and the price can vary depending where it is purchased from Consequences lt Minor Moderate Severe or Catastrophic gt MODERATE Higher budget than previously accounted for Strategy 1 Create room in the budget for something like this to happen 2 Check for components that are similar to the one being looked at yet don t break the budget 6 3 3 Budget Risk 3 Previous component needs to be re ordered Description 96 One of the components broke is faulty or does not function the way previously thought and needs to be re ordere
68. manually adjust the brightness of the LCD screen This means that the brightness will not be static at a certain level as it was last year Probability lt Very Low Low Moderate High or Very High gt Moderate Many factors can play into the adjustments of the brightness level The code potentiometer and wiring can all heavily affect this risk Consequences lt Minor Moderate Severe or Catastrophic gt Minor The brightness level of the LCD screen will not be a factor if the user intends to use the device in the direct sunlight Even if being used in a football stadium contained in a dome the lighting should be sufficient Strategy 1 Debug the code that corresponds to the brightness level adjustments 88 2 Check the wiring and make sure that there are no loose connections with the potentiometer 3 Remove the feature as a whole and set the brightness level to a static condition 6 1 5 4 Technical Risk 4 Push Buttons are dysfunctional Description The push buttons should tell the Arduino board to either save data or clear the current measurement displayed on the LCD Probability lt Very Low Low Moderate High or Very High gt Low The push buttons were already configured by last year s team and worked properly Consequences lt Minor Moderate Severe or Catastrophic gt Severe If the push buttons do not work the user will lose control of the interface The user will not be able to clear or save data whic
69. me fe Connect to the GPS at the desired baud rate gpsSerial begin cBGPSRATE Je The following is commented out bec now the module is hard wired to be ON all the time a ff Turn on GPS module ff pinMode cGPS PWEM PIM OUTPUT 4 ff digitalWrite GPS_PWRN_PIN LOW fy pull low to turn an Xifdef SERIAL DIAGM STIUS Serial println Ft Waiting for data from GPS 35 xendif Icd setCursor 13 Icd print F Waiting for data 37 read avail this is all that sync with BGPS6 did anyway Ae How disable the message types we re not interested in Jeto save serial bandwidth and processing time Ae This involves sending a couple of commands to the GPS gps config msg tvpes ff Confirm to the user that the GPS is online and operational Xifdef SERIAL DIABM STICS Serial printin F GPS module is operating J end it cd setCursor B 25 cd print F GPS module running 35 delavcLED READABILITY PAUSE ze allows user to see prev msg before disp is cleared f f Handles receiving a GPGGA sentence from the GPS je Updates of satellites display if in normal mode ff Used By GPS process linet void handle GPGDA C f ff ngata Last number of satellites detected We ll read the number of satellites f f detected from GPGGA and display it on the LCD This gives the user some idea of f whether he is getting a good GPS signal and how likely the location readings are f to be reasonably accurate
70. nd The large resistor value will cause less current to be drawn total of 1 5mA and will reduce the power consumption of this board The leg of each push button connected to the 5V will also be connected to a digital pin of the Arduino board which will provide the programming behind the status of each switch The save button will be connected to Arduino pin 4 the clear button to Arduino pin 3 and the toggle button to Arduino pin 2 In the main loop of the code the buttons are constantly being checked to see if any have been pressed This is done by the function check_buttons When this function is called each button is checked individually 67 void check buttons d check save btn check disc btn l check togg btn l f f Mew toggle button has been added CAD When the save button is checked it must also check if the clear button has been pressed If both are true then the screen will display the time zone settings If only the save button has been pressed its function will be processed void check save btn di unsigned long now millis millisi if Process expiry of refractory period for save button it save refractory unsigned long elapsed now millis last save willis it elapsed gt PUSHBUTTUM DEB UNCE MILLIS save refractory false I else return Still in refractory period so don t even bother reading button Get the current state of the save button int new state digitalRead Sav
71. nd Av is the voltage ripple of the capacitor 73 To identify the resistor values we used Ry Vout 1 3 1 R2 Where 1 3 V is the reference voltage between feedback and ground Setting R2 4700 wanting an output voltage between 30 40 V solving for R1 R 1 4700 13kQ ECAMLSU 7 With the resistance values calculated we were able to have an output voltage of 40 9V plus with this resistor setup we were able to control the stability of the voltage due to the feedback being connected in between the resistor values The purpose of output voltage being a higher was because we have implemented the constant current diode which has a voltage drop in our case 21 4 V then the load resistance 1kQ cuts the current in half and has a voltage drop of 19 65 V which is suitable for the accelerometer Table 3 1 shows the power consumption of the main components in our system Table 3 1 ee Voltage V Current mA Power Consumption W a a LT1072 Voltage in 11 1 Power in 884 6m Voltage out 40 9 Current out 20 Power out 813 85m 74 3 6 2 Status of Battery The Tenergy Li lon 11 1V is plugged directly into the Arduino and then the internal voltage regulator converts the 11 1V into 5V which powers the GPS push buttons LEDs LCD and Micro SD The battery has a boost chip model LT1072 which ups the voltage to an operating range of 18 30V for the accelerometer The picture below shows that that battery and boost are applyi
72. ng adequate amount of voltage to the accelerometer Figure 20 Accelerometer operating voltage and current battery being used Tenergy Li lon 11 1V 2600mAh The battery is charged using a Universal Smart battery charger which is designed to charge 11 1V Li lon Polymer battery with a capacity greater than 2200mAh 1 8A for 11 1V Li Ion Polymer Charger from batteryspace com Battery charger specification Voltage of 100 240VAC Current of 3VAC Max power at 40W and rating frequency to be 50 60Hz Output of 12 6VDC at 1 8A Automatic cutoff at 12 6V and output shorted and overload protection 5 5 x 2 1 x 10mm male barrel plug 75 3 6 3 Status of Alternatives Considered Characteristic Li lon 18650 Battery Tenergy Li lon 18650 NiMH Battery w Bare Leads 2000mAh 2600mAh 2600mAh 141mm x 50mm x 135mm x 35mm x 74mm 73mm x 68mm x 40mm amm Battery Comparison Chart courtesy of All Battery com 3 7 Printed Circuit Board All technical risks can be seen in the Risk Assessment section of this report 3 7 1 Status of Printed Circuit Board The design process of the Printed Circuit board is currently in its early stage The schematic and board interface have been changed completely simplifying the circuit board design The team decided on placing all the necessary components in one single board with dimension of 5 2 x 4 x 0 1 to match the impact tester main box The single board will include the LCD pushbutton LEDs and
73. ng ohm s law The equation below shows how the resistance was calculated Veg 125V I 13mA 96 x 100 0 72 After finding the resistor value it was then placed in series between the output and adjust pin Vref is the reference voltage at the adjust pin and is the current A load resistance of 1 8kO to cut the accelerometer current down to 4 mA The bandpass filter is used to filter out the high frequency glitches and also used as a DC blocker to let the signal pass to the Arduino for the calculations of the GMAX values LT1072 chip from digikey com A high efficient chip LT1072 shown above will verify a fixed voltage that the accelerometer can operate in and save some labor that Mr Mascaro wouldn t have to worry about With this chip last year s team was able to boost the voltage up to a fixed voltage of 40 9 V They also reintroduced the constant current diode model CLD20B which has high voltage intake and limits the current to 20mA To be able to boost the voltage we had to identify the values for the inductor capacitor and resistors Last year s team found the inductor and capacitance values doing some research and having prior knowledge in power electronics they configured the inductance and capacitance values by using the following equations L MgO Ts 60uH 2M And ALS 200uF SAv H Where Vg is the input voltage D is the duty cycle T is the switching period Ai is the current ripple of the inductor a
74. ny programming changes would need to be made in order to format the data displayed properly and have a clean outlook 3 5 6 Overall Status The Liquid Crystal Display push buttons and LEDs have already been purchased from last year s team So far we have tested the LCD screen and it has been displaying blocks so the team is testing the screen to see where and why this error is occurring 3 6 Power System Battery All technical risks can be seen in the Risk Assessment section of this report 71 3 6 1 Status of Power System f P f if th d y X gi a fy 5 LA 4 Ws amp EP o mL y 4 d 4 P a d i Sf d P o f 2 Ly a Figure 12 shows the boost converter The battery source uses an 11 1V voltage source with a power switch in between the capacitor that is in parallel with the battery and Pololu which is our boost converter The 11 1 V will be directly connected to the Arduino this is because for one the Arduino can take up to 7 12 V and that it has a built in fixed voltage regulator that drops the voltage to 5 V which will going to the GPS Micro SD card LCD pushbuttons and LEDs The 11 1 V then goes to the Pololu From the Pololu the voltage is then boosted up to 24 5 V by using the potentiometer located on the Pololu The circuit includes a current regulator which helps limit the amount of current going into the potentiometer Last year s team found a suitable resistor by usi
75. oduct to be mass produced and easily assembled for production A few of the problematic items the team will have to fix would include the bug last year s team introduced into the firmware software and also the placement of the coaxial cable 1 3 Operating Environment The impact tester will be exposed to many different environments Although it will mainly be used for outdoor purposes the impact tester will also be used for indoor environments such as NFL stadiums that are enclosed like domes or just indoor practice facilities While outdoors the impact tester can be exposed to many different elements such as extreme heat direct sunlight rain and cold Considering its end users groundskeepers and maintenance crews most likely the product may likely be thrown dropped and overall treated roughly For storage the impact tester may be stored in a cool storage unit or in an area where the temperature could vary widely depending on the outside climate With a wide range of operating environments the impact tester must be ready for all possibilities 1 4 Intended Use s and Intended User s The Impact tester will be sold by Turf Tec International to a wide range of Mr Mascaro s clients who work in the sports industry such as the NFL NCAA and golf courses With the alarmingly increasing number of diagnosed head injuries stemming from contact sports many of these sports industries are scrambling to understand and hopefully prevent them The NFL
76. oggle button is pressed it will clear the screen and only display the GPS coordinates The following code segments will show the main functions required for this feature and the final process of the push button 69 void check togg btn 1 toggle ButtonState digitalRead TOGGLE it toggle Buttonstate BUTTON STATE PRESSED process toggButtonPress void process toggButtonPress This function will process once the Toggle button is pressed CAD Kifdef SERIAL DIAGNOSTICS Serial println F TOGGLE pushbutton pressed enditft digitallirite GREEN LED PIN LED OFF lcd clear f f Clear the screen before displaying the GPS coordinates CAD display lat longi Display GPS coordinates end process toggButtonPress The picture below shows an example of the toggle screen 70 3 5 5 Status of Alternative Consideration Designed by Peter Davenport for SFE Qe 93 Gib o7 ad Ou 4 9 ail Gy 2 4 Sparkfun com ffi i Color LCO Shield TIT Color LCD shield Courtesy of Sparkfun electronics The price difference is not much greater and it satisfies majority of the requirements needed for the component The board includes three push buttons a white LED backlight uses the Epson S1D15G10 or Philips PCF8833 and is accessed through 9 pins The color display is not needed and the dimensions 1 2x 1 2 proved to be too small for the amount of information needed to be displayed Ma
77. oller is a high performance low power 8 bit microcontroller It has 32x8 general purpose working registers 256K bytes of in system self programmable flash 4K bytes EEPROM and 8K bytes internal SRAM This microcontroller provides 6 sleep modes as well an internal calibrated oscillator and external and internal interrupt sources Figure 2 The internal architecture of this MCU and pin assignments are T Oden Ern Shaded pastsorly escala in tha 100 pin version Complete functianality for the AUC TO amid TS only eel a be in ra SOHO versio I PDT PH E BET D PLT ATmega2560 Block Diagram Information courtesy of the ATmega datasheet 24 Figure 1 1 TOFP pinout ATmega640 1280 2560 eeEEPR ERE STERELRRREES eerk FE EER Sem Se so See eEeERR BESS Be aBsB sag Li u SS SS X X X X X M BBS SBS oM OR i m ae 4 PREEEEEEREREELER EERE ERS Sez fod fes se a7 oe fas fee Eal se e oo es ea e7 ee es ea uad fes fer fool ra re r7 re qOcoB PGS 1 78 PAS ADS RXDUPCINTS PEO 2 Q Fa PA4 AD4 TXDO PE 3 4DEX CORNER PAS ADE DICKOAING PES a 72 PAS ADE ocawaint PES E Ta PAT ADT ocsmawT4 PEA 6 70 PG ALE OC3CAINTS PES F 6H PUG PCINTI5 rame FEB s BH PJ5 PCINTI4 CLKOVICP3NTT PET E 7 PJ4 PCINTI3 VOC ip BG PJ3 PCINTIZ GND i1 B5 PJZ XCKSPCINTI 1 RXO2 PHO IE BA Pt TXD3 PCINT10 Teas PHI fa 53 PIO RXD3 PCINTS XCK2 PH Taj iz GNO Oca
78. ometer datasheet Model 352C04 is the accelerometer that was selected It is a high performance low power system that uses an ICP Integrated Circuit Piezoelectric chip that converts the vibration or the acceleration of motion on to a structure into an electrical pulse The accelerometer provides a low amount of spectral noise when converting from vibrations to electrical pulses it also provides a frequency range from 0 3 Hz 15 kHz As seen in the figure above the accelerometer uses a special current limiting diode to limit the current specifically in the range that is acceptable for the accelerometer The voltage regulator will be used to limit the current going into the accelerometer 3 3 2 Status of Software Interface For the impact to actually read GMAX values an algorithm for conversion must be written to the microcontroller to convert a voltage signal to G s The model will convert values by dividing 10 mV g to the output voltage that was sent to the microcontroller and then the digital signal is sent to the data logger for storage and then the user interface for viewing We have the code for this specific conversion it is Shown below courtesy of last year s team and edited by Dr Frank The code for the accelerometer breaks down as follows First the interface constant global variables are declared and described in the code 40 define YVOLTS_ PER_G 9 926 3 fe Commenting out const globals to save RAM see long comment in
79. ot have any technical risk is to basically copy what has already been done Technical risks can include new or innovative designs that do not have a certainty for success new technologies being used that are not completely understood problems with current designs that must be overcome solutions to design problems that have not been identified etc 6 1 1 Technical Risk Arduino MEGA2560 6 1 1 1 Technical Risk 1 The Ardruino overheats Description If there is too much power going to the Arduino then it will automatically go into standby mode until it cools down Probability lt Very Low Low Moderate High or Very High Moderate The board can operate on an external supply of 6 to 20 volts If using more than 12V the voltage regulator may overheat and damage the board The recommended range is 7 to 12 volts The battery provides 11 1V to the Arduino board which falls in the recommended range and the 5V and 3 3V pins are used as output pins The Arduino has 54 digital pins each usable as input or output pins and each operate at 5V Consequences Minor Moderate Severe or Catastrophic MODERATE This will cause the Arduino to not be able to be used for a long period of time because then it will go into standby mode This is only a moderate risk because the board will still be functional just for a short period of time Strategy 1 First total current will be calculated per pin 82 2 If too much current is calculated st
80. ow Moderate High or Very High gt Moderate It depends on the amount of customers a company has and the amount of merchandise the company trades 91 Consequences lt Minor Moderate Severe or Catastrophic gt Moderate The longer the board takes to manufacture the longer the team is in a standstill to test the prototype board Strategy 1 Get quotes from different manufacturers 2 Have many tasks unrelated to the manufacturing for the team to do in the meantime 3 Preorder the components early so no time is wasted if more than one manufacturer used 6 7 1 3 Technical Risk 3 Improper Design Description The board was not designed properly Probability lt Very Low Low Moderate High or Very High gt Low Designing guidelines can be extensive Since there are so many different guidelines to remember it may become easy to forget certain aspects of the design Consequences lt Minor Moderate Severe or Catastrophic gt Moderate Consequences are considerably lessened if mistakes are caught early on Prolonging the find can cause severe consequences especially if the board is already designed Strategy 1 Guidelines in the ICC 2221 Generic Standard on Printed Board Design will be used for accurate designs 2 Work on boards will be extensively checked for mistakes periodically 3 Design will be checked by multiple members in order to ensure no mistakes were made 6 7 1 4 Technical Risk 4 Manufacturing Error
81. plete control of the product Strategy 1 Verify that the data logger is storing the proper information If this is also wrong the problem could be elsewhere 2 Check that the connections are jumped correctly to each pin of the Ardiuno Board Debug the code that is communicating the Arduino Board with the LCD 4 If all else fails reload the code developed by last year s code and start from a working standpoint 87 6 1 5 2 Technical Risk 2 LEDs do not turn on Description The LEDs need to indicate whether data is being acquired or saved If they do not turn on this information cannot be seen by the user Probability lt Very Low Low Moderate High or Very High gt Low The LEDs have already been tested with code and prove to turn on and off Also the voltage being supplied by the Arduino board can never surpass the maximum voltage the LED can handle therefore they cannot be burnt out Consequences lt Minor Moderate Severe or Catastrophic gt Moderate If the LEDs do not turn on the user will not be able to visually see whether the data is being saved or acquired However this does not actually affect the process within the Arduino Board Strategy 1 Verify that the code loaded onto the Arduino Board does not contain any errors by using debugging tools 6 1 5 3 Technical Risk 3 Low brightness level of LCD Description The team will hopefully be able to implement a scrolling wheel that allows the user to
82. rim ih wre LC D HpdtreD Ho LEE td HO LES GAD g ape TATE H BO MENTARY 2128 M SINITC H BCI MENTARY 27128 M TATE H BC HEHTRE T 2T2H M Figure 3 7 05 LCD amp LEDs schematics 3 7 4 Status of Unnecessary Components wEMS s f POWER cc NTATCPUCLEDESCT OC TA PCINTH PCE eer ah gg tC RTS AIN LL XCK AINAIPCINTIZYPDS KESET Lillia TS42031 180R TR 7260 Figure 3 7 06 Reset Schematic 3 7 5 Status of Alternatives Considered Use software for Board File Extension pov conversions 3 7 6 Overall Status Currently in the design process we have begun creating a board with the new layout The Eagle CAD software is being applied to do this using the Gerber files This process is maintaining the learning experience and further familiarizing the team in the new software 4 Schedule Task Start Date Duration Days End Date Assigned Team Members Learn CAD Shaneetra Graham Ordering Parts 11 20 13 11 30 13 Testing of Individual Modules LEE 12 7 13 All members Implement Arduino 10 29 13 m JURO Board Design PCB Board 11 26 13 1 7 13 All members Testing GPS code GPS Testing GPS code 10 29 13 p 12 10 13 Christian Rodriguez Design 3D models in 10 29 13 12 14 13 John Rodriguez AutoCAD Updating Website wihnewcodeand 10 29 13 33 12 10 13 John Rodriguez changes s Christian Rodriguez Finding out errors in 10 29 13 33 12 10 13 code Shaneetra Graham Solder
83. rintin Fe printiIn Fre printiIn Fe printiIn Fre Turf Tec International 35 1471 Capital Circle NW 13 Tallahassee FL 32383 USA 4 Order Line 8683 258 7477 Y Phone A1 858 588 4826 3 Fax 8i 858 588 4827 5 Serial println Fi DAY TIME GMAX LATITUDE LOMGITUDE 35 Xendif SERIAL DIAGN STICS lagfile f led setbu lush j rsor B 35 Icd print F File ready for data 55 delav cLCB READABILITY PAUSE Ae SENDS HEATHER TO THE FILE f juste pour imprimer le heading sur le serial ff ensure header data actually gets written right now in case we power off soon ff Write lat long coordinates to the data file on the SD card ff The output format can be copy amp posted into Google Earth or Google Maps Ae Input format DDpHMMmmmm DOD degrees MM mmmm minutes ff Output format DD ddddddd DDD ddddddd degrees ie Used By SD sd save data 52 void loglanglefuint32_t angle char dir unsigned int degs angle LERBBBE float mins float fang leslAG6666 5 1 6888 8 float degs float float degs if dir W dir 5 degs float 1 lagfile print degs float DEC ifdef SERIAL DIAGND STICS Serial print degs float DEC endif fe Saves all current ff oon the SD card void sd save datac f digitalWrite RED LED PIM LED DN delay 800 ff Extract integer degrees field DDD from angle t Extract integer ten thousanths of a minute field
84. rol system The LCD 00256 is a basic 20 character by 4 line display and utilizes the HD44780 parallel interface chipset The final product should display the date time coordinates battery level and GMAX values The figure below shows the setup of how the LCD is connected to the Arduino MEGA2560 59 TIE NR RN u0 0990 B EE T ee m M wNN c c MOeerer eee e t e eevee e t eee e e eet e 3uo gy ttoo 9999 eevee eeeee e e 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 HO HP 9 eC 9 9 eC 9 9 9 9 9 9 99 9 99 99 9 9 9 9 9 99 9 9 9 9 9 9 9 9 99 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 Se Se 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 Made with E Fritzing org Figure 11 LCD connection to Arduino The LCD will be controlled by the Arduino board any information communicated from this controller will be displayed clearly on the screen when powered on There is a 16 pin connection between the two components Six of the pins will be connected to the digital pin assignments on the Arduino board two connected to ground and one to a 5V output to the Arduino board The interface pin connection is shown
85. rometer reading is defined by accel gs and is then converted Lastly pulses are read through the read pulse function The functions can be reviewed in detailed below dl 4 11 Acc Accelerometer functions code subsection P PSI EP de Needed initialization pursuant to reading accelerometer values A Used By App setupi void init accel 41 ff Make sure analog pin B accelerometer is configured as an input pinMade ACCEL PIM INPUT ff Is this strictly needed Or is it the default anyway ff Or does analogRead override it anyway ffUbsoleted now that we have the HOLD state ee The purpose of this is just to make sure that we can begin detecting pulses oe ff immediately So make sure we re outside the refractory region fe ff cross thresh millis millis PULSE_WINDOW_MILLIS f f This routine simply checks whether a probe impact has begun by seeing ff lf the raw accelerometer reading is above threshold If this produces ff too many spurious readings there are 2 options to fix this 1 raise ff the impact detection threshold 2 use the smoothed reading instead ff call accel gs and compare result to impactThresh Raising the ff threshold can cause soft readings to be missed using the smoothed ff data can slow down our response time slightly which could possibly ff take us miss extremely fast pulses Used Bv App loop boolean impact detected 1 raw adc val analogReadcACCEL ANALOG
86. rting it to display date time and coordinates on the LCD screen b Receiving the electrical impulse from the accelerometer and converting it to GMAX values to be displayed on the LCD screen c Communicate with the Arduino MEGA2560 to transfer information received from the GPS and Accelerometer to the user s computer utilizing a USB port d Usethe USB port to pull data saved onto the data logger and display it in a compatible format on a computer 18 2 3 2 Requirements Specification for GPS 1 The LS20031 GPS is responsible for a Receiving satellite information specifically date time and longitude and latitude coordinates 2 The LS20031 GPS requires 41mA 3 3V to function 3 Uses NMEA 0183 version 3 01 as its protocol support Default bit rate is 9600 bps receiving 8 data bits NMEA output messages include global positioning system fixed date GGA geographic position latitude longitude GLL GNSS DOP and active satellites GSA GNSS satellites in view GSV recommended minimum specific GNSS data RMC and course over ground and ground speed VTG a The only ones that will be used are GGA for the coordinates and RMC for the date 4 The built in micro battery reserves system data for rapid satellite acquisition 2 3 3 Requirements Specification for Accelerometer 1 Accelerometer Model 353C04 Responsibilities a Instantaneous raw acceleration G values b Output signal must have a voltage signal ranging from 0 5V c
87. s project so once the new PCB arrives the team should be ready to begin work on implementing the design The power system has already been designed and tested and all parts received the correct amount of power needed The code has been successfully loaded onto the board so the task of completing the software will be done Once the PCB arrives and the impact tester is put together testing the software will be more easily done All other parts are accounted for and have been tested to make sure they are in working order All factors into completing the project have been accounted for and the team is more than confident that we will be able to deliver a working impact tester The efforts of the previous year s teams have provided a great foundation for which to continue the project on The efforts of Dr Frank and Mr Mascaro are also to be appreciated The final deliverable will be the working impact tester itself However the team will deliver a fully designed Printed Circuit Board that will incorporate all of the needed hardware for the board The Turf Tec team will document all of the work in a final report and will deliver a manual containing the instructions for operating the Impact Tester The manual documentation will instruct the user in detail on every relevant aspect of the Impact Tester from using the user interface on the device to what the readings on the LCD mean and more 8 References All references have been referenced within the text
88. s to send and receive information respectively Certain elements of the Impact Tester will differ from the Clegg Impact tester For one the GPS feature is a requested addition The ability to transfer data through a USB cord rather than removing the SD card inside is also an upgrade requested Simplified menu features water resistance and rechargeable batteries are additions as well The elements of the final prototype will be transferred to a printed circuit board design using a Computer Aided Design CAD tool As stated this PCB will incorporate all electrical functions of the Impact Tester onto one board or possibly two if the power supply is made a separate board The reason for this merge of elements is to ensure that the Impact Tester designed will be difficult to duplicate The PCB layout will be designed by the Turf Tec senior design team and then sent for production Along with providing a working schematic at the end of manufacturing the ability to mass produce the PCB board is also a responsibility of the team Elements chosen should be cost effective to ensure that the final product could sell for a decent price The product will also promise durability both electrically and mechanically Turf Tec International will do the mechanical production The electrical components will be placed ina box which will then be attached to the missile This box will require water resistance and toughness due to the market that Mr Mascaro is direc
89. spect of the Senior Design Impact Tester for the Clegg Impact Tester currently being sold by Mr Mascaro does not include a GPS This added feature is important for conducting multiple tests in different locations for example different yard lines on a football field or different greens on a golf course The LS20031 GPS features MediaTek high sensitivity solutions supports 66 channel GPS had an update rate up to 10Hz it is capable of SBAS WAAS EGNOS MSAS also known as differential GPS it has a built in micro battery to reserve system data for rapid satellite acquisition and it has an LED indicator for GPS fix or not fix 13 2 2 5 Data Logger Micro SD 11 1 11 1 20V lt 10 mA GPS 3 3V Figure 6 Micro SD data logger DATA 3 3 The data logger functionality is provided with the help of an external memory component use to store information or readings that are obtained from the accelerometer and Global Positioning System GPS The micro SD shield operates using 3 3V input voltage and the power draw when writing to the card can be up to 100mA The micro SD shield will connect directly to pins 3 3V GND 50 51 52 and 53 located on the Arduino Mega board The memory being stored is coordinates date and time from the GPS and the converted GMAX readings from the accelerometer This data will then be saved as a CSV file on the Micro SD card and then extracted through the serial port from the Arduino 14
90. t finished before our first deadline winter break Probability lt Very Low Low Moderate High or Very High gt MODERATE Programming issues can result in longer work hours and ultimately more work days Consequences lt Minor Moderate Severe or Catastrophic gt MODERATE The progress of the project will delayed however if the prototype isn t finish before winter break there is always the break to work on it 94 Strategy 1 Make sure to get everything done before 2 Work during winter break 6 2 4 Schedule Risk 4 The transition from one component to another will not be smooth Description When looking into new components to replace already existing components one runs the risk of these new components not functioning with the other components in the prototype This can be a major risk that can highly delay the project because no further progress will be able to be met until the problem can be resolved This type of problem can also be difficult to pinpoint because this is usually a software problem in where new code must be written or some previously existing code must be modified This debugging process can take up a lengthy amount of time Ways to avoid a situation like this would be to read the data sheets for the new components Many components are Arduino friendly since Arduino is an open source microcontroller used by customers around the world This will hopefully make this risk less likely than others Probability
91. t to do any smoothing averaging of location readings f Used By LCD display Lat longi GPS handle BPRMEC SD sd save datac uint3z t latitude A longitude H ff Default both of these to B fin ocean South of Ghana char latdir M longdir E ff Arbitrary default corresponds to A being positive ffuinte_t groundspeed trackangle f f not used ff Date time of the last for held GPS reading timezone corrected Should we move this to the Time module ff Used By LCD display timet SD sd save datac uinta t theHour theHMinute theSecond theMonth theDav uinti t thevear boo lear thePH f TRUE if the time fof last or held GPS reading is 12 88 noon or later After the GPS functions are defined this include read avail which reads all available characters from the GPS until the end of a line is reached readline which is a loop that keeps reading data until the EOL is found init gps which changes the baud rate and allows for packet configuration to take place and lastly handle GGPA which controls the sentences coming in The code can be seen below 35 ff 4 8 GPS GPS functions code subsection Be SEE EEE PISIS ISPs ff Verify that the string in the line buffer is a complete amp correct fy NMEA sentence by verifying the checksum Returns true if the check ff sum is present and valid false otherwise MOTE Currently does nat ff actually verify the checksum to reduce
92. tes using 3 3V and the current draw when writing to the card can be up to 100mA The micro SD shield will connect directly to pins 3 3V GND 50 51 52 and 53 located on the Arduino Mega board Communication with the Arduino Mega Board is as follow can found in the following section 3 4 2 Status of Connection to the Ardunio Mega The Micro SD Shield will be connected directly to the Arduino Mega board with wires using the following pin connections Connect the 5V pin to the 5V pin on the Arduino 48 GND pin to the GND pin on the Arduino Connect CLK to pin 52 Connect DO to pin 50 Connect DI to pin 51 Connect CS to pin 53 Code for the data logger begins with pin selection for the chip select pin ff 2 9 SD SD card data logger constants code subsection ee MMMM MEMME MEE SD LS PIM For the datalogging shield we use digital pin 18 to control the SD module s CS chip select line USED BY SD init sd define SD CS PIM 53 Global variable logfile is created to create the files in which all the data will be stored into m fe 3 9 50 SD card data logger globala code subsection Jy y uu P P i I I P P P P P P P S P I P P Pt i P I P f P P P ut I P I P PPP PS File logfile re the logging file object Used By SD create file sd save data The SD card functions are as follows The in
93. tester was made with regards to the needs analysis and requirements specifications document All of these major electrical components must be able to perform certain task in order for the Impact tester to function properly The table below shows the needs of what each component is required to do 21 User Interface Electrical Requirement Device needs a proper user interface in order to ensure friendliness of the product power preferably batteries with the ability to display correct battery amount A printed circuit board design must be designed to include all required hardware needed to perform the functions of the Impact Tester Device needs to store information in the data logger and be able to retrieve that information through the serial port 2 5 Design Process The most important part of this year s Turf Tec team was upgrading the PCB The prototype from the previous year was a working prototype at one point We decided with the help of Dr Frank and Jonathon that condensing the circuitry would be better This was our biggest challenge to have a prototype that worked correctly and was manufacturable We decided to take advantage of the user interface board Our goal is to have everything connected on that single board Front side consisting of the LCD the pushbuttons and the power boost circuit The back of the user interface is where will plug in the Arduino The GPS will plug directly into an open space on
94. the back of the user interface board where its connections will be wired to the Arduino The same idea will be used for connecting the Micro SD This reason behind this design is to make for a simple assembly 3 Design of Major Components Subsystems The Turf Tec team is responsible for all the electrical work that goes into the new impact tester All electrical components are considered major for this group and with that each member is responsible for one or two of them The components are split up as follows 22 3 1 Arduino MEGA All technical risks can be seen in the Risk Assessment section of this report 3 1 1 Status of Microcontroller Because this is an ongoing project there was an already working microcontroller when this year s team began working the project The current Microcontroller being used is the Arduino MEGA2560 same as last year s This board features 54 digital I O pins 14 PWM outputs 16 Analog Inputs 256K flash memory with a 16 MHz clock speed Figure 1 Arduino MEGA2560 15 24 50 8 88 17 58 8 34 35 3 37 38 39 4G 41 42 43 44 45 46 47 49 51 7 m e 941 a 5 3 JU 2 B 13 97 2 54 96 52 2 54 23 Because this is an ongoing project there was an already working microcontroller when this year s team began working the project The current Microcontroller being used is the ATmega2560 which is the one in the Arduino MEGA2560 board The microcontr
95. the header of this code section Yfconst float fe ff aa ff ae YoltsPerGee YOLTS_PER_G fy amp ccerometer voltage per b force unit GEES_PER_VOLT Nominal Earth gravity unite per volt voltage on accelerometer output This point of this is just to avoid having to do a divide each time we convert a measurement Using this constant we can just do a multiply instead The compiler will precompute it so we don t end up doing a divide each time we use it Used Bv Acc SCALE FACTUR define BEES PER VULT 1 8 V LTS PER 53 fe Commenting aut const globals to save RAM see long comment in the header of this code section rfconst float ad ff ff oe geesPerVolt GEES PER V LT ir G force units per volt of accelerometer output IMPACT_THRESH Here is the minimum threshold in g s for detection of the start of an impact pulse If this is too low then we can end up getting a lot of spurious readings due to noise of various kinds I ve tried 18 and 15 but sometimes they are having noise problems so I m using zB instead it seems to work pretty well If the threshold is too large then the user can t measure the actual Gmax of very soft surfaces At some point we should perhaps add a feature to allow the user to manually adjust the detection threshold to their liking amp store this preference in EEPROM Used Bv Acc RAW IMPACT THEESH define IMPACT THREESH 28 84 ef Commenting aut const globals to save
96. ther subsystems another will save data received another will clear it and the last one will toggle screens e Use the USB port to pull data saved onto the data logger and display it in a compatible format on a computer f Receive voltage from the battery and divide the power within the board specifically 5V to the user interface 3 3V to the GPS and 1 8 to the ATmega2560 microcontroller Note In the final subsystem this voltage division will be part of the power system in general The same concept that is used for the MEGA will be done for the power system however the Arduino MEGA 2560 will not exist following integration and fabrication of the printed circuit board The ATmega2560 microcontroller requires 500uA 1 8V when in active mode and 1uA 9 1 8V when on standby The 256K flash memory requires 8kB of it to be for the boot loader The USB input supplies up to 500mA Any more than that can result in serious damage All pins in the Arduino are defaulted as input pins As an input pin the current is very close to zero However when a pin is declared as an output it decides how much current to draw in response to an applied voltage a Each pin has a max current draw of 40mA b The 3 3V pin has a max current draw of 50mA c The 5V pin has a max current draw of 40mA The MCU is responsible for receiving data from different components and converting it for better readability For example a Receiving information from the GPS and conve
97. ting his product to Most likely the Impact Tester will be thrown around in the back of trucks or left outdoors or in sheds Water strength and excessive heat are factors that are taken into account when making decisions The impact tester is a measurement tool used to measure how hard a surface is This impact tester will be more specifically marketed toward use on turf and sports fields Contents Executive SUMMA Y eerten ica seoanesnchonionuipiacpeaneeenmecnat aa 2 MEE OCCU ae E omm 7 TEACO VEGE NENS e E E EE E E 7 1 2 Problem Statement ecesna S AE REEE T 7 do Operating ENVronment sprcsretentssecsala COO Tm 7 1 4 Intended Use s and Intended User s cscccevnscisaevorsccssvatvantensnoatathedenasvonncassuavtid sevanvdtunsvsasuacsooddaveatess 7 1 5 Assumptions and LIMITATIONS gcssevsrsceadenecapiatesncetaarceceeetteectdatasnadapicacedalacedetaessancedarcoudeiedsastetesanseeaeacesaaurt 8 LLA SUN ION e E E eAT Uri PIRE sINUREEIURPU HE EEA RU DEIN DEE OPAC 8 iE SP E gay hecho e 9 ERR Rome 8 1 6 End Product and Other Deliverables cccccccssssssseeccceccseceeeessecccccesseeeesseescesseeagseeeeecessssuegeseeeeseess 8 PA slang SSI o Ur 9 2 bOVerview OF tlie SUBEOFTE uisa itte romdoes iiim de sents css late enone e csi uieuniuM ed AP Mac Hr MLOoeud itte e Tice de pd E ODE PEE 9 2 2 Major Components Of the S SLelTIs sessio tur evEu e irie rr Uo ox ev uv ex bu IR Setup YEDU Vra SNL UF UP eT Us DO Ur REPE SER TE USES NE 10 2 2 1 Arduino M
98. tried were 1868 and z086 but they seemed to result in drop noise still ff being picked up as an impact reading too often Now trying 588 1 72 second instead Ae Ubsoleted now that we have the HOLD application state ri ff REFRACTORY PERIUD MILLIS Refractory period during which we can t detect fy ff anv new pulses after the initial pulse detection in milliseconds 18008 is fe ff l1 second The point of this is to previous subsequent bounce impacts fe fe from being misinterpreted as if they were additional real impacts We turn dd fro on the red lamp during this period to tell the user he needs to wait until fe ff it s over before attempting to soave discard and take another reading re ff If this is too short a bounce could be read as another impact but will be fe de invalid since the plunger is falling from the wrong height If it s too fy ff long it s just annoying because it ties up the unit for too long a define REFRACTORY_PERIOD_MILLIS 1888 f f fe Previously we used Z000 when subsequent measurements were initiated automatically f fe Now we make it shorter 16885 because the unit won t take any new measurements anyway ff fe until the previous one has been manually either saved or discarded 42 The accelerometer functions consist of init_accel which declares the accelerometer pin as an input the boolean function impact_detected which if held true it returns the reading in earth gravity units The raw accele
99. uninpAe NMM VOSW OULNpuy umd E 9999982999982 9 9 9 s 9 9 9 A7NOILVOINAIWWO2O SDA 20 SCL 21 jum oH E t Y n as A P A gt wi WwW UN ho m X n 0o O tl 000 OS m UM QN I o DUE a Ack e NOV UL Oe UIN NIA GND AS 2 NI SOT NG uu ene eenene ene eeee esenee 14 LEE SE SE 99 999 090 0995 9095 9595995095 9 9 9 995 eeneene eeee s s 9 99 9 9909 99 995 99599092 9 95 9929 9 E O E 97 2929 99 99 9 99909 99 9999 995 99999 9 9 9299099809 99 99 99 99 99 9 9 9 99 99 E 99 9 9 9 9 9 9 eee 9 999 9999 9 9999 9999 99999 9 9 999299099 Made with 9 Fritzing org Diagram of push button connections 66 T A a N73 131 z 12 2 mA Push Button LED schematic The schematic above shows the amount of current being drawn from each component therefore 5V sources have been placed before each LED The sources are jumped to the Arduino digital pins 6 Green LED and 5 Red LED There is a total of four push buttons one which is the power button each of these buttons have their own functionality The first push button is the save button the second is the clear button which clears the screen of current GMAX value and the last button is the toggle button which switches in between the main screen and GPS screen The connections of each push button are simple 5V will be used as the input voltage and a 10k resistor will be connected between the push button and grou
Download Pdf Manuals
Related Search
Related Contents
Lucent Technologies P220 Network Card User Manual Copyright © All rights reserved.
Failed to retrieve file