Laser%20PCB%20Milling%20Machine - PowerPoint PPT Presentation

About This Presentation
Title:

Laser%20PCB%20Milling%20Machine

Description:

Laser PCB Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka * Laser Previous Design Second harmonic Nd:YAG Q switched laser Generating second harmonic ... – PowerPoint PPT presentation

Number of Views:613
Avg rating:3.0/5.0
Slides: 57
Provided by: Corpo125
Learn more at: https://www.ece.ucf.edu
Category:

less

Transcript and Presenter's Notes

Title: Laser%20PCB%20Milling%20Machine


1
Laser PCB Milling Machine
  • Group 18
  • Nathan Bodnar
  • David Dowdle
  • Ryan Maticka

2
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
3
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
4
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
5
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
6
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
7
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
8
Safety
  • User safety
  • Laser being ran as a class one
  • Enclosed laser subsystem
  • Equipment safety
  • Housing to protect equipment from the vaporized
    copper by product of the mill procedure

8
9
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

9
10
Burn Testing
Minimum amount of Energy needed 0.7mJ for 20ns _at_
532nm
10
11
Laser
  • Previous Design
  • Second harmonic NdYAG Q switched laser
  • Generating second harmonic inside laser cavity is
    more efficient than outside cavity
  • Output
  • Energy 9 mJ
  • Pulse lt 40 ns

12
Laser Cavity
  • Folded cavity Design
  • Q switched
  • 808 nm Diode Pumped
  • Output 532 nm
  • NdYAG (end pumped)

12
13
Laser Cavity Simulations
  • With 80 W input 30 W _at_ 1064 nm
  • 12 W _at_ 532 nm CW
  • Pulsed 4 mJ _at_ 13 ns
  • 307 MW duty 0.0013

13
14
Laser Block Diagram
14
15
Current Laser System
  • Laser diode problem
  • 808 nm diode ran at 800 nm, and NdYAG 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

16
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

17
Previous Q Switch
  • Pockel Cell
  • Fast Switching Characteristics lt 1ns
  • Voltage Rating 3-5 kV
  • High Laser Power Operation
  • Crystal KDP
  • Polarization Dependent
  • Alternative Q Switches
  • AOM modulator
  • Mechanical
  • Saturable Absorber

17
18
Q Switch PSU Block Diagram
  • Generates 0 - 5 kV output
  • Generates pulses with minimal delay
  • Emergency Shutoff capabilities

18
19
Q Switch
  • Current Design
  • Saturable absorber
  • Laser cavity lt 10 cm long, so no pockel cell
  • Saturable absorber is 3 mm long

20
Stepper Motor Controller
  • Stepper Controller
  • Full bridge MOSFET driver
  • 120 micro-steps per full step gives 0.0075 per
    step
  • Stepper Motor
  • 0.9 rotation per step
  • Holding Torque 30 oz-in
  • Unipolar

20
21
XY table
Previous Design
Current Design
  • Threaded Rod Design
  • Requires material to move
  • Requires double the area to travel
  • Belt Driven with linear bearings
  • Moves the mirrors and not the material
  • Requires only 6 extra for head travel

21
22
Laser Power Supply
  • Previous Design
  • Specifications
  • Input 120 V AC, 60 Hz
  • Output 0 - 5 V DC, 60 A
  • Output voltage ripple lt 1 mV
  • Current controlled
  • Current monitoring
  • Temperature monitoring

23
DC to DC Converter
  • Choices
  • Linear regulator
  • Low efficiency
  • Large size
  • Thermal problems
  • Switched-mode DC to DC Converter
  • Buck converter for voltage gain lt 1
  • Adjusting PWM will control voltage and current
    output

23
24
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
25
Switching
  • Problem
  • MOSFETs carry low current
  • Solution
  • Use MOSFETs in parallel
  • High current
  • High switching speed
  • Low driving power

25
26
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
27
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
(No Transcript)
29
Thermoelectric Cooling
12V
PWM
  • 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
30
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

31
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)

32
Boost Converter
33
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

34
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
35
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 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
35
36
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
37
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
38
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
    GUIs 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
39
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
40
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
41
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
42
Gerber File Example
G01 X6890Y40388D02 G03 X6500Y40550I-390J-388D01
G01 X6889Y40389D02 G03 X6500Y40550I-389J-389D
01 G01 X81876Y18000D02 G03 X83624Y18000I874J12
50D01 G01 X78376D02 G03 X80124Y18000I874J1250D
01 G01 X82012Y10000D02 G03 X82012Y10000I-2013J
0D01 G01 X76013Y552D02 G03 X76050Y750I-513J198
D01 continues
  • FSLAX43Y43
  • MOMM
  • G71
  • G01
  • G75
  • G04 Layer_Physical_Order1
  • G04 Layer_Color255
  • 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.000 ADD
24C,1.800 ADD25R,1.800X1.800 ADD26C,2.000
ADD27C,2.200 ADD28C,1.600 ADD29C,1.200 D
10 X18192Y29200D02 G03 X17896Y29381I-942J-1200D
01 G01 X16805Y30473D02 G03 X16073Y31205I-1305J
-573D01 G01 X8012Y50000D02 G03 X8012Y50000I-20
13J0D01
42
43
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
ltlaser on/offgt ltdistance to movegt
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
44
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
45
Software Design Decisions
  • How should we control security?
  • Option1 None
  • Check the users input password against a plain
    text file
  • Not really an option, we need user access level
    control
  • Option2 Encryption
  • Encrypt the users password, and check against
    the inserted password
  • Difficult to implement
  • Option3 Hashing
  • Hash the users 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
46
Software Design Decisions
  • How should we control security?
  • Option3 Hashing (SHA-512)
  • Cant just store the users password
  • Need to store the users access level also
  • Therefore, store
  • hash(ltaccess_levelgtltpasswordgt)
  • 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
47
Optimal Control Path
Main Program
User Login
Main GUI
Select File
Translate Image
Main GUI
Console GUI
Experienced User
Administrator User
Standard User
mill()
47
48
Main GUI
48
49
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
50
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
51
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
52
Image Tiling
  • 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.

Blank Line
  • 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.

53
Milestone Chart
Laser PS
Software
Software Testing
TEC PS
Laser Cavity
Q Switch PS
XY Table Testing
XY Table Stepper PS
Cleaning up
Mar 7
Mar 24
Mar 28
Apr 4
Apr 11
Feb 28
Feb 21
Mar 14
53
54
Budget
Estimate cost
Spent cost
  • Software free
  • Parts for XYZ table 200
  • Laser setup
  • Q-switch 60 - 5000
  • 808nm Diodes 600
  • NdYAG rod 50
  • KTP(KDP) 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
  • NdYAG rod 250
  • KTP(KDP) 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
55
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.

56
Questions?
Write a Comment
User Comments (0)
About PowerShow.com