Browse Source

Finished glass slide holder.

master
Maximilian Stiefel 7 years ago
parent
commit
bd6cdd625b
  1. 0
      cad/mechanics_rev3/housing/screenshot_closed.png
  2. 0
      cad/mechanics_rev3/housing/screenshot_cut_closed.png
  3. 0
      cad/mechanics_rev3/housing/screenshot_cut_open.png
  4. 0
      cad/mechanics_rev3/housing/screenshot_open.png
  5. 39
      cad/mechanics_rev3/pcb/dimensions.scad
  6. 43
      cad/mechanics_rev3/pcb/glass_holder.scad
  7. 10614
      cad/mechanics_rev3/pcb/glass_slide_holder
  8. 35
      cad/mechanics_rev3/pcb/led_illuminator.scad
  9. 52
      cad/mechanics_rev3/pcb/legs.scad
  10. 37
      cad/mechanics_rev3/pcb/main.scad
  11. 6729
      pcbs/analog_board_v0.2/_autosave-analog_board_v0.2.kicad_pcb
  12. 30
      pcbs/analog_board_v0.2/analog_board_v0.2.kicad_pcb
  13. 4
      pcbs/analog_board_v0.2/analog_board_v0.2.kicad_pcb-bak

0
cad/mechanics_rev3/housing/screenshot_closed → cad/mechanics_rev3/housing/screenshot_closed.png

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

0
cad/mechanics_rev3/housing/screenshot_cut_closed → cad/mechanics_rev3/housing/screenshot_cut_closed.png

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

0
cad/mechanics_rev3/housing/screenshot_cut_open → cad/mechanics_rev3/housing/screenshot_cut_open.png

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

0
cad/mechanics_rev3/housing/screenshot_open → cad/mechanics_rev3/housing/screenshot_open.png

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

39
cad/mechanics_rev3/pcb/dimensions.scad

@ -0,0 +1,39 @@
/////////////////////////////////////////////////////////////////////////////////
// File for all dimensions, so they can be changed globally.
//
// Author: Maximilian Stiefel
// Last modification: 29.07.2017
/////////////////////////////////////////////////////////////////////////////////
allowance05 = 0.5;
// Glass dimensions
glass_slide_height = 1;
glass_slide_depth = 26 + allowance05;
glass_slide_width = 76;
// Holder dimensions
window_size = 20;
holder_height = 3 + glass_slide_height + allowance05;
holder_depth = glass_slide_depth + allowance05 + 4;
holder_width = 80; // Width of the PCB
echo(holder_height=holder_height);
// LED illuminator dimensions
led_illuminator_dia = 10;
led_illuminator_height = 15;
led_pos_x = 18;
led_pos_y = 13;
led_illuminator_thickness = 2;
led_illuminator_slot = 4;
led_illuminator_angle = 35;
leg_outer_dia = 5;
leg_inner_dia = 2.5;
leg_height = led_illuminator_height;
leg_pos_y = 13;
leg_pos_x = 2.5;
leg_distance = 6.5;
leg_drill_depth = 7;
myColor1 = "LimeGreen";

43
cad/mechanics_rev3/pcb/glass_holder.scad

@ -0,0 +1,43 @@
/////////////////////////////////////////////////////////////////////////////////
// Glass slide holder to be mounted on the PCB.
//
// Author: Maximilian Stiefel
// Last modification: 29.06.2017
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
// Includes
/////////////////////////////////////////////////////////////////////////////////
// Dimesnions
include <dimensions.scad>
use <dimensions.scad>
/////////////////////////////////////////////////////////////////////////////////
// Vars
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
// Action
/////////////////////////////////////////////////////////////////////////////////
module glass_holder()
{
translate([0, 0, holder_height/2 + leg_height -0.01])
difference()
{
// Main body
cube([holder_width, holder_depth, holder_height], center = true);
union()
{
// Cut glass slide out and make an entrance
translate([-2.5, 0, 2])
cube([glass_slide_width + allowance05 + 5, glass_slide_depth + allowance05, holder_height], center = true);
// Cut out a cylinder for the LED
translate([glass_slide_width/2 - led_pos_x, 0, 0])
cylinder(r = led_illuminator_dia/2, h = 20, center = true);
// Cut out a "window" where the receiver photodiode is sitting
translate([glass_slide_width/2 - led_pos_x, glass_slide_depth/2, 2])
cube([window_size, 10, 10], center = true);
}
}
}

