Tuesday, June 7, 2011

Making the LP-1 laser pistol




The laser pistol was actually remarkably easy to build. The circuits for it are trivially easy. There are 4 blocks of laser diodes (6 lasers each) and I've got 4 pre-made 1A circuits for each of them running off a 4AH, 24V lithium battery pack (in blue).

There is single switch to turn them all on which is on a 1' wire. There's also switches for each of the sets of lasers for testing purposes which I mounted on the body.

The battery pack itself is actually two 12V batteries so there's a switch to flip the charger between them.

The frame itself is just two pieces of perforated steel L-bar. There's a single bolt in the back to hold them together. This provides the mounting for the main on-off switch as well as the laser and all the other parts.

I had to make some pretty funky parts to mount the laser block and here again the 3D printer proves it's value.






boltNutWidth = 14;//12.5;

boltHexWidth = 7.8; //tan(pi/6)*boltNutWidth

topSecHeight = 12;

topCutDepth = 100;//(topSecHeight-3)*2;

bottomHeight = 3;

boltRad = 5.1;

boltDistance = 15;

boltToFront = 16;

boltToSide = 40;

topBoltToFront = 18;

topBoltToSide = 20;

totalHeight = 23;

ftHeight = 6;

ftLen = 65;

ftWidth = 15;

wt = 3;

module laserTop()

{

difference()

{

union() //Added parts

{

translate( [ (ftLen+boltRad+wt)/2-boltRad-wt, (ftWidth+boltRad+wt)/2-boltRad-wt , wt/2 ])

cube(size=[ftLen+boltRad+wt,ftWidth+boltRad+wt, wt],center=true);

translate( [ (boltToFront-1+boltRad+wt)/2-boltRad-wt, (boltToSide+boltRad+wt)/2-boltRad-wt ,(wt-3)/2 ])

cube(size=[boltToFront-1+boltRad+wt, boltToSide+boltRad+wt, wt+3],center=true);

translate( [ (topBoltToFront-3+boltRad+wt)/2-boltRad-wt, (topBoltToSide+boltRad+wt)/2-boltRad-wt ,-topSecHeight/2 ])

cube(size=[topBoltToFront-3+boltRad+wt, topBoltToSide+boltRad+wt,topSecHeight],center=true);

}

union() //Removed parts

{

//special notch

translate( [20,13,0])

cube(size=[5,5,100],center=true);

cylinder(h=100, r=boltRad,center=true);

union()

{

rotate([0,0,0])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

rotate([0,0,60])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

rotate([0,0,120])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

}

translate([0,boltDistance,0])

{

cylinder(h=100, r=boltRad,center=true);

union()

{

rotate([0,0,0])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

rotate([0,0,60])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

rotate([0,0,120])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

}

}

}

}

}

module circuitHolder()

{

difference()

{

union() //Added parts

{

translate( [ (ftLen+boltRad+wt)/2-boltRad-wt, (ftWidth+boltRad+wt)/2-boltRad-wt , ftHeight/2 ])

cube(size=[ftLen+boltRad+wt,ftWidth+boltRad+wt, ftHeight],center=true);

translate( [ (boltToFront+boltRad+wt)/2-boltRad-wt, (boltToSide+boltRad+wt)/2-boltRad-wt ,bottomHeight/2 ])

cube(size=[boltToFront+boltRad+wt, boltToSide+boltRad+wt,bottomHeight],center=true);

translate( [ (topBoltToFront+boltRad+wt)/2-boltRad-wt, (topBoltToSide+boltRad+wt)/2-boltRad-wt ,totalHeight/2 ])

cube(size=[topBoltToFront+boltRad+wt, topBoltToSide+boltRad+wt,totalHeight],center=true);

}

union() //Removed parts

{

cylinder(h=100, r=boltRad,center=true);

translate([0,boltDistance,0])

cylinder(h=100, r=boltRad,center=true);

}

}

}

rotate([180,0,0])

laserTop();

//circuitHolder();

//translate([0,0,-10])

//cube(size=[30,30,20], center=true);










boltNutWidth = 14;//12.5;

boltHexWidth = 7.8; //tan(pi/6)*boltNutWidth

topSecHeight = 12;

topCutDepth = 100;//(topSecHeight-3)*2;

bottomHeight = 3;

boltRad = 5.1;

boltDistance = 15;

topBoltToFront = 10;

topBoltToSide = 25;

totalHeight = 23;

ftHeight = 6;

ftLen = 45;

ftWidth = 15;

wt = 3;

module laserTop()

{

difference()

{

union() //Added parts

{

translate( [ (ftLen+boltRad+wt)/2-boltRad-wt, (ftWidth+boltRad+wt)/2-boltRad-wt , wt/2 ])

cube(size=[ftLen+boltRad+wt,ftWidth+boltRad+wt, wt],center=true);

translate( [ (boltToFront-1+boltRad+wt)/2-boltRad-wt, (boltToSide+boltRad+wt)/2-boltRad-wt ,(wt-3)/2 ])

cube(size=[boltToFront-1+boltRad+wt, boltToSide+boltRad+wt, wt+3],center=true);

translate( [ (topBoltToFront-3+boltRad+wt)/2-boltRad-wt, (topBoltToSide+boltRad+wt)/2-boltRad-wt ,-topSecHeight/2 ])

cube(size=[topBoltToFront-3+boltRad+wt, topBoltToSide+boltRad+wt,topSecHeight],center=true);

}

union() //Removed parts

{

//special notch

translate( [20,13,0])

cube(size=[5,5,100],center=true);

cylinder(h=100, r=boltRad,center=true);

union()

{

rotate([0,0,0])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

rotate([0,0,60])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

rotate([0,0,120])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

}

translate([0,boltDistance,0])

{

cylinder(h=100, r=boltRad,center=true);

union()

{

rotate([0,0,0])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

rotate([0,0,60])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

rotate([0,0,120])

cube([boltHexWidth,boltNutWidth,topCutDepth],center=true);

}

}

}

}

}

//rotate([180,0,0])

//laserTop();

circuitHolder();

//translate([0,0,-10])

//cube(size=[30,30,20], center=true);

2 comments:

  1. The diodes: Casio Green Slim projector.
    The batteries: http://onlybatteries.com/cat_featured_items.asp?cat1=27&cat=2&id=651&uid=2070
    The current regulators: Digikey part 945-1131-ND
    The first two lenses: came with the projector
    The final big focusing lens: A no longer used rifle scope http://www.amazon.com/gp/product/B000WWESB8/ref=oh_o00_s00_i00_details

    Let me know if you need help building one :)

    ReplyDelete