Actions

Air flow switch holder

From HacDC Wiki

Revision as of 03:11, 21 April 2017 by James (talk | contribs) (created page.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This is the OpenSCAD code to create a waffer flow sensor to hold a microswitch to stop the laser from firing if the exhaust flow stops. None of the dimensions have been set here yet.

/* exhaust airflow detector safety interlock for cheap Chinese laser at Hac DC This switch is a lug style wafer for insertion between the exhaust collector and the exhaust nozzle on the back of the laser chassis. When the exhaust fan is running and air is flowing the switch will operate to allow the laser to fire. This switch is upstream of the exhaust fan so air will leak into the exhaust stream, not exhaust leaking out into room air. James Sullivan 4-19-17 OpenSCAD version 2015.03-1 */ fid=75; //flange inner diameter fod=95; //flange outer diameter bhd=5; //bolt hole diameter bcd=115;//bolt circle diameter hph=10; //hinge pin height above center line, i.e. butterfly offset. Reduce to make switch more sensitive. Increse to make switch more stable. sfw=sqrt(fid*fid-4*hph*hph); //switch flap width shd=2; //switch hole diameter shp=10; //switch hole pitch, i.e. center to center spacing of mounting holes on microswitch srh=8; //switch roller height, i.e. height above switch hole centerline where switching action occurs sbw=6; //switch body width nfw=5; //nut face width nt=1; //nut thickness thick=3; //thickness of flange $fn=80; rotate([90,0,0]){ difference(){ union(){ cylinder(d=fod,h=thick); //wafer body hull(){ //horizontal lugs translate([bcd/2,0,0]) cylinder(d=3*bhd, h=thick); translate([-bcd/2,0,0]) cylinder(d=3*bhd, h=thick); } rotate([0,0,90]) hull(){ //vertical lugs translate([bcd/2,0,0]) cylinder(d=3*bhd, h=thick); translate([-bcd/2,0,0]) cylinder(d=3*bhd, h=thick); } } translate([0,0,-thick/2]) intersection(){ //bore cylinder(d=fid, h=2*thick); //circular top and bottom cube([sfw,fod,thick*4],true); //vertical left and right } for (angle=[0:90:270]){ //bolt holes in lugs rotate([0,0,angle]) translate([bcd/2,0,-thick/2]) cylinder(d=bhd,h=thick*2); } for (angle=[55:5:65]){ //wire holes through flange translate([0,0,thick/2]) rotate([0,90,angle]) cylinder(d=1,h=bcd/2); } translate([0,hph,thick/2]) rotate([0,90,0]) cylinder(d=1,h=bcd+4*bhd,center=true); //hinge pin axle hole } translate([0,fid/2-shp-3*shd,0]){ //switch holder difference(){ union(){ translate([sbw/2,0,0]) cube([thick,shp+3*shd,3*shd]); //left mount flange translate([-sbw/2-thick,0,0]) cube([thick,shp+3*shd,3*shd]);//right mount flange } translate([-sbw/2-3/2*thick,3/2*shd,3/2*shd]) rotate([0,90,0]) cylinder(d=shd,h=sbw+3*thick); //lower bolt hole translate([-sbw/2-3/2*thick,shp+3/2*shd,3/2*shd]) rotate([0,90,0]) cylinder(d=shd,h=sbw+3*thick);//upper bolt hole for (angle=[0:120:240]){ translate([-sbw/2-thick,3/2*shd,3/2*shd]) rotate([angle,0,0]) cube([nt*2,nfw,nfw/sqrt(3)],center=true); //lower nut socket translate([-sbw/2-thick,shp+3/2*shd,3/2*shd]) rotate([angle,0,0]) cube([nt*2,nfw,nfw/sqrt(3)],center=true); //upper nut socket } } translate([sbw/2+thick,shp/2+shd*1.5,shd*1.5]) cylinder(d1=shd*1.2,d2=0,h=shd*1.5); //flow direction arrow head translate([sbw/2+thick,shp/2+shd*1.5,0]) cylinder(d=shd*0.6,h=shd*1.5); //flow direction arrow shaft translate([-sbw/2-thick,shp/2+shd*1.5,shd*1.5]) cylinder(d1=shd*1.2,d2=0,h=shd*1.5);//flow direction arrow head translate([-sbw/2-thick,shp/2+shd*1.5,0]) cylinder(d=shd*0.6,h=shd*1.5); //flow direction arrow shaft } translate([0,hph+105,thick/2]) rotate([-15,0,0]) translate([0,-hph,-thick/2]) difference(){ //flap disk intersection(){ //bore cylinder(d=fid, h=thick); //circular top and bottom cube([sfw,fod,thick*2],true); //vertical left and right } translate([0,hph,thick/2]) rotate([0,90,0]) cylinder(d=1,h=bcd+4*bhd,center=true); //hinge pin axis } }