61
Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Embed Size (px)

Citation preview

Page 1: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Laser Milling Machine

Group 18

Nathan BodnarDavid DowdleRyan Maticka

Page 2: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

• The system will be capable of laser etching copper coated printed circuit boards (PCB’s) 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

Project Overview

Page 3: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Project Motivation• Current milling machine

used by senior design students has had numbers breakdowns

• We wanted to replace the replace the current milling machine with a more reliable system that was capable of running without continuous user input

• Design and build our own high powered green laser

Page 4: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

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

• Safe, most specifically in the area of eye and lung safety

• Capable of interfacing with a computer through a single USB port

• Capable of vaporizing copper in just a few pulses of a laser

• Capable of burning through the fiberglass substrate with the laser alone

Page 5: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Project Goals and Objectives• 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 handling FR4 copper clad PCB• Able to store previously milled boards so that

the left over areas can be re-milled• Capable of milling warped boards

Page 6: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Project Specifications & Requirements

• Capable of milling a 12inx12in board• Resolution of 1mil

– 1mil = 39.37mm or 1/1000inch

• Beam waste of 1mil or lower• Protected through the storage of hashed user

passwords

Page 7: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Project Specifications and Requirements

• Require 512MB of main memory (computer) to run after everything else

• Implement a call and answer protocol for the interface between the computer and the microcontroller through the use of 64Byte data packets

Page 8: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

• User safety– Laser being ran as a class one– Air scrubbed through a carbon filter– Automatic shutdown if the system is opened– High voltage system, so the entire system is enclosed

and not just the laser subsystem• Equipment safety

– Multiple temperature sensors– Automatic shutdown on a detected anomaly– Multiple housings to protect equipment from the

vaporized copper by product of the mill procedure

Safety

HIGH VOLTAGE

DANGERHIGH

VOLTAGE

DANGER

Page 9: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

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

CAUTIONLASER RADIATION

DO NOT STARE INTO BEAM

CLASS 1 LASER

Enclosed Nd:YAG, 532nm, 10mJ, 40ns

! CAUTIONLASER RADIATION

DO NOT STARE INTO BEAM

CLASS 1 LASER

Enclosed Nd:YAG, 532nm, 10mJ, 40ns

!!

Page 10: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Burn Testing

Minimum amount of Energy needed: 0.7mJ for 20ns @ 532nm

Energy to Vaporize Copper

0

5

10

15

20

25

30

35

2484486488481048

Wavelength (nm)

Ene

rgy

(mJ)

Page 11: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Laser Cavity Design

•Folded cavity Design

•Q switched

•808nm Diode Pumped

•Output: 532nm

•Nd:YAG (end pumped)

Page 12: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Laser Cavity Simulations

• With 80W input = 30W @ 1064nm

• ~12W @532nm CW

• Pulsed: 4mJ @ 13ns

• ~ 307 MW duty 0.0013%

Page 13: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Laser Block DiagramMain

Computer

Laser Power Supply

USBUSB

AC Power

Cooling Lines

Thermal Electric Cooler

Laser Diode #1

Wire

Cooling Flow

Thermistor

Cooling Lines

Wire

USB USB

Laser Power Supply

AC Power

Cooling Lines

Thermal Electric Cooler

Laser Diode #1

Wire

Cooling Flow

Thermistor

Cooling Lines

Wire

Main Computer

Laser Power Supply

USBUSB

AC Power

Cooling Lines

Thermal Electric Cooler

Laser Diode #1

Wire

Cooling Flow

Thermistor

Cooling Lines

Wire

USB USB

Laser Power Supply

AC Power

Cooling Lines

Thermal Electric Cooler

Laser Diode #2

Wire

Cooling Flow

Thermistor

Cooling Lines

Wire

Page 14: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Q Switch

Pockel Cell

• Fast Switching Characteristics <1ns

• Voltage Rating: 3-5 kV

• High Laser Power Operation

• Crystal: KD*P

• Polarization Dependent

Alternative Q Switches

•AOM modulator

•Mechanical

•Saturable Absorber

Page 15: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Q Switch Block Diagram

Voltage Regulator

DarlingtonTransistor

Microcontroller

+12V

40kHzOscillator

VoltageDivider

FilterCaps

VoltageMultiplier

1:98Transformer

FastFETs

Voltage Regulator

DarlingtonTransistor

Microcontroller

+12V

40kHzOscillator

VoltageDivider

FilterCaps

VoltageMultiplier

1:98Transformer

FastFETs

•Generates 0 - 5 kV output

•Generates pulses with minimal delay

