Presentation is loading. Please wait.

Presentation is loading. Please wait.

Temple University Advisors: Dr. John Helferty Charles Wright Jinyan Chen Billy Cheng Brittany Gray May 12, 2010 1.

Similar presentations


Presentation on theme: "Temple University Advisors: Dr. John Helferty Charles Wright Jinyan Chen Billy Cheng Brittany Gray May 12, 2010 1."— Presentation transcript:

1 Temple University Advisors: Dr. John Helferty Charles Wright Jinyan Chen Billy Cheng Brittany Gray May 12, 2010 1

2 Mission Overview  Design, Build, And Test A Vibration Suppression System To Counteract Launch Vehicle Vibrations  Measure The Vibration Environment Inside The Terrier-Orion Rocket Will Use Two Identical Vibration Measurement Systems ○ A Custom Built Passive Damping System ○ Rigidly Attached System 2

3 Changes Since Subsystem Integration  Changed Microcontroller To Basic Stamp 2 (BS2) Programming Language – Basic  High And Low Z-Axis and Low X-Y Monitored Same Flash, Level Shifter, and Power Supply -- With G-Switch And RBF  External Analog To Digital Converters ADC 0831 Used For Each Accelerometer 3

4 Pictures  Schematic Including The BS2 Microcontroller 4

5 Pictures  Up-Close Of BS2, ADC0831, Z-Accelerometers, And RS232 Interface 5

6 Pictures  Z-Axis Accelerometer Board 6

7 Pictures  Prototype 7

8 Test Description - Electrical  Integrating New Microcontroller With Existing Components  Read Accelerometer Data Through ADC 0831  Erase Flash Memory  Write Acc. Data To Flash Memory We Were Able To Log The Required Data ○ Our Test Duration Was For Short Periods ○ Ensured That Data Was Being Logged 8

9 Test Results  Debug Pictures Of Data Out From Z-Axis Acceleromete rs 9

10 Test Results  Using Vref(5V)/256 * Acc.Data = Outcoming Volts Calibration of Z-Axis Accelerometers 10

11 Overall Analysis  Currently Not Ready For Launch And Collectively, We Are Some Busy, Unhappy Students  We Still Must Complete PCB Printing – Order Should Be Out By This Week ○ Soldering And Mounting Of Components With PCB Board And Plates 11

12 Lessons Learned  We Must Have A Backup Plan Don’t Be Scared To Resort To It  Work In Parallel With Other Group Members Our Major Problem “Bottlenecked” All Progress Everyone Was Focused On Immediate Issue  Difficult To Decipher Someone’s Code 12

13 Conclusions  Initializing Memory (Chip Erase) Takes Too Long Attempt To Erase Memory Block By Block (64kb Sectors)  Can Log Data To Lower Order Address (000000h-00FFFFh) Will try to log data to higher order address  More Mechanical Tests Need To Be Done

14 Thank you Questions? 14

