Download presentation
Presentation is loading. Please wait.
Published byDasia Diggs Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.