Laser Engraver Repoert
Laser Engraver Repoert
Laser Engraver Repoert
This process is mostly used to create images on the material, that may be seen
at eye level. To do so, the laser creates high heat that will vaporize the matter,
thus exposing cavities that will form the final image. It is using the laser for
marking the surface of an item.
Laser Engraving: how does it works?
This method is quick, as the material is removed with each pulse of the laser.
The depth of the marks is controlled by the number of times the laser beam is
passing on the material.
It can be used on almost any kind of metal, plastic, wood, leather or glass
surface. You can get a lot of different engraved materials. Furthermore, it is
more effective than traditional engraving for small objects, such as jewellery.
There are also smaller chances to damage or deform the material. It can be
used for many different applications, such as medical devices, fine art and so
on.
It can be used for industrial applications, but it is also possible to get a DIY laser
engraver machine, for example with a CO2 laser system. You just have to
connect your CO2 laser engraving machine on the USB port of your computer
and it will work like a printer.
Difference between Laser Etching and Laser Engraving
Laser Etching is a subset of Laser Engraving. In this particular case, the heat
from the beam is not used to vaporize the matter, but to melt it. It is mostly
used on metals and will expand the material by creating a raised cavity. It thus
modifies its characteristics, such as its reflectivity, and will create a contrast
with its surroundings.
Laser Marking is less common but quite popular in the medical device industry.
One of the major difference with Laser Engraving and Laser Etching is that
here, the oxidation during the marking process make the material turn black.
This laser marker technique is also good for logos or bar codes.
Parts List We need these following parts to make the
project -
Arduino Nano
250mW 650nm Laser Module
A4988 Motor Driver
IRFZ44N Mosfet
LM7805 Voltage Regulator.
Laser Heatsink
IC Heatsink
1000uF Capacitor
10k & 47R Resistor
Male and Female Header Pin
Screw Terminal
JST 2.0 Connector
2.5mm Jumper Cap
Shrink Tube
DVD Writer
Custom PCB Board
5mm Acrylic Sheet
Tools List:
Soldering Iron
Drill Machine
Metal File
Sandpaper
Wire Cutter
Superglue
Step 2: Remove the Stepper Sliding Mechanism
We need two DVD writer’s mechanism for this project. One for X-Axis
and another one for Y-Axis. You can find this DVD writer from broken
CPU or local hardware shop. We also got from the local hardware shop
at very cheap prices. Now it’s time to disassemble the DVD writers.
Our project aim is to make Laser engraver with small compact size with less
complication and user friendly. Laser engraving machine is totally assembled
on ACP (Aluminium Composite Panel) sheet of 3 mm thick.
In this step, we'll solder wires to the stepper motors. Follow the steps below to
properly solder wires.
Specification:
Brand Eleksmaker
Optical Power: 200-250mW
Wavelength 650nm(red laser)
Voltage: DC 3-5V
Current: <300mA
Beam Shape: dot
Size: Φ12X45mm
Features:
1. 650nm focusable red laser module
2. Reverse power protection, anti-static protection, short circuit protection
3. Supply current does not vary with the voltage ranging from 3.2V to 5.0V
4. Output optical power is stable, suitable for industrial equipment usage
Note:
1.This laser module has high output power, please wear goggles when testing
or using.
2.The red cord is anode; the black cord is cathode.
LASER MODULE HEATSINK:
Above given diagram is the form of GERBER format with help of circuit
development software we produce in the form of wiring and pinouts.
Components are soldered and tested by multimeter.
ELECTRONIC COMPONENT:
ARDUINO NANO:
Arduino-Nano-pinout
Arduino-Nano-pinout
Power Pin (Vin, 3.3V, 5V, GND): These pins are power pins
STEPPER MOTOR DRIVER:
This breakout board for Allegro’s A4988 micro stepping bipolar stepper motor
driver features adjustable current limiting, over-current and over-temperature
protection, and five different micro step resolutions (down to 1/16-step). It
operates from 8 V to 35 V and can deliver up to approximately 1 A per phase
without a heat sink or forced air flow (it is rated for 2 A per coil with sufficient
additional cooling). This board ships with 0.1″ male header pins included but
not soldered in.
Overview
This product is a carrier board or breakout board for Allegro’s A4988 DMOS
Micro Stepping Driver with Translator and Overcurrent Protection; we
therefore recommend careful reading of the A4988 datasheet (1MB pdf)
before using this product. This stepper motor driver lets you control one
bipolar stepper motor at up to 2 A output current per coil (see the Power
Dissipation Considerations section below for more information). Here are some
of the driver’s key features:
Simple step and direction control interface
Five different step resolutions: full-step, half-step, quarter-step, eighth-
step, and sixteenth-step
Adjustable current control lets you set the maximum current output
with a potentiometer, which lets you use voltages above your stepper
motor’s rated voltage to achieve higher step rates
Intelligent chopping control that automatically selects the correct
current decay mode (fast decay or slow decay)
Over-temperature thermal shutdown, under-voltage lockout, and
crossover-current protection
Short-to-ground and shorted-load protection
Features:
Small signal N-Channel MOSFET
Continuous Drain Current (ID) is 49A at 25°C
Pulsed Drain Current (ID-peak) is 160A
Minimum Gate threshold voltage (VGS-th) is 2V
Maximum Gate threshold voltage (VGS-th) is 4V
Gate-Source Voltage is (VGS) is ±20V (max)
Maximum Drain-Source Voltage (VDS) is 55V
Rise time and fall time is about 60ns and 45ns respectively.
It is commonly used with Arduino, due to its low threshold current.
Where to use IRFZ44N MOSFET
The IRFZ44N is known for its high drain current and fast switching speed.
Adding to that it also has a low Rds value which will help in increasing the
efficiency of switching circuits. The MOSFET will start turning on with a small
gate voltage of 4V, but the drain current will be maximum only when a gate
voltage of 10V is applied. If the mosfet has to be driven directly from a
microcontroller like Arduino then try the logic level version IRLZ44N mosfet.
Applications:
Switching high power devices
Control speed of motors
LED dimmers or flashers
High Speed switching applications
Converters or Inverter circuits
Specifications:
Input Voltage: AC 100 - 264V 50 / 60Hz
Output Voltage: 12V DC, 2A
Output voltage: Adjustment Range: ±20%
Protections: Overload / Over Voltage / Short Circuit
Auto-Recovery After Protection
Universal AC input / Full range
100% Full Load Burn-in Test
Cooling by Free Air Convection
High Quality and High Performance
LED power supply with a metal body for hidden installation for LED
lighting
Design with Built-in EMI Filter, improve signal precision.
Certifications: CE & RoHs
No Minimum Load.
Compact Size Light Weight.
High Efficiency, Reliability & low energy consumption
Category - Switch Mode Power Adaptor (SMPS)
MTBF >50,000 hours
Output Type - DC
Output - 12Volts 2Amp
Shell Material: Metal Case / Aluminium Base
Colour: Sliver
Dimension: (85 x 58 x 38) mm / (3.40 x 2.60 x 1.49) inch (L x W X H)
CIRCUIT PREPERATION:
In GRBL the digital and analog Pins of Arduino are reserved. The 'Step'
pin for the X and Y axes is attached to digital pins 2,and 3 respectively.
The 'Dir' pin for the X and Y axes is attached to digital pins 5 and 6
respectively. D11 is for laser Enable. The Arduino gets power through
the USB Cable. The A4988 Drivers through external power source. All
ground share common connections. VDD of A4988 are connected to 5V
of Arduino. The laser I've used runs on 5V and has built in constant
current circuit. For the constant 5V source from the external power
supply LM7805 voltage regulator is used. Heatsink is compulsory. The
IRFZ44N N-CHANNEL MOSFET works as an elelctronic switch when
receives digital high signal from pin D11 of Arduino. NOTE: 5V from
Arduino nano can't be used beause the laser draws more than 250mA
and the Arduino Nano is not capable of delivering that much of current.
The 3 pins (MS1, MS2 and MS3) are for selecting one of the five step
resolutions according to the above truth table. These pins have internal
pull-down resistors so if we leave them disconnected, the board will
operate in full step mode. I've used the 16th step configuration for
smooth and noise free. Most (but certainly not all) stepper motors do
200 full steps per revolution. By appropriately managing the current in
the coils it is possible to make the motor move in smaller steps. The
Pololu A4988 can make the motor move in 1/16th steps - or 3,200 steps
per revolution.The main advantage of microstepping is to reduce the
roughness of the motion. The only fully accurate positions are the full-
step positions. The motor will not be able to hold a stationary position at
one of the intermediate positions with the same position accuracy or
with the same holding torque as at the full step positions.Generally
speaking when high speeds are required full steps should be used.
SETTING OF LASERS GRBL:
GRBL Firmware
What is GRBL firmware?
GRBL is a firmware for Arduino boards(uno,nano,Duemillanove) that controls
stepper motors and spindles/lasers. GRBL uses geode as input and outputs
signals via the Arduino pins.
// Should be right for DVD steppers, but is not too important here
const int stepsPerRevolution = 40;
// Initialize steppers for X- and Y-axis using this Arduino pins for the L293D H-bridge
AF_Stepper myStepperY(stepsPerRevolution,1);
AF_Stepper myStepperX(stepsPerRevolution,2);
// Needs to interpret
// G1 for moving
// G4 P300 (wait 150ms)
// M300 S30 (pen down)
// M300 S50 (pen up)
// Discard anything with a (
// Discard any other command!
/**********************
* void setup() - Initialisations
***********************/
void setup() {
// Setup
Serial.begin( 9600 );
// Decrease if necessary
myStepperX.setSpeed(100);
myStepperY.setSpeed(100);
// Notifications!!!
Serial.println("Mini CNC Plotter alive and kicking!");
Serial.print("X range is from ");
Serial.print(Xmin);
Serial.print(" to ");
Serial.print(Xmax);
Serial.println(" mm.");
Serial.print("Y range is from ");
Serial.print(Ymin);
Serial.print(" to ");
Serial.print(Ymax);
Serial.println(" mm.");
}
/**********************
* void loop() - Main loop
***********************/
void loop()
{
delay(100);
char line[ LINE_BUFFER_LENGTH ];
char c;
int lineIndex;
bool lineIsComment, lineSemiColon;
lineIndex = 0;
lineSemiColon = false;
lineIsComment = false;
newPos.x = 0.0;
newPos.y = 0.0;
// Needs to interpret
// G1 for moving
// G4 P300 (wait 150ms)
// G1 X60 Y30
// G1 X30 Y50
// M300 S30 (pen down)
// M300 S50 (pen up)
// Discard anything with a (
// Discard any other command!
if (verbose)
{
Serial.print("Xpos, Ypos: ");
Serial.print(Xpos);
Serial.print(",");
Serial.print(Ypos);
Serial.println("");
}
if (verbose)
{
Serial.print("x1, y1: ");
Serial.print(x1);
Serial.print(",");
Serial.print(y1);
Serial.println("");
}
long i;
long over = 0;
if (verbose)
{
Serial.print("dx, dy:");
Serial.print(dx);
Serial.print(",");
Serial.print(dy);
Serial.println("");
}
if (verbose)
{
Serial.print("Going to (");
Serial.print(x0);
Serial.print(",");
Serial.print(y0);
Serial.println(")");
}
// Raises pen
void penUp() {
digitalWrite(penServoPin,penZUp);
delay(penDelay);
Zpos=Zmax;
digitalWrite(15, LOW);
digitalWrite(16, HIGH);
if (verbose) {
Serial.println("Pen up!");
}
}
// Lowers pen
void penDown() {
digitalWrite(penServoPin,penZDown);
delay(penDelay);
Zpos=Zmin;
digitalWrite(15, HIGH);
digitalWrite(16, LOW);
if (verbose) {
Serial.println("Pen down.");