15 Appendix: Code ' {$STAMP BS2} ' {$PBASIC 2.5} '---------Variables-------------------------- addhi VAR Byte 'high byte of address location addlomi VAR Word 'low 16 bits of address location cmd VAR Byte ' command, to be sent by the Stamp adrs VAR Byte ' which byte on page dat VAR Byte 'data in statOne VAR Byte stat VAR Byte 'status register result VAR Byte ' ADC8031 Result resultOne VAR Byte volts VAR Word ' Volts (0.01 Increments) ix VAR Byte ' general purpose index x VAR Byte ' general purpose byte '-------------------------------------------- '------Connection Lines---------------------- Adc0831 PIN 0 ' ADC0831 Chip Select Adc0832 PIN 10 AdcClock PIN 2 ' ADC0831 Clock AdcClockOne PIN 11 AdcData PIN 1 ' ADC0831 Data AdcDataOne PIN 12 cs CON 8 ' chip SELECT line clk CON 5 ' clock line so CON 7 ' data output line '---------Variables-------------------------- addhi VAR Byte 'high byte of address location addlomi VAR Word 'low 16 bits of address location cmd VAR Byte ' command, to be sent by the Stamp adrs VAR Byte ' which byte on page dat VAR Byte 'data in statOne VAR Byte stat VAR Byte 'status register result VAR Byte ' ADC8031 Result resultOne VAR Byte volts VAR Word ' Volts (0.01 Increments) ix VAR Byte ' general purpose index x VAR Byte ' general purpose byte '-------------------------------------------- '------Connection Lines---------------------- Adc0831 PIN 0 ' ADC0831 Chip Select Adc0832 PIN 10 AdcClock PIN 2 ' ADC0831 Clock AdcClockOne PIN 11 AdcData PIN 1 ' ADC0831 Data AdcDataOne PIN 12 cs CON 8 ' chip SELECT line clk CON 5 ' clock line so CON 7 ' data output line si CON 6 ' data input line ' '------------------------------------------------- '---------------Variable Initializing------------- addhi = $00 addlomi = $0000 '------------------------------------------------ '---------Variables-------------------------- addhi VAR Byte 'high byte of address location addlomi VAR Word 'low 16 bits of address location cmd VAR Byte ' command, to be sent by the Stamp adrs VAR Byte ' which byte on page dat VAR Byte 'data in statOne VAR Byte stat VAR Byte 'status register result VAR Byte ' ADC8031 Result resultOne VAR Byte volts VAR Word ' Volts (0.01 Increments) ix VAR Byte ' general purpose index x VAR Byte ' general purpose byte '-------------------------------------------- '------Connection Lines---------------------- Adc0831 PIN 0 ' ADC0831 Chip Select Adc0832 PIN 10 AdcClock PIN 2 ' ADC0831 Clock AdcClockOne PIN 11 AdcData PIN 1 ' ADC0831 Data AdcDataOne PIN 12 cs CON 8 ' chip SELECT line clk CON 5 ' clock line so CON 7 ' data output line si CON 6 ' data input line ' '------------------------------------------------- '---------------Variable Initializing------------- addhi = $00 addlomi = $0000 '------------------------------------------------ '---------------------Main Program--------------- GOSUB counter END counter: '----------------------------- 'DEBUG CR, DEC addhi 'GOSUB erase 'GOSUB echip GOSUB unprotect GOSUB erase DEBUG "write sensor1 read sensor1 write sensor2 read sensor2", CR DO WHILE (addhi < $20) addlomi = addlomi +$8 IF (addlomi = $0000)THEN addhi = addhi + $1 ENDIF DEBUG HEX addhi," ", HEX addlomi, CR GOSUB prgm GOSUB rd addlomi=addlomi+$8 IF(addlomi=$0000)THEN addhi=addhi+$1 GOSUB erase ENDIF GOSUB prgmOne GOSUB rd DEBUG CR LOOP RETURN enable: '----------------------- 'write enable cmd = $06 'opcode for write enable LOW cs 'CS low SHIFTOUT so, clk, MSBFIRST, [cmd\8] 'sets WEL bit to 1 in status register HIGH cs 'CS high RETURN disable: '---------------- 'disable write cmd = $04 LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8] HIGH cs RETURN unprotect: '--------------------------------------- 'performing a global unprotect of flash GOSUB enable cmd = $01 'opcode for global unprotect dat = $00 'sets the status at unprotect LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8, dat\8] HIGH cs RETURN rd: '---------------- 'read from memory cmd = $0B LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8, addhi\8, addlomi\16, 0\8] SHIFTIN si, clk, MSBPRE, [stat\8] HIGH cs DEBUG " ", DEC stat, " " RETURN prgm: '------------------------------------------ '___________________________________________ GOSUB accel GOSUB log GOSUB disable RETURN prgmOne: '------------------------------------------ '___________________________________________ GOSUB accelOne GOSUB logOne GOSUB disable RETURN log: '---------------------------------------------- 'writing commands to the flash GOSUB enable cmd = $02 LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8, addhi\8, addlomi\16, result\8] HIGH cs DEBUG " ", DEC result, " " RETURN logOne: GOSUB enable cmd = $02 LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8, addhi\8, addlomi\16, resultOne\8] HIGH cs DEBUG DEC resultOne, " " RETURN accel: '------------------------------------------ 'logging accelerometer data into memory HIGH Adc0831 result = 0 LOW Adc0831 SHIFTIN AdcData, AdcClock, MSBPOST, [result\9] HIGH Adc0831 RETURN accelOne: '------------------------------------------ 'logging accelerometer data into memory HIGH Adc0832 resultOne = 0 LOW Adc0832 SHIFTIN AdcDataOne, AdcClockOne, MSBPOST, [resultOne\9] HIGH Adc0832 RETURN '---------------------Main Program--------------- GOSUB counter END counter: '----------------------------- 'DEBUG CR, DEC addhi 'GOSUB erase 'GOSUB echip GOSUB unprotect GOSUB erase DEBUG "write sensor1 read sensor1 write sensor2 read sensor2", CR DO WHILE (addhi < $20) addlomi = addlomi +$8 IF (addlomi = $0000)THEN addhi = addhi + $1 ENDIF DEBUG HEX addhi," ", HEX addlomi, CR GOSUB prgm GOSUB rd addlomi=addlomi+$8 IF(addlomi=$0000)THEN addhi=addhi+$1 GOSUB erase ENDIF GOSUB prgmOne GOSUB rd DEBUG CR LOOP RETURN

