new bed frame with leveling capability

This commit is contained in:
2022-11-09 19:53:30 -08:00
parent 46213713b6
commit e836dc1127
13 changed files with 258 additions and 31 deletions

3
.gitmodules vendored
View File

@@ -13,3 +13,6 @@
[submodule "electronics/runout_sensor"]
path = electronics/runout_sensor
url = https://gitlab.com/salfter/runout_sensor
[submodule "bed_frame_v2/20mm-tslot"]
path = bed_frame_v2/20mm-tslot
url = https://gitlab.com/salfter/20mm-tslot

View File

@@ -1,31 +0,0 @@
$fn=45;
// frame mount...print in ABS
difference()
{
rotate([90,0,0])
linear_extrude(20, convexity=10)
polygon([[0,0],[0,20],[20,0]]);
translate([0,-10,10])
rotate([0,90,0])
cylinder(d=5.4, h=20);
translate([2,-10,10])
rotate([0,90,0])
cylinder(d=11, h=20);
translate([10,-10,0])
cylinder(d=6, h=20);
}
// foot for screw end...print in ABS
translate([10,10,0])
difference()
{
cylinder(d1=10, d2=8, h=5);
translate([0,0,2])
cylinder(d=5, h=10);
}
// TODO: thumbwheel

View File

Binary file not shown.

211
bed_frame_v2/bed_frame.scad Normal file
View File

@@ -0,0 +1,211 @@
$fn=45;
use <leveler/leveler.scad>
model(); // view frame within bed assembly
//production(); // view frame halves by themselves
module production()
{
translate([0,350,0])
bed_frame_top();
bed_frame_bottom();
}
module bed_frame_bottom()
{
difference()
{
bed_frame_norm();
translate([0,0,2.5])
cube([270,315,11]);
}
}
module bed_frame_top()
{
translate([0,0,-2.5])
difference()
{
bed_frame_norm();
cube([270,315,2.5]);
}
}
module bed_frame_norm()
{
translate([-70,20,-25])
bed_frame();
}
module extrusion(h)
{
color("gray")
translate([-25,30,0])
linear_extrude(h, convexity=10)
import("20mm-tslot/20mm-M5-W1pt6-X1.dxf");
}
module z_carriage()
{
// extrusions
translate([0,0,20])
{
translate([25,20,0])
rotate([-90,0,0])
%extrusion(235);
translate([365,20,0])
rotate([-90,0,0])
%extrusion(235);
rotate([0,90,0])
%extrusion(410);
translate([0,255,0])
rotate([0,90,0])
%extrusion(410);
}
// brackets
translate([35,10,10])
rotate([90,0,90])
color("red")
%import("../frame_braces/hc300_z_carriage_t_bracket.stl");
translate([375,10,10])
rotate([90,0,90])
color("red")
%import("../frame_braces/hc300_z_carriage_t_bracket.stl");
translate([35,265,10])
rotate([90,0,-90])
color("red")
%import("../frame_braces/hc300_z_carriage_t_bracket.stl");
translate([375,265,10])
rotate([90,0,-90])
color("red")
%import("../frame_braces/hc300_z_carriage_t_bracket.stl");
translate([90,-20,50])
rotate([0,-90,0])
color("red")
%import("../z_carriage/original/HC300_Z_Carriage_Left_Make_2.stl");
translate([320,-20,50])
mirror([1,0,0])
rotate([0,-90,0])
color("red")
%import("../z_carriage/original/HC300_Z_Carriage_Left_Make_2.stl");
translate([320,295,50])
rotate([0,-90,180])
color("red")
%import("../z_carriage/original/HC300_Z_Carriage_Left_Make_2.stl");
translate([90,295,50])
mirror([1,0,0])
rotate([0,-90,180])
color("red")
%import("../z_carriage/original/HC300_Z_Carriage_Left_Make_2.stl");
// levelers
color("red")
translate([70,0,20])
rotate([0,180,90])
%frame_mount();
color("red")
translate([320,0,20])
rotate([0,180,90])
%frame_mount();
color("red")
translate([215,275,20])
rotate([0,180,-90])
%frame_mount();
}
module screw_locations()
{
// screw locations
translate([80,-10,15])
{
%cylinder(d=1, h=10);
translate([0,0,12])
rotate([180,0,0])
color("red")
%screw_foot();
}
translate([330,-10,15])
{
%cylinder(d=1, h=10);
translate([0,0,12])
rotate([180,0,0])
color("red")
%screw_foot();
}
translate([205,285,15])
{
%cylinder(d=1, h=10);
translate([0,0,12])
rotate([180,0,0])
color("red")
%screw_foot();
}
}
module bed()
{
translate([55,-12.5,30])
color("silver")
%cube([300,300,6.35]);
}
module model()
{
z_carriage();
screw_locations();
bed();
bed_frame();
}
module bed_frame()
{
translate([70,-20,25])
front_edge();
translate([320,-20,25])
front_edge();
translate([215,295,25])
rotate([0,0,180])
front_edge();
translate([70,20,25])
rotate([0,0,-28])
cube([20,273,5]);
translate([340,20,25])
mirror([-1,0,0])
rotate([0,0,-28])
cube([20,273,5]);
translate([80,10,25])
cube([250,20,5]);
}
module front_edge()
{
difference()
{
cube([20,40,5]);
translate([10,10,0])
cylinder(d=10.5, h=2);
}
translate([0,0,2])
cube([20,7,8]);
}

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,43 @@
$fn=45;
// frame mount...print in ABS
module frame_mount()
{
difference()
{
// main body shape
rotate([90,0,0])
linear_extrude(20, convexity=10)
polygon([[0,0],[0,20],[20,0]]);
// hole for M5 screw
translate([0,-10,10])
rotate([0,90,0])
cylinder(d=5.4, h=20);
// countersink for M5 screw
translate([2,-10,10])
rotate([0,90,0])
cylinder(d=11, h=20);
// hole for M4 threaded insert (https://www.prusa3d.com/content/wysiwyg/fotky/cnc-k/heatset_inserts_all_drawing.png)
translate([10,-10,0])
cylinder(d=5.6, h=20);
}
}
// foot for screw end...print in ABS
module screw_foot()
{
difference()
{
cylinder(d1=10, d2=8, h=5);
translate([0,0,2])
cylinder(d=4.8, h=10);
}
}
frame_mount();
translate([10,10,0])
screw_foot();

View File

Binary file not shown.