Skip to content

Commit

Permalink
Merge pull request #7 from sebasgm/chassis-v2.0
Browse files Browse the repository at this point in the history
Chassis v2.0
  • Loading branch information
sebasgm committed Mar 12, 2016
2 parents 2983204 + 84fc847 commit c49fa55
Showing 1 changed file with 196 additions and 24 deletions.
220 changes: 196 additions & 24 deletions openscad/dreamster-chassis.scad
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@ use <triangles.scad>
// Dreamster parametric prototype chassis V1

// Default resolution (set it lower for faster rendering)
$fn = 50;
$fn = 80;

// Chassis parameters
depth = 95;
width = 90;
height_wall = 25+8+1.5;
thickness = 3;
thickness_wall = 3.5;

mount_holes_diameter = 3;
hole_width = 40;
hole_depth = 50;
Expand All @@ -19,6 +20,25 @@ hole_pos_y = 10;
corner_radius = 10;
slope = 5;

//---------------------------------

dreamster_base_r = 140/2;
dreamster_base_thickness = 3;

arduino_base_depth = 84;
arduino_base_width = 65;
arduino_base_height_wall = 25+8+1.5;
arduino_base_thickness = 3;

battery_hole_depth = 60;
battery_hole_width = 37.5;
battery_support_height = 19;

wheel_hole_depth = 15;
wheel_hole_width = 65;
wheel_hole_thickness = 10;

/*
module distance_sensor() {
radio = 16.3 / 2;
sep = 25.7;
Expand All @@ -32,16 +52,6 @@ module distance_sensor() {
}
}
module rounded_slope(width, depth)
{
translate([0, 0, width/2]) {
difference() {
cube([width, depth, width], center=true);
rotate([90, 0, 0]) translate ([width/2, width/2, 0]) cylinder(h=depth+2, r=width, center=true);
}
}
}

module motor_cutout()
{
ml = 30;
Expand All @@ -65,14 +75,13 @@ module rounder() {
}
module ball_caster() {
bcw = 11.7;
translate([-bcw/2, 0, 0]) {
cylinder(r=0.5, h=20, center=true);
}
translate([bcw/2, 0, 0]) {
cylinder(r=0.5, h=20, center=true);
}
}
translate([0, 15, 0]) {
sphere(r = 3, $fn=50);
}
translate([0, 0, 0]) {
sphere(r = 3, $fn=50);
}
}
module base() {
difference() {
Expand All @@ -83,7 +92,6 @@ module base() {
}
}

module side_wall(slope_width) {
wd = depth-10;
difference() {
Expand Down Expand Up @@ -151,10 +159,174 @@ module holes() {
}
translate([0, depth/2-5, 0]) ball_caster();
}
*/

// ================================================ //

module motor_support() {
translate([0, -0.4, 0]) {
difference() {
union() {
translate([0, 0, 5.5]) {
cube([3, 6, 6]);
}
difference() {
cube([6, 6, 6]);
translate([6, 6, 5]) {
rotate([90, 0, 0]) {
cylinder(r = 3.1, h = 6);
}
}
}
}
translate([-2, 3.45, 7.5]) {
rotate([90, 0, 90]) {
cylinder(r = 1.8, h = 6);
}
}
}
}
translate([0, 22 + 6.4, 0]) {
difference() {
union() {
translate([0, 0, 5.5]) {
cube([3, 6, 6]);
}
difference() {
cube([6, 6, 6]);
translate([6, 6, 5]) {
rotate([90, 0, 0]) {
cylinder(r = 3.1, h = 6);
}
}
}
}
translate([-2, 2.45, 7.5]) {
rotate([90, 0, 90]) {
cylinder(r = 1.8, h = 6);
}
}
}
}
}

module ball_caster() {
translate([0, 15, 3]) {
sphere(r = 7.7, $fn=50);
}
translate([-9, 20, 0]) {
cube([1.1, 25, 8], center=true);
}
translate([9, 20, 0]) {
cube([1.1, 25, 8], center=true);
}
}

module dreamster_base_holes() {
translate([0, depth/2-5, 0]) ball_caster();
translate([37.5/2, 60/2 + 3.5 + 5.25, -5]) cylinder(r = 3.5/2, h = 35);
translate([-37.5/2, -(60/2 + 3.5 + 5.25), -5]) cylinder(r = 3.5/2, h = 35);
}

module arduino_holes() {
translate([17, -depth/2 + 12.5, -2]) {
cube([10, 10, 6], center=false);
}
translate ([20, -depth/2 + 74, -5]) {
cylinder (h = 20, r = 1.775);
}
translate ([-8.5, -depth/2 + 74, -5]) {
cylinder (h = 20, r = 1.775);
}
translate ([-22.5, -depth/2 + 24, -5]) {
cylinder (h = 20, r = 1.775);
}
translate([2, -hole_pos_y, 0]) {
cube([hole_width, hole_depth, thickness+2], 1, center=true);
}
translate([battery_hole_width/2, battery_hole_depth/2 + 3.5 + 5.25, -5]) cylinder(r = 3.5/2, 35);
translate([-battery_hole_width/2, -(battery_hole_depth/2 + 3.5 + 5.25), -5]) cylinder(r = 3.5/2, 35);
}

module wheels_holes() {
translate([-dreamster_base_r/1.15, -wheel_hole_width/2, -5]) {
cube([wheel_hole_depth, wheel_hole_width, wheel_hole_thickness]);
}
translate([dreamster_base_r/1.15 - wheel_hole_depth, -wheel_hole_width/2, -5]) {
cube([wheel_hole_depth, wheel_hole_width, wheel_hole_thickness]);
}
}

module battery_supports() {
translate([37.5/2, 60/2 + 3.5 + 5.25, 0]) {
union() {
cube([14, 7, 22], center=true);
translate([3.5, -3.5, 0]) {
cube([7, 14, 22], center=true);
}
}
}

translate([-battery_hole_width/2, -(battery_hole_depth/2 + 3.5 + 5.25), 0]) {
rotate([0, 0, 180]) {
union() {
cube([14, 7, battery_support_height], center=true);
translate([3.5, -3.5, 0]) {
cube([7, 14, battery_support_height], center=true);
}
}
}
}
}

difference() {
chassis();
rounder();
holes();
module arduino_base() {
difference() {
cube([arduino_base_width, arduino_base_depth, arduino_base_thickness - 1], center=true);
arduino_holes();
}
}

module dreamster_base() {
difference() {
union() {
difference() {
cylinder (h = dreamster_base_thickness, r = dreamster_base_r, center = true);
translate([0, 0, -1]) {
cube([battery_hole_width, battery_hole_depth, dreamster_base_thickness + 2], center=true);
}
}
translate([0, 0, dreamster_base_thickness + battery_support_height/2 - 2]) {
battery_supports();
}
}
dreamster_base_holes();
wheels_holes();
}
translate([-dreamster_base_r/1.80, -6 -22/2, -0.25]) {
motor_support();
}
translate([dreamster_base_r/1.80, 6 + 22/2, -0.25]) {
rotate([0, 0, 180]) {
motor_support();
}
}
}


//------------------------


//translate([0, 0, 25]) {
// arduino_base();
//}

// ====== poner una ranura y la pieza complementaria para la BALLCASTER!
dreamster_base();


//------------
//difference() {
//chassis();
//rounder();
//holes();
//}

0 comments on commit c49fa55

Please sign in to comment.