2020 aplic cam mount

This commit is contained in:
Pavlos Iliopoulos 2024-03-10 16:29:35 +01:00
parent c6222ef8d3
commit b074c26e5b
6 changed files with 223 additions and 0 deletions

View File

@ -0,0 +1,39 @@
## 2020 Aplic Cam Mount
![2020 Aplic Cam Mount installation example](img/2020_aplic_cam_mount.jpg)
2020 Aplic Cam Mount is a 3D printed part that is used to mount a cheapo aplic hd camera to the 2020 frame at bed level. The mount is designed to be held in place with a M3 screw and a M3 nut. Additionaly, you need 4x M3 heat inserts, 4x M3 spacers and 4x M3x6 screws for mounting the camera on the mount (pun intended).
### Files
* `aplic_cam_mount_voron_2_4_300x300.stl` - The mount STL, angled for the Voron 2.4 300x300mm geometry.
* `aplic_cam_mount.scad` - The OpenSCAD file for the mount (you can play modify the parameters for your own printer's geometry).
### Parts
The mount is designed to be used with the following parts:
```
- 1x 3d printed 2020 Aplic Cam Mount
- 1x Aplic Webcam - 1920x1080P stripped from its plastic case
- 1x M3x10 screw
- 2x M3 nut
- 4x M3 heat insert
- 4x M3 spacer
- 4x M3x6 screws
```
### Printing
The mount is printed in the orientation that it is in the STL file. The mount should be printed with the recommended Voron settings (40% infill and 4 perimeters) in ABS/ASA. That said, I've printed mine in PETG and it still holds. No supports or mount needed
### Credits and license
The mount was designed around the **2020 Cable Clamp** by ed_419522 https://www.printables.com/model/307909-2020-cable-clamp
Copyright 2024, Pavlos Iliopoulos.
2020 Aplic Cam Mount is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
2020 Aplic Cam Mount is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
The author does not hold any copyright or has any affiliation with aplic and/or its products.

View File

@ -0,0 +1,156 @@
/*
Copyright 2024, Pavlos Iliopoulos.
2020 Aplic Cam Mount is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
2020 Aplic Cam Mount is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
The author does not hold any copyright or has any affiliation with aplic and/or its products.
*/
$fn = 64;
// Wall thickness
wall_thickness = 3;
// Dimensions of the anchor
anchor_l = 15;
anchor_w = 12;
anchor_h = 6;
// Hole distances
hole_distance_x = 54;
hole_distance_y = 17;
corrective_hole_x_offset = 0.8;
// Dimensions of the wall
wall_l = hole_distance_x + 3 * wall_thickness;
wall_w = hole_distance_y + 3 * wall_thickness;
// Camera elevation
cam_elevation = 25;
// Screw dimensions
screw_length = 10;
screw_receiver_d = 6;
// Hex hole dimensions
hex_hole_y = -7;
hex_hole_d = 6;
// Support dimensions
support_w = anchor_l - 2 * wall_thickness;
support_x_offset = (anchor_w - wall_thickness) / 2;
// Heat insert dimensions
heat_insert_d = 4.4;
heat_insert_thickness = 13;
// Calculate the camera viewing angle
cam_viewing_angle_x = atan(74 / 148); // arctan( (distance between 2 rods/2) / (distance from back + stage side/2) )
echo("CAM VIEWING ANGLE x:", cam_viewing_angle_x);
// Define the solid anchor module
module solid_anchor() {
anchor_l = 15;
anchor_w = 12;
anchor_h = 6;
tie_w = 4;
tie_offset_y = 9;
border_w = 0.5;
// Length is 15mm, width is 12mm
union() {
import("./M3_CABLE_ANCHOR.STL");
translate([border_w, tie_offset_y, 0]) {
cube([anchor_w - 2 * border_w, tie_w, anchor_h]);
}
}
}
// Define the back panel module
module back_panel() {
hull() {
translate([0, wall_thickness / 2, anchor_h / 2]) {
cube([anchor_w, wall_thickness, anchor_h], center = true);
}
translate([0, wall_thickness / 2, wall_w / 2 + anchor_h + cam_elevation]) {
cube([wall_l, wall_thickness, wall_w], center = true);
}
}
}
// Define the inserts module
module inserts() {
translate([0, 0, wall_w / 2 + anchor_h + cam_elevation]) {
translate([wall_thickness, -(wall_l * sin(cam_viewing_angle_x) / 2), 0]) {
rotate([0, 0, cam_viewing_angle_x]) {
for (x = [-1, 1]) {
for (y = [-1, 1]) {
translate([corrective_hole_x_offset + x * hole_distance_x / 2, heat_insert_thickness / 2, y * hole_distance_y / 2]) {
rotate([90, 0, 0]) {
cylinder(h = heat_insert_thickness, d = heat_insert_d);
}
}
}
}
}
}
}
}
module rotated_wall() {
translate([wall_thickness, -(wall_l * sin(cam_viewing_angle_x) / 2), 0]) {
rotate([0, 0, cam_viewing_angle_x]) {
cube([wall_l, wall_thickness, wall_w], center = true);
}
}
}
module cam_mount() {
difference() {
translate([0, wall_thickness / 2, wall_w / 2 + anchor_h + cam_elevation]) {
hull() {
#cube([wall_l, wall_thickness, wall_w], center=true);
#rotated_wall();
}
}
#translate([0, hex_hole_y, 0]) {
cylinder(h = anchor_h + cam_elevation + wall_w, d = hex_hole_d);
}
}
}
module supports() {
for (i = [-1, 1]) {
translate([i * support_x_offset, -support_w / 2, (cam_elevation + anchor_h) / 2]) {
cube([wall_thickness, support_w, cam_elevation + anchor_h], center = true);
}
}
}
module aplic_complete_mount() {
translate([-anchor_w / 2, wall_thickness - anchor_l, 0]) {
solid_anchor();
}
difference() {
union() {
back_panel();
cam_mount();
}
#inserts ();
}
supports();
}
rotate([270, 0, 0]){
aplic_complete_mount();
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 948 KiB

View File

@ -0,0 +1,28 @@
---
# The title of your mod. Choose a short and descriptive name
title: 2020 Aplic Cam Mount
# A short description of your mod. Try to describe your mod with 1-2 short sentences
description: Aplic HD camera to the 2020 frame at bed level.
# Mod version: Set this to 1 when you are submitting a new mod. When you make changes to your mod, you may increment this number
mod_version: 1
# You may add your discord username here so people can contact you about your mod
discord_username: techprolet
# The CAD files for your mod. Please provide them as a list.
# Note that each mod must include at least one CAD file.
cad:
- aplic_cam_mount.scad
# The parts of your mod, exported and oriented ready to be sliced. Please provide them as a list.
# Note that each mod must include at least one STL or OBJ file.
stl:
- aplic_cam_mount_voron_2_4_300x300.stl
# The image files provided with your mod. These may be instructions you use in your README.md file, or other additional pictures.
# **Note that the first image specified here will be used as cover image on mods.vorondesign.com**
# All paths are relative to this .metadata.yml file.
images:
- img/2020_aplic_cam_mount.jpg
# Printer compatibility. Please specify all compatible printers as a list. The following values are accepted:
# "V0", "V0.1", "V0.2", "V0.2r1", "V1", "V1.6", "V1.8", "V1.8r1", "V2", "V2.1", "V2.2", "V2.4", "V2.4r1", "V2.4r2", "VSW", "VT", "VTr1", "VL"
# Please only specify printers that you have either tested your mod on yourself, or that someone else has tested for you. If you are unsure whether your
# mod is compatible with a certain printer, don't list it here!
printer_compatibility:
- V2.4r2