10614
cad/mechanics_rev3/pcb/glass_slide_holder

File diff suppressed because it is too large

35
cad/mechanics_rev3/pcb/led_illuminator.scad

@ -1,35 +1,40 @@
/////////////////////////////////////////////////////////////////////////////////
// LED illuminator to hide the LED from the receiver diode.
// Illuminator for LED to keep the UV light away from the photodiode.
//
// Author: Maximilian Stiefel
// Last modification: 22.06.2017
// Last modification: 29.06.2017
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
// Includes
/////////////////////////////////////////////////////////////////////////////////
// Dimesnions
include <dimensions.scad>
use <dimensions.scad>
/////////////////////////////////////////////////////////////////////////////////
// Vars
/////////////////////////////////////////////////////////////////////////////////
$fa = 0.5; // minimum facet angle is now 0.5
$fs = 0.5; // minimum facet size is now 0.5 mm
holder_height = 14;
holder_diameter = 8.5;
holder_hole_diameter = 6.5; // LED with 5 mm diameter should fit in
holder_slot_width = 1;
/////////////////////////////////////////////////////////////////////////////////
// Action
/////////////////////////////////////////////////////////////////////////////////
difference()
module illuminator()
{
cylinder(h = holder_height, r = holder_diameter/2, center = true);
union()
translate([glass_slide_width/2 - led_pos_x, 0, led_illuminator_height/2 + 0.01])
difference()
{
translate([0, 0, 0])
cylinder(h = holder_height + 2, r = holder_hole_diameter/2, center = true);
translate([0, holder_diameter/2, 0])
cube([holder_slot_width, 2*(holder_diameter-holder_hole_diameter), holder_height + 2], center = true);
cylinder(r = led_illuminator_dia/2 + led_illuminator_thickness, led_illuminator_height, center = true);
union()
{
// Cut out inner cylinder
cylinder(r = led_illuminator_dia/2, led_illuminator_height + 0.01, center = true);
// Cut out slot
rotate([0, 0, led_illuminator_angle + 180])
translate([led_illuminator_dia/2, 0, -led_illuminator_height/2 - 0.01])
cube([led_illuminator_dia/2, led_illuminator_slot, led_illuminator_height], center = true);
}
}
}

52
cad/mechanics_rev3/pcb/legs.scad

@ -0,0 +1,52 @@
/////////////////////////////////////////////////////////////////////////////////
// Legs for the glass slide holder.
//
// Author: Maximilian Stiefel
// Last modification: 29.06.2017
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
// Includes
/////////////////////////////////////////////////////////////////////////////////
// Dimesnions
include <dimensions.scad>
use <dimensions.scad>
/////////////////////////////////////////////////////////////////////////////////
// Vars
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
// Action
/////////////////////////////////////////////////////////////////////////////////
module legs()
{
difference()
{
union()
{
// Legs at the left
for(y = [0, 1])
translate([glass_slide_width/2 - leg_pos_x, -y*leg_distance,0])
cylinder(r = leg_outer_dia/2, h = leg_height);
// Legs at the right
for(y = [0, 1])
translate([-glass_slide_width/2 + leg_pos_x, y*leg_distance, 0])
cylinder(r = leg_outer_dia/2, h = leg_height);
}
union()
{
// Legs at the left
for(y = [0, 1])
translate([glass_slide_width/2 - leg_pos_x, -y*leg_distance, -0.01])
cylinder(r = leg_inner_dia/2, h = leg_drill_depth);
// Legs at the right
for(y = [0, 1])
translate([-glass_slide_width/2 + leg_pos_x, y*leg_distance, -0.01])
cylinder(r = leg_inner_dia/2, h = leg_drill_depth);
}
}
}

37
cad/mechanics_rev3/pcb/glass_slide_holder.scad → cad/mechanics_rev3/pcb/main.scad