16 enable: '----------------------- 'write enable cmd = $06 'opcode for write enable LOW cs 'CS low SHIFTOUT so, clk, MSBFIRST, [cmd\8] 'sets WEL bit to 1 in status register HIGH cs 'CS high RETURN disable: '---------------- 'disable write cmd = $04 LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8] HIGH cs RETURN unprotect: '--------------------------------------- 'performing a global unprotect of flash GOSUB enable cmd = $01 'opcode for global unprotect dat = $00 'sets the status at unprotect LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8, dat\8] HIGH cs RETURN rd: '---------------- 'read from memory cmd = $0B LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8, addhi\8, addlomi\16, 0\8] SHIFTIN si, clk, MSBPRE, [stat\8] HIGH cs DEBUG " ", DEC stat, " " RETURN prgm: '------------------------------------------ '__________________________________________ _ GOSUB accel GOSUB log GOSUB disable RETURN prgmOne: '------------------------------------------ '__________________________________________ _ GOSUB accelOne GOSUB logOne GOSUB disable RETURN log: '---------------------------------------------- 'writing commands to the flash GOSUB enable cmd = $02 LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8, addhi\8, addlomi\16, result\8] HIGH cs DEBUG " ", DEC result, " " RETURN logOne: GOSUB enable cmd = $02 LOW cs SHIFTOUT so, clk, MSBFIRST, [cmd\8, addhi\8, addlomi\16, resultOne\8] HIGH cs DEBUG DEC resultOne, " " RETURN accel: '------------------------------------------ 'logging accelerometer data into memory HIGH Adc0831 result = 0 LOW Adc0831 SHIFTIN AdcData, AdcClock, MSBPOST, [result\9] HIGH Adc0831 RETURN accelOne: '------------------------------------------ 'logging accelerometer data into memory HIGH Adc0832 resultOne = 0 LOW Adc0832 SHIFTIN AdcDataOne, AdcClockOne, MSBPOST, [resultOne\9] HIGH Adc0832 RETURN


Download ppt "Temple University Advisors: Dr. John Helferty Charles Wright Jinyan Chen Billy Cheng Brittany Gray May 12, 2010 1."

Similar presentations


Ads by Google