|
- use <stepper.scad>
- use <arm.scad>
- use <marker.scad>
- use <electronics.scad>
- //module arm(holes, width, thinkness, bore){
-
-
- arm1 = 70;
- arm2 = 55;
- x = 55; //[15:85]
- y = 70; //[35:85]
- length = sqrt(pow(x,2) + pow(y,2));
- arm1_sq = pow(arm1,2);
- arm2_sq = pow(arm2,2);
- length_sq = pow(length,2);
- b = acos((arm1_sq + length_sq - arm2_sq)/(2 * arm1 * length));
- c = acos((arm1_sq - length_sq + arm2_sq)/(2 * arm1 * arm2));
- angle1 = b + atan2(y,x) - 90;
- angle2 = angle1 - 90 + c;
- stepper_spaceing = 45;
- stepper_offset = 55;
- arm_thickness = 3;
- arm_width = 10;
- arm_offset = 15;
-
- %translate([stepper_offset,0,0]) {
- // stepper on joint C
- rotate([0,90,0]) stepper_103H5205();
- // stepper on joint A
- translate([0,stepper_spaceing,0]) rotate([0,90,0]) stepper_103H5205();
-
- translate([arm_offset,0,0]){
-
- translate([0,stepper_spaceing,0]) rotate([angle1,0,0]) rotate([0,-90,0]) arm([0,-25],arm_width,arm_thickness,5);
- //arm1
- rotate([angle1,0,0]) rotate([0,-90,0]) arm([0,-25,arm1],arm_width,arm_thickness,5);
-
- //arm2
- translate([3,0,0]) rotate([angle1,0,0]) translate([0,0,-25]) rotate([-angle1,0,0]) rotate([90,0,90]) arm([0,stepper_spaceing],arm_width,arm_thickness,5);
- translate([-3,0,0]) rotate([angle1,0,0]) translate([0,0,-25]) rotate([-angle1,0,0]) rotate([90,0,90]) arm([0,stepper_spaceing],arm_width,arm_thickness,5);
-
- //arm3
- rotate([angle2,0,0]){
- translate([3,0,0]) rotate([90,0,-90]) arm([0,25],arm_width,arm_thickness,5);
- translate([-3,0,0]) rotate([90,0,-90]) arm([0,25],arm_width,arm_thickness,5);
- translate([0,-25,0]) rotate([angle1-angle2,0,0]) {
- // arm4
- rotate([0,-90,0]) arm([0,arm1],arm_width,arm_thickness,5);
- translate([0,0,arm1]) rotate([angle2-angle1,0,0]) {
- translate([3,0,0]) rotate([90, 0, 90]) arm([25,0,arm2+25],arm_width,arm_thickness,5);
- translate([-3,0,0]) rotate([90, 0, 90]) arm([25,0,arm2+25],arm_width,arm_thickness,5);
- translate([-stepper_offset-arm_offset,arm2+25]) rotate([0,90,0]) marker(0);
- }
- }
- }
- }
- }
-
- // electronics
- translate([20,80,-10]) rotate([-0,-90,0]){
- color("olive") translate([-12,-2,5]) cube([40,61,1]);
- stepper_controller();
- translate([0,25.4,0]) stepper_controller();
- }
-
- //carriage
- translate([stepper_offset,0,0])
- rotate([0,90,0]) {
- stepper_103H5205_mount();
- translate([0,stepper_spaceing,0]) stepper_103H5205_mount();
- }
-
-
|