Blake IpsonJohn ChenMatt Graeff
Steven BenedictWeston Welge
Team PhotoConEXPO LabDepartment of Electrical, Computer, and Energy EngineeringUniversity of Colorado at Boulder
Critical Design ReviewCritical Design Review
Prototype a fast lithography system accurate to 15μm
Drive galvanometer mirrors to draw 2D images within a 3.5mm scanning area
Coordinate laser power modulation based on input vectors
Stand-alone, modular and “transportable”
Matt
Matt
FromLaser
FromPC
Laser Diode/Power
SupplyCollimation
Lens Galvo X Galvo Y Doublet Lens
CameraPower
Detection Servo Drivers X/Y
ADC DAC
MCU
PC
DAC
~ 4% Power Tap
Demonstration Only
External Memory
John
John
Atmel 32bit AVRUC3C0512
4 Channel
ADC
1 Channel
ADC
4 Channel
ADC
1 Channel
DAC
1 Channel
DAC
1 Channel
DAC
X Galvo
Y Galvo
Power Meter
X Galvo
Y Galvo
Laser Driver
EEPROM
I2C I2C/Parallel
SPI
PCRS-232
Steven
Steven
Module OH_SHIT_STOPInputs N/AOutputs error LED onFunctionality Turn on error LED
Call lsr_off()send_vec(GALVO_CENTER)
Module LoadInputs User options
Vector fileOutputs Write constants, vectorfileFunctionality Check
lsr_pwr_on=int, lsr_pwr_off=int, draw_method=”dots”, galvo_center=int,int,intIf no, call OH_SHIT_STOPIf yes, write LSR_SCALE_ON, write LSR_SCALE_OFF, write DRAW_METHOD, write GALVO_CENTER) load vector file to flash mem call run()
Module RunInputs Drawing method constantOutputs call function or errorFunctionality If(DRAW_METHOD=”dots”)
Draw_dots()Else if(DRAW_METHOD=”lines”) Draw_lines()Else OH_SHIT_STOP
Module Draw_dotsInputs VectorfileOutputs function call(s)Functionality Loop(lines in vector file)
Parse line x,y,z Send_vec(x,y,z) If(error<defined) Lsr_on() Detect_energy() Lsr_off() Set_pwr() Break Break
Steven
Module Detect_energyInputs N/AOutputs EnergyFunctionality Energy=0
Loop n X=read power from sensor Energy=Energy+xReturn energy
Module Send_vecInputs Int x,y,zOutputs DAC valueFunctionality Write x to x-galvo
Write y to y-galvoWrite z to z-galvo
Module Lsr_onInputs N/AOutputs DAC valueFunctionality Read lsr_pwr_on
Write to DAC
Module Set_pwrInputs EnergyOutputs Lsr_pwr_onFunctionality Calculate power from energy over
time t=nLsr_pwr_on=resultIf lsr_pwr_on>LSR_SCALE_ON Call OH_SHIT_STOP
Module Lsr_offInputs N/AOutputs DAC valueFunctionality Read lsr_pwr_off
Write to DAC
Weston
Weston
Weston
Blake
•Milestone 1• Using the Microcontroller
Development board or STK600• Laser Modulation• Rudimentary Galvo
Movements using on-board flash
• Oh_shit_stop!• Optics in place, calibration
procedure solidified• Schematic Completed
• Rudimentary layout finished
Blake
•Milestone 2• Microcontroller Unit
• Drawing Functionality• RS232 Interface
(Debugging/Working)• C Code on PC (UI Code)
Finished• PCB Revision 1 completed and
being debugged• Revision 1 of User Manual
complete
Blake
•Expo• User Manual Fully Complete• PC Interaction
• Will accept vector files• Draw shapes with dots
• Timed to complete per refresh of CMOS camera
• System calibrated
Blake
Top Related