ROCK IT ROCKE
FULL MISSION SIMULATION TEST REPORT
Temple UniversityAdvisors: Dr. John Helferty
Charles WrightJinyan Chen
Billy ChengBrittany GrayMay 12, 2010
1
Mission Overview Design, Build, And Test A
Vibration Suppression System To Counteract Launch Vehicle Vibrations
Measure The Vibration Environment Inside The Terrier-Orion RocketWill Use Two Identical Vibration
Measurement Systems○ A Custom Built Passive Damping
System○ Rigidly Attached System
2
Changes Since Subsystem Integration Changed Microcontroller To Basic
Stamp 2 (BS2)Programming Language – Basic
High And Low Z-Axis and Low X-Y MonitoredSame Flash, Level Shifter, and Power Supply
-- With G-Switch And RBF External Analog To Digital Converters
ADC 0831 Used For Each Accelerometer
3
Pictures
Schematic Including The BS2 Microcontroller
4
Pictures Up-Close Of BS2, ADC0831, Z-Accelerometers, And
RS232 Interface
5
Pictures
Z-Axis Accelerometer Board
6
Pictures
Prototype
7
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
Test Results
Debug Pictures Of Data Out From Z-Axis Accelerometers
9
Test Results Using Vref(5V)/256 * Acc.Data = Outcoming Volts
Calibration of Z-Axis Accelerometers
10
Overall Analysis
Currently Not Ready For Launch And Collectively, We Are Some Busy, Unhappy Students
We Still Must CompletePCB Printing – Order Should Be Out By
This Week○ Soldering And Mounting Of Components With
PCB Board And Plates
11
Lessons Learned
We Must Have A Backup PlanDon’t Be Scared To Resort To It
Work In Parallel With Other Group MembersOur Major Problem “Bottlenecked” All
ProgressEveryone Was Focused On Immediate
Issue Difficult To Decipher Someone’s Code
12
Conclusions
Initializing Memory (Chip Erase) Takes Too LongAttempt 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
Thank you
Questions?
14
Appendix: Code ' {$STAMP BS2}' {$PBASIC 2.5}
'---------Variables--------------------------
addhi VAR Byte 'high byte of address locationaddlomi VAR Word 'low 16 bits of address locationcmd VAR Byte ' command, to be sent by the Stampadrs VAR Byte ' which byte on pagedat VAR Byte 'data instatOne VAR Bytestat VAR Byte 'status registerresult VAR Byte ' ADC8031 ResultresultOne VAR Bytevolts VAR Word ' Volts (0.01 Increments)ix VAR Byte ' general purpose indexx VAR Byte ' general purpose byte
'--------------------------------------------'------Connection Lines----------------------
Adc0831 PIN 0 ' ADC0831 Chip SelectAdc0832 PIN 10AdcClock PIN 2 ' ADC0831 ClockAdcClockOne PIN 11AdcData PIN 1 ' ADC0831 DataAdcDataOne PIN 12cs CON 8 ' chip SELECT lineclk CON 5 ' clock lineso CON 7 ' data output line
'---------Variables--------------------------
addhi VAR Byte 'high byte of address locationaddlomi VAR Word 'low 16 bits of address locationcmd VAR Byte ' command, to be sent by the Stampadrs VAR Byte ' which byte on pagedat VAR Byte 'data instatOne VAR Bytestat VAR Byte 'status registerresult VAR Byte ' ADC8031 ResultresultOne VAR Bytevolts VAR Word ' Volts (0.01 Increments)ix VAR Byte ' general purpose indexx VAR Byte ' general purpose byte
'--------------------------------------------'------Connection Lines----------------------
Adc0831 PIN 0 ' ADC0831 Chip SelectAdc0832 PIN 10AdcClock PIN 2 ' ADC0831 ClockAdcClockOne PIN 11AdcData PIN 1 ' ADC0831 DataAdcDataOne PIN 12cs CON 8 ' chip SELECT lineclk CON 5 ' clock lineso CON 7 ' data output linesi CON 6 ' data input line '
'-------------------------------------------------'---------------Variable Initializing-------------
addhi = $00addlomi = $0000
'------------------------------------------------
'---------------------Main Program---------------
GOSUB counter
END
counter:'-----------------------------'DEBUG CR, DEC addhi'GOSUB erase'GOSUB echipGOSUB unprotectGOSUB eraseDEBUG "write sensor1 read sensor1 write sensor2 read sensor2", CRDO 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 CRLOOPRETURN
enable:'-----------------------'write enablecmd = $06 'opcode for write enableLOW cs 'CS lowSHIFTOUT so, clk, MSBFIRST, [cmd\8] 'sets
WEL bit to 1 in status registerHIGH cs 'CS highRETURN
disable:'----------------'disable writecmd = $04LOW csSHIFTOUT so, clk, MSBFIRST, [cmd\8]HIGH csRETURN
unprotect:'---------------------------------------'performing a global unprotect of flash
GOSUB enablecmd = $01 'opcode for global unprotectdat = $00 'sets the status at unprotectLOW csSHIFTOUT so, clk, MSBFIRST, [cmd\8, dat\8]HIGH csRETURN
rd:'----------------'read from memorycmd = $0BLOW csSHIFTOUT 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 accelGOSUB logGOSUB disable
RETURN
prgmOne:'------------------------------------------'___________________________________________
GOSUB accelOneGOSUB logOneGOSUB disable
RETURN
log:'----------------------------------------------'writing commands to the flashGOSUB enable
cmd = $02LOW csSHIFTOUT so, clk, MSBFIRST, [cmd\8, addhi\8, addlomi\16, result\8]HIGH csDEBUG " ", DEC result, " "RETURN
logOne:GOSUB enablecmd = $02LOW csSHIFTOUT so, clk, MSBFIRST, [cmd\8, addhi\8, addlomi\16, resultOne\8]HIGH csDEBUG DEC resultOne, " "RETURN
accel:'------------------------------------------'logging accelerometer data into memoryHIGH Adc0831result = 0LOW Adc0831SHIFTIN AdcData, AdcClock, MSBPOST, [result\9]HIGH Adc0831RETURN accelOne:'------------------------------------------'logging accelerometer data into memoryHIGH Adc0832resultOne = 0LOW Adc0832SHIFTIN AdcDataOne, AdcClockOne, MSBPOST, [resultOne\9]HIGH Adc0832RETURN