@ -1,35 +1,42 @@
/////////////////////////////////////////////////////////////////////////////////
// LED illuminator to hide the LED from the receiver diode.
// Main file to bring everything together.
//
// Author: Maximilian Stiefel
// Last modification: 22.06.2017
// Last modification: 29.06.2017
/////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////
// Includes
/////////////////////////////////////////////////////////////////////////////////
// Dimesnions
include <dimensions.scad>
use <dimensions.scad>
// Module for the glass holder
include <glass_hollder.scad>
use <glass_holder.scad>
// Module for the legs
include <legs.scad>
use <legs.scad>
// Module for the legs
include <led_illuminator.scad>
use <led_illuminator.scad>
/////////////////////////////////////////////////////////////////////////////////
// Vars
/////////////////////////////////////////////////////////////////////////////////
$fa = 0.5; // minimum facet angle is now 0.5
$fs = 0.5; // minimum facet size is now 0.5 mm
allowance = 0.5;
glass_slide_thickness = 1;
glass_slide_width = 26 + allowance;
holder_height = 15 + glass_slide_thickness + allowance;
holder_width = 26 + allowance + 4;
holder_depth = 3.5;
/////////////////////////////////////////////////////////////////////////////////
// Action
/////////////////////////////////////////////////////////////////////////////////
difference()
color(myColor1)
{
cube([holder_width, holder_depth, holder_height]);
translate([(holder_width - glass_slide_width)/2, holder_depth - 1.25 - allowance, holder_height - glass_slide_thickness - allowance])
cube([glass_slide_width, holder_depth, 2]);
glass_holder();
legs();
illuminator();
}

6729
pcbs/analog_board_v0.2/_autosave-analog_board_v0.2.kicad_pcb

File diff suppressed because it is too large

30
pcbs/analog_board_v0.2/analog_board_v0.2.kicad_pcb

@ -1,11 +1,11 @@
(kicad_pcb (version 4) (host pcbnew 4.0.6-e0-6349~52~ubuntu17.04.1)
(kicad_pcb (version 4) (host pcbnew 4.0.7-e0-6372~58~ubuntu17.04.1)
(general
(links 300)
(no_connects 0)
(area 68.642858 46.15 215.357144 148.850001)
(thickness 1.6)
(drawings 52)
(drawings 54)
(tracks 364)
(zones 0)
(modules 238)
@ -31,7 +31,7 @@
(37 F.SilkS user)
(38 B.Mask user)
(39 F.Mask user hide)
(40 Dwgs.User user hide)
(40 Dwgs.User user)
(41 Cmts.User user)
(42 Eco1.User user)
(43 Eco2.User user)
@ -4676,6 +4676,30 @@
)
)
(dimension 13 (width 0.3) (layer Dwgs.User)
(gr_text "13,000 mm" (at 166.6 116.5 270) (layer Dwgs.User)
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(feature1 (pts (xy 180.5 123) (xy 167.5 123)))
(feature2 (pts (xy 180.5 110) (xy 167.5 110)))
(crossbar (pts (xy 170.2 110) (xy 170.2 123)))
(arrow1a (pts (xy 170.2 123) (xy 169.613579 121.873496)))
(arrow1b (pts (xy 170.2 123) (xy 170.786421 121.873496)))
(arrow2a (pts (xy 170.2 110) (xy 169.613579 111.126504)))
(arrow2b (pts (xy 170.2 110) (xy 170.786421 111.126504)))
)
(dimension 6.4 (width 0.3) (layer Dwgs.User)
(gr_text "6,400 mm" (at 173.7 117.1 270) (layer Dwgs.User)
(effects (font (size 1.5 1.5) (thickness 0.3)))
)
(feature1 (pts (xy 180.5 123) (xy 175.100001 123)))
(feature2 (pts (xy 180.5 116.6) (xy 175.100001 116.6)))
(crossbar (pts (xy 177.800001 116.6) (xy 177.800001 123)))
(arrow1a (pts (xy 177.800001 123) (xy 177.21358 121.873496)))
(arrow1b (pts (xy 177.800001 123) (xy 178.386422 121.873496)))
(arrow2a (pts (xy 177.800001 116.6) (xy 177.21358 117.726504)))
(arrow2b (pts (xy 177.800001 116.6) (xy 178.386422 117.726504)))
)
(gr_text <1 (at 136.3345 124.587) (layer F.SilkS)
(effects (font (size 1.5 1.5) (thickness 0.3)))
)

4
pcbs/analog_board_v0.2/analog_board_v0.2.kicad_pcb-bak

@ -3,7 +3,7 @@
(general
(links 300)
(no_connects 0)
(area 104.949999 84.949999 185.050001 135.050001)
(area 68.642858 46.15 215.357144 148.850001)
(thickness 1.6)
(drawings 52)
(tracks 364)
@ -44,7 +44,7 @@
)
(setup
(last_trace_width 0.4)
(last_trace_width 0.25)
(user_trace_width 0.4)
(trace_clearance 0.2)
(zone_clearance 0.2)

Loading…
Cancel
Save