Add makefile, update mech foo

This commit is contained in:
jaseg 2020-10-29 12:21:13 +01:00
parent f977fc4f66
commit f7fbcb0016
7 changed files with 107 additions and 20 deletions

View file

@ -0,0 +1,31 @@
PROJECT := rotohsm
BUILDDIR ?= build
ZIP ?= zip
BOARDS := \
bearing_mount_middle \
bearing_mount_top \
rotor_base_outer_pcb \
rotor_base_pcb \
rotor_top_pcb \
rotor_vstrut_pcb \
stator_base_pcb \
stator_raspi_vstrut_pcb \
stator_top_pcb
VERSION := $(shell git describe --tags --long --dirty)
COMBINED_ZIP := gerber_${PROJECT}_all_${VERSION}.zip
all: $(BUILDDIR)/$(COMBINED_ZIP)
$(BUILDDIR)/gerber_%_${VERSION}.zip: %/gerber
$(ZIP) -r $@ $^
$(BUILDDIR)/$(COMBINED_ZIP): $(addprefix $(BUILDDIR)/,${BOARDS:%=gerber_%_${VERSION}.zip})
$(ZIP) -r $@ $^
clean:
rm -f build/*.zip

View file

@ -50,9 +50,9 @@
},
"diff_pair_dimensions": [
{
"gap": 0.25,
"via_gap": 0.25,
"width": 0.2
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
@ -108,6 +108,7 @@
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,

View file

@ -0,0 +1,63 @@
/* Parametric flange model */
/* All units are millimeters */
$fn = 64;
num_mounting_holes = 4;
mounting_hole_dia = 2.7;
/* center of shaft to center of mounting holes */
mounting_hole_shaft_radius = 8.0;
mounting_hole_cutout_dia = 5.0;
base_height = 4.0;
base_dia_extra = 2.0;
base_dia = 2*mounting_hole_shaft_radius + 2*base_dia_extra + mounting_hole_dia;
shaft_holder_height = 20.0;
shaft_holder_dia = 14.0;
shaft_dia = 4.0;
grubscrew_count = 1;
grubscrew_heights = 2;
grubscrew_hole_dia = 3.2;
grubscrew_insert_dia = 6.5;
grubscrew_insert_height = 3.0;
grubscrew_lowest_offset = 5.0;
grubscrew_pitch = 10.0;
difference() {
union() {
difference() {
cylinder(h=base_height, d=base_dia);
for ( alpha = [ 0 : 360 / num_mounting_holes : 360 ] ) {
rotate(alpha, [0, 0, 1])
translate([-mounting_hole_shaft_radius, 0, 0])
cylinder(h=base_height, d=mounting_hole_dia);
}
}
difference() {
cylinder(h=shaft_holder_height, d=shaft_holder_dia);
cylinder(h=shaft_holder_height, d=shaft_dia);
/* cutouts for mounting hole screw heads */
for ( alpha = [ 0 : 360 / num_mounting_holes : 360 ] ) {
rotate(alpha, [0, 0, 1])
translate([-mounting_hole_shaft_radius, 0, 0])
cylinder(h=shaft_holder_height, d=mounting_hole_cutout_dia);
}
}
}
rotate(-90, [0, 1, 0]) {
for ( alpha = [ 0 : 360 / grubscrew_count : 360 ] ) {
for ( i = [ 0 : grubscrew_heights] ) {
rotate(alpha + (360 / num_mounting_holes/2), [1, 0, 0])
translate([grubscrew_lowest_offset + i*grubscrew_pitch, 0, 0]) {
cylinder(d=grubscrew_hole_dia, h=base_dia/2);
cylinder(d=grubscrew_insert_dia, h=grubscrew_insert_height + shaft_dia/2);
}
}
}
}
}

View file

