diff options
Diffstat (limited to 'prototype')
-rw-r--r-- | prototype/mech_pcbs/Makefile | 31 | ||||
-rw-r--r-- | prototype/mech_pcbs/bearing_mount_middle/bearing_mount_middle.kicad_pro | 7 | ||||
-rw-r--r-- | prototype/mech_pcbs/flange_holder.scad | 63 | ||||
-rw-r--r-- | prototype/mech_pcbs/rotohsm_proto.FCStd | bin | 196707 -> 197016 bytes | |||
-rw-r--r-- | prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pcb | 8 | ||||
-rw-r--r-- | prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_prl | 11 | ||||
-rw-r--r-- | prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pro | 7 |
7 files changed, 107 insertions, 20 deletions
diff --git a/prototype/mech_pcbs/Makefile b/prototype/mech_pcbs/Makefile new file mode 100644 index 0000000..10dc53f --- /dev/null +++ b/prototype/mech_pcbs/Makefile @@ -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 diff --git a/prototype/mech_pcbs/bearing_mount_middle/bearing_mount_middle.kicad_pro b/prototype/mech_pcbs/bearing_mount_middle/bearing_mount_middle.kicad_pro index 7104c75..ab46b03 100644 --- a/prototype/mech_pcbs/bearing_mount_middle/bearing_mount_middle.kicad_pro +++ b/prototype/mech_pcbs/bearing_mount_middle/bearing_mount_middle.kicad_pro @@ -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, diff --git a/prototype/mech_pcbs/flange_holder.scad b/prototype/mech_pcbs/flange_holder.scad new file mode 100644 index 0000000..d926ef9 --- /dev/null +++ b/prototype/mech_pcbs/flange_holder.scad @@ -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); + } + } + } + } +}
\ No newline at end of file diff --git a/prototype/mech_pcbs/rotohsm_proto.FCStd b/prototype/mech_pcbs/rotohsm_proto.FCStd Binary files differindex d249d63..6356b22 100644 --- a/prototype/mech_pcbs/rotohsm_proto.FCStd +++ b/prototype/mech_pcbs/rotohsm_proto.FCStd diff --git a/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pcb b/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pcb index d71eedc..9a742de 100644 --- a/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pcb +++ b/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pcb @@ -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)) ) diff --git a/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_prl b/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_prl index 248f50e..b308bd8 100644 --- a/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_prl +++ b/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_prl @@ -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", diff --git a/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pro b/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pro index 327a89d..5044184 100644 --- a/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pro +++ b/prototype/mech_pcbs/stator_top_pcb/stator_top_pcb.kicad_pro @@ -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, |