added OpenScad pump designs
This commit is contained in:
parent
78ffd920d6
commit
fedb77789d
1
.vscode/extensions.json
vendored
1
.vscode/extensions.json
vendored
|
@ -4,5 +4,6 @@
|
|||
"jnoortheen.nix-ide",
|
||||
"kamadorueda.alejandra",
|
||||
"antyos.openscad",
|
||||
"juliangmp.openscad-formatter",
|
||||
],
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ This project follows the [REUSE Specification](https://reuse.software/spec/) and
|
|||
|
||||
## Acknowledgements
|
||||
|
||||
To all contributors to the following open-source community for their ongoing support:
|
||||
To all the contributors to the following open source communities for their continued support:
|
||||
|
||||
- [OpenFlexure Project](https://openflexure.org/)
|
||||
- [Planktoscope Project](https://www.planktoscope.org/)
|
||||
|
|
57
hardware/peristaltic-pump/libs/base.scad
Normal file
57
hardware/peristaltic-pump/libs/base.scad
Normal file
|
@ -0,0 +1,57 @@
|
|||
$fn = 100;
|
||||
|
||||
case_size = 31;
|
||||
case_corner = 5;
|
||||
|
||||
motor_screw_y = 8;
|
||||
motor_screw_x = 17.5;
|
||||
|
||||
screws_socket = 4.5;
|
||||
screws_hole = 2;
|
||||
|
||||
module base_layout()
|
||||
{
|
||||
minkowski()
|
||||
{
|
||||
square(case_size - (case_corner * 2), center = true);
|
||||
circle(r = case_corner);
|
||||
}
|
||||
|
||||
difference()
|
||||
{
|
||||
hull()
|
||||
{
|
||||
translate([ motor_screw_x, motor_screw_y, 0 ])
|
||||
{
|
||||
circle(r = screws_socket);
|
||||
}
|
||||
|
||||
mirror([ 1, 0, 0 ])
|
||||
{
|
||||
translate([ motor_screw_x, motor_screw_y, 0 ])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
circle(r = screws_socket);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
translate([ motor_screw_x, motor_screw_y, 0 ])
|
||||
{
|
||||
circle(r = screws_hole);
|
||||
}
|
||||
|
||||
mirror([ 1, 0, 0 ])
|
||||
{
|
||||
translate([ motor_screw_x, motor_screw_y, 0 ])
|
||||
{
|
||||
difference()
|
||||
{
|
||||
circle(r = screws_hole);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
45
hardware/peristaltic-pump/pump-body.scad
Normal file
45
hardware/peristaltic-pump/pump-body.scad
Normal file
|
@ -0,0 +1,45 @@
|
|||
|
||||
use <./libs/base.scad>
|
||||
|
||||
$fn = 100;
|
||||
|
||||
// translate([ 0, 40, 0 ])
|
||||
// {
|
||||
// rotate([ 180, 180, 0 ])
|
||||
// {
|
||||
// import("../../../peristaltic-pump/old/body.stl");
|
||||
// }
|
||||
// }
|
||||
|
||||
body_thickness = 9;
|
||||
motor_body_radius = 5;
|
||||
|
||||
insert_radius = 12;
|
||||
insert_height = 7;
|
||||
|
||||
tubing_radius = 14;
|
||||
tubing_height = 4;
|
||||
|
||||
tube_radius = 2;
|
||||
|
||||
module body()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
linear_extrude(body_thickness)
|
||||
{
|
||||
difference()
|
||||
{
|
||||
base_layout();
|
||||
circle(motor_body_radius);
|
||||
}
|
||||
}
|
||||
translate([ 0, 0, body_thickness - insert_height ])
|
||||
cylinder(insert_height, insert_radius, insert_radius);
|
||||
|
||||
translate([ 0, 0, body_thickness - tubing_height ])
|
||||
cylinder(tubing_height, tubing_radius, tubing_radius);
|
||||
}
|
||||
}
|
||||
|
||||
body();
|
20
hardware/peristaltic-pump/pump-cover.scad
Normal file
20
hardware/peristaltic-pump/pump-cover.scad
Normal file
|
@ -0,0 +1,20 @@
|
|||
$fn = 100;
|
||||
|
||||
use <./libs/base.scad>
|
||||
|
||||
cover_thickness = 2;
|
||||
motor_axis_cutout = 2.5;
|
||||
|
||||
module cover()
|
||||
{
|
||||
linear_extrude(cover_thickness)
|
||||
{
|
||||
difference()
|
||||
{
|
||||
base_layout();
|
||||
circle(motor_axis_cutout);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cover();
|
58
hardware/peristaltic-pump/pump-insert.scad
Normal file
58
hardware/peristaltic-pump/pump-insert.scad
Normal file
|
@ -0,0 +1,58 @@
|
|||
$fn = 100;
|
||||
|
||||
use <./libs/base.scad>
|
||||
|
||||
insert_radius = 11;
|
||||
insert_depth = 6;
|
||||
|
||||
axis_diameter = 5;
|
||||
axis_height = 3;
|
||||
|
||||
bearing_radius = 5;
|
||||
bearing_depth = 4.5;
|
||||
bearing_axis = 1.5;
|
||||
bearing_shift = 9;
|
||||
|
||||
module bearing()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
linear_extrude(bearing_depth)
|
||||
{
|
||||
circle(bearing_radius);
|
||||
}
|
||||
|
||||
linear_extrude(bearing_depth - 1)
|
||||
{
|
||||
circle(bearing_axis);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module insert()
|
||||
{
|
||||
difference()
|
||||
{
|
||||
linear_extrude(insert_depth)
|
||||
{
|
||||
difference()
|
||||
{
|
||||
circle(insert_radius);
|
||||
square([ axis_diameter, axis_height ], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
translate([ bearing_shift, 0, insert_depth - bearing_depth ])
|
||||
bearing();
|
||||
|
||||
rotate([ 0, 0, 120 ])
|
||||
translate([ bearing_shift, 0, insert_depth - bearing_depth ])
|
||||
bearing();
|
||||
|
||||
rotate([ 0, 0, 240 ])
|
||||
translate([ bearing_shift, 0, insert_depth - bearing_depth ])
|
||||
bearing();
|
||||
}
|
||||
}
|
||||
|
||||
insert();
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
self,
|
||||
pre-commit,
|
||||
nixpkgs,
|
||||
...
|
||||
}: system:
|
||||
with self.pkgs.${system}; {
|
||||
|
@ -14,11 +13,6 @@ with self.pkgs.${system}; {
|
|||
statix.enable = true;
|
||||
deadnix.enable = true;
|
||||
actionlint.enable = true;
|
||||
shellcheck = {
|
||||
enable = true;
|
||||
types_or = lib.mkForce [];
|
||||
};
|
||||
shfmt.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
with self.pkgs.${system};
|
||||
mkShell {
|
||||
name = "flowflexure-nix";
|
||||
nativeBuildInputs = [
|
||||
packages = [
|
||||
alejandra
|
||||
deadnix
|
||||
git
|
||||
|
@ -13,6 +13,7 @@ with self.pkgs.${system};
|
|||
statix
|
||||
vscode-extensions.antyos.openscad
|
||||
vscodium-fhs
|
||||
clang-tools
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
|
|
Loading…
Reference in a new issue