•Emergency Shutoff capabilities

Page 16: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

•Voltage divider reduces voltage down by 1221:1

•Peak output voltage from divider: 4.05 Volts

•D/A : MCP4251

•Allows Control of 20 Volts per Step

Q Switch Voltage Regulator

Page 17: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Voltage Multiplier

•Villard cascade voltage multiplier

•Multiplies by 4

•Inputs from CCFL transformer

•Outputs to filter Caps

Page 18: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Oscillator Circuit

•Generates a Square wave

•Center Frequency: ~50kHz

Pulse Generator Circuit

•Generates a pulse when the microcontrollers rising edge

•Delay is formed by L-C networks

•Delay time will depend on final Laser cavity alignment

Page 19: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Emergency Power Cutoff

• Activated by RB7

• Stays activated until Reset

• Resets when the 12V line is removed

Page 20: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

XY table

• Threaded Rode Design

• Requires material To Move

• Requires Double the area to travel

Old Design Current Design

• Belt Driven

• Moves the mirrors and not the material

• Requires only 6” extra for head travel

Page 21: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Stepper Motor Controller

Stepper Controller

•Allows Micro-stepping

•Allows Full Stepping

Stepper Motor• 0.9 rotation per Step• Holding Torque: 30 oz-in• Unipolar

Page 22: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Laser Power Supply

• Specifications – Input: 120VAC at 60Hz– Output: 0 to 5VDC at 60A– Current driven– Output voltage ripple < 1mV– Precision and consistency

Page 23: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Filtering and Rectification

• Low-pass filter: filter out high frequency noise• Metal oxide varistor: high R at low V and low R at

high V provides surge protection• Isolation: 60Hz isolation transformer• Rectifier bridge with output capacitor

Page 24: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

DC to DC Converter

• Choices:– Linear regulator

• Not efficient enough• Large size• Thermal issues

– Switched-mode DC to DC Converter• Buck converter for voltage gain < 1• Adjusting PWM will control voltage and current output

Page 25: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Switching

• Choices: BJT, IGBT, MOSFET– BJT

• Pros: High current carrying capability• Cons: High driving power

– IGBT• Pros: High current carrying capability• Cons: Frequency not as high as MOSFETs to give a small ripple

– MOSFET• Pros: High frequency for small ripple, low driving power• Cons: Low current carrying capability

Page 26: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Switching

• Problem: – MOSFET has lower

current carrying capability

• Solution:– Use MOSFETS in parallel

• High current• High switching speed• Low driving power

Page 27: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Synchronous Switching• Low Power

– Blocking diode can handle low power• High Power

– Risk of breakdown from high stress on diode– Power losses on diode is much greater than using a MOSFET

• Replace diode with a MOSFET

Page 28: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Control

Buck Converter MicrocontrollerDifferential Amplifier

Page 29: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

LC Filter

• Reduce the output voltage ripple and current ripple– Increase C to decrease ripple

• Synchronous switching allows for the use of a small inductor– Pros: small resistance, reach steady state fast

Page 30: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Capacitor Value

• ∆VC is the output voltage ripple

• VO is the output voltage

• L is the inductor values• D is the duty cycle of the parallel MOSFETs• f is the frequency of the parallel MOSFETs

28

1

LCf

D

V

V

O

C

Page 31: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Thermoelectric Cooling

• Used to cool laser diodes• ATX PSU:12VDC• PWM controls MOSFET to control the power to the peltier• Temperature monitored via thermistor on peltier

MOSFET

Peltier PeltierLaser Diode

#1

Microcontroller

PeltierLaser Diode

#2Thermistor

Peltier

Thermistor

+12V

Page 32: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Microcontroller

• Needed to be able to do:– Pulse Width Modulation (PWM) for microstepping– Analog to digital converter for the temperature sensors– Able to interface with a large number of sensors (greater

than 5)– Types of sensors: contact, temperature, light, current,

voltage, humidity, and flow rate– Low cost– Easy to implement– Large repository of example code– Easy to reprogram (USB)

Page 33: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

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

Page 34: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Microcontroller Decision ChartMCU 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 5.25 KB 1 KB

Interface Type: SPI or I2C or EAUSART SPI, SCI 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

Page 35: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

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?• How are we going to cut out holes?

Page 36: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

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

Page 37: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

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

Page 38: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

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

Page 39: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Software Design Decisions

• Directly support TIFF images?– Possible: JAI (Java Advanced Imaging) library– Difficult to do

• Solution?– Support reading in PNG files– Call external program (convert.exe) to convert the

TIFF image to a PNG image– PNG files can be read natively by the Java image

handling methods

Page 40: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Software Design Decisions• How should we communicate with the

PIC18F2550?– Initially: Send large amounts of data to PIC, with

not 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

Page 41: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Software Design Decisions

• How should we control security?– Option1: None

• Check the user’s input password against a plain text file– Option2: Encryption

• Encrypt the user’s password, and check against the inserted password

– Option3: Hashing• Hash the user’s password, store the hash, and create a

new hash based on the inserted password. Verify that they match.

Page 42: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Software Design Decisions

• How should we control security?– Option1: None

• Not really an option, we need user access level control

– Option2: Encryption• Difficult to implement

– Option3: Hashing• Easy to implement, and mathematically impossible to

construct the password from the hashed value

Page 43: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Software Design Decisions

• How should we control security?– Option3: Hashing

• 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

Page 44: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Software Design Decisions

• How are we going to cut out holes?– Raster?

• We only need to cut around the edge of the hole

– Vector?• Yes• How is this possible?

– PCB authoring software produces separate drill files for holes

Page 45: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Software Design Decisions• How are we going to cut out holes?

– Vector– Code snippet below

int Bx = 50; //x location of the hole

int By = 50; //y location of the hole

int Ax, Ay;

int D = 10; //diameter of the hole

for (double y=0; y<=360; y = y+0.01) {

Ax = (int)Math.floor(D/2*Math.cos(y*Math.PI/180));

Ax += Bx;

Ay = (int)Math.floor(D/2*Math.sin(y*Math.PI/180));

Ay += By;

map[Ax][Ay] = 1;

}

Page 46: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Optimal Control Path

Experienced User

Administrator User

Advanced UserStandard User

Main GUI

Main Program User Login Main GUISelect File

Page 47: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Realistic Path – Step 1

User Login

Select File

Correct Password?

Yes

No

Valid User Name?

Yes

No

Page 48: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Realistic Path – Step 2

Select File

Main GUI

User File Exists?

Yes

No

File Name Exists?

Yes

No

PNG File Exists?

No

Yes

Page 49: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Realistic Path – Step 2

Page 50: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Main GUI

Standard

Administrator

Experienced

Advanced

Page 51: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Important Functions

• Create hash file to store users• Access hash file• Read and process input file• Take processed input file and send the

commands to the machine• Interpret the commands coming from the

machine acknowledging that it received data and is working properly

Page 52: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Create Hash File

• Store the userName (the student’s NID)• Store a hash of the user’s password and

access level in the format:hash(“<accessLevel> + <password>”)

• Check for duplicate entries, replace the old entry with the new entry

• Use SHA-512 (SHA-2 family) hashing algorithm

Page 53: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Access Hash File

• Read current hash file into a TreeMap– User the userName field as the key, and the

hashed password as the value

• Make a hash out of the current user’s password, and all of the possible access levels

• Compare the two hashes• Assign the user their access level based on the

result of the comparison

Page 54: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

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

Page 55: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Environment

• NetBeans 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, 1GB 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. This will be implemented if we have time at the end of this project.

Page 56: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Process Input File

• Read the PNG file into memory so that we can process it

• Read the image line by line, and produce a text file indicating the if the laser should be on or off and for how many steps

• Store if the laser should be on/off, and the distance that this is true for in an int array– index%2 == 0 (on/off)– index%2 ==1 (distance)

• Indicate if a line needs to be milled

Page 57: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

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

Page 58: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Milestone Chart

Feb 21

Feb 28

Mar 7

Mar 14

Mar 24

Mar 28

Apr 4

Apr 11

Laser Cavity

Q Switch PS

XY Table Stepper PS

TEC PS

Software

Laser PS

XY Table Testing

Software Testing

Cleaning up

Page 59: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Budget

• Software – free• Parts for XYZ table – $200• Laser setup

– 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 – $125– KTP(KD*P) – $43.22– Directing mirrors – $27.19– Lens – $420– Quarter wave plate – $74– Polarizer – $49

• Parts for Laser Power Supply – $200• Parts for TEC Power Supply – $35• Parts for Q switch Power Supply – $140• Parts for Stepper Power Supply – $30• Parts for Power Management Circuit – $50• Fume controller – $30

Total: $2423.35

Estimate cost: Spent cost:

Page 60: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Project Progress

54%

60%

80%

90%

20%

15%

12%

70%

85%

0% 20% 40% 60% 80% 100%

Total

Software

XY Table

TEC Controller

Q Switch Power Supply

Laser Power Supply

Laser Cavity

Bought Materials

Research

Page 61: Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka

Questions?