610 likes | 852 Views
Laser Milling Machine. Group 18 Nathan Bodnar David Dowdle Ryan Maticka. Project Overview. 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:
E N D
Laser Milling Machine Group 18 Nathan Bodnar David Dowdle Ryan Maticka
Project Overview • 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 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
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
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
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
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
Safety • 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
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
Energy (mJ) Burn Testing Minimum amount of Energy needed: 0.7mJ for 20ns @ 532nm
Laser Cavity Design • Folded cavity Design • Q switched • 808nm Diode Pumped • Output: 532nm • Nd:YAG (end pumped)
Laser Cavity Simulations • With 80W input = 30W @ 1064nm • ~12W @532nm CW • Pulsed: 4mJ @ 13ns • ~ 307 MW duty 0.0013%
Main Main Computer Computer USB USB USB USB USB USB USB USB AC Power AC Power AC Power AC Power Laser Laser Laser Laser Thermal Electric Cooler Thermal Electric Cooler Thermal Electric Cooler Thermal Electric Cooler Power Supply Power Supply Power Supply Power Supply Cooling Lines Cooling Lines Cooling Lines Cooling Lines Thermistor Thermistor Wire Wire Thermistor Thermistor Wire Wire Cooling Cooling Cooling Cooling Flow Flow Flow Flow Laser Diode #1 Laser Diode #1 Laser Diode #2 Laser Diode #1 Wire Wire Wire Wire Cooling Lines Cooling Lines Cooling Lines Cooling Lines Laser Block Diagram
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
Q Switch Block Diagram • Generates 0 - 5 kV output • Generates pulses with minimal delay • Emergency Shutoff capabilities
Q Switch Voltage Regulator • 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
Voltage Multiplier • Villard cascade voltage multiplier • Multiplies by 4 • Inputs from CCFL transformer • Outputs to filter Caps
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
Emergency Power Cutoff • Activated by RB7 • Stays activated until Reset • Resets when the 12V line is removed
XY table Old Design Current Design • Threaded Rode Design • Requires material To Move • Requires Double the area to travel • Belt Driven • Moves the mirrors and not the material • Requires only 6” extra for head travel
Stepper Motor Controller Stepper Motor • 0.9 rotation per Step • Holding Torque: 30 oz-in • Unipolar • Stepper Controller • Allows Micro-stepping • Allows Full Stepping
Laser Power Supply • Specifications • Input: 120VAC at 60Hz • Output: 0 to 5VDC at 60A • Current driven • Output voltage ripple < 1mV • Precision and consistency
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
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
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
Switching • Problem: • MOSFET has lower current carrying capability • Solution: • Use MOSFETS in parallel • High current • High switching speed • Low driving power
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
Control Differential Amplifier
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
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
Thermoelectric Cooling +12V • Used to cool laser diodes • ATX PSU:12VDC • PWM controls MOSFET to control the power to the peltier • Temperature monitored via thermistor on peltier
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)
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
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?
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
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
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
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
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
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.
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
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
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
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; }
Optimal Control Path Main Program User Login Select File Main GUI Main GUI Standard User Advanced User Experienced User Administrator User
Realistic Path – Step 1 Valid User Name? Correct Password? User Login Yes No No Yes Select File
Realistic Path – Step 2 File Name Exists? User File Exists? Select File Yes No No PNG File Exists? Yes No Yes Main GUI
Main GUI Standard Advanced Administrator Experienced