Add an insert for the slip coupling that allows a swappable, modular connection
This commit is contained in:
parent
3e0132f91c
commit
63577f0492
6
build.sh
6
build.sh
|
@ -1,15 +1,17 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
SCAD="./takeup.scad"
|
||||||
PARTS=(
|
PARTS=(
|
||||||
"slip_coupling"
|
"slip_coupling"
|
||||||
"magnetic_coupling"
|
"magnetic_coupling"
|
||||||
"mount_plate"
|
"mount_plate"
|
||||||
|
"daylight_spool_insert"
|
||||||
)
|
)
|
||||||
|
|
||||||
for part in "${PARTS[@]}"
|
for part in "${PARTS[@]}"
|
||||||
do
|
do
|
||||||
stl="./stl/takeup_${part}.stl"
|
stl="./stl/takeup_${part}.stl"
|
||||||
openscad -o "${stl}" -D "PART=\"${part}\";" "./takeup.scad"
|
openscad -o "${stl}" -D "PART=\"${part}\";" "${SCAD}"
|
||||||
done
|
done
|
||||||
|
|
||||||
openscad --preview -o debug.png -D "PART=\"preview\";" "./takeup.scad"
|
openscad --preview -o debug.png -D "PART=\"preview\";" "${SCAD}"
|
|
@ -1,7 +1,7 @@
|
||||||
SQUARE_INNER = 8;
|
SQUARE_INNER = 8;
|
||||||
time = 0;
|
time = 0;
|
||||||
|
|
||||||
module reel_holder (top = true) {
|
module reel_holder (top = true, base = true) {
|
||||||
$fn = 60;
|
$fn = 60;
|
||||||
difference(){
|
difference(){
|
||||||
translate([0, 0, -1.5]) cube([SQUARE_INNER, SQUARE_INNER, 21.5], center= true);
|
translate([0, 0, -1.5]) cube([SQUARE_INNER, SQUARE_INNER, 21.5], center= true);
|
||||||
|
@ -18,6 +18,7 @@ module reel_holder (top = true) {
|
||||||
}
|
}
|
||||||
translate ([0, 0, (18.5 / 2) + 7.5]) cube([10, 10, 2], center = true);
|
translate ([0, 0, (18.5 / 2) + 7.5]) cube([10, 10, 2], center = true);
|
||||||
}
|
}
|
||||||
|
if (base) {
|
||||||
difference () {
|
difference () {
|
||||||
translate([0, 0, -(18.5/ 2) - (3 / 2) - 3]) cylinder(r = 16 /2, h = 3, center = true);
|
translate([0, 0, -(18.5/ 2) - (3 / 2) - 3]) cylinder(r = 16 /2, h = 3, center = true);
|
||||||
//translate([0, 0, -14.3]) cube([4, 4, 2], center = true); //notch
|
//translate([0, 0, -14.3]) cube([4, 4, 2], center = true); //notch
|
||||||
|
@ -27,5 +28,6 @@ module reel_holder (top = true) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//rotate([0, 0, time]) reel_holder();
|
//rotate([0, 0, time]) reel_holder();
|
BIN
debug.png
BIN
debug.png
Binary file not shown.
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 1.9 KiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
54
takeup.scad
54
takeup.scad
|
@ -2,7 +2,7 @@ include <daylight_spool_mount.scad>;
|
||||||
|
|
||||||
COUPLING_D = 37;
|
COUPLING_D = 37;
|
||||||
|
|
||||||
WASHER_D = 35.;
|
WASHER_D = 35.7;
|
||||||
WASHER_H = 2.4;
|
WASHER_H = 2.4;
|
||||||
|
|
||||||
MOTOR_SHAFT_D = 6;
|
MOTOR_SHAFT_D = 6;
|
||||||
|
@ -12,6 +12,10 @@ MOTOR_SHAFT_HOBBLE = 1;
|
||||||
MOTOR_MOUNT_X = 32.5;
|
MOTOR_MOUNT_X = 32.5;
|
||||||
MOTOR_MOUNT_Y = 17.5;
|
MOTOR_MOUNT_Y = 17.5;
|
||||||
|
|
||||||
|
module hex (diag = 10, h = 1) {
|
||||||
|
cylinder(r = diag / 2, h = h, center = true, $fn = 6);
|
||||||
|
}
|
||||||
|
|
||||||
//Geartisan Worm Gear Motor - JSX40-370
|
//Geartisan Worm Gear Motor - JSX40-370
|
||||||
module motor () {
|
module motor () {
|
||||||
cube([46, 32, 21], center = true);
|
cube([46, 32, 21], center = true);
|
||||||
|
@ -66,13 +70,43 @@ module magnetic_coupling (MAGNETS = 4, MAGNET_D = 8.1, MAGNET_H = 2.5) {
|
||||||
}
|
}
|
||||||
|
|
||||||
module slip_coupling (MAGNET_H = 2.5) {
|
module slip_coupling (MAGNET_H = 2.5) {
|
||||||
H = 12;
|
H = 16;
|
||||||
difference () {
|
difference () {
|
||||||
cylinder(r = 45 / 2, h = H, center = true, $fn = 100);
|
translate([0, 0, 2]) cylinder(r = 45 / 2, h = H, center = true, $fn = 100);
|
||||||
translate([0, 0, -(H / 2) + (MAGNET_H + 3) / 2]) cylinder(r = (COUPLING_D + 0.7) / 2, h = MAGNET_H + 3.01, center = true, $fn = 160);
|
translate([0, 0, 2 -(H / 2) + (MAGNET_H + 3) / 2]) cylinder(r = (COUPLING_D + 0.7) / 2, h = MAGNET_H + 3.01, center = true, $fn = 160);
|
||||||
translate([0, 0, -(H / 2) + (MAGNET_H + 3) + (WASHER_H / 2)]) cylinder(r = WASHER_D / 2, h = WASHER_H, center = true, $fn = 160);
|
translate([0, 0, 2 -(H / 2) + (MAGNET_H + 3) + (WASHER_H / 2)]) cylinder(r = WASHER_D / 2, h = WASHER_H, center = true, $fn = 160);
|
||||||
|
translate([0, 0, 2 + (H / 2) - (5 / 2)]) cube([25, 10, 5.01], center = true);
|
||||||
|
translate([0, 0, 2 + (H / 2) - (5 / 2)]) cube([10, 25, 5.01], center = true);
|
||||||
|
//corners with voids for M3
|
||||||
|
translate([-8.75, -8.75, 2 + (H / 2) - (5 / 2)]) {
|
||||||
|
translate([0, 0, 1]) cube([(25 - 10) / 2, (25 - 10) / 2, 5.01], center = true);
|
||||||
|
cylinder(r = 3.25 / 2, h = 20, center = true, $fn = 40);
|
||||||
|
translate([0, 0, -4.25]) hex(6, 2.75);
|
||||||
|
}
|
||||||
|
translate([8.75, 8.75, 2 + (H / 2) - (5 / 2)]) {
|
||||||
|
translate([0, 0, 1]) cube([(25 - 10) / 2, (25 - 10) / 2, 5.01], center = true);
|
||||||
|
cylinder(r = 3.25 / 2, h = 20, center = true, $fn = 40);
|
||||||
|
translate([0, 0, -4.25]) hex(6, 2.75);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module daylight_spool_insert () {
|
||||||
|
translate([0, 0, 14]) reel_holder(true, false);
|
||||||
|
union () {
|
||||||
|
cube([25 - .4, 10 - .4, 5], center = true);
|
||||||
|
cube([10 - .4, 25 - .4, 5], center = true);
|
||||||
|
translate([-8.75, -8.75, 0]) difference () {
|
||||||
|
translate([.2, .2, 1/2]) cube([(25 - 10) / 2, (25 - 10) / 2, 4], center = true);
|
||||||
|
cylinder(r = 3.25 / 2, h = 20, center = true, $fn = 40);
|
||||||
|
translate([0, 0, 2]) cylinder(r = 5.75 / 2, h = 3.5, center = true, $fn = 40);
|
||||||
|
}
|
||||||
|
translate([8.75, 8.75, 0]) difference () {
|
||||||
|
translate([ -.2, -.2, 1/2]) cube([(25 - 10) / 2, (25 - 10) / 2, 4], center = true);
|
||||||
|
cylinder(r = 3.25 / 2, h = 20, center = true, $fn = 40);
|
||||||
|
translate([0, 0, 2]) cylinder(r = 5.75 / 2, h = 3.5, center = true, $fn = 40);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
translate([0, 0, 18.25]) reel_holder();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module motor_mount_void (D, Z) {
|
module motor_mount_void (D, Z) {
|
||||||
|
@ -123,9 +157,13 @@ module mount_plate () {
|
||||||
|
|
||||||
module debug_assembled () {
|
module debug_assembled () {
|
||||||
translate([(46 / 2) - 14.5, 0, 0]) rotate([180, 0, 0]) motor();
|
translate([(46 / 2) - 14.5, 0, 0]) rotate([180, 0, 0]) motor();
|
||||||
color("blue") translate([0, 0, 23]) rotate([0, 0, -90]) magnetic_coupling();
|
|
||||||
color("green") translate([8, 0, 11]) mount_plate();
|
color("green") translate([8, 0, 11]) mount_plate();
|
||||||
|
color("blue") translate([0, 0, 23]) rotate([0, 0, -90]) magnetic_coupling();
|
||||||
|
difference () {
|
||||||
translate([0, 0, 26.5]) slip_coupling();
|
translate([0, 0, 26.5]) slip_coupling();
|
||||||
|
translate([-50, 0, 0]) cube([100, 100, 150], center = true);
|
||||||
|
}
|
||||||
|
color("red") translate([0, 0, 34]) daylight_spool_insert();
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -138,6 +176,8 @@ if (PART == "slip_coupling") {
|
||||||
magnetic_coupling();
|
magnetic_coupling();
|
||||||
} else if (PART == "mount_plate") {
|
} else if (PART == "mount_plate") {
|
||||||
mount_plate();
|
mount_plate();
|
||||||
|
} else if (PART == "daylight_spool_insert") {
|
||||||
|
daylight_spool_insert();
|
||||||
} else if (PART == "debug") {
|
} else if (PART == "debug") {
|
||||||
debug_assembled();
|
debug_assembled();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue