-
Notifications
You must be signed in to change notification settings - Fork 68
Firmware: Smoothie and JTech 2.8 Settings
If you want to use a laser diode with Laserweb below you will find some settings and recommendations.
Their current driver has a control signal maximum frequency of 5KHz. If you are using Smoothieware to control the driver then a change in the config is needed to have the complete power range of the laser.
Go to Smoothieware’s config and look for the last line in the laser block
# Laser module configuration
laser_module_enable true # Whether to activate the laser module at all. All configuration is
# ignored if false.
laser_module_pin 2.5 # this pin will be PWMed to control the laser. Only P2.0 - P2.5, P1.18, P1.20, P1.21, P1.23, P1.24, P1.26, P3.25, P3.26
# can be used since laser requires hardware PWM
laser_module_maximum_power 1.0 # this is the maximum duty cycle that will be applied to the laser
laser_module_minimum_power 0.0 # This is a value just below the minimum duty cycle that keeps the laser
# active without actually burning.
laser_module_default_power 0.8 # This is the default laser power that will be used for cuts if a power has not been specified. The value is a scale between
# the maximum and minimum power levels specified above
laser_module_pwm_period 20 # this sets the pwm frequency as the period in microseconds
By default its setup to 20 microseconds so that would mean 50KHz and we need 5KHz. So change that value to 200.
Bellow you’ll find some tests done in Laserweb
If you have a different requirement the following tool will help you make the convertion
3D printable Openscad mounting solution for a 52mm spindle which also includes an optional Shopvac mount and optional RPM meter mount.
$fn=120;
with_vacuum = true;
with_rpm_meter = true;
spindle = 53;
vacuum = 37.2;
if (with_vacuum == true) {
//%color("orange") rotate([0, 0, 90]) import("adapter_1_v1_0.stl");
}
translate([0, 0, 10]) color("red") {
%cylinder(r=spindle/2, h=90);
%translate([0, 0, -spindle]) cylinder(r=19/2, h=52);
%translate([0, 0, -72]) cylinder(r=3/2, h=20);
if (with_rpm_meter == true) {
rotate([0, 0, -45]) {
%translate([-10.5, 0, -14.5]) rotate([0, 90]) cylinder(r=1, h=1);
%translate([-44, 0, -14.5]) rotate([0, 90]) cylinder(r=6, h=32);
}
}
}
rotate([0, 0, -45]) {
difference() {
union() {
translate([0, 0, 15]) cylinder(r=(spindle+4.8)/2, h=10); // spindle clamp
difference() {
hull() { // main body
rotate([0, 0, -90]) { // laser mount
translate([-(spindle+2.4)/2, 0, -4.5]) cube([2.4, 32, 30], center=true);
}
if (with_rpm_meter == true) {
translate([-(spindle+2.4)/2, 0, -4.5]) rotate([0, 90]) cylinder(r=11, h=2.4, center=true); // hall effect mount
}
cylinder(r=(spindle+4.8)/2, h=15); // spindle mount
if (with_vacuum == true) {
rotate([0, 0, 45]) translate([0, -65, 0]) cylinder(r=(vacuum/2)+2.4, h=15); //vacuum mount
}
}
cylinder(r=(spindle)/2, h=50, center=true); // spindle hole
translate([0, 0, 20]) cube([2, 60, 10], center=true); // clamp relief
translate([0, 0, 20]) cube([60, 2, 10], center=true); // clamp relief
// center cutout
translate([0, 0, -25]) difference() {
intersection() {
hull() {
cylinder(r=spindle/2, h=50);
rotate([0, 0, 45]) translate([0, -65, 0]) cylinder(r=(vacuum/2), h=50);
}
hull() {
cylinder(r=spindle/2-3.6, h=50);
rotate([0, 0, 45]) translate([0, -65, 0]) cylinder(r=(vacuum/2)-3.6, h=50);
}
}
cylinder(r=spindle/2+2.4, h=100, center=true);
rotate([0, 0, -135]) translate([0, 65, 0]) cylinder(r=(vacuum/2)+2.4, h=100, center=true);
} // end center cutout
// vacuum cutouts
rotate([0, 0, 45]) translate([0, -65, 0]) {
translate([0, 0, -50]) cylinder(r=(vacuum/2), h=100);
translate([0, (vacuum/2), 13]) cube([5, 5, 4], center=true);
} // end vacuum cutouts
}
if (with_rpm_meter == true) {
translate([-(spindle-2.4)/2, 0, -4.5]) rotate([0, 90]) cylinder(r=11, h=2.4, center=true); //hall mount backing
}
// laser mount backing
rotate([0, 0, 90]) {
translate([(spindle-6)/2, 12.5, -4.5]) rotate([0, 90]) cylinder(r1=3.5, r2=5.65, h=4.8, center=true);
translate([(spindle-6)/2, -12.5, -4.5]) rotate([0, 90]) cylinder(r1=3.5, r2=5.65, h=4.8, center=true);
} // end laser mount backing
}
if (with_rpm_meter == true) {
translate([-(spindle+2.4)/2, 0, -4.5]) rotate([0, 90]) cylinder(r=6.5, h=12, center=true); // hall effect mount cutout
}
rotate([0, 0, -90]) {
translate([-(spindle+2.4)/2, 12.5, -4.5]) rotate([0, 90]) cylinder(r=1.6, h=16, center=true); // laser mount cutout
translate([-(spindle+2.4)/2, -12.5, -4.5]) rotate([0, 90]) cylinder(r=1.6, h=16, center=true); // laser mount cutout
}
// clamp relief
translate([0, 0, 20]) {
cylinder(r=(spindle)/2, h=10, center=true);
cube([2, 60, 10], center=true);
cube([60, 2, 10], center=true);
}
}
}
Optional (but recommended) fan mount to cool the laser heatsink with a 30mm fan.
module 30fan() {
difference()
{
linear_extrude(height=11, center = true, convexity = 4, twist = 0)
difference()
{
square([30,30],center=true);
difference()
{
circle(r=28.5/2,center=true);
circle(r=18/2,center=true);
}
translate([+12,+12]) circle(r=3.4/2,h=12+0.2,center=true);
translate([+12,-12]) circle(r=3.4/2,h=12+0.2,center=true);
translate([-12,+12]) circle(r=3.4/2,h=12+0.2,center=true);
translate([-12,-12]) circle(r=3.4/2,h=12+0.2,center=true);
}
}
//Seven Blades
linear_extrude(height=10, center = true, convexity = 4, twist = -30)
for(i=[0:6])
rotate((360*i)/7)
translate([0,-1.5/2]) square([28.5/2-0.75,1.5]);
}
#%translate([0, 0, -5.5]) 30fan();
difference() {
translate([0, 0, 11.5])cube([30+4.8, 30, 23], center=true);
hull() {
translate([0, 0, 8.5])cube([30, 50, 11+1.2], center=true);
translate([0, 0, 17.6])cube([19, 50, 6], center=true);
}
translate([0, 0, 15.5])cube([19, 50, 21], center=true);
translate([12.5, 0, 20]) cylinder(r=3.4/2,h=10,center=true, $fn=24);
translate([-12.5, 0, 20]) cylinder(r=3.4/2,h=10,center=true, $fn=24);
translate([-12.5, 0, 17.6]) cylinder(r1= 5/2, r2=6.4/2,h=6,center=true, $fn=24);
translate([12.5, 0, 17.6]) cylinder(r1= 5/2, r2=6.4/2,h=6,center=true, $fn=24);
translate([12,12]) cylinder(r=3.4/2,h=10,center=true, $fn=24);
translate([12,-12]) cylinder(r=3.4/2,h=10,center=true, $fn=24);
translate([-12,12]) cylinder(r=3.4/2,h=10,center=true, $fn=24);
translate([-12,-12]) cylinder(r=3.4/2,h=10,center=true, $fn=24);
rotate([0, 0, 22.5/2]) cylinder(r=28/2, h=10, center=true);
}
Vacuum attachments can be found here, where you will find the design on which this mount was based.
For support: Please join the Google+ Community LaserWeb