diff --git a/Hardware/Development/Cyclone_Template/template.scad b/Hardware/Development/Cyclone_Template/template.scad index f215a84..c0f2b81 100644 --- a/Hardware/Development/Cyclone_Template/template.scad +++ b/Hardware/Development/Cyclone_Template/template.scad @@ -54,12 +54,18 @@ Display_Extra_Parts = true; X_rod_sep_real = X_smooth_rods_sep_projected+smooth_rod_margin; -module frame_right() { - color([1,0.8,0]) rotate([0,0,90]) scale([-1,1,1]) translate([-85,-23,135]) rotate([-90,0,0]) frame(with_motor = 0); +module frame_right(with_extra_parts = false) { + if(with_extra_parts) + rotate([0,0,90]) scale([-1,1,1]) translate([-85,-23,135]) rotate([-90,0,0]) frame(with_motor = 0, with_extra_parts=with_extra_parts); + else + color([1,0.8,0]) rotate([0,0,90]) scale([-1,1,1]) translate([-85,-23,135]) rotate([-90,0,0]) frame(with_motor = 0, with_extra_parts=with_extra_parts); } -module frame_left() { - color([1,1,0]) rotate([0,0,90]) scale([-1,-1,1]) translate([-85,-23,135]) rotate([-90,0,0]) frame(with_motor = 1); +module frame_left(with_extra_parts = false) { + if(with_extra_parts) + rotate([0,0,90]) scale([-1,-1,1]) translate([-85,-23,135]) rotate([-90,0,0]) frame(with_motor = 1, with_extra_parts=with_extra_parts); + else + color([1,1,0]) rotate([0,0,90]) scale([-1,-1,1]) translate([-85,-23,135]) rotate([-90,0,0]) frame(with_motor = 1, with_extra_parts=with_extra_parts); } module Y_rod_idler_left() { @@ -152,9 +158,9 @@ module cnc(show_printbed = 1) { } // ---- main frames ---- - frame_left(); + frame_left(with_extra_parts=Display_Extra_Parts); translate([X_axis_sep,0,0]) - frame_right(); + frame_right(with_extra_parts=Display_Extra_Parts); // ---- Y rod idlers ---- translate([0,Y_axis_sep,0]) { diff --git a/Hardware/Development/main_frame/frame.scad b/Hardware/Development/main_frame/frame.scad index 5855cce..f5dc987 100644 --- a/Hardware/Development/main_frame/frame.scad +++ b/Hardware/Development/main_frame/frame.scad @@ -2,11 +2,17 @@ // Created by Carlosgs (http://carlosgs.es) // License: Attribution - Share Alike - Creative Commons (http://creativecommons.org/licenses/by-sa/3.0/) +include +include +include +include +use <../Gears/rod_gear.scad> +use <../Gears/motor_gear.scad> use <../libs/obiscad/bcube.scad> use <../libs/obiscad/bevel.scad> use <../libs/build_plate.scad> -module frame(with_motor = 1, show_printbed = 0) { +module frame(with_motor = 1, show_printbed = 0, with_extra_parts = false) { layer_thickness = 0.4; @@ -57,6 +63,29 @@ Y_rod_support_lenght = Y_rod_dist_from_wall+smooth_rod_screw_sep+smooth_rod_scre motor_adjust_margin = 3; +Cyclone_Nema17 = [ + [NemaModel, 17], + [NemaLengthShort, 33*mm], + [NemaLengthMedium, 39*mm], + [NemaLengthLong, 48*mm], + [NemaSideSize, 42.30*mm], + [NemaDistanceBetweenMountingHoles, 31.0*mm], + [NemaMountingHoleDiameter, 4*mm], + [NemaMountingHoleDepth, 4.5*mm], + [NemaMountingHoleLip, -1*mm], + [NemaMountingHoleCutoutRadius, 0*mm], + [NemaEdgeRoundingRadius, 7*mm], + [NemaRoundExtrusionDiameter, 22*mm], + [NemaRoundExtrusionHeight, 1.9*mm], + [NemaAxleDiameter, 5*mm], + [NemaFrontAxleLength, 24*mm], + [NemaBackAxleLength, 15*mm], + [NemaAxleFlatDepth, 0.5*mm], + [NemaAxleFlatLengthFront, 15*mm], + [NemaAxleFlatLengthBack, 14*mm] + ]; + + if(show_printbed) { //for display only, doesn't contribute to final object translate([frame_width/2,frame_height/2,0]) build_plate(3,110,140); @@ -171,6 +200,18 @@ difference() { } // End of difference() command + // -- stepper and gear --- + if(with_motor && with_extra_parts) { + translate([X_threaded_rod_posX,X_threaded_rod_posY,0]) { + rotate([0,0,-motor_axis_angle]) translate([motor_axis_distance,0,0]) rotate([0,0,90+motor_axis_angle]) { + translate([0,0,wall_thickness-1]) { + motor(Cyclone_Nema17, NemaLengthLong); + translate([0,0,-12-5.5]) + cyclone_motor_gear(); + } + } + } + } // --------- Support column for the triangular structure --------- // translate([frame_width/4,frame_height-frame_hole_height/2-bottom_thickness,frame_thickness/2])