Home
Formal Report - Larsen Project
Contents
1. o 1 3 4 AN vin LM7805T vo BP2 N GND 10MQ LN gt 3300 N LIN run N 1 IN 9 N 3300 2 39 w 3 38 S 4 37 m 3 5 36 N 4 e vin LM7805T vo AT Avon GND 6 35 IR Sensor Board N Gna 7 9 6V 2 7 134 e 8 33 Es 10uF IR Sensor Board 10 i 31 a nd r T oe 1 5 30 T 5v 12 29 f J ee 13 28 Vout IR Sensor Board STV ena 4 MHz 7 14 27 15 26 5 4 MN Vout N A 16 25 IR Sensor Board 17 24 Gu 9 AS LN 18 3 B N PS 19 22 Vout IR Sensor Board I o B AN cnd FTN 5v 1 IR Sensor Board Gnd N 5 AT Vout IR Sensor Board 1 20 Gnd 3 3V aaa N 2 Rx 19 5 3 18 Vout IR Sensor Board N f Tx 4 17 Gnd 5 16 p __ M 1 086C Tvo 6 XBEE 15 Vout IR Se
2. 7 Lor CoO RT T T 7 Pane ser Om Du uu 18 LED Command EI Eee en tea er ka 19 Transmission V UN 24 Tioub a 68 Automatic Forklift System viii LIST OF FIGURES Labor vs Material Ost Pe C DEL anna 4 Labor Pe Chat uu esse 8 Figured Mechanical rede 12 Figures Steetine ae rn t cat 12 o AS Sensor eier 13 Figure 6 Kork Sensor Irene ru 13 Figure 7 FOrk Sensor LOCA ON Dee ae ee ae 14 Figure seri cree el onu yuyu luu einen 14 Figure 9 User Interface Hardware Block Dia stain e ete aaa 15 Figure 10 Forklift Hardware Block Diagram 16 Figure 11 User Interface Hardware Circuit Diagram 17 RR 19 Figure 13 Forklift Hardware Circuit Diagrami aan u 20 Fieure User lli ACC suscita einen 26 Heure Eunctiom e Tnt sedo pn t cn 27 Foi ons He plans U 28 Function a er uud 29 Feur
3. Reset N 5 3 Ms 40 MSB AN 2 2 39 IN RS N 3 38 E m 37 IN 9V 5 v 227 Ed AN 10uF 8 33 LSB 9 32 o e 2101 e 31 N N M D Eu 5 130 IN MN AN 12 29 13 LCD 4 MHz 14 Fa 1 15 26 16 25 17 24 ET 1 HET 20 18 23 N EN a 19 22 ow pe 20 21 2 DU 5 16 Iw AZ1117T vo e GND 7 14 N un 28 3 m e I 330KQ 17 6 330KQ KeyPad Figure 11 User Interface Hardware Circuit Diagram The circuit diagram of the user interface shows the components used and their configuration See Figure 11 The LM805T is 5V regulator used to bring the voltage from the 9V battery to the needed 5V This supplies the power to all the components of the receiver A 10uF capacitor 15 used to filter out any ripples left from the 5V regulator A 4 MHz Crystal Oscillator with buffer 1s used for the clock of the PIC18f452 The wireless Zigbee uses communication to interface with the PIC microcontroller The wireless Tx pin 15 connected to the PIC s Rx pin and the wireless Rx pin is connected to the PIC s Tx pin It is powered by the 3 3V regulator This regulator 1s supplied by the PIC s 5V regulator The LCD used in this project 15 a JHD204A series with a display content of 20 character x 4 rows
4. Automatic Forklift System 20 IR Sensor Board e 1800 G G A 62 4 4 GND 10KQ 1800 G 9 d e N N 10KQ G N x 10MQ gt a e 10MQ 3300 10MQ e e e 1800 Vout lan lan N N o pst Reset 7805 vo 2 N GND 10 0 H4 3300 f NI N f m N PB1 3300 2 39 wp N An 38 N 4 Dur N 4 37 N 1 3 5 36 N 5V e N vinL M7805T V
5. 55 Figure 34 Forklift Hardware Circuit Diagramm sauna 56 Figure 33 1 EOERIHU ou a tus inta toe us ede aos 24 PACU 3 5 2 FOLK WIL CODE uyu aed ied er ventre onda uu uice Ee editus 58 Figure User Miter E 59 Int O es 60 os 61 I I 62 Figure 40 Ultrasonic Board connection to PIC 63 Fisur AR Palais 64 IR Compotadtor 65 Figured aaa 66 Figure 44 18F452 PIC Microcontroller 66 67 CHAPTER ONE INTRODUCTION Automatic Forklift System 1 1 1 PROJECT SCOPE The Automatic Forklift System AFS 15 designed to make the process of stocking efficient while decreasing unnecessary work related spending A one sixth scale model forklift 1s being used to demonstrate the feasibility of the project An operator will control the system at a safe distance away from the forklift such as 1n a separate control room decreasing the risk of work related injuries with a handheld user interface The Automatic Forklift System 1s capable of the following operations receiving commands from the operator navigating through the modeled warehouse retrieving and placing pallets at desired location
6. Cursor 1 c of runden Figure 17 Function Menu Automatic Forklift System 29 i Declare and Initialize Variables Send Data Rowl Low to PortD Get Input From Keypad Is Any Key From Rowl Pressed Key Table Yes Look Up Key Pressed No v Send Data Row2 Low to PortD Get Input From Keypad Is Any Key From Row2 Pressed Key Table Look Up Key Pressed NO Send Data Row3 Low to PortD Figure 18 1 Function Check Keys Automatic Forklift System 30 Get Input From Keypad Automatic Forklift System 31 Is Any Key From Row3 Pressed Key Table Look Up Key Pressed Get Input From Keypad Send Data Row4 Low to PortD Is Key From Row4 Pressed Arrow Look Up Key Pressed of run Function 18 2 Function Check Keys cont Automatic Forklift System 32 Declare Initialize Variable Array String Passed Columns value Key pad Input Is Column 1 Pressed Is On Screen 2 Is On Screen 4 Is On Screen 5 Is On Screen 1 No Yes Yes Is 1 On Keyp
7. MIN N N NN NM NN NN EN EN N M NN CG N Task n Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 External Milestone Progress Ma Project Summary Deadline 5 07 1422 07 Ju29 07 5 07 12 07 19 07 o O 5 f eful elta S wir IRIS S 33 Task c Milestone External Tasks Date Thu 5 29 08 Split nn Summary External Milestone lt gt Progress Project Summary gr Deadline Project 5 8 08 5 07 1422 07 Ju29 07 5 07 12 07 19 07 o O 9 S f riw s i rw Su rIwI TTE S wir IRIS S TM 65 Task c Milestone External Tasks Date Thu 5 29 08 Split nn Summary External Milestone Progress Ma Project Summary ger Deadline Project 5 8 08 Aug 26 07 Sep2 07 9 07 16 07 Sep 23 07 Sep 30 07 E Sep 30 07 Oc S SIMITIWITIFIS S M TIWITIFIS SIM TIWITIFIS SIMITIWITIFISISIMITIWITIFIS SIMITIWITIFIS S 2 DH sh Mai Nick Josh Mai Nick Task Milestone External Tasks 111 170 Su
8. Set Neutral Is instruction pick from aisle 2 amp place at dock Is instruction pick from dock amp place at aisle 3 Is instruction pick from aisle 3 amp place at dock 42 Are there instructions Yes Initialize to perform instructions Figure 26 1 Forklift Yes Yes Yes Yes 1 2 3 4 Y v Similar to instruction Similar to instruction Similar to instruction pick from dock amp pick from dock amp pick from dock amp place to aisle 2 See place to aisle 2 See place to aisle 2 See Appendix B for code Appendix B for code Appendix B for code Va Y Y Y v Check for instructions Automatic Forklift System 43 Tilt Check 4 Do you want to go home Stop Return to everything home No v Read the intersection sensors Is it on Increment number interesction by 1 Go straight Is number 1 Yes object in way gt 219 on line of forklift No Turn left using values 2 Is number 27 Yes 0x00 and gt 0x74 No
9. Figure 32 Forklift Hardware Block Diagram Automatic Forklift System 55 Reset iis N N 3 MSB TN gt 2 39 IN 3 38 Ent IN SV 5 35 IN e 7 34 IN 10uF 8 33 LSB N 9 32 10 e 31 lan N LOP o 11 5 ali er N 12 29 N 13 28 LCD 4 MHz 14 Fa 1 15 26 16 25 m 1 20 3 3V 18 23 a es 19 22 gt m 118 20 21 K _5 116 MPH vL M1086C Te ej XBEE Is GND 7 14 N _8 3 11 9 12 17 330KO 330KQ KeyPad Figure 33 User Interface Hardware Circuit Diagram Automatic Forklift System 56 IR Sensor Board e ro Sn 10KQ O Y 10KQ D 1800 Es e L E ER lt
10. No Is number 14 Yes Turn left using values 0x00 amp 0x74 and increment number Is number 15 Yes 4 Check for object way gt of forklift Go straight on line Check for left line lt Is left line present Figure 26 3 Forklift cont Yes Increment number Automatic Forklift System 45 Is number Check for Tum forklift Increment number 16 Yes objectin way around by gt bvd of forklift 1800 y 4 Increment number by 1 Is number 17 Is right line gt Setstatusto0 present Yes Check for right line Yes Stop forklift gt 4 Go straight on line Is number qu Is left line Increment number object in the Check for left line Yes Stop forklift gt gt 18 present by 1 back Reverse No forklift on line Let user know TP A forklift is ready 19 Stop forklift gt for next p 0 instruction by sending D Figure 26 4 Forklift cont Automatic Forklift System 46 Read PIN_C4 to check if forklift is tilte
11. char strings I Ais ier char transmitting Transmit trng char invalidi Invalid Bantry char complete Task Completed char operate Operating char verify F Safe to proceed char Stop I e Stop char objectl B Object in the way char object2 1 Proceed 2 Home Ghar selbe Pi ELITE ver Char pallet No pallet char home 2 Home char operate Homer Operating int keypress 0 keep track of number of time home button has been selec int RDA RDA isr int checkingl 0 checking l gete COM A checking delay us 10 puto X menu screen numbDer 23 output hrgh tPIN EO delay ms 500 output low PIN C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test else if checkingl 1 I Iforklrtft received command clear OUt LED String operate else if checkingl 2 detect object in the way front senso clear out LCD string verity cursor position 0x94 out LCD strzing object2 proceed home cursor position 0x94 output high PIN EO delay ms 500 output low PIN else if checkingl 3 detect object in the way back sensor clear LCD string tobjecti Cursor posrtron Ux94 OUE LCD Ob 277 cursor position 0x94 output high PIN EO delay ms 500
12. 13 08 20 Apr 27 08 May4 08 11 08 HIWITIETIS S MITIWITIFIS M TIWITIFIS S M TIWITIFIS S MITIWITIFIS SN TIWITIFTS S MIT IW e 4 17 e 4 24 5 1 Task Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 ww Ta Milestone Progress Ma Project Summary Deadline APPENDIX USER INTERFACE C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test rinclude C Documents and Settings CHOUA Desktop Forklitt test LCD h include string h IND Sereen nunber 0 int Cursor 0 Void inb void Check keys void void out JS 2 void key table char array int columns value Int row void clear void void arrows int columns value VOLO OUT LCD String char void menu void void screen void cursor positron int vold bransmrtivord s int counter 0 keep track of the number enter for aisle int menu or clear 0 int choice 0 int selection 0 int indicate 0 int checking int status 0 char aisle number 009 char arrayl 147 m char arrayo 5 369 char LIers Pick cup Crom Qsck char 2 Place on dock Up Erom dock Place on dock 1 Yes Zin char suring char string4 char string
13. Check ees 30 Sure PunctomsC heck u a 31 Proure t9 Punction ae ee dam 32 Figure 19 2 Functions Key Table 33 Fi sure 20 Function oan 34 Figure T I Fineliom Sa 2 amsa 35 Figure 21 2 Function creer aan 36 Figure 22 37 Figure 25 Function e Out EOD a uenti a e RI Re 38 Fi eure 24 Funcom s C dE ee nen Or bases 39 Foncions Satu ned ouv as 40 Automatic Forklift System LIST OF FIGURES Continued Pioure 20 l 42 262 CODD uyana u utu ut 43 ee ea ee 44 Figure 264 COTM ee een 45 Figure 27 Pa cionpi Check ae 46 Fisure 28 Finellon er 47 Figure 29 Punelion 48 Figure 50 F unetionme Set uk aan Sedans wearin eres 4 Figure 31 User Interface Hardware Block Diagram 54 Figure 52 Forklift Hardware Block Diagram a en a 54 Figure 33 User Interface Hardware Circuit Diagram
14. break turn 0 01 0 0 break Then go to from home turn right toward aisle Jt een Ines dass range Finder SENSOr I1NPUL st Dei DIM rss T trn STOP UZ pute 6 delay ms 100 else strarght break pallet detect break pallet and turn around range finderf break turm 0x00 break range findert turn left toward docking area C Documents Gase Case Case Case Case Case Case Case Case Case case 22 case 23 and Settings Joshua Desktop senior project EET404 Final Software Program test 12 Ss 14 15 3 16 UNE Iez 19 20 Zils straight y break 0 pass thru intersection EID OPI numbertt t break range inderfi sStrargnt y break pass thru intersection number break tange Eindert lleft sensor input state PIN D7 check for empty dock are sensors true i number tt j else place reverse place pallet and turn around break range finderr straighe break turnt 0x01 0s0A turn right toward home break range finderrti lleft sensor input state PIN D7 ch ck for home position 21802 sensor rruse number tt break range finderf turn around turn 180 d
15. g FU Figure 44 18F452 PIC Microcontroller board Automatic Forklift System 67 o9 290909909909 9979754950 Figure 45 Wireless Zigbee Automatic Forklift System 68 TROUBLESHOOTING Table 9 Troubleshooting Problem Possible Repair Observations Cause Solution IR navigation sensors not Potentiometer is not Place a white mat under the IR calibrated properly sensors Adjust the potentiometer on the comparator board until the LED is turned on Then replace the mat with a black mat and see if the LED 15 off If not then adjust the potentiometer until 1t turns off IR navigation sensor does 3906 Transistor is Replace Transistor 5VDC when IR comparator not give a signal out but defective board when white mat 15 under LED on comparator board he IR sensors 0V DC when is working black mat is under the IR Servos not steering or Servo controller not Check the input to and output A blinking green light on the ilting forks receiving or not from servo controller to servo controller indicates that transmitting data determine if the problem lies in he controller is working the PIC controller or the servos themselves Try restarting the forklift Forklift starts turning in IR line sensor is e Turn on sensors but not main damages or comparator power to the motor Place a for the IR sensor 15 not white mat under the sensors working Check to see voltage on the output of the
16. Co N AAA Senior Project Semester 1 Senior Project Formation Senior Project Initial Proposal Project Ideas Idea 1 Blimp Camera Idea 2 Security System Idea 2 Forklift System Description Hardware Diagram Software Flow Chart Initial Proposal Sent In Meeting With English Advisor Project Acceptance Progress Report 1 Scope Future Enhancements Target Audience Progress Report Submitted Meeting With English Advisor Online Progress Report 2 Budget Market Analysis Gantt Chart Progress Report Sent In Meeting with English Advisor Email English Advisor Rough Draft Report 2 Progress Report Hardware Diagrams Hardware Write Up Software Diagrams Software Write Up Progress Report Sent In Rough Draft Of Written Report 219 days 65 days 11 days 7 days 3 days 1 day 2 days 1 day 4 days 3 days 4 days 0 days 1 day 0 days 6 days 4 days 4 days 5 days 0 days 1 day 6 days 6 days 6 days 4 days 0 days 1 day 1 day 5 days 5 days 4 days 3 days 5 days 4 days 3 days 0 days 3 days Page 1 Start Wed 7 18 07 Wed 7 18 07 Wed 7 18 07 Mon 8 6 07 Mon 8 6 07 Mon 8 6 07 Mon 8 6 07 Wed 8 8 07 Thu 8 9 07 Fri 8 10 07 Thu 8 9 07 Wed 8 15 07 Mon 8 13 07 Wed 8 22 07 Thu 8 23 07 Fri 8 24 07 Fri 8 24 07 Thu 8 23 07 Fri 8 31 07 Wed 8 29 07 Wed 9 5 07 Wed 9 5 07 Wed 9 5 07 Fri 9 7 07 Wed 9 12 07 Mon 9 10 07 Tue 9 11 07 Wed 9 19 07 Wed 9 19 07 Wed 9 19 07
17. o Sensor cupput 21802 sensor rruse break range frnderf 3 turn around number break rright sensor input state PIN D4 LfiObrlghb sensorec true stop delay 100 number status 0 place pallet and turn around turn right toward home check for home position turn 180 degree PIstrarghbten out Torklift j else range reverse to home position Lieft sensor input state PIN 07 Sensor trues4 88901 number tt j else reverse break putc D choice 0 goto z stop and wait for instruction C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test goto LOOPIT else if choice 0x34 LOODO2s p hoo a if home stop goto Am bright sensor input u stare 04 IXerusensDr rinput stave PIN for Intersection sensorc btrue 66 Llert sensor true number start from home to pick pallet from aisle 3 and place it on dock home switch number Case Case Case Case Case Case Case Case Case Case Case 10 range finderf SEDI break turn 0 01 0 0 break range Einderf break Sra Bgm time OTEN numbertt t break range finderf
18. 1 if screen number 3 amp amp counter lt 2 out LCD key endl i 0 void clear void output low PIN A2 enable pin output low PIN A3 R W output low PIN A1 RS output b 0x01 clear display output High AZ output Low PIN A2 delay ms 50 if Screen numDer 3 26 clesr 1 4 GUESOT posrtion 0x02 7 Out LCD Strznd stsingo show screen 3 user input Cursor position 0x94 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test counter 0 void arrows int columns value if screen number 1 enable up and down arrows only in the menu screen lf columns value 14 e UrS0r P082 10n10802 7 cursor to beginning or line Lup Arro cursor 1 Lf Columns velues i2 cursor position 0x94 Move cursor to beginning of line 2 down cursor 2 end enable up and down arrow keys if columns value 11 amp amp screen number lt 4 the 2nd key is the menu menu j if columns value 7 the enter key sereen h j j VOS our ECD usta Ino Char unsigned nb L for i 0 i lt strlen string i Output string ys Our DUC ARI output hrgh PIN A2 output low pin A2 void menu void menu Clear 0 1 CUE UCD Strang Ss Qus LCD string String CULSOL Pos1r10n 0x80 7
19. 1 start from home to pick pallet from docking area and place on aisle2 then go back home if choice 0x31 OO bal Pl II if home 1 STODANF goto hm j rright sensor input state PIN D4 check for intersection lTIePL sensorernput PIN DI if sensopr true 44 sensor strue numbertt switch number case range y stralghtt break case 2 turn 0x00 0x 724 break Case 3 range finder Left sensor input state PIN DI sensor tru e Stop delay ms 100 else C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test case de paller dececu break Case 5 Zange E inderf y straight J gt break Case 62 Straight Gime OFLC number tt break fF Lander jy Case 8 dXurmiox0l 0x0A 52 Z7 richt Turn break 9 range Tinderi llertrtosensorinput steve PIN 27 straight number tt else straioqht break s C reversed case 112 range Einderfq SETAIONEL break case 12 Burn break Case dos fange f ry ey break case 14 turn 0800 Ior range Tinder 7 straight llerce oensor input Stave PIN 077 sensor
20. BN p BUM 6 BEN LE NEN _8 _ 2 _2_ _ 2 p 2 2 2 LABOR COST The total labor cost for this project 15 88 230 36 See Table 5 This is based on the total hours worked for the calculated hourly wage of each team member The yearly salary for the hardware engineer software engineer and project manager 15 193 584 based on the annual income of a full time employee See Table 4 According to the U S Department of Labor Bureau of Labor Statistics a survey conducted by National Association of Colleges and Employers 2005 shows that the median starting salaries for a hardware engineer and software engineer is 51 888 and 52 464 respectively According to a survey conducted by Abbot Langer amp Associates 1n 2004 the median salary for a project manager is 89 232 It took us almost a year to complete the Automatic Forklift System but we did not work 40 hours a week for 52 weeks This accounts for the 105 353 64 discrepancy between the yearly labor cost and our actual labor cost Each employee s earnings are based on the hours he she worked on this project The salaries Table 2 are divided into hourly wage to determine each employee s earning Automatic Forklift System 7 The hourly wage for a project manager 15 42 90 which is determined by 89 232 lyear lweek lday 42 90 The hourly wage for a hardware engineer 1s 24 95 which 15 determined by 51 888 Iyear lweek lday year 52weeks Sw
21. C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test fint RDA RDA isr checking getc int time get timero if checking Y else if checking 0x31 checking 0x32 checking 0x33 checking 0x3 delay us 10 Bure Tis delay us 10 choice checking else if checking 2 user selects choice to proceed with program else if checking 5 stop button on keypad has been press pue 5 hy send signal to user to confirmed forklift has keypad stop received the stop signal else if checking 7 home 1 set timerO int time void main ext ne B setup adc ports AND AN3 setup ADC LLOCR DIV 8 setup psp PSP DISABLED setup spi FALSE setup wdt WDT OFF Setup timer GRIC INTERNAL DIV 256 setup timer 1 1 INTERNAL T1 DIV 8 setup timer 2112 DISABUBD O 1 7 Setup timer Gn DISABLEDIKT DIVX 105 enable interrupts INT RDA enable xnterrupts GoBOBALD Setup Oscillator False delay ms 7 00 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test COM A repeat if checking Y GOLO PESQO else GOCO prog range Finderf ta v lower fork position forks 1 5 above ground at the Lite fork start of program neutral yy progi status 0
22. cursor to beginning of lime 1 Screen number 17 cursor 1 choice 0 keypress 0 indicate 0 aisle number 0 0 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test number 11 70 aisle number 2 0 void screen void if cursor 1 switch screen number 1 cursor position 05 81 Pi werity choice t on menu LED String string gt break case 2 euUrsor DOSIUCLOn Ox02 4 SOPOS out LCD sStrangistrunge s show screen 3 user input cursor position 0x94 Screen number 2s goto end2 break Case 3 cursor position 0 80 screen ECD strang Strings 7 Cursor Ou LED String le number screen number 4 GUEISOf Out String string goto end2 break Case Ae Cursor posrtcomq0x80 7 Hsoreenm 5 OU LED SErLng transmeering screen number 22 transmit i if status 1 clear CULSOL posstlomn 0x02 j verify aisle en transmitting goto Sern 7Entrty invalid go back to user putc selection COM A input screen to reenter aisle goto end2 break 524 putc 2 COM A if indicate 1 out LER String operate home else out LCD strang operate goto end2 break end switch statement end cursor 1 if statement if cursor
23. 2 switch screen number Gase CURSOR positronTt0xe y ouc LED sbPraiug string4 verify choice 2 on menu C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test break clear our nob String home delay 1000 1 out LCD string Operate nome screen number 5 keypress 1 indicate 1 goto end2 break 301109772 out hGD scrfinotstrrnoo 10010927227 screen number 2 end2 Cursor el QUISOr output low PIN A2 j enable pin output low PIN A3 R W output low PIN A1 RS output DXpositrion y cursor to beginning of line arrow output high PIN A2 0x02 beginning position of line 1 output Low PIN A2 0x94 beginning position of line 2 delay ms 50 void transmit void if aisle number 0 0 if aisle number 1 0 LI Ca eqe number 2 e t2 54 chorice 4 selection 0x31 status 0 goto ern else pnt drisle Tumbarse o 6 chorce 1 1 selection 0x32 status 0 enm else r talsle number 27 amp amp ochorsce 2 4 selection 0x33 status 0 GOCO uen es number Z we COTE y selection 0x34 status 0 qoto en FORKLIFT C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test include C Documents and Settings CHOUA Desktop user i
24. 20 left motor 0 01 0 13 status 2 SEY ELON Ter true 21ghe Lalse if status 3 right motorit0x00 0x60B 6B delay ms 20 lett status 3 Sensors 0 the white line the TEE will try to Ting the Aine again by turning in the direction of The sensor that last seen the line The positions of the sensors are stored in memory If both sensors see the line and both go off the line simultaneously then the forklift jy Perpendicular to the Tine This defeat The purpose ST tollowing a Tine Das wall stop TI Troli Bronce switch status case 1 stop break Case 2 Might motor 02007 8 4 Stop motor delay ms 20 lert motor 0x0l 13 break Gase 33 motor 0x08 0 275 7 delay ms 20 left motor 0x01 0x06 slow down left motor break J end switch statement 1f st tement void pack pallet vord int value 0 fleft fork IR sensor int valuel 0 FOLK IR sensor int pushbuttonB 207 Status 0 loop4 value 0 18 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test valuel adc 1 Tr value gt OxCC wvaluel20xCC 0xCC 4V delay 10 lower fork loop3 pushbuttonR
25. Fri 9 21 07 Wed 9 19 07 Wed 9 19 07 Fri 9 21 07 Wed 9 26 07 Mon 10 1 07 Finish Thu 5 8 08 Wed 10 17 07 Wed 8 1 07 Wed 8 15 07 Wed 8 8 07 Mon 8 6 07 Tue 8 7 07 Wed 8 8 07 Tue 8 14 07 Tue 8 14 07 Tue 8 14 07 Wed 8 15 07 Mon 8 13 07 Wed 8 22 07 Fri 8 31 07 Wed 8 29 07 Wed 8 29 07 Wed 8 29 07 Fri 8 31 07 Wed 8 29 07 Wed 9 12 07 Wed 9 12 07 Wed 9 12 07 Wed 9 12 07 Wed 9 12 07 Mon 9 10 07 Tue 9 11 07 Tue 9 25 07 Tue 9 25 07 Mon 9 24 07 Tue 9 25 07 Tue 9 25 07 Mon 9 24 07 Tue 9 25 07 Wed 9 26 07 Wed 10 3 07 Predecessors 0 O 0 11 9 13 14 14 14 16 17 18 20 19 19 19 22 23 24 26 25 25 25 25 34 30 31 33 Resource Names Josh Mai Nick Mai Nick Josh Mai Nick Josh Mai Nick Josh Mai Josh Nick Mai Josh Nick Mai Nick Josh Josh Josh Mai Nick Josh Mai Nick Josh Nick Josh Mai Josh Mai Nick N O A gt A A HB O N A gt N o A GO cO N O O O O gt O N o Ed Ed Ed E E E E d Ed IFI Ed E E E E Had Hd Hi Hd IF Formatting Grammar Diagrams Compilation Risks And Contingencies Safety Appendix Update Gantt Chart Rough Draft Turned In Power Point Create Cells Work On Animation Editing Meeting With English Adivsor Final Draft of Written Report Formatting G
26. ICE Check for the no Ran Yes object in way If no pallet Yes d pallet line and alert user of forklift by sending 6 No No Find pallet Go straight and pick it up on line Is number 4 Yes and turn around No gt Yes objectin way gt os euin 2 on line of forklift No Go straight Is number 6 Yes gt through gt intersection Figure 26 2 Forklift cont Is number 7 Yes lt Check for object in way of forklift Go straight on line No Is number 8 Yes Turn right using values 0x01 and 0x08 Automatic Forklift System 44 No Is number 9 Yes Check for object in way of forklift Check for the no pallet line Go straight on line 4 Is number 10 Yes Place pallet reverse out turn around and increment number by 1 If no pallet Yes Increment number by 1 4 Yes Check for object in way of forklift Go straight on line d Yes Turn left using values 0x00 amp 0x74 and increment number Yes o Check for object in way gt of forklift Go straight on line
27. STEAIANEL break case 8 Straight time off 7 number tt break Case 9 range Tinderf straight break case 103 turn O0x0l 0x0A turn break Ib finder 4 LLOrrtoseusor inpur State PIN DT Lfi llett sensor Strue 4 straight 2 number tt else Gase 12 place reverse Case range Straighe break case 14 turn 0 00 0 74 break case 15 range Straight s break Case lor Straight time number tt break Case 17 tange findert Straight break case 18 turn 0 00 0 74 break Case range Tinderi Ly left State PIN DT ifilleftt sensor ctrue number tt break Case 40 range turn around number tt break case 21 sensor a2input state PIN DA Sen or erue stop delay ms 100 numbert status 0 j else Gase 424 range lleft Sensor 1nput stave PIN 07 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test sensors tr e STOP number tt j else reverse break case 23 stop puce D choice 0 GOCO Ls break gGouo 1600507 else if choice 0x33 LOOD OAS tilt if home 1 m ejes GOTO Amy rright sensor input state PIN D4 c
28. except for the forklift which we bought online for 109 89 and miscellaneous The subtotal excluding tax of all materials is 592 49 A tax of 42 23 is included based on an 8 75 tax rate giving us a total estimated cost of 634 72 According to Table 2 a majority of money will be spent on sensors the power supply and the model forklift The money for miscellaneous items such as resistors capacitors wires and replacement parts will be held in reserve in the amount of 110 Table 2 Material Cost Estimate RF Transmitter and Receiver 1 945 Buzzer Miscellaneous 501000 stra 88248 Automatic Forklift System 6 Our total cost for this project was 922 25 but the total cost to replicate this project 1s only 792 75 See Table 3 The discrepancy in price is due to some materials being donated to us as well as some materials purchased were not used in the final product Table 3 Actual Cost of Materials Qty 4 ss HallSenos 52730 0 5000 Flexible Stretch Senor 83145 0 5000 Magnets 5845 0 S000 Miscellaneous Components 8221 91 22191 Components for IR Board 875588 6 5669 2 57890 _ 20 _ 0 4 55795 557 95 2 Black Box Donated 1 1 2 gt on O 1 1 2 2 2 2 2 x TOTAL 9225 87925 Qty
29. output low PIN else if checkingl 4 y comel tilts Over clear out CD STRING cursor position 0x94 out hob Str ng posritron 0x924 7 output high PIN EO delay ms 500 output low PIN else if checkingl 5 llftorklift comtirmed button pressed clear our hob String Stop cursor position 0x94 Out hob string Ob TECTA cursor position 0x94 output EO delay ms 500 output low PIN else if checkingl 6 clear out LCD String no pallet Cursor 1 out string home cursor posrtron Ux9T C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test output hrgh PIN delay ms 500 output low PIN else if checkingl 8 keypress 1 else if checkingl D clear Out LCD Complete delay ms 1000 menu output high PIN delay ms 500 output EO void main nc edge TO 1 setup adc ports ANALOGS setup adc ADC OFF setup psp PSP DISABLDED setup SPLI FAESE Z setup OFF Setup timex INTERNAL setup timer LI TI DISABLED Setup DISABLED 027 enable interrupts INE RDA enable interrupts 74 setup oscillator False delay ms 400 ine EOD Oy menu here Chec
30. Armulescu because he believed there are too many variables associate with a blimp to be completed within a one year timeframe So he suggested a security system of some sort during our meeting with him We accepted but only f we did not find a new 1dea before then We later proposed an Automatic Forklift System that Dr Armulescu approved of on the same day Wednesday August 8 2007 We then quickly began working on the initial proposal for the next few days Mai worked on the description Joshua worked on the hardware and Nick worked on the software portion After that we compiled all our sections into one report and revised it as a team correcting errors along the way We met with our English Advisor Kim Mahler on August 13 2007 for suggestions regarding our proposal The initial proposal was turned in on August 15 2007 and was approved by the advisors and the dean on August 16 2007 A week later we started to work on progress report 1 which consists of the introduction We divided the work into three parts Nick worked on the target audience Josh worked on future enhancements and Mai worked on the scope We individually worked on our assignments alone until we finished our portions Once we were finished we had a meeting to combine our work into a rough draft We proofread the report as a group before sending the report to Automatic Forklift System 9 Professor Mahler for corrections on August 29 2007 She responded with corrections
31. Jan 27 08 Feb 3 08 Feb 10 08 Fl sj si MITIw T F s s M TIwITI FIs siM TIwITI FIs s MiTIwITI IF s is M TIwITIFI S S MI I 5 Milestone External Tasks Project 5 8 08 Date Thu 5 29 08 Spl ww External Milestone Progress a Project Summary Deadline Jan 6 08 Jan 13 08 Jan 20 08 Jan 27 08 Feb 3 08 Feb 10 08 8 8 8 1 8 M TIWITIFTS Task Milestone External Tasks Date Thu 5 29 08 Spl ww External Milestone Progress a Project Summary Deadline Project 5 8 08 Jan 6 08 Jan 13 08 Jan 20 08 Jan27 08 Feb 3 08 Feb 10 08 8 8 1 u TIWITIFTS Josh Nick HMai Josh Nick Nick Josh Mai See 1 Nick Josh Mai Nick Josh Mai 2 13 Task a Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 External Milestone Progress Ma Project Summary Deadline Feb 17 08 Feb 24 08 Mar 16 08 Mar 23 08 re Task Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 Spl ww External Milestone Progress Ma Proje
32. January 28 2008 we were able to get both ultrasonic range finders to work together on the same bus by assigning different addresses to them using Due to the needs of the fork tilt servo to turn whole 18078 we had to change the mode of the servo controller from 90 s to 180 We were able to get the forklift to navigate along a straight line again using the new servo controller mode on January 31 2008 The tilt sensor was installed and working on February 4 2008 Although we assigned specific tasks to each member it was completed with the help of the whole team On Monday March 3 we started working on the wireless Zigbee We achieved communication between the two Zigbee on March 5 including the finalized boards for it Progress Report number 1 was turned in on time on March 27 2008 This included the prologue and the first chapter Automatic Forklift System 11 Josh Mai and started working on the finalized steering algorithm to follow the line on Friday March 14 2008 This included how to turn in the intersections and how to place markers on the floor so the forklift can do what we wanted it to do This was finally dropped on Sunday April 6 2008 In doing so we started rebuilding the whole steering structure in 2 days This was finished on Tuesday April 8 2008 This new steering method made the forklifts maneuverability as a real forklift rather than the steering as a cheap RC car After this we diligently began work on
33. This LCD has 16 pins the function for each pin 1s given below See Table 6 The last two pins 15 and 16 are for background lighting and are not used in this project Vss Vss and Vcc are connected to ground and 45V respectively The LCD has potentiometer connected to the Vgg pin Pin 3 and 5V for the user to change the contrast of the LCD Automatic Forklift System 18 RS register select The register select pin 1s connected to Pin 3 of the PIC The LCD contains two registers one for the instruction command code and the other 1s the data register The RS pin is used to select the desired register When RS 0 the command register is selected which allows the user to send an LCD command code such as clear display LCD command codes are the instructions use to configure the LCD setting See Table 7 When RS 1 the data register is selected which allows the user to send data to be displayed on the LCD R W read write The R W pin 15 connected to Pin 5 of the PIC It allows the user to write or read information from the LCD When R W 1 the user can read from the LCD When R W 0 the user can write data to the LCD to be display E enable This pin 15 connected to Pin 4 of the PIC and is used to latch the data sent to the data pins of the LCD A high to low pulse with a minimum of 450 nanosecond pulse width 15 needed to latch the present data at the data pins B7 B0 data pins 7 0 are the data pins and are
34. Turning algorithm intersection layout finalized Progress Report 2 Midterm Prototype Preview Forklift locates pallet picks it up and reverses out Progress Report 3 All programs are integrated and hardware finished 0 days 3 days 2 days 1 day 3 days 4 days 3 days 6 days 0 days 0 days 50 days 10 days 0 days 16 days 2 days 5 days 1 day 1 day 0 days 0 days 2 days 0 days 4 days Page 3 Start Wed 1 16 08 Thu 1 17 08 Fri 1 25 08 Mon 1 28 08 Tue 1 29 08 Wed 1 30 08 Mon 2 4 08 Wed 1 30 08 Wed 2 13 08 Wed 2 20 08 Mon 3 3 08 Mon 3 3 08 Thu 3 27 08 Fri 3 14 08 Mon 4 7 08 Mon 4 7 08 Fri 4 11 08 Mon 4 14 08 Thu 4 17 08 Thu 4 24 08 Fri 4 25 08 Thu 5 1 08 Mon 5 5 08 Finish Wed 1 16 08 Sat 1 19 08 Sat 1 26 08 Mon 1 28 08 Thu 1 31 08 Mon 2 4 08 Wed 2 6 08 Wed 2 6 08 Wed 2 13 08 Wed 2 20 08 Thu 5 8 08 Fri 3 14 08 Thu 3 27 08 Sun 4 6 08 Tue 4 8 08 Fri 4 11 08 Fri 4 11 08 Mon 4 14 08 Thu 4 17 08 Thu 4 24 08 Sat 4 26 08 Thu 5 1 08 Thu 5 8 08 Predecessors 72 73 74 69 70 70 76 77 73 86 Resource Names Nick Mai Josh Josh Mai Josh Mai Mai Josh Josh Mai Nick Josh Mai Nick Josh Mai Nick Josh Mai 5 07 1422 07 Jul29 07 ug 12 07 ug 19 07 9 w 2 wire ST 5 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 EL EL EL EL EL EL EL EL EL EL EL EL EL EL EL EL EL EL EL EL
35. We built a 1 6 scale prototype of a single AFS This model takes pallets to and from the docking area and different aisles The user chooses what they want the forklift to do by way of the hand held user interface The commands from the user are sent wirelessly to the forklift It then drives itself along predetermined paths picks up the pallet and brings 1t to the desired location When finished it returns home where it awaits another command 1s the aisle were the forklift parks while waiting for commands on a full scale electric forklift this would also be where it pulls into its charger For safety purposes the forklift is equipped with a tilt sensor a wireless camera front and rear proximity sensors and emergency shut off buttons The tilt sensor detects 1f the forklift tips over if this happens the forklift stops and tells the user via the user control that the forklift has tipped over Once the forklift has been righted the user may then choose to proceed or go back home The front and rear proximity sensors detect 1f an object 1s n the path of the forklift 1f this happens the forklift stops and the user control asks the user if it 15 safe to proceed The user may check the video feed that shows the area immediately in front of the forklift and determine if the area 1s clear Emergency shutoff buttons are located on three sides of the forklift in case all other safety options fail someone can push one of the but
36. connected to Pin 40 Pin 33 of the respectively These pins may be configured as input or output data pins Table 6 Pin Descriptions for LCD 1 Vs 2 __ 45 0 3 Power Supply to Control Contrast 4 RS I RS 0 to Select Command Register RS 1 to Select Data Register R W 1 For Read 6 10 718010 20220 8 IBI 10 9 10 13 B6 10 DatBit Automatic Forklift System 19 Table 7 LCD Command Codes 6 Increment Cursor shift cursor to right _ F 4 18 1 38 Force Cursor to Beginning 2 Line 2 Lines and 5x7 Matrix The input pins to the Keypad are connected to the output pins of the PIC pins 21 to 24 The output pins of the Keypad are connected to the input pins of the PIC pins 15 to 18 through 330 ohm resistors See Figure 11 Force Cursor to Beginning of Line 1 2 3 R1 4 5 6 d R2 7 8 9 Menu 4 R3 Clear Enter 4 R4 330 330 330 330 C1 C2 C3 C4 v v v v Figure 12 Keypad
37. following the lines in straight line navigation We finalized this new type of navigation on Friday April 11 2008 Since out way of navigating evolved we needed to move the IR sensors to a more strategic location so that we get correct readings and finished it in day Friday April 11 2008 We composed our turning algorithm and the finalized the intersection layout on April 14 2008 Progress report number 2 was turned in on time on April 17 2008 We presented our updated on the forklift to Dr Armulescu as our midterm for our class This was done on Thursday April 24 2008 On Friday April 25 2008 we started creating the algorithm to make the forklift locate pick and place pallets We finished this on Saturday April 26 2008 Progress Report number 3 was turned in on time on May 1 2008 All the algorithms were finally integrated to one program on Thursday May 8 2008 It took 4 days to debug the integration of all of these From May 9 2008 until May 21 2008 we added more options to the software and add a buzzer for the user interface We worked on the finalized report and turned it in on May 22 2008 We worked on the presentation from Wednesday May 14 to Tuesday May 27 2008 HARDWARE DESIGN Automatic Forklift System 12 3 1 MECHANICAL DESIGN The Automatic Forklift System AFS utilizes several motors infrared sensors and ultrasonic range finders The motors are used for the basic ope
38. input state PIN CO read the side button on fork if pushbuttonR true check to see if pallet is completely on the forks before it is pick up stop bare delay ms L00 7 tilt Back 7 status 0 else status 0 Slow StrargHti s goto Loops else goto loop4 j void reverse void To go forward the two front IR sensors are used Read front two sensors center right input state PIN D5 5 sensor center left npur state PIN 96 check front sensors state and apply corrective actions if center eri m rus Center rligHt true if status 1 right mobtor 0m01 0x0Eb 6B delay ms 20 left motor 0x00 0x70 5 y 95 status 1 it Center left rfalse amp amp center rrght true if status 2 rxghtomotor 0x00 0x7E j delay ms 20 left motor 0x00 0x70 Status 2 S C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test Ilefrt etru e eve center rrguts ralse if status 3 right mobtor 0x01 0x0b 6B delay ms 20 left motor 0x00 Ox F j status 3 sensors go OFf the white line the forklift will ery 50 Ting The LI Jame again turning in the direction of the sensor that last Seen the line The positions of the sensors are stored in memory If both sensors see the line and both go off the line simultaneously then the forklift
39. o 1 Date Thu 5 29 08 Split 1137113392727 2123 Summary ym External Milestone lt gt Progress Project Summary u Deadline Project 5 8 08 7 07 Oct14 07 Oct 21 07 Oct 28 07 Nov 11 07 Nov 18 07 TIWITIFIS S M TIWITIFIS simi TIWITIFIS S M IT WITIFIS S MI T WI TTFTS S Task Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 split 22220202000 Summary qug Fa Milestone Progress Ma Project Summary ger Deadline rrr 2 ERR Dec 16 07 Dec 23 07 Dec 30 07 Task Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 ww External Milestone Progress Ma Project Summary Deadline ___________ 25 07 Dec2 07 Dec9 07 16 7 Dec 23 07 Dec 30 07 WITIFIS SIMITIWITIFIS S M T IWITIFIS S MITIWITIFIS S S MITIWIT Milestone External Tasks 1 Date Thu 5 29 08 ww External Milestone Progress Ma Project Summary Deadline Project 5 8 08 25 07 Dec 2 07 Dec 9 07 Dec 16 07 Dec 23 07 Dec 30 07 n Ia Task a Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 Split External Milestone Progress Ma Project Summary uU Deadline 6 08 Jan 13 08 Jan 20 08
40. override for the user to manually operate the forklift for special cases In the future the system could be able to operate multiple forklifts at any given time by adding to the software algorithms Laser navigation could be incorporated to eliminate the need of lines on the warehouse floor To implement these enhancements a microprocessor with capabilities greater than the PICISFA52 would be needed for higher order applications CHAPTER TWO ECONOMIC ANALYSIS Automatic Forklift System 3 2 1 MARKET ANALYSIS There are at least handful of companies that currently offer Automatic Guided Vehicle forklifts The majority of AGVs utilize laser guidance or magnetic guidance systems At first we planned on using magnetic disk navigation but due to the limitations in the magnetic sensors encountered in the early testing stages we decided to go with an IR sensor navigation configuration instead This will allow for a more reliable and accurate navigation system given our time and resources These other companies also offer manual control of their AGV At the moment we are not planning on incorporating a manual control into our forklift All companies including ours offer safety options such as laser or mechanical bumpers that stop the AGV should something get in the way Although this market has been well developed by multiple companies we believe that we can duplicate this technology with limited means and offer it at a more affordable
41. perpendicular to the line This defeat the purpose of following a line EF mus Ehe will ITP Center rrghtseralse center switch status Case case 2 right motor 0x00 Ox7F Stop right motor delay ms 20 left motor 0x00 0x70 break Case 33 FIORE mouor 40501 020E 7 delay ms 20 left motor 0x007 Slow down left motor break end switch statement Arend ar Statement void slow strasghtivoxd To go forward the two front IR sensors are used Read front two sensors Front LSfE 1nput SstitetPIN A9 7 front state PIN A4 check front sensors state apply corrective actions IIPUODBEODL l1eft true ront righe rus if status 111 right motor 0x00 905 78 6B delay ms 20 left motor 0x01 0x09 7 772507595 status 1 IP front lercr false Iront rrght tr ue if status 2 20 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test mobtors ox00 0x7TR 7 delay ms 20 left motor 0x01 0x06 status 2 If ifront lefrt ctrue front righct false if status 3 right motor 0 00 0 78 6B delay ms 20 left motor 0x00 OxTEJ status 3 Doch Sensors Go Sfr The white lines the Torkiift wili try to Eine the line again by turning in the direction of the sens
42. price as seen by Table 1 Table 1 Market Analysis FMC Technologies Transbotics savant www fmesgvs com www transbotics com www agvsystems com Technologies Navigation Magnet Floor Tape Infra Red System Company Manual Control Safety 050000 WgGIIFP gt S S ETE 000 Automatic Forklift System 4 2 2 0 BUDGET ANALYSIS Our total spending for materials and labor for this project 1s 89 152 61 using a scale model forklift We have spent a grand total of 922 25 See Table 3 on materials compared to our budget estimation of 634 72 See Table 2 As of today 2008 we have spent approximately 287 53 over budget In our budget estimation we did not factor in shipping and handling of component parts This accounts for some of our overspending alongside expenditures for parts that were not used in the final product after some trial and error Office supplies are also not included in the estimation The total labor cost to employ a hardware and software engineer as well as a project manager for this project was 88 230 36 The materials make up 1 of the budget while labor makes up the remaining 9990 of the budget See Figure 1 Labor vs Material Cost 1 Labor Cost Material Cost 99 Figure 1 Labor vs Material Cost Pie Chart Automatic Forklift System 5 2 2 1 MATERIALS Estimation of material cost See Table 2 1s based on Jameco and SparkFun prices
43. sensor If the voltage is between 3 5 V this is good If lower voltage is shown then sensor is broken Replace sensor Place a black mat under the sensor Check the voltage if it is above 3V then the senor is broken Replace sensors If voltages for the sensor are correct check 2 for repairs on comparator board Tilt sensor is not working 1 IR sensor is damaged l Check 4 2 IR sensor comparator 2 Check 4 board is not working 3 Bend the sensors to the proper 3 IR sensor is direction toward the floor positioned incorrectly 4 Turn the potentiometer on the 4 sensor is not comparator board until the calibrated LED light turns on allet sensor is not 1 Button 15 1 Check to see if the button is Make sure the power to the orking properly or disconnected connected to the motors is off Turn on the doesn t recognize the 2 Button is damaged microcontroller power to the microcontroller pallet is all the way in the 3 Wire has a short 2 Test the button If damaged Check the voltage input of the Automatic Forklift System 69 4 Button 15 position replace button fork button If 5V then power improperly 3 Test the continuity of the is working correctly If not wires If there is a short hen the input is damaged Replace the wire Check the output of the button Run the forklift with a dummy should be present when the pallet of a typical load If it button is not pressed 5V still does not stop then
44. stcrue numbert break 160 range Tinderi turn around numbert break Gase Li rright sensor 1npur state PIN pay IT Er She Stop delay ms 100 numbert status 0 else Gase 183 range T Ender llert sensor input Stace phili DT un lett Sensor crfue stop numbert else C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test reverse break case 19 stop 55155 ug choice 0 prog break Goto LOGOL else if choice 0x32 loopobst if home 1 SCout goto hm rright sensor input state PIN D4 check for intersection sensor input state PIN 97 PfOorrrght sensor true es sensob true number t t start from home to pick up pallet from dock area and place it on aisle3 The go to home switch number case 1 range frnderf break Case 2f break Gase si Lange finder checkt SENSOr I1NPUL st Dei DIM rss T trn putes delay ms 100 else Straight 3 break 42 pallet detect break Case SF Lange Linder Seraiche break case 6 straight number break C Documents and Settings Joshua Desktop senior projectNEETA404NFinal Software Program test case 7 range finderf
45. the should be present when the button needs to be moved button is pressed Check again until it detects the pallet REFERENCES REFERENCES Big Joe California North Inc Products Retrieved October 3 2007 from http www bigjoelift com html products elecsitdown html Digi Key com 2007 Retrieved October 2 2007 from http us digikey com scripts DkSearch dksus dll Detail name CH396 ND FMCTechnologies 2005 Retrieved September 6 2007 from http www fmcsgvs com Jameco Electronics 2007 Retrieved September 8 2007 from http www jameco com webapp wcs stores servlet StoreCatalogDisplay storeId 10001 amp catalogId 10001 amp langId 1 Savant automation 2007 Retrieved September 6 2007 from http www agvsystems com SparkFun Electronics 2005 Retrieved September 7 2007 from http www sparkfun com commerce categories php TRANSBOTICS 2007 September 21 Retrieved September 6 2007 from http www transbotics com U S Department of Labor Bureau of Labor Statistics 2007 October 4 Occupational Outlook Handbook Retrieved September 7 2007 from http www bls gov oco WWW ALLDATASHEET COM 2007 Retrieved September 8 2007 from http www alldatasheet com APPENDIX A 2 5 JI _ O N N N N A O N 6 O C A E N N
46. the underside of the forklift Then turn on the power to the sensors and PIC of the forklift via the switch on the side Operation When the first turned on you will see screen which gives you two choices 1 Pick up from Docks and 72 Place to Docks Make your choice by pressing the corresponding number on the key pad or by using the up and down arrows to highlight your choice then press enter The screen will now ask you to confirm your choice Choose 1 Yes to confirm and continue to the next screen Choose 72 No to return to the previous screen if you made the wrong choice initially If you chose 1 Yes the screen will now ask you to enter the aisle number you wish to bring the pallet to or take the pallet from When you are done press Enter The screen will again ask you to confirm you decision Choose 2 No if you entered the wrong aisle number and the screen will ask you to enter the aisle number again Choose 1 Yes to transmit the instructions to the forklift so t can carry out the desired process While the forklift 1s operating the screen will display Operating until the forklift 1s done and has returned home at which time the first screen will reappear At any time during operation you may hit the Help button to stop the forklift The screen will allow you to choose to continue or to return home If you wish for the forklift to continue doing what it was doing choose 1 Continue Choose 2
47. 0 07 Wed 10 17 07 Wed 2 20 08 Mon 11 5 07 Mon 11 5 07 Mon 11 12 07 Wed 11 7 07 Wed 11 28 07 Sat 12 1 07 Tue 12 4 07 Wed 12 5 07 Fri 12 7 07 Wed 12 12 07 Tue 12 18 07 Thu 1 17 08 Tue 1 15 08 Predecessors 35 35 35 35 35 35 35 35 37 38 39 40 41 42 43 44 45 45 45 45 45 45 45 45 45 02 53 54 55 56 57 58 58 60 62 63 64 63 65 58 64 64 68 67 66 70 Resource Names Mai Mai Nick Josh Josh Mai Nick Josh Mai Mai Nick Josh Josh Mai Nick Mai Nick Josh Josh Mai Nick Josh Mai Nick Josh Mai Josh Nick Mai Josh Mai Nick Josh Mai Nick Josh Mai Nick Josh Josh Nick Josh Mai Nick Josh Nick Josh Mai Josh Mai Nick Josh Nick Josh Mai Mai Nick Josh Mai Josh Nick Mai Josh Nick N N Cal CAI CAN CE C C C A G G E E IF P co Progress Report 3 Wireless and Rangers working separately Wireless Modem not working in Project Both Rangers working on same bus Mode changed in servo control and Forklift follow line Tilt sensor is installed and working Tilt sensor straight track range finder working Rough Draft Final Draft Presentation Semester 3 Zigbee wireless working Progress Report 1 Steering Algorithm Rebuilt Steering Forward straight line navigation finalized Reconfigured navigation IR sensors
48. 0 2 2KQ 330 22KQ 22 0 330 10KQ 10KQ e Ll 100nF 6 a Vin Forward sen pH G 10KO e ut 22 0 AN 220 e e e 10KQ re gd Vin Reverse Vs 6 N N AN NN Gnd e e e e 9 Figure 13 Forklift Hardware Circuit Diagram Automatic Forklift System 21 There are two power sources in the forklift One 15 the 7 2V battery that powers a DC motor and three servo motors The other battery is a 9 6V battery that powers two 5V regulators which in turn supplies power to the PIC various sensors and the wireless The IR boards are connected to power and ground through one of the 5V regulators The outputs of the board are connected to input pins on the PIC Inside an IR board there 1s an IR LED and an IR photo transistor The IR LED has an 1800 resistor so the LED 1s supplied with the correct current and voltage The calculation used to get this resistance 15 Ohm s Law V I R since we are applying 5V and the LED requires an average voltage 1 4V we expand the equation V Vi I R Also the LED requires an average of 20mA We get this equation for R R V ViylI 5 1 4 02 1800 10MO resistor is connected to one of the inputs of the transistor to dissipate voltage to keep from getting false readings The other input of the transistor 1s connected to a potentiometer so that the IR can be calibrated to the desired voltage The output of the comparator has
49. 1t detects the first line of the intersection lt 10 10 gt Figure 8 Intersection Automatic Forklift System 15 3 2 ELECTRICAL DESIGN When the operator enters a command the wireless Zigbee in the user control will send a signal to the wireless Zigbee in the forklift which will be inputted into the PIC microcontroller See Figures 9 11 13 Depending on the commands the PIC will drive to the desired location Predetermined paths will be laid out with white lines on the floor so the AFS can follow the lines and decide which path to take depending on the command given When the perimeter sensors detect an obstacle in the path of the AFS while it is operating the PIC stops the movement of the AFS until the obstacle 1s removed or the safety 1s manually overridden telling the AFS it 1s safe to proceed When the task 1s completed the AFS will return to its staging area to wait for a new command With regard to safety there will be several large pushbuttons that will disable the motors when pushed and stay that way until the button 1s pushed again A LED light located beside the button will light up to show that this button has been pushed This emergency shutdown will be an emergency shut of switch that will physically disconnect power to the motors should all other safety precautions fail An onboard camera will allow the user to see what the forklift sees so that decisions regarding troubleshooting or sa
50. 2 is pressed call key table to deal with key press row send value 11 to make row3 low output ROW3 answer input c read inputs from keypad answer answer amp OxOF if answer 0x0F check for key press key table array3 answer row 711 any key from row3 is pressed call key table to deal with key press output d 9x07 send value 7 to make row4 low answer input c read input from keypad answer answer amp OxOF if answer 0x0F amp amp screen number 1 6 check for keypress and screen numb arrows answer arrows Eurnctuaon C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test to display individual character on LCD VOLO out 1 DI send out character portb output high PIN Al 5 1 to select data register output high PIN A2 send high to output Low PIN A2 low pulse delay ms 50 if counter lt 2 counter keeps track of number of time key press in aiste number Counter 17 kuser inpu t screen irf less than 3 times stot character pressed in array aisle number Counter hts increment counter function to look up key pressed vorid key table ohar array Int Columns value ne Ton T array index int key 0 key holds the number zero of keypad if columns value 14 5 i 0 index is zero if 14 Pre
51. 35 2 Forklift cont Continuous Rotation Servo Motors Intersection Detectors IR Sensors Reverse Navigation Sensors IR Sensors Tilt Sensor IR Sensors Forward Navigation Sensors IR Sensors On Off Switch For Power to Motors On Off Switch On Side For Power to PIC and Sensors Battery Compartment 7 2V Automatic Forklift System 58 u Automatic Forklift System 59 Figure 36 User Interface On Off Switch On Side Antenna Wireless Zigbee LCD Keypad Battery Compartment 9V On Back Automatic Forklift System 60 INTERSECTION LAYOUT The lines that the forklift follows are gt wide Each intersection should consist of a 10 X 10 square See Figure 36 The forklift detects the presence of the intersection by way of the side IR sensors If the forklift needs to turn at that intersection 1t will do so at the instant 1t detects the first line of the intersection 10 10 gt Figure 37 Intersection Automatic Forklift System 61 OVERALL ELECTRONIC COMPONENTS LAYOUT Figure 38 H Bridge Automatic Forklift System 62 Automatic Forklift System 63 Figure 40 Ultrasonic Board connection to PIC Automatic Forklift System 64 99099909009 264099690600 Automatic Forklift System 65 Figure 42 IR Comparator Board Automatic Forklift System 66 HOINOSOH HW O000 OC E 7
52. Home if you want the forklift to abort it s current operation and return home If at anytime during operation an object or person gets in the way or the forklift tips over the forklift will stop and the screen will give you the option to continue or go home Before choosing 71 Continue check the live video feed to ensure that the forklift has been up righted and or the object has been removed from its path Automatic Forklift System 54 ELECTRONIC SYSTEM DESIGN FOR FLUFFY BUNNY 3000 LCD 5V Regulator 9V battery PIC EN 3 3V Regulator Keypad Transceiver Figure 31 User Interface Hardware Block Diagram 3 3V Regulator 4 Regulator Transceiver 9 6V Battery Fork Tilt Regulator Servo Motor N Line Continuous Servo 4 4 Sensors Servo Motor Motor Driver PIC j gt Perimeter Continuous EM Gems Servo Motor 4 Fork Fork Motor H Bridge Sensors 7 2 Battery
53. JNM Technologies Fluffy Bunny 3000 Series Automatic Forklift 5 29 2008 DEVRY UNIVERSITY FREMONT ELECTRONICS ENGINEERING TECHNOLOGY PROGRAM AUTOMATIC FORKLIFI SYSTEM Prepared by PROJECT MANAGER ID NICHOLAS LARSEN D02051830 HARDWARE ENGINEER ID JOSHUA QUINTERO 002113148 SOFTWARE ENGINEER ID MAI ZOUA VANG D02142100 Prepared for TECHNICAL ADVISOR DR DUMITRU M ARMULESCU GENERAL ED ADVISOR PROF KIM MAHLER March 22 2008 Automatic Forklift System DEVRY UNIVERSITY FREMONT ELECTRONICS ENGINEERING TECHNOLOGY PROGRAM EET 404 FINAL REPORT EVALUATION SHEET PROJECT MANAGER NICHOLAS LARSEN D02051830 HARDWARE ENGINEER JOSHUA QUINTERO D02113148 SOFTWARE ENGINEER MAI ZOUA VANG D02142100 PROJECT TITLE AUTOMATIC FORKLIFT SYSTEM GRADING CRITERIA OUT OF MAXIMUM MARKS STYLE ORGANIZATION CLARITY I SPELLING GRAMMAR CONCISENESS ida a T s DATE GENERAL ED ADVISOR NAME Professor Kim Mahler GENERAL ED ADVISOR SIGNATURE Automatic Forklift System 11 AUTHORS DECLARATION We hereby declare that we are the sole authors of this senior technical project We also authorize DeVry University Fremont to lend this project to other institutions or individuals for the purpose of scholarly research We further authorize DeVry University Fremont to reproduce this project by photocopying or by other means in total or parts at the request of
54. Nick started working on the Appendix while Josh updated the Gantt chart We finished the report on Wednesday October 3 2007 and turned it In to Professor Kim Mahler and Professor Armulescu We met with Kim Mahler on Monday October 8 2007 to discuss our power point and final draft The final draft was due on Wednesday October 10 2007 The last milestone for that semester was the EET 400 presentation on October 17 2007 On November 5 2007 Josh and Mai finished the H bridges that we designed and built to drive the DC motors The forklift was purchased that same day On November 12 2007 we received the remote control forklift we ordered and after playing with it to see how it worked as is we immediately started tearing it apart to make room for our modifications On November 7 2007 we tested the hall effect sensors and realized that they would have to be too close to the magnets to be practical Nick built a platform that would get the sensors closer to the floor but we soon decided that IR sensors would be more practical and scrapped the dea of using the magnets On November 28 2007 we made necessary changes to and submitted progress report 1 On December 1 2007 we finally got the programming for the servo motors working Nick and Josh installed the rear servo motor that steers the forklift Automatic Forklift System 10 On December 4 2007 IT IS ALIVE With the servo motor installed and a simple program written to
55. ad Pressed Yes Yes Yes Choice 1 gt Screen Is On Screen 1 Is On Screen 2 Is On Screen 4 Is On Screen 5 No Screen_number 2 Keypress 0 Is 2 On Keypad Pressed Cursor 2 Choice 2 Screen Screen number 2 creen S Cursor 2 Screen Figure 19 1 Function Key table Is Column2 Pressed Is Column3 Pressed Is Clear Key Pressed No Is 0 Key Pressed Help Button Pressed Is in Screen3 amp Key Pressed Less Than 3 Times of Automatic Forklift System 33 i l Clear Display and Display Yes gt 5 gt User s Input Prompt No gt Is in Screen3 amp Key Out LCD Pressed Less Than 3 Yes gt Display 0 Times No Screen number 5 Yes 1x3 No gt Out LCD Display Character 1 0 lt Figure 19 2 Function Key table cont Automatic Forklift System 34 Cursor_position Is On Screen 1 Yes Set Beginning T Is Up Arrow Key Menu Pressed Curs
56. ange Tinderi void int lightsensor 0 int rangehigh 0 int rangelow 0 checking 0 send start sequence kr SRFO2 I2C address with R W bit clear 12 amp 0500 SRF02 command register address 0x50 7 command to start ranging in inch 120 Stop 7 send stop sequence Lh Starte 126 tx 0 delay ms 70 read the light sensor value from register 1 and the range result from zegisters 2 3 125 starte send start sequence 128 SRE02 12C address with bit clear 5009501 5 SRF02 light sensor register address send a restart sequence 120 SRFO2 I2C address with R W bit set l 2ghtsens r 12 C fx0 3 get light sensor and send acknowledge internal register address will increment automati rangehigh get the high byte of the range and send acknowledg rangelow i2c_rx 0 get low byte of the range note we don t acknowledge the last byte LAC STOD II if rangelow 28 amp amp rangelow gt 7 stop E0 stop the motors status 0 2 if checking 2 7 else GOCO Qe void lett int msbb Int lsbb pute 0x80 B synchronization Puce 0x01 COM B device ID 8 servos 0x01 14 C Documents and Settings Joshua Desktop senior projectNEETA404NFinal Software Program test COM command 3 set position 8bits P
57. antt Chart Hardware Software Formatting Report Sent In Final Presentation Semester 2 Purchased Forklift Completed H Bridges Received Forklift Tested Hall Effect Sensors Progress Report 1 Program for Servo Motor Completed Forklift Started Running New Navigation Planned Meet English Advisor Progress Report 2 Forklift follows straight line IR boards built and installed Meet English Advisor Duration 2 days 2 days 2 days 2 days 2 days 1 day 2 days 1 day 0 days 5 days 3 days 3 days 4 days 1 day 3 days 2 days 2 days 2 days 2 days 1 day 0 days 0 days 83 days 1 day 2 days 1 day 1 day 0 days 4 days 1 day 24 days 1 day 0 days 3 days 9 days 1 day Page 2 Start Mon 10 1 07 Tue 10 2 07 Tue 10 2 07 Tue 10 2 07 Tue 10 2 07 Tue 10 2 07 Tue 10 2 07 Tue 10 2 07 Wed 10 3 07 Thu 10 4 07 Thu 10 4 07 Fri 10 5 07 Fri 10 5 07 Mon 10 8 07 Mon 10 8 07 Mon 10 8 07 Tue 10 9 07 Tue 10 9 07 Tue 10 9 07 Wed 10 10 07 Wed 10 10 07 Wed 10 17 07 Sat 11 3 07 Mon 11 5 07 Sat 11 3 07 Mon 11 12 07 Wed 11 7 07 Wed 11 28 07 Wed 11 28 07 Tue 12 4 07 Wed 11 7 07 Fri 12 7 07 Wed 12 12 07 Fri 12 14 07 Mon 1 7 08 Tue 1 15 08 Finish Tue 10 2 07 Wed 10 3 07 Wed 10 3 07 Wed 10 3 07 Wed 10 3 07 Tue 10 2 07 Wed 10 3 07 Tue 10 2 07 Wed 10 3 07 Wed 10 10 07 Mon 10 8 07 Tue 10 9 07 Wed 10 10 07 Mon 10 8 07 Wed 10 10 07 Tue 10 9 07 Wed 10 10 07 Wed 10 10 07 Wed 10 10 07 Wed 10 10 07 Wed 10 1
58. ct Summary Deadline Feb 17 08 Feb 24 08 Mar 16 08 Mar 23 08 STWITIWITIFIS S MITIWITIFIS SIM TIWITIFIS 8 MT TWITIF IS S ML TIWIT EIS SIMITIWITIF S STM Task Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 Split 22222000002 Summary qug Milestone Progress Ma Project Summary gr Deadline Feb 17 08 Feb 24 08 Mar 16 08 Mar 23 08 STWITIWITIFIS S MITIWITIFIS SIM TIWITIFIS SIM T TWITIE S S MI TIWITTETS S MI T WITTETS STM e 2 20 3 27 Task Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 qu External Milestone Progress Project Summary Deadline 08 13 08 20 Apr 27 08 May4 08 11 08 FIS SIM TWIT EIS Task Milestone External Tasks Project 5 8 08 Date Thu 5 29 08 Spl ww External Milestone Progress Ma Project Summary Deadline Apr6 0080 13 08 20 Apr 27 08 May4 08 11 08 HIWITIETIS S MITIWITIFIS sim TIWITIFIS S M TIWITIFIS S MITIWITIFIS SIMI T TWITIETS S MI T TW Task Milestone External Tasks Project 5 8 08 Date Thu 5 29 08 Split 22222000002 Summary qug Milestone Progress Project Summary gr Deadline Apr6 0080
59. cter 1s display to keep track of the number of keys pressed See Figure 23 The character 1s stored in an array called aisle number for later use After the Out LCD function displays each character the pointer returns to the main program to check for another key press The user can also press the Clear button to clear all the number s entered When the Clear button 15 pressed the Key table function calls the Clear function to clear the whole LCD display the original message in screen 3 See Figure 24 Once the keypad has been pressed three times any additional key presses will not be displayed To move on to the next step the enter key must be pressed Screen 4 In this screen the user 1s asked to verify his inputs from screen 3 Once the enter key has been pressed in screen 3 the Check keys function calls the Arrow function to execute the actions corresponded to the enter key The Arrow function calls the Screen function which calls the out LCD string function to display the characters stored in the array aisle number The pointer returns to the main program to check for any key press If the user presses 2 this means that the aisle number entered 15 wrong The Key table function calls the Screen function to take the user back to screen 3 to re enter the aisle number Screen 5 If the user presses 1 this means that the aisle number entered in screen 3 1s the correct aisle to pull the pallet from or place the pall
60. d over Is PIN 4 0 Yes Stop forklift Status 0 No Let user know forklift is tilted over by sending 4 No Received confirmation from ser interface Yes Y c of wem e Figure 27 Function Tilt Check Initialize variables h Read and store the status of forks by reading the switch on bottom of fork Is forks at its lowest position Yes v Stop lowering down forks c of Lower down the forks Figure 28 Function Lower Fork Automatic Forklift System 47 Send a high to PIN DO to lift forks up 750 Send a low to PIN DO to stop forks motor of unten Figure 29 Function Lift Fork Automatic Forklift System 48 Automatic Forklift System 49 Send synchronization value 0x80 to servo controller Send servo ID 0x01 to servo controller Send command 3 Set Position to servo controller servo number 0x03 to servo controller position value to servo controller to set forks parallel to floor End of Function T N WW Figure 30 Function Set Neutral CHAPTER FIVE SERVICE MANUAL Automatic Forkli
61. d return home void status 0 if number 1 igor range finderb reverse to home position PLN D7 sensor ctrue pube CoD choice 0 else reverse gt Golo Lp else if choice 0x31 choice 0x32 if number number 4 dock else if choice 0x33 if number 5 number 6 aisle Best Burn else if choice 0x33 choice 0x34 if number 3 Intel 24 APPENDIX C
62. d turn around void Tnt 00111260 right motor 0x01 0 6 8 Il stop right motor delay ms 20 left motor 0 01 0x08 if count 0 front left input state PIN A5 front right input state PIN A4 Lt Prone lert erue Erone r ght true status 2 else count 3 goto 06912 1 Count goto loopl2 22 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test void time off void int tLmer 50 Leiner 2 5 seconde int time 0 cet Time rods while timer 0 time get timer0 if time 0 Set buyer Ijz timer void place pallet void trright sensorsrpnput state cPrN D4 straight Cilt forward delay ms 500 lower fork delay ms 500 status 0 void place reverse vord place bk4 range finderb reverset state PIN DT seusor true Jd delay ms 100 turn around else goto bk4 23 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test status 0 number void keypad stop void status 0 checking getc if checking 2 else if checking 7 home 1 else goto LPT voi
63. egree number tt break rright sensor input state PIN D4 LfiObrlghb sensorec true PIstrarghbten out Torklift delay ms 100 number tt status 0 j else range reverse to home position Lieft sensor input state PIN 07 Sensor trues4 stop number tt j else reverse break stop and wait for instruction putet Diy choice 0 goto z 10 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test Gore Loo po2 Goto Prog hms return home goto prog void i2c dly void VOLO 220 Start vord output hagh SDA AS ly C Output Nigh Sel output low SDA Doc CONV output LOW SCL s j VO Tel 122 Stop output low SDA EAC CO output hrgh 95CDb s 2 output z unsrgned char 126 1x Char ack char x d 0 int portc4 0 output For Re tr d lt lt 1 do porte Input state SCL 7 while portc4 0 Uy if input stace oDA 1 output low SCL if ack DE C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test output else output high SDA output 5 UAC Cs output low SCL output HIGH SDAN return d Incl 220 tX Uns toned C
64. et to The Check keys function will call Key table function which will call the Screen function The Screen function will call the Transmit function See Figure 25 In the Transmit function if the aisle number and Choice from screen does not match the preprogram aisle number and choice the out LCD string function will display the message Invalid Entry for a second The pointer will jump out of the Transmit function and go back to screen 3 The user will be asked to enter the aisle number again If the aisle number and Choice match the preprogrammed aisle number and menu choice value will be stored in the variable selection See Table 8 Table 8 Transmission Values Aisle Number The pointer exits from the Transmit function and returns to the Screen function From there the corresponding value 15 transmitted wirelessly via the wireless modem to the PIC on the forklift Automatic Forklift System 25 The Screen function will call the out LCD string function to display the message Transmitting to let the user know that the user interface 15 communicating with the forklift If the forklift does not transmit a value back to indicate that it has received the value transmitted by the user interface then the LCD will continue displaying Transmitting Screen 6 Once the forklift receives the value transmitted by the user interface it will transmit a confirmation to the user interface As soon as the user interface receive
65. f the forklift has been tilted over See Figure 27 If the forklift has not been tilted over the Lower Fork function 15 called to lower the forks to its lowest position See Figure 28 The Lift Fork function 15 called next to lift the forks up 1 5 inches from the ground See Figure 29 Finally the Set Neutral function 15 called to tilt the forks parallel to the ground See Figure 30 Once the forklift has initialized the position of the forks it 1s ready to receive instruction from the user interface When the forklift receives a value from the user interface at its RS232 port the Interrupt function 15 called to take the data The pointer jumps out of the Interrupt function back to the main program and compares the value received to several preprogrammed instructions If there is a match corresponding to the value sent then the instructions corresponding to the value will be executed Once the instructions are finished then it will wait for the next command from the user interface For details see code in Appendix B Y Initialize Variables Interrupt Initialize PIC Delay 700 ms Y Synchronize Forklift to User Interface Y Check for objects in way Y Tilt Check Lower Fork Lift Fork Automatic Forklift System Is instruction pick from dock amp place at aisle 2
66. fety can be made more effectively LCD 5 Regulator 9V battery PIC Regulator Transceiver Figure 9 User Interface Hardware Block Diagram Automatic Forklift System 16 3 3 Regulator N Transceiver d 5 Regulator 9 6V Battery 5V Regulator Servo lt lt Comparators im Motor Fork Tilt Servo Motor Continuous Servo Motor Driver PIC N Perimeter Continuous gt Sensors Servo Motor 4 Fork H Bridge Sensors 7 2V Battery Figure 10 Forklift Hardware Block Diagram Automatic Forklift System 17
67. ft System 50 Service Manual JNM Technologies Fluffy Bunny 3000 Series Automatic Forklift 5 29 2008 Automatic Forklift System 51 TABLE OF CONTENTS la A Ie M TEM 52 Operan TINS im c HOS die theca Fine een 53 Electronic System Design for Fluffy Bunny 3000 54 Overall Mechanical Components Layout n aei e n en Sa 57 OUU ee 60 Overall Electronic Components Layout ae a 61 Troublesh60109 os die a 68 Automatic Forklift System 52 HAZARDS Death or serious injury may occur Stay clear of moving forklift Do not service unless forklift is turned off and disabled Do not ride forklift Automatic Forklift System 53 OPERATING INSTRUCTIONS Please read the entire manual before using product In order to operate the Automatic Forklift System the navigation lines must be mapped on the floor properly and the forklift programmed to you specific application Please contact JNM Technologies for assistance Set Up and Turning On Place forklift 1n the Home aisle with both the front IR sensors above the navigation line Important Turn on the user interface FIRST After turning on the user interface turn on the power to the motors of the forklift via the switch on
68. ghtsensor 0 int rangehigh 0 int rangelow 0 checking 0 XC send start sequence 126 OREO 0 SRF02 I2C address with R W bit clear 120 SRF02 command register address 120 0250 command to start ranging inch LAC Sop yy send stop sequence delay 70 read the light sensor value from register 1 and the range result from 2 8 3 120 Stare send start sequence O TA OZELO SRF02 I2C address with R W bit clear SRF02 light sensor register address 120 send a restart sequence 126 SRF02 I2C address with R W bit set Lrghtsensorpr z20 get light sensor and send acknowledge internal register address will increment automati rangehagh a260 rs l1 7 get the high byte of the range and send acknowledg rangelow i2c rx 0 get low byte of the range note we don t acknowledge the last byte 12 STOPA if rangelow 28 amp amp rangelow gt 7 SKOP Stop the motors number ct t putet chk4 if checking 2 checking 7 PUEG CTS z else goto chk4 void pallet detect void pick paller 7 range finderb reverse Lo C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test llert sensor input seusor true turn around else goto bk4 status 0 number VOLO r
69. ground to let the PIC see logic levels Automatic Forklift System 22 The H Bridge board contains many transistors The smaller transistors control the larger Darlington pair transistors This 1s allows to control a large amount of current with a small signal When the forward pin 1s enabled it enables the PNP transistors to close allowing the motor to go forward When the reverse pins are enabled it enables the NPN transistors allowing the motor to go reverse The wireless Zigbee 1s powered by the 3 3V regulator It is connected to a virtual UART on the PIC in the forklift The PIC does not have 2 UART S so in code a 15 programmed into any desired pins For safety reasons there are manual shut off switches in the forklift This turns off the power supply to all the motors It is connected in series with the 7 2V batter If any of these switches are pushed it will turn off the motors Also when the button is turned off and LED 15 turned on to indicate that this button has been pressed CHAPTER FOUR SOFIWARE DESIGN Automatic Forklift System 23 4 1 USER INTERFACE Initialization Figure 14 shows the flowchart of the main program for the user interface When the PIC 15 turned on the PIC initializes with the proper configurations and Global variables are declared and initialized An interrupt function 1s declared and 15 called when any data 15 received by the RS232 port The main program then calls the Int LCD function to config
70. hat cd Ghar x State ant by FOr IB mc if d amp 0x80 output hagi SDA 7 else output low SDA Output Co d 1 output low SCL j output high SDA output Nigh och 129 p rnput State gt D2 7 output low SCL return void range trnderb voxd checking 0 send start sequence E SRF02 I2C address with R W bit clear 1206 0191 SRF02 command register address 126 0X50 7 command to start ranging inch Stop send stop sequence 120 Start 120 EXO REZ 0 delay ms 70 120 send start sequence 12 tX OxE2 SREO2 I2C address with R W bit clear 1260 ERORO SRF02 light sensor register address LAC Stave s send a restart sequence 1260 tx 0xE3 SRFO2 I2C address with R W bit set l eghtsens rl 12e get light sensor and send acknowledge internal register address will increment automati rangehighl i20 7x 1 get the high byte of the range and send acknowled rangelowl i2c_rx 0 get low byte of the range note we don t acknowledge the last byte if rangelow1 28 rangelowl gt 7 Stops JRL too che Motors status 0 pute 3 eH KG 12 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test if checking 2 7 goto void range finder int li
71. he Transmit function Screen 2 The Key table then calls the Screen function to determine what message to display next See Figure 21 1 21 2 The Screen function calls the Out LCD string to display the string that asks the user to verify the choice he has selected from screen 1 See Figure 22 The pointer then returns to the main program and calls the Check keys function to check for the user input The user can either presses 1 to indicate that the choice 1s correct or 2 to indicate that the choice 1s wrong If the user presses 2 on the keypad the Check keys function will call the Key table which will call the Menu function to display the choices given in screen 1 The user 1s now back at screen waiting for the user to make a selection Screen 3 If the user presses 1 on the keypad the Check keys function calls the Key table which calls the Screen function The Screen function calls Out LCD string to display the string Aisle This is where the user enters the aisle number he wishes to place or pick up the pallet The pointer returns to the main program to call Check keys Once a number has been pressed the Key table will look up the array element corresponding to the key press If the keypad has Automatic Forklift System 24 not been pressed more than three times Key table will call the Out LCD function to display and store the characters pressed In the Out LCD function a variable called counter 1s incremented each time a chara
72. heck for intersection sensoreriHnput State PIN DI LL sensor true sensor Ltrue numbert start from home to pick up pallet from aisle 2 and place it on dock Then go to home switch number case 1 range findert start from home Straight break case 2 turn 0x01 0x0A turn right toward aisle break case 3 range finderf Strarght Uy case 4 turn 0x01 0x0 12 turn into aisle 2 break Gase Dti Lange finder checkt llert sensor rnpub stare PIN 077 Rf ollettensosc truse Slop puteo s delay ms 100 else case 6 pallet detect pick pallet and turn around C Documents Case Case Case Case Case Case Case Case Case Case Case case 18 case 19 and Settings Joshua Desktop senior project EET404 Final Software Program test 10 113 123 bo 14 Toz 16 Stead Give break range Binder 7 SEI gms break Cur break range finderfi straight break turn left toward docking area pass thru intersection time off number break tange Eindert sensor cinpubt state PIN sensors true i Humbert check for empty dock are else Place reverse break range frinderr straighe break turn 0x01 break range frxnderf
73. k Keys delay 75 goto here void int LCD vord l output low PIN A2 enable pin output low PIN A3 R W 0 to select write mode C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test output low PIN Al RS 0 to select command register output 5 0 38 int LCD 2 lines 5x7 0 3 4 lines 0x38 2 lines output high PIN A2 send H pulse output A2 H to L pulse delay ms 1 output D 0x0E JIturn LED on cursor on output high PIN A2 output Low PIN A2 delay ms 1 output b 0x01 LCD output high PIN A2 output Low PIN A2 delay ms 1 output D 0x80 7 move cursor beginning of linel output high PIN A2 output Low PIN A2 delay ms 1 void Check Keys void int answer 0 int row s row OxOE send value 14 to make rowl low output d row ROW1 answer input c read inputs from keypad answer answer amp OxOF AND input with OxOF to get lower 4 bits if answer 0 0 check for key press key table arrayl answer row 1f any key from rowl is pressed call key table to deal with key press row send value 13 to make row2 low output d row ROW2 answer input c read inputs from keypad answer answer amp OxOF AND input with OxOF to get lower 4 bits if answer 0x0F check for key press key table array2 answer row if any key from row
74. le will call the Screen function to transmit a value to the forklift to let it know that the user wants the forklift to go back to the Home aisle The Screen function will call the Out LCD string function to display the corresponding messages to let the user know that the forklift 15 returning home and 15 operating The pointer returns back to the main program to check for key press If the forklift detects any object in the way or 1s tilted over it will send a signal to the user interface The Interrupt function in the user interface will be executed once it receives the transmitted signal The user will be asked to resume or go home The procedure for the choice selection works the same way as the Help button procedure Automatic Forklift System 26 Declare and Initialize Variables Interrupt Int LCD Check keys Figure 14 User Interface Automatic Forklift System 27 Send 0x00 to PortA E RAW RS Pins Send Command 2 Lines 5 7 Matrix to PortB Send Command LCD On Cursor On to PortB Send Command Clear LCD to PortB Send Command Move Cursor to Beginning of Line1 to PortB c of Figure 15 Function Int LCD m CC 4 Start di wy Checking 1 0 Y Checking1 Read from RS232 Po
75. lean on when the pallet 15 picked up This 15 used to detect when the forks are completely inserted into the pallet Ultrasonic range finders detect obstacles in the path of the AFS they are shown as perimeter sensors See Figures 3 5 Lastly the wireless Zigbees communicate between the forklift and the user control to send and receive instructions See Figure 5 Perimeter f Sensor Wireless Push Button Sensors IR Sensor Perimeter Sensor SideView Figure 5 AFS Sensor Location The forklift senses the pallet with the IR sensors located in the front of the forks See figure 6 The forklift could detect 1f there 15 another pallet on top of it by simply moving the forks up until the correct location 1s achieved If there IR sensors detect nothing then there 1s not a pallet on top of it Pallet SideView Figure 6 Fork Sensor Location 1 Automatic Forklift System 14 The forklift detects the pallet with the push button located on the plate See Figure 7 When the forklift lifts the load the push button on the forks are pushed Push Button Sensors Sensor Pallet SideView Figure 7 Fork Sensor Location 2 The lines that the forklift follows are gt wide Each intersection should consist of a 10 X 10 square See Figure 8 The forklift detects the presence of the intersection by way of the side IR sensors If the forklift needs to turn at that intersection 1t will do so at the instant
76. mmary ym External Milestone lt gt Deadline Project 5 8 08 Date Thu 5 29 08 Split Progress Aug26 00 7 Sep2 07 9 07 16 7 SISIMITIWITIFIS S M TIwWITIF S S M TIWITIFIS SM T Sep 23 07 Sep 30 07 Oct s M rIwITIFIs sIMITIwITIFIS S Task Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 External Milestone Progress a Project Summary Deadline __ Aug 26 07 2 07 9 907 Sep16 07 Sep 23 07 Sep 30 07 Oct 5 SIMITIWITIF S SIM TIWITIF S S MIT IWITIFIS SIMI T IWITTFIS SUM TIWITIF S SIMI TIWITIF S 9 Task Milestone External Tasks 1 Project 5 8 08 Date Thu 5 29 08 Split 22220202000 Summary qug Fa Milestone Progress Ma Project Summary ger Deadline 7 707 Octi 4 07 ct 21 07 28 07 Nov 11 07 Nov 18 07 WITIWITIFIS SIMITIWITIFIS S MITIWITIFIS S MITIWITIFIS SIM TIWITIFIS SIMITIWITIFIS SIMIT Task Milestone External Tasks o 1 Project 5 8 08 Date Thu 5 29 08 Spl ww External Milestone Progress Ma Project Summary Deadline 707 14 07 ct 21 07 28 07 Nov 11 07 Nov 18 07 fe TWIT ers is M TIWITIFIS S M TIWITIFTS S M TIWITIFIS SIM T IWITIFIS S MITIWITIFIS S Task n Milestone External Tasks
77. mum tilt back of the fork 108 1E BPOSLLION lt OXDE if position gt 0x7F position upper 0x01 position lower 0x F amp position position upper 0 position lower position pute 0x80 COM B synchronization pute 0x01 COM B device LD 8 Servos 0x01 pute t0x03 COM command 32 position 85168 pute 0x03 COM B servo number puto posrtrion uppery CcOM MSB puto posrriod maximum EILE D POSLELOH POSILLONFOXOFF delay ms 250 GOCO void tilt forward void LUC Post ron int position lower 0 Loopt if position 0x6B rE POSICION position upper 0x01 position lower 0x Fe poSTtlon position upper 0 position lower positron If Maximum tilt forward of the fork putc 0x80 COM fsynehronization pute 0x0l COM B device ID 8 servos 0x01 p te 0x03 COM B command 3z set posicion 8515 COM servo number PULC ELON Upper MSB putc position lower COM B J pus richt 6B posrtion cposrtron 5 delay ms 250 goto LO0PL27 16 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test void lower fork void Int Scabus 07 int Tork 9 keep lowering Status Input state PLN A2 lf the fo
78. nsor Board GND 7 14 Gnd 2 8 13 9 12 N 10 11 e GND N e 2 2 e Ne e 3 N 1 2 2K N Gnd N Vcc D M Servo Continuous Signal jumper anwar jumper Servo 0 e Gnd GND Mode SCL 5 Vcc Mode SCL 5 Vcc Vcc reset Servo 1 e e Servo Signal Ultrasonic Range Ultrasonic Range Serial Out Control Servo 2 2 Gnd Finder Finder Serial In Servo 3 Vcc Vin Servo 4 Servo Continuous Servo 5 6 Servo 7 Vin Forward 2 A 7 H Bridge lt Gnd 5 E 3 eec ern S ES2 7 2V IN Es1T 330 2 2 0 2 2 0 10 10 e w 100nF Vin Forward 2220 G S 330 10KQ 22KQ 10KQ PS N Vin Reverse w al Figure 34 Forklift Hardware Circuit Diagram I px Automatic Forklift System 57 OVERALL MECHANICAL COMPONENTS LAYOUT N 7 e 17 Figure 35 1 Forklift Front Proximity Sensor Sonic Ranger Rear Proximity Sensor Sonic Ranger Pallet Sensors IR Sensors Load Sensors Buttons Pallet Sensor Push Button Antenna Wireless Zigbee Limit Switch Emergency Manual Shut Off Both Sides and Back Video Camera ST Figure
79. nterface track adc2 h left motori rlnc msbb soc 1506 VOI Molton int xut Usb void Stopivoord VOX aie VOET int adctinc Channel tilt back vord VOLO forward void lower TZork vo19 7 VOLO Jett vord pick pallet vord void slow straight void void turninte amn turn around vord time orf vold range Finder check vord gt paller detect vord void place palleti vord place reverse vo1d void keypad stop void return home void parking void void dock void straight left v id aisle lane void VOLO DEW void ade void VOU qu OL yor 120 Stare Void VOLO 1260 ss ss ss X Unsigned char 12 rx char Intl 12 tx unsrgned char 8 range finder vord Void Zange Einderb youd void neutral void void reverse void int lightsensorl 0 int rangehighl 0 int 1 0 int status 0 AC I ONG Leitz ine int number 0 keep track of cross line ine sensor sensor 4 PIN El ine Tiere Sensor Sensor 8 PIN D7 int center right sensor 5 int center left sensor 6 int position 0x6B int keypad 0 int checking 0 int choice 0 int verify 0 int home 0
80. or e zum Rest GND 6 35_ IR Sensor Board he 9 6V 7 NL Gnd 8 33 e I e ee 32 Vout IR Sensor Board 10 31 o NI Gnd vh e 11 5 30 5 4 e e ih Vout IR Sensor Board i 13 28 mar 4 MHz L 14 A 5 25 Vout EN 16 25 IR Sensor Board 17 m 7 Fn sermo 78 2 an vn 19 22 IR Sensor Board o 20 apn AA N SV Vout IR Sensor Board o A Gnd 5v 4 IR Sensor Board Gnd nem 29 M 2l 19 _ FN 3 Tx 18 IR Sensor Board E ka 5 16 5 19 1086 XBEE 5 Vout IR Sensor Board GND _7 14 Gnd i 8 Ed 12 AN N e 2 2K e Me e 1 2 2K lan Gnd N ib 4 Servo Continuous Signal jumper jumper Servo 0 e Gnd GND Mode SCL 8 GND Mode SCL SCA Vcc t Servo 1 P Servo em 2 Signa Ultrasonic Range Ultrasonic Range Serial Out Control Servo 2 Gnd Finder Finder Serial In Servo 3 T servo 4 Aa Servo Continuous Gnd Servo 5 Servo 6 Servo 7 Vin Forwart 7 2V _ ni H Bridge a Vin Reverse L Gnd p dd 1 ES3 52 E e e e e ES1 9 45 222
81. or 1 Is the Menu Key Menu lt Yes Pressed No Cursor position Yes p Setto Beginning of Line2 Is Down Arrow Key Pressed Is the Enter Key Screen Yes Cursor 2 Figure 20 Function Arrow Automatic Forklift System 35 Clear Is On Screen 1 Is On Screen 2 Is On Screen 3 Is On Screen 4 1 E Eget Mes Menu NO User Input Verify Input Yes Yes Yes Yes Yes lt f TN Out LCD string Out LCD string Out LCD string 2 Verify Choice1 Ask For User Input Verify User Input UE Transmit No Y Y i Out LCD string Screen 3 Screen 4 Display Y Transmitting Screen Screen 2 Tx Value gt CUISSIEM 4 Corresponding to A Choice and Aisle Number No Funct 4 Yes Figure 21 1 Function Screen Automatic Forklift System 36 Yes Is On Screen 1 Out LCD string Is On Screen 5 Menu ad Verify Choice2 d is Operating No Yes Is On PS 2 Tx 9 Yes Y Tx 7 O
82. or that last seen the line The positions of the sensors are stored in memory If both sensors see the line and both go off the line simultaneously then the forklift perpendicular to the line This defeat the purpose of following a line Lf has che Torklift will Sb5op ififronct rrgbhte fabse amp e front left rals amp e switch status case 1 stop break Gase 2 right motor 0x00 77 stop right motor delay ms 20 left motor 0x01 0x06 break 3 motor 0x00 0x79 7 delay 20 left motor 0x00 7 slow down left motor break switch statement if statement void neutral void patc BI synchronization pute 0x0l COM B device ID 8 servos 0x01 putc 0x03 COM B 39 position putc 0x0S COM servo number pute 0x00 C 0M B MSB pute 0x6B COM B vord mne 1 ine count eb59s P C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test onl eh right motor a b 17 Stop Tight delay ms 20 left motor a b if count 0 4 front lefr input stare iN A5 front Sra rael PLN Ad Lett utLue JIhsEBODU y pO EEUE status 2 Cite else count 3 goto looprt0 else count goto 1 10 voi
83. orking days 8working hours The hourly wage for a software engineer is 25 22 which is determined by 52 464 lyear lweek lday Actual hours worked are as follows The 1 semester working hours for each member is 150 hours The 274 semester working hours for each member is 420 hours The 3 semester working hours for each member is 378 hours Total hours worked 15 948 hours Project Manager 948 hours 42 90 40 669 20 Hardware Engineer 948 hours 24 95 23 652 60 Software Engineer 948 hours 25 22 23 908 56 Project Labor Cost 88 230 36 Table 4 Yearly Salaries Mai Zoua Vang Software Engineer 52 464 Source U S Department of Labor Bureau of Labor Statistics Table 5 Labor Cost Nicholas Larsen Project Manager 40 669 20 Hardware Engineer 23 652 60 Mai Zoua Vang Software Engineer 23 908 56 Automatic Forklift System 8 Labor Cost 27 46 Project Manager Hardware Engineer Software Engineer 27 Figure 2 Labor Cost Pie Chart 2 3 GANTT CHART See Appendix A for complete Gantt chart On July 18 2007 our group was formed with Joshua Quintero Mai Zoua Vang and Nicholas Larsen We decided JNM Technologies the initial of each member was an appropriate name for our group We wanted to create a project that was challenging so we came up with an dea of an R C blimp with a camera connected to it This was rejected on August 8 2007 by Dr
84. other institutions or individuals for the purpose of scholarly research Project Manager Nicholas Larsen Hardware Engineer Joshua Quintero software Engineer Mai Zoua Vang Automatic Forklift System iv ACKNOWLEDGEMENTS The authors would like to give special thanks to Dr Dumitru M Armulescu Dr Ajeet Singh Dr Mostafa Mortezaie and Dr Syed Rashdee for providing technical expertise and guidance throughout the term making possible the successful finalization of this senior project Also the authors would like to recognize the General Education Advisor Prof Kim Mahler for her valuable advice and contribution to the improvement of the formal aspect of the senior project written report and oral presentation Finally the authors would like to recognize Deans Michael Zohourian and Tara Mills Welch for their continuous effort to ensure better conditions for EET 404 senior project activities Automatic Forklift System ABSTRACT The Automatic Forklift System AFS 15 designed to make the process of stocking warehouses safer and more efficient With current manually operated forklifts employees are at risk of injury Employers also spend a lot of money on insurance and paying multiple employees to operate forklifts n their warehouses The AFS will limit the need for employees to operate forklifts manually This will not only cut down on long term employer costs but will reduce the chance of injury among employees as well
85. ration of the forklift A DC motor raises and lowers the forks while two continuous rotation servo motors drive and steer the forklift in a tank drive configuration See Figures 3 4 and another servo motor tilts the forks Infrared sensors are used to detect a white line on a black floor for navigation as well as detect the pallet for accuracy when setting a pallet on top ofa stack of pallets There 15 another IR sensor pointed to the floor in order to detect the presence of the floor this 1s used as the tilt sensor to detect 1f the forklift falls over DC Motor Button Sensors IR Line Sensors Perimeter M Ball Caster Wheel Sensor A Tilt Sensor 8 al Motor 88 Perimeter Sensor IR Sensors Top View Figure 3 Mechanical Top View The forklift steers by turning off one motor while keeping the other wheel turning See Figure 4 The caster wheel 15 there to decrease the forklift s friction while turning Even though there are two wheels in the back they are raised up and are not used in this project To go straight both wheels must be moving in the same direction and at the same speed Spinning Not Moving Top View Figure 4 Steering Top View Automatic Forklift System 13 The forks of the AFS have pressure buttons to detect if there 1s a load on the pallet or not See Figures 3 5 There 1s another push button located in the front of the plate where the load will
86. rk 15 at 155 minimum position the switch 18 turned on giving 4 5V If the fork is not at its minimum position the switch will give reading below 0 5V The PIC does not compare analog so first the input val from the switch needs to be converted to digital We used the PIC A D converter The PIC18F452 A D has 10 bits We can used 8 bit or 10 bit In this case we are using 8 bit Any reading from the switch that give out voltage greater than 4 digital equivalent will stop the fork from lowering down If LtOrk Status ctrue if fork 1 0 output low PIN D1 stop lowering fork fork 0 else Ok output high PIN 01 fork 1 goto keep lowering VOLO output high PIN DO delay ms 750 output low PIN DO void Straight vooc go forward the two front IR sensors are used Read front two sensors front left input state PIN A5 2 Sensor front right input state PIN A4 1 sensor check front sensors state and apply corrective actions fr roght true if status 111 right motor 0x00 0x6B 6B delay ms 20 left motor 0x01 0x13 250 95 status 1 17 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test LEANTEONE if status 2 movcor 0x005 0x79 j delay ms
87. rt 4 1 Automatic Forklift System 28 Y Checking1 4 Checking1 6 Checking1 8 No Checking1 D Yes Der Menu Ring Buzzer No Display Yes Clear Operating gt String No Display Ask User for Choice Confirmation Proceed or 8022350 Home No Let User usd Yes Know Object Ring Buzzer gt eu Proceed or is in the Way Home No Let User qund Yes Know Forklift Ring Buzzer Proceed or Tilted Over Home No Display Stop Display String When Choice Help Button Proceed or Rino Pressed Home Display Display No Choice MSN Pallet String Proceed or Rig Home Yes Keypress 1 gt Display Yes p Complete Menu Ring Buzzer String v End of Function No Figure 16 Function Interrupt Clear Out LCD string Displays Choice1 of Menu Out LCD string Displays Choice2 of Menu Cursor position Set Cursor to Beginning of Line1 Screen number 1
88. s The AFS utilizes two microcontrollers called Programmable Interrupt Controllers PIC many sensors and various motors The PICs one in the forklift and one in the user interface are programmed with the required algorithms needed to run this project several infrared IR sensors are used for navigation to follow painted lines on the ground as well as pallet detection and to see if the forklift falls over Two ultrasonic range finders are used to detect objects or people in front of or behind the forklift Two momentary switches one in each fork are used to detect a load on the forks Servo motors are used for steering as well as tilting the forks Electric motors are used for driving the forklift forward and in reverse and to raise the forks There is a camera mounted on the top of the forklift to give the user a visual aid for tracking the forklift And lastly there are several emergency shut off switches placed around the forklift In this project there requires a project manager hardware engineer and software engineer Nick Larsen 15 the project manager Joshua Quintero 15 the hardware engineer and Mai Zoua Vang 15 of software engineer 1 2 TARGET USERS The intended users of the AFS would be distributing centers as well as any company with a large warehouse that uses forklifts to move pallets The ideal environment for this system would be warehouses with little to no foot traffic that require a forklift to move pallets from trucks
89. s the confirmation the Interrupt function is executed to display the message Operating to let the user know that the forklift 15 operating After the Interrupt function is finished executing the pointer returns to the main program to check for a key press At any given time the user can press the Help button to stop the forklift The Check keys function will call the Key table which will transmit a value to the forklift to tell the forklift to stop The forklift will send back a confirmation to let the user know that the forklift has stopped The Interrupt function will be called once the user interface receives the confirmation The Interrupt function will call the out LCD String to display the message Stop and give the user the choice to resume or go back to the docking area The pointer returns to the main program to await the user s selection from the keypad Key 1 will resume the process and key 2 will return the forklift to the docking area If the user chooses to resume the process the Check keys function calls the Key table which calls the Screen function to transmit a value to the forklift to tell the forklift to resume the process The Screen function will let the user know with an LCD display message that the forklift 1s operating If the user chooses to go back home the Check keys function will call the Key table function to execute the appropriate action If this 1s the first time the home has been selected then Key tab
90. ss 1 on keypad switch screen number case 1 choice 1 select choicel in Menu move to verify scre case 2 verify screen yes move to user input screen case 4 case 5 screen verify input yes move to next screen goto endl screen uses to change screen break j j if row 13 Press 2 on keypad switch screen number case 1 cursor 2 select choice2 in Menu choice 2 Soreen s 272746 Go Sereen verify choice goto endl break case 2 menu select no in verify choice screen2 go back goto endl to Menu break case 4 screen number 2 select no on verify user s input screen call screen to go back to user s inpu goto endl break case 5 if keypress 0 screen number 2 cursor 2 screen goto endl break C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test else rely ques value 13 column2 points to 2nd element of defined array else if columns value 11 column3 i 2 index point to last element of defined arra j else if columns value 7 column4 Switch row case 14 if screen number 3 if clear key is pressed menu or clear j break case 13 Lf soreen number 5 sa Counter 2 out gt 11 if screen number 5 if stop button is pressed putet COM break default break goto endl else key
91. t System 40 aisle number 0 aisle number 1 aisle number 2 Selection 0x31 0 a 0 Yes P lt 2 amp choice 1 Yes Status 0 No NO v PIPP ay aisle number 2 Selection 0x32 3 amp choice 1 Status 0 otring Status 1 aisle number 2 Selection 0x33 Selection 0 2 amp choice 2 Yes p Status 0 Selection 0x34 gt Status 0 v No Cursor 1 4 of Furion Figure 25 Function Transmit Automatic Forklift System 41 4 2 FORKLIFT Figure 26 1 to 26 4 shows the flowchart of the main program for the forklift When the PIC 15 turned on the PIC initializes with the proper configurations Global variables are declared and initialized and an interrupt function 1s declared for any data received by the RS232 port The main program transmits a value to the user interface to see if the user interface 1s turned on The main program will wait until the user interface has sent back a confirmation character before executing the rest of the main program Once a 2 way communication has been established between the forklift and user interface the main program calls the range finderf function to check for object in front of the forklift If there 1s no object the Tilt Check function is called to check i
92. the PIC we were able to make the forklift drive straight then turn and drive in a circle On December 5 2008 we developed a new layout for our navigation lines which will allow the forklift to more accurately follow designated paths We met with Professor Kim Mahler on Friday December 7 2007 to discuss our progress report 1 and how we did on our first presentation at the end of last semester On December 12 2007 we made necessary changes to and submitted progress report 2 Straight line navigation was finally achieved on December 18 2007 using the mounted IR sensors and comparator boards We had to play with the angles used to correct the steering but we finally figured out a method that allowed us to correct the direction of the forklift without overcorrecting and running off of the path The Infrared comparator boards and array board were built and completely installed and working by January 17 2008 On January 19 2008 we started testing our wireless modem and ultrasonic range finders By the end of the day we had both working but not implemented into the project We tried to implement the wireless modem into our project on January 26 2008 but were met with disappointment While the wireless modem worked perfectly fine on its own it did not work when integrated into the user interface and forklift We spent a lot of time working on this but due to the upcoming presentation we are putting it off until the next semester On
93. the next day We then revised it a few more times and submitted to Dr Armulescu on Friday August 31 2007 We started working on progress report 72 a week after turning in progress report 1 The work was initially divided up with Mai working on the budget Josh and Nick working on the Market Analysis We started working on our assigned tasks when it came to our attention that the Gantt chart was due with this report Josh accepted the assignment of creating the Gantt chart We met with our English Advisor to help us with the questions we had on Monday September 10 2007 regarding formats and expectations of the written report She suggested a lot of deas and we worked on it before emailing her a revised report to correct Our corrected essay was returned and we made the proper revisions We sent in progress report 2 on Wednesday September 12 2007 on time We started on progress report 3 a week after turning in progress report 2 Josh started working on the diagrams on Wednesday September 19 2007 Mai and Nick started working on the explanations for the diagrams when Josh finished the first set of diagrams Josh finished the diagrams on Monday September 24 2007 The explained report was finished a day later On Wednesday September 26 2007 we turned in progress report 3 to Professors Armulescu and Mahler On Monday October 1 2007 Mai started working on the rough draft by formatting all the chapters the rough draft A day later
94. to their respective shelves or stacks etc Employers will benefit from this system by saving money in the long run An initial investment in the AFS will reduce the cost of employing multiple forklift operators needed to keep up with the inflow and outflow of large quantities of product With this system only one operator would be needed to operate the AFS and as a possible future enhancement multiple systems As you can see employers stand to benefit from this system With the AFS the risk of injury to employees involving forklifts will be reduced because there will be no need for an operator on the forklift itself to steer it manually Thus the operator will no longer be put into dangerous situations This lowers the cost of workers comp The AFS eliminates the opportunity for human error that may have caused workplace accidents resulting in property damage and bodily harm This system offers the benefit of safety to employees Automatic Forklift System 2 1 3 FUTURE ENHANCEMENTS With further resources and time we could implement a system that would be superior to today s methods The AFS would be integrated with a database that keeps track of the inventories through the use of RFID scanners to enter the pallets into the database before moving them A scale would be added to the forklift to track the weight of each pallet for shipping purposes and to prevent overloading the weight capacity of the forklift There could also be a manual
95. tons which physically disconnects the power to the motors Automatic Forklift System vi TABLE OF CONTENTS Authors ee 111 A cEnowledoe ie NIS doeet EE IV ee SDS EE List ol VAD LES a a vil Route obe Db eere INE dI UEM E LM D pe vili Chapter 1 INTRODUCTION IBN Marsi SCOPO a 1 sis UST TT 1 2 Chapter 2 ECONOMIC ANALYSIS SS T sa autem wes bo 3 4 222 BIER m 5 ZOLL DOR C lol st M ou A LE MISI en e LUE 5 NUDE 9 Chapter 3 HARDWARE DESIGN Jl Mechanical Desio na aan LETRA 12 3 2 Bleeinical Des T een 15 Chapter 4 SOFTWARE DESIGN SITTI L C EEE 23 Mc 41 Chapter 5 SERVICE MANUAL Service Ivana 50 REFERENCES APPENDIX A APPENDIX B APPENDIX C Table Table 2 Table 3 Table 4 Table 5 Table 6 Table 7 Table 8 Table 9 Automatic Forklift System vii LIST OF TABLES icem 3 ost Est male seien 5 Actual COSTOLE Mater L Ilu een re 6
96. transistors connected to it but it needs a resistor on each transistor so one transistor does not take all the current over other transistor The output pin of the transistor has a 1800 resistor connected to ground to allow the PIC to see logic high and low The other transistor 15 used to light an LED as a visual aid for a high and low so the user can see the status The Ultrasonic range finders are powered by the PIC s 5V regulator The SDA pin 15 connected to pin 15 on the PIC and the SCL pin is connected to pin 16 on the PIC Both the SDA and SCL pins require a pull up resistor The recommended resistance 15 1 8KQ but we used a 2 2K resistor since this resistor was available The servo controller is connected to the UART pins of the PIC for TTL serial communication The servo controller is powered by the 7 2V battery The outputs are connected to the signal input of the servos The servos are connected to the output pins to the servo controller Pair of IR LED s and IR phototransistors are used for sensing distances and 15 attached to the forks for use in detecting pallets The outputs are connected to pins 2 and 3 for the Analog to digital converter so the PIC can place a numeric representation of the distance Two switches which are used for detecting a load on the forks are connected to 5V on one side The outputs of the switches are connected to pins 2 and 3 for logic high and low inputs There are 3300 resistors connecting the output to
97. ure COM B servo number putc msbb B MSB pute lebb CcoM B 6B int msb Int 150 Putre amp 0x80 C0M Synchronizetion p ce 0x01 COM B device ID 8 servos 0x01 pute 0x03 foommand 35 set position 9bIits pute 0x01 COM servo number putc msb COM B MSB putetlsb COM IIe bits Clete 95 void stop void pute 0x80 COM B synchronization pute 0x01 COM B s fJ device ID 8 servos 0x01 puto 0x03 COM B feommand 3 position 35165 PULE 0x01 COM B servo number 000 MSB COM Bs fJ pits central 1227 delay 20 pute 0x50 COM pure COMB ID X9 servos 0x01 puse 0x0S COM B Command 33 set position Sbits putet0x07 COM servo number putc 0x00 COM B MSB ute Ob CON 1 kits LSB central 127 VOLL 18 if input state PIN 4 0 Sd OE Status pute 4 chk7 Le cheeking 2 goto CHR int int channel int value 0 set adc channel channel delay Ust value read return value void tLlt back void 15 C Documents and Settings Joshua Desktop senior project EET404 Final Software Program test ine position cupper 0 ine posstron Lower 0 maxi
98. ure the LCD with the desired settings See Figure 15 Once the function 1s finished executing it returns the pointer back to the main program Now the LCD 15 turned on and ready to receive data from the PIC to be displayed At this point nothing 1s display on the LCD Screen 1 The Interrupt function 15 called once the PIC receives a signal from the forklift See Figure 16 The user interface then sends a signal back to the forklift to establish a 2 way wireless communication Once the 2 way communication has been established the Interrupt function calls the Menu function which display two choices to the LCD 1 Pick up from dock and 72 Place on dock Once the Menu function 15 finished executing it returns the pointer back to the main program See Figure 17 The main program then calls the Check keys function to check for a key press See Figure 18 1 18 2 When a key 15 pressed the Key table function is called by the Check keys function to take the specified actions associate with that key See Figure 19 1 19 2 The Key table function 15 called for all the keys except the arrows menu and enter keys If those specified keys are pressed the Arrow function 1s called to execute their actions see Figure 20 Once either key 1 or 2 has been pressed the Check keys function will call the Key table function In the Key table function the number corresponding to the choice selected 1s stored in a variable called Choice for later use t
99. ut LCD string gt Operating Yes Out LCD string Return Home Out LCD string Operate Home Out LCD string Operate Home Screen number 5 Keypress 1 Indicate 1 Figure 21 2 Function Screen cont Automatic Forklift System 37 Define and Initialize Variables String Array Passed Send as the End o Element of the String Been No Array Reach string to PortB Move Pointer to v Next Element in End of Function Figure 22 Function Out LCD string I Declare Variable i Character Passed Send Character to PortB Yes Y Store Character in No Array aisle number Increment Global Variable counter Which Keeps Track of Number of Key Pressed c of runden Figure 23 Function Out LCD Automatic Forklift System 38 Send Value to Clear E R W RS Send Command to PortB to Clear Display Is Clear Key Automatic Forklift System 39 Pressed MOS Display No User s Prompt v Counter 0 lt of Figure 24 Function Clear Automatic Forklif
Download Pdf Manuals
Related Search
Related Contents
[U4.63.13] Opérateur PROJ_VECT_BASE MODE D`EMPLOI D25300D - Service après vente Aparelho fotopolimerizador LED de alta potência, tipo Manuale di istruzioni in italiano Plantronics Voyager PRO UC WG201 control microbiológico ambiental y de superficies DIGITAL CLAMP METER INSTRUCTIONS MANUAL ET Copyright © All rights reserved.
Failed to retrieve file