m. apollonioCM18, RAL - UK - 13/06/20071 Diffuser Control Logic Marco Apollonio, Univ. of Oxford
m. apollonioCM18, RAL - UK - 13/06/ main movements & accurate positioning –Carousel (revolving) –Discs (+/- 15 deg) Unload disc holder / load catcher (+15, +15) Unload catcher / load disc holder (-15, -15) –Catcher (linear motion through a threaded cylinder) Sequence of operations & Control
m. apollonioCM18, RAL - UK - 13/06/20073 movements & positioning
m. apollonioCM18, RAL - UK - 13/06/ optical sensors to check disc position (4) + disc presence (1) MICE axis encoder
m. apollonioCM18, RAL - UK - 13/06/ bit ~Gray code When this bit is 1 we sense the disc
m. apollonioCM18, RAL - UK - 13/06/ -switches (check if disc at bottom of TH) 1 optical sensor (check if disc at top of TH) S1 S2 OS catcher Pb disc + frame
m. apollonioCM18, RAL - UK - 13/06/20077 OS: carousel and disc OS: disc holder encoder
m. apollonioCM18, RAL - UK - 13/06/20078
m. apollonioCM18, RAL - UK - 13/06/20079 logic & control in progress!
m. apollonioCM18, RAL - UK - 13/06/ NAMING CONVENTIONS Motor A : CAROUSEL (+A, clockwise; -A, counterclockwise) “ B : DISC HOLDER(s) (+/-B=+/-15deg) “ C : CATCHER (+C= in, -C=out)
m. apollonioCM18, RAL - UK - 13/06/ Start: go to Nf ( S1&& S2) off? OS on? Which disc is in? Nd Move C to position N d Nd = 0 Extract disc Move catcher to bottom Move C to position Nf Insert disc Go to dummy station STOP Move Catcher to top STOP !!! ERROR align disc holder: motor ACW (-15 deg abs) align disc holder: motor CW (+15 deg abs) Move catcher to bottom Go to dummy station Command: set disc-f for run mode NB: need to know WHICH disc is in ! Diffuser Control Flow Chart: main cycle
m. apollonioCM18, RAL - UK - 13/06/ Diffuser Control Flow Chart: check discs inserted at the end of this cycle I should have a 5-element vector like (1,1,1,0,1) telling which station is empty. If the number of empty stations (Ne) is greater than 1 an error is produced which stops the system Sense disc START GO TO position Ns Record station (Ns: 0,1) If 0 Ne=Ne+1, Nd=Ns If 1 NT=NT+1 Ns=1 NT=0, Ne=0 Ns>=6 Ns=Ns+1 Go to dummy station Ne<=1? STOP !!! ERROR
m. apollonioCM18, RAL - UK - 13/06/ Diffuser Control Flow Chart: move C to position Nd Rotate CAROUSEL C.W. (till OS fires Nd) Turn ON motor (+A) STOP START OS firing on mark Nd? 1.STOP motor (A) 2.Push BR-PIN 3.Start timer 1.release BR-PIN t>3 s? OS reads Nd? STOP !!! ERROR
m. apollonioCM18, RAL - UK - 13/06/ Diffuser Control Flow Chart: Extract Disc STOP START t > 5 s? 1.Pull linear stage OUT = turn motor on (-C) 2.Activate TIMER (check extraction time t) S1 && S2) off? STOP !!! ERROR OS on? Turn C-motor off NB motor be stiff/stable Unlock catcher: turn motor ACW -15deg Encoder reads -30? Update DISC position in memory CTRL program Y N Align disc holder(s) turn motor CW +15deg abs
m. apollonioCM18, RAL - UK - 13/06/ Diffuser Control Flow Chart: Insert Disc STOP START Encoder +30? Unlock circular plate: Turn motor CW +15 deg STOP !!! ERROR Turn B-motor off (B) Turn on (+C): Push linear stage Activate timer t > 5 s? OS off? Register DISC POSITION in memory for the CTRL PROGRAM S1 || S2) on? Turn C-motor off Y N
m. apollonioCM18, RAL - UK - 13/06/ Conclusion control for diffuser based on optical sensors and mechanical -switches design nearly finished logic in progress
m. apollonioCM18, RAL - UK - 13/06/200717