Laser Milling Machine - UCF Department of EECS

Download Report

Transcript Laser Milling Machine - UCF Department of EECS

Laser PCB Milling Machine
Group 18
Nathan Bodnar
David Dowdle
Ryan Maticka
1
Project Overview
• The system will be capable of laser etching
copper coated printed circuit boards (PCBs) for
the purpose of rapidly prototyping senior design
projects
• The system will
consist of:
– High powered
green laser
– Custom software
– XY plotting table
– Safety mechanisms
2
Project Motivation
• Current milling machine
used by senior design
students has had
numerous breakdowns
• We replaced the current
milling machine with a
more reliable system that
is capable of running
without continuous user
input
• Design and build our own
high powered green laser
3
Project Goals and Objectives
• Capable of producing a quality result in less time
than is required to ship out a PCB to a
professional manufacturer
• Capable of vaporizing copper in just a few pulses
of a laser
• Capable of burning through the fiberglass
substrate with the laser alone
• Capable of handling FR4 copper clad PCBs
• Capable of milling warped boards
4
Project Goals and Objectives
• Safe, most specifically in the area of eye and lung
safety
• Capable of accepting a Gerber file from a
mainstream PCB layout software program
• Capable of accepting boards to be milled in
PNG format
• Capable of interfacing with a computer through
two USB ports
5
Project Specifications & Requirements
• Capable of milling a 12 in x 12 in board
• Resolution of 1 mil
– 1 mil = 1/1000 in
• Beam waste of 1 mil or lower
• Software is protected through the storage of
hashed user passwords (SHA-512)
6
Project Specifications & Requirements
• Require 512 MB of main
memory (computer) to
run after everything else
for the maximum
supported file size
(12,000 x 12,000 pixels)
• Implement a call and
answer protocol for the
interface between the
computer and the
microcontroller through
the use of 64 Byte data
packets
7
Safety
DANGER
• User safety
– Laser being ran as a class one
– Enclosed laser subsystem
HIGH
VOLTAGE
• Equipment safety
– Housing to protect equipment from the vaporized
copper by product of the mill procedure
8
Laser Safety
• Desirable to run the system as a class one laser
• Laser safety glasses (Five OD as per ANSI Z136.1
standard) still required when testing and
calibrating the laser
• Needed to classify the laser as a class one:
–
–
–
–
Protective housing
Interlocks on the housing
Service access panel
Equipment labels
! CAUTION
LASER RADIATION
DO NOT STARE INTO BEAM
Enclosed Nd:YAG, 532nm, 10mJ, 40ns
CLASS 1 LASER
9
Energy (mJ)
Burn Testing
Minimum amount of Energy
needed: 0.7mJ for 20ns @
532nm
10
Laser
• Previous Design
– Second harmonic Nd:YAG Q switched laser
– Generating second harmonic inside laser cavity is
more efficient than outside cavity
– Output:
• Energy: 9 mJ
• Pulse: < 40 ns
11
Laser Cavity
•Folded cavity Design
•Q switched
•808 nm Diode Pumped
•Output: 532 nm
•Nd:YAG (end pumped)
12
Laser Cavity Simulations
• With 80 W input = 30 W @
1064 nm
• ~12 W @ 532 nm CW
• Pulsed: 4 mJ @ 13 ns
• ~307 MW duty 0.0013%
13
Laser Block Diagram
Main
Computer
USB
USB
USB
USB
AC Power
AC Power
Thermal Electric Cooler
Laser
Power Supply
Thermal Electric Cooler
Laser
Power Supply
Cooling Lines
Cooling Lines
Thermistor
Wire
Thermistor
Wire
Cooling
Flow
Cooling
Flow
Laser Diode #1
Laser Diode #2
#1
Wire
Wire
Cooling Lines
Cooling Lines
14
Current Laser System
• Laser diode problem
– 808 nm diode ran at 800 nm, and Nd:YAG has acceptance region of 0.6
nm
– To work, the diode must be heated to unsafe operating temperatures
• Flash tube based system
– Advantages
• Higher output power from oscillator
– Fewer shots to burn through
– Disadvantages
• 2% efficient at best
• Low duty cycle
– Maximum: 100 pulses per second
– Realistic: 1 pulse per second
• Shorter mean time to failure compared to diode system
15
Flash Tube System
• 15 J electrical input power generates 100 mJ of 1064
nm light
• Flash tube based amplifier
– Single pass amplification
• Focusing lens creates focal point
• Focused light passes through KTP crystal twice via
highly reflective mirror to produce 532 nm
• light hits mirror that reflects 532 nm and transmits
1064 nm
• 532 nm transmitted to XY table via mirrors and 1064
nm stays in laser section
16
Previous Q Switch
Pockel Cell
• Fast Switching
Characteristics < 1ns
Alternative Q Switches
• Voltage Rating: 3-5 kV
•AOM modulator
• High Laser Power
Operation
•Mechanical
•Saturable Absorber
• Crystal: KD*P
• Polarization Dependent
17
Q Switch PSU Block Diagram
+12V
Microcontroller
Voltage
Regulator
40kHz
Oscillator
1:98
Transformer
Darlington
Transistor
•Generates 0 - 5 kV output
Voltage
Multiplier
Filter
Caps
Fast
FETs
Voltage
Divider
•Generates pulses with minimal delay
•Emergency Shutoff capabilities
18
Q Switch
• Current Design
– Saturable absorber
• Laser cavity < 10 cm long, so no pockel cell
• Saturable absorber is 3 mm long
19
Stepper Motor Controller
Stepper Motor
• 0.9° rotation per step
• Holding Torque: 30 oz-in
• Unipolar
Stepper Controller
•Full bridge MOSFET driver
•120 micro-steps per full step
gives 0.0075° per step
20
XY table
Previous Design
Current Design
• Threaded Rod Design
• Belt Driven with linear bearings
• Requires material to move
• Moves the mirrors and not the
material
• Requires double the area to
travel
• Requires only 6” extra for head
travel
21
Laser Power Supply
• Previous Design
– Specifications
•
•
•
•
•
•
Input: 120 V AC, 60 Hz
Output: 0 - 5 V DC, 60 A
Output voltage ripple < 1 mV
Current controlled
Current monitoring
Temperature monitoring
22
DC to DC Converter
• Choices:
– Linear regulator
• Low efficiency
• Large size
• Thermal problems
– Switched-mode DC to DC Converter
• Buck converter for voltage gain < 1
• Adjusting PWM will control voltage and current output
23
Switching
• Choices:
– Bipolar Junction Transistor (BJT)
• Pros: High current carrying capability
• Cons: High driving power, Low frequency
– Metal-Oxide-Semiconductor Field-Effect Transistor
(MOSFET)
• Pros: High frequency, low driving power, low losses
• Cons: Low current carrying capability, lowered efficiency at high
voltage
– Insulated Gate Bipolar Transistor (IGBT)
• Pros: High current carrying capability, High reverse voltage
blocking
• Cons: Lower frequency and higher switching losses than MOSFET
24
Switching
• Problem:
– MOSFETs carry low
current
• Solution:
– Use MOSFETs in parallel
• High current
• High switching speed
• Low driving power
25
Synchronous Switching
• Low Power
– Blocking diode can handle low power
• High Power
– Risk of diode breakdown from high stress
– Power losses on diode is large compared to using a MOSFET
• Replace diode with MOSFET controlled by secondary PWM
26
Converter Control
• Pulse width modulation (PWM) changes duty
cycle of MOSFETs
– Choices:
• Microcontroller detects output and controls PWM to
main MOSFET
• LT1339 buck/boost converter controller instead of
microcontroller
– More features for better control
– Added circuit uses potentiometer to control current output
27
28
Thermoelectric Cooling
+12V
Laser
Diode
•
•
•
•
•
MOSFET
PWM
Peltier
Thermistor
Microcontroller
Peltiers cool the laser diodes to desired temperature
ATX PSU: 12V DC
PWM controls MOSFET to control the power to each peltier
Temperature monitored via thermistor on peltier
TEC not used in current design
29
Current Laser Power Supply
• Specifications
– Input: 120 V AC, 60 Hz
– Output: 730 V DC
– Flash tube system not susceptible output voltage
and current ripple
– PWM controller
• Switching: 17 kHz
– No thermoelectric cooling required for laser
30
Boost Converter
• IGBT chosen over MOSFET because:
– Better than MOSFET when voltage is over a few hundred
volts
• Discontinuous conduction mode (DCM)
– Generates larger peak current compared to continuous
conduction mode (CCM)
• Double converters for faster current response
• Regulating Pulse Width Modulator (UC3526)
31
Boost Converter
32
Snubber
• Active snubber for increased efficiency
– LC circuit stores power that would be turn-off losses on
main IGBT
– Secondary IGBT delivers to the energy output
33
Microcontroller
• A different microcontroller will be used to control each part of the project
• Needed to be able to do:
– Pulse Width Modulation (PWM) for micro-stepping
– Low cost
– Easy to implement
– Large repository of example code
– Easy to reprogram (USB)
34
Microcontroller Decision Chart
MCU
PIC18F2550
MC9S08JS8CWJ
C8051F342-GQ
ATMEGA162-16PU
Data Bus Width:
8 bit
8 bit
8 bit
8 bit
Family:
PIC18
JS
8051
AVR
Program Memory Type:
Flash
Flash
Flash
Flash
Program Memory Size:
32 KB
16 KB
64 KB
16 KB
Data RAM Size:
2 KB
256 B
Interface Type:
SPI or I2C or EAUSART SPI, SCI
5.25 KB
1 KB
I2C / SPI / UART /
USB
SPI or USART
Maximum Clock Frequency:
48 MHz
48 MHz
48 MHz
16 MHz
Number of Programmable I/Os:
24
N/A
25
35
Number of Timers:
4
1
4
4
Operating Supply Voltage:
2 V to 5.5 V
2.7 V to 5.5 V
2.7 V to 5.25 V
2.7 V to 5.5 V
Maximum Operating Temperature:
+ 85 C
+ 85 C
+ 85 C
+ 85 C
Package / Case:
SOIC-28 Wide
SOIC-20 Wide
LQFP-32
PDIP-40
Packaging:
Tube
Tube
Tray
N/A
Minimum Operating Temperature:
- 40 C
- 40 C
- 40 C
- 40 C
On-Chip ADC:
10-chx10-bit
N/A
17-ch x 10-bit
N/A
Price (for 1):
$4.95
$2.00
$10.25
$6.77
35
Microcontroller
• Which programming language for the
microcontroller?
– Choices:
• C
• Assembly
– We chose C, as we are the most familiar with it, and
there is a large body of software already written for
the PIC18F2550. Furthermore, Microchip offers the
ability to blend C and Assembly in our source files, so
we can get the advantages of both languages
36
Software Design Decisions
•
•
•
•
•
Which programming language to use?
Vector or raster mill?
Directly support Gerber files?
Directly support TIFF images?
How should we communicate with the
microcontroller?
• How should we control security?
37
Software Design Decisions
• Which programming language for the computer
program?
– Choices:
• C, Java, C#
– We chose Java as we are the most familiar with it
other than C, and it is much easier to create GUI’s in
Java. C# would have interfaced with our
microcontroller easier, but we were not as familiar
with it as Java, and we wanted to cut down on
development time so that we could have more time to
debug and test
38
Environment
• Window Builder Pro to produce the GUI
• Eclipse to integrate everything together
• To account for the 12,000x12,000 pixel size
that could result from the convert operation,
512MB of memory was allocated to the JVM
– This could be optimized if we were to use the JAI
to tile the TIFF images, and read each tile
separately.
39
Software Design Decisions
• Vector or raster mill procedure?
– Vector: follow the outlines of each object until you
come back to the beginning of the object
• Pros: Shorter mill time, less movement of XY head
• Cons: more complicated algorithm
– Raster: scan left and right across the area to be
plotted
• Pro: simple algorithm
• Cons: longer mill time, more movement of XY head
40
Software Design Decisions
• Directly support Gerber files?
– Would allow for easier implementation of Vector milling
– Specification is too complicated for the scope of this
project
• Use gerb2tiff (external program) to convert the input Gerber file
to a TIFF
• Use the output as a raster mill input
41
Gerber File Example
%FSLAX43Y43*%
%MOMM*%
G71*
G01*
G75*
G04 Layer_Physical_Order=1*
G04 Layer_Color=255*
%ADD10C,0.250*%
%ADD11R,3.000X1.800*%
%ADD12R,4.700X3.810*%
%ADD13R,0.720X1.800*%
%ADD14R,4.060X3.810*%
%ADD15R,3.810X6.350*%
%ADD16C,1.000*%
%ADD17C,2.000*%
%ADD18C,2.200*%
%ADD19C,0.600*%
%ADD20C,0.254*%
%ADD21R,8.400X1.800*%
%ADD22R,7.000X2.000*
%
%ADD23R,24.000X17.00
0*%
%ADD24C,1.800*%
%ADD25R,1.800X1.800*
%
%ADD26C,2.000*%
%ADD27C,2.200*%
%ADD28C,1.600*%
%ADD29C,1.200*%
D10*
X18192Y29200D02*
G03*
X17896Y29381I-942J1200D01*
G01*
X16805Y30473D02*
G03*
X16073Y31205I-1305J573D01*
G01*
X8012Y50000D02*
G03*
X8012Y50000I2013J0D01*
G01*
X6890Y40388D02*
G03*
X6500Y40550I-390J-388D01*
G01*
X6889Y40389D02*
G03*
X6500Y40550I-389J-389D01*
G01*
X81876Y18000D02*
G03*
X83624Y18000I874J1250D01*
G01*
X78376D02*
G03*
X80124Y18000I874J1250D01*
G01*
X82012Y10000D02*
G03*
X82012Y10000I-2013J0D01*
G01*
X76013Y552D02*
G03*
X76050Y750I-513J198D01*
…
…
continues
42
TIFF and Machine Code Result
•The Gerber file from the
pervious page creates this
TIFF file through the use of
the gerb2tiff program
•This TIFF file is then used
to create the PNG file that
Java will use
Representation of the Gerber file that will be used to control the milling machine
Format: <laser on/off> <distance to move>
1 364 0 99 1 132 0 98 1 463 0 211 1 1203 0 38 1 35 0 76 1 98 0 31 1 2462 0 39 1 35 0 38 1 24 0 28 1 639 0 28 1 1908 0 2
1 365 0 99 1 130 0 99 1 463 0 211 1 1202 0 38 1 35 0 78 1 96 0 32 1 2461 0 39 1 35 0 38 1 26 0 27 1 639 0 28 1 1908 0 2
1 365 0 100 1 128 0 99 1 464 0 211 1 1201 0 38 1 35 0 80 1 94 0 32 1 2461 0 39 1 35 0 38 1 27 0 27 1 112 0 415 1 112 0 28 1 1908 0 2
1 366 0 100 1 126 0 100 1 464 0 211 1 1200 0 38 1 35 0 81 1 94 0 32 1 2460 0 39 1 35 0 38 1 28 0 27 1 112 0 415 1 112 0 28 1 1908 0 2
1 366 0 101 1 124 0 101 1 464 0 211 1 1199 0 38 1 35 0 83 1 92 0 32 1 2460 0 39 1 35 0 38 1 29 0 28 1 110 0 417 1 110 0 29 1 1908 0 2
43
Software Design Decisions
• How should we communicate with the
PIC18F2550?
– Initially: Send large amounts of data to PIC, with
no response
– Final choice: Send individual commands, wait for
acknowledged response before sending another
• Slower method, but we are using a very small amount
of our available bandwidth at any one time, and the
latency is low enough to be negligible compared to the
rate of dots/s where 1dot = 1/1000in
44
Software Design Decisions
• How should we control security?
– Option1: None
• Check the user’s input password against a plain text file
• Not really an option, we need user access level control
– Option2: Encryption
• Encrypt the user’s password, and check against the inserted
password
• Difficult to implement
– Option3: Hashing
• Hash the user’s password, store the hash, and create a new hash
based on the inserted password. Verify that they match.
• Easy to implement, and mathematically impossible to construct
the password from the hashed value
45
Software Design Decisions
• How should we control security?
– Option3: Hashing (SHA-512)
• Can’t just store the user’s password
• Need to store the user’s access level also
• Therefore, store
hash(<access_level>+<password>)
• then compute the four possible hashes based on the
current password that has been entered into the
system and assign the user the correct access level
• Access Levels: None, Standard, Advanced, Experienced,
Administrator
46
Optimal Control Path
Main Program
Console GUI
Standard User
User Login
Main GUI
Experienced
User
Main GUI
Select File
Translate
Image
Administrator
User
mill()
47
Main GUI
48
Read Input File
• Convert the Gerber file to a TIFF (gerb2tiff.exe)
• Convert the TIFF file to a PNG (convert.exe, Image Magick
suite)
Runtime rt = Runtime.getRuntime();
pr = rt.exec(String toRun);
• We did not want to have to write our own Gerber parser, so
we used the gerb2tiff program
• Java will not natively handle TIFF files, so we used the convert
program
– JAI library was deemed to add too much complexity to this
project
49
Mill Procedure
•
•
•
•
•
mill(String fileName) procedure called
checkReady()
– Is the laser on?
– Have any errors occurred?
loadPreprocessedFile(String fileName)
– If errors occur, exit gracefully to calling procedure which will handle the
outcome
loadSettings()
– Set how fast the XY head will move over areas where the laser will be on or off
traverseXY(int xy, int laser, int distance)
–
–
int xy determines which MCU to connect with, laser determines whether the laser will be on or off
and thus how fast to move the milling head, and the distance determines how far to go with this one
command
moveXY (int xy, int laser, int distance)
• sends the actual commands to the respective microcontroller
• returns a boolean to traverseXY(…) depending on whether the mill operation for that
movement command was a success or not
50
Send and Receive Data
• Traverse the processed input file in an alternating
line fashion
• Send the data to the machine, wait for an
acknowledgement packet back before sending the
next movement command
• If a line has nothing to be milled on it, move down
until a line with something to be milled is found, the
edge of the file, or the edge of the XY table is found
51
Image Tiling
Blank
Line
•Idea: Split the image into
smaller sections to reduce
the extraneous travel of
the milling head
•Implemented along with
a blank line skip
algorithm that allows
quick travel through
large sparsely populated
regions.
•Accomplished by loading the main full sized
image first, grabbing sub sections
•of this image and saving the location data of
where to mill in a text file.
52
Milestone Chart
Laser PS
Software
Software Testing
TEC PS
Laser Cavity
Q Switch PS
XY Table Testing
XY Table Stepper PS
Cleaning up
Apr 11
Apr 4
Mar 28
Mar 24
Mar 14
Mar 7
Feb 28
Feb 21
53
Budget
Estimate cost:
•
•
•
Software – free
Parts for XYZ table – $200
Laser setup
–
–
–
–
–
–
–
–
•
•
•
•
•
•
Spent cost:
•
•
•
–
–
–
–
–
–
–
–
Q-switch – $60 - $5000
808nm Diodes – $600
Nd:YAG rod – $50
KTP(KD*P) – $30 to $100
Directing mirrors – $450
Lens – $600
Quarter wave plate – $200
Polarizer – $400
Parts for Laser Power Supply – $200
Parts for TEC Power Supply – $75
Parts for Q switch Power Supply – $50
Parts for Stepper Power Supply – $30
Parts for Power Management Circuit – $50
Fume controller – $30
Total: $3100 to $8100
Software – free
Parts for XYZ table – $200
Laser setup
•
•
•
•
•
Q-switch – $512.95
808nm Diodes – $486.99
Nd:YAG rod – $250
KTP(KD*P) – $43.22
Directing mirrors – $27.19
Lens – $420
Quarter wave plate – $74
Polarizer – $49
Parts for Laser Power Supply – $400
Parts for TEC Power Supply – $35
Parts for Q switch Power Supply – $140
Parts for Stepper Power Supply – $30
Parts for Power Management Circuit – $70
Total: $2738.35
54
Acknowledgment
• Special Thanks to the Laser Plasma
Laboratories team in the CREOL department
for the help in burn testing and laser diode
calibration.
• Group 17 for there morale support.
55
Questions?
56