@ -32,6 +32,7 @@
(grid_origin 150 100)
(pcbplotparams
(layerselection 0x00010fc_ffffffff)
(disableapertmacros false)
(usegerberextensions false)
(usegerberattributes true)
(usegerberadvancedattributes true)
@ -39,7 +40,6 @@
(svguseinch false)
(svgprecision 6)
(excludeedgelayer true)
(linewidth 0.100000)
(plotframeref false)
(viasonmask false)
(mode 1)
@ -2671,10 +2671,7 @@
(gr_line (start 189.5 96.546) (end 189.5 103.454) (angle 90) (layer "Edge.Cuts") (width 0.16) (tstamp 04276d55-ac7c-485f-948f-8a774845619c))
(gr_line (start 188.954 104) (end 188.446 104) (angle 90) (layer "Edge.Cuts") (width 0.16) (tstamp 124dab48-9974-4719-b0f8-643e20046522))
(gr_circle (center 164.35 100) (end 163 100) (layer "Edge.Cuts") (width 0.16) (tstamp 1acbbb02-4bef-4cde-9eee-a32f18a72ab3))
(gr_circle (center 142 100) (end 140.65 100) (layer "Edge.Cuts") (width 0.16) (tstamp 1c12fcbf-ccd6-4ab8-9840-28592e24f520))
(gr_circle (center 175.78 100) (end 174.43 100) (layer "Edge.Cuts") (width 0.16) (tstamp 27906c26-f4c2-47ff-898d-33361faff86c))
(gr_circle (center 175.78 100) (end 174.43 100) (layer "Edge.Cuts") (width 0.16) (tstamp 306f0e5e-f448-4631-9295-6445deaa48ff))
(gr_line (start 192.5 87.5) (end 192.5 112.5) (angle 90) (layer "Edge.Cuts") (width 0.16) (tstamp 30eaf456-8def-42ab-9d03-edd0116b138c))
(gr_arc (start 110.7 96.2) (end 111.046 96) (angle -210) (layer "Edge.Cuts") (width 0.16) (tstamp 31fa2f0c-1297-47c3-ab73-306d7f04b2f6))
(gr_arc (start 188.1 103.8) (end 187.9 103.454) (angle -210) (layer "Edge.Cuts") (width 0.16) (tstamp 3c098fe5-03a9-4cb7-baa5-aefd3b54145e))
@ -2690,7 +2687,6 @@
(gr_line (start 141.708 112.5) (end 107.5 112.5) (angle 90) (layer "Edge.Cuts") (width 0.16) (tstamp 8ec43023-b3b1-4f6e-852b-fbef7d2942f0))
(gr_line (start 112.1 96.546) (end 112.1 103.454) (angle 90) (layer "Edge.Cuts") (width 0.16) (tstamp 94fa63f9-fb03-442e-9f58-63e9ca7e5254))
(gr_arc (start 150 100) (end 141.708 112.5) (angle -67.115) (layer "Edge.Cuts") (width 0.16) (tstamp 9af55458-69d3-4e2b-980e-f8ca0c1a3a24))
(gr_circle (center 170.7 100) (end 169.35 100) (layer "Edge.Cuts") (width 0.16) (tstamp ac324e9b-43c4-43fa-a8d9-e91d995c135a))
(gr_arc (start 111.9 103.8) (end 111.554 104) (angle -210) (layer "Edge.Cuts") (width 0.16) (tstamp b7c53b07-7587-4ec9-a09c-4a8244c5c7bf))
(gr_line (start 107.5 87.5) (end 141.708 87.5) (angle 90) (layer "Edge.Cuts") (width 0.16) (tstamp bc242052-5f2f-4df5-a976-42bfdb520554))
(gr_arc (start 110.7 103.8) (end 110.5 103.454) (angle -210) (layer "Edge.Cuts") (width 0.16) (tstamp bdf22f27-602a-4a5c-b8a3-36f187e64d35))
@ -2701,8 +2697,6 @@
(gr_arc (start 111.9 96.2) (end 112.1 96.546) (angle -210) (layer "Edge.Cuts") (width 0.16) (tstamp db3080d6-4fa6-4fd9-a9ca-2d665ec35df9))
(gr_circle (center 150 100) (end 146.9 100) (layer "Edge.Cuts") (width 0.16) (tstamp e1b03682-f89e-44b7-b852-b7c0ea2c6be7))
(gr_arc (start 189.3 96.2) (end 189.5 96.546) (angle -210) (layer "Edge.Cuts") (width 0.16) (tstamp e1b6f65d-7ddd-434a-a657-d3f69161d886))
(gr_circle (center 170.7 100) (end 169.35 100) (layer "Edge.Cuts") (width 0.16) (tstamp e5d2c297-6908-4399-bb43-1d66734a34e4))
(gr_circle (center 164.35 100) (end 163 100) (layer "Edge.Cuts") (width 0.16) (tstamp fd024366-f50e-424c-89c7-0d151d01f365))
(gr_circle (center 150 108) (end 148.65 108) (layer "Edge.Cuts") (width 0.16) (tstamp ff76c9fc-59af-43d9-b17a-58efbbd4d29c))
)

View file

@ -1,6 +1,6 @@
{
"board": {
"active_layer": 0,
"active_layer": 44,
"active_layer_preset": "",
"hidden_nets": [],
"high_contrast_mode": 0,
@ -50,7 +50,6 @@
22,
23,
24,
25,
26,
27,
28,
@ -58,12 +57,10 @@
30,
31,
32,
33,
34,
35,
36
36,
37
],
"visible_layers": "007ffff_ffffffff"
"visible_layers": "0001000_00000000"
},
"meta": {
"filename": "stator_top_pcb.kicad_prl",

View file

@ -50,9 +50,9 @@
},
"diff_pair_dimensions": [
{
"gap": 0.25,
"via_gap": 0.25,
"width": 0.2
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
@ -108,6 +108,7 @@
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_silk_clearance": 0.0,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,