77 lines
4.3 KiB
OpenSCAD
77 lines
4.3 KiB
OpenSCAD
include <../../config.scad>;
|
|
use <../common/metric_bolt.scad>;
|
|
use <../common/metric_bolt_functions.scad>;
|
|
use <../common/washer.scad>;
|
|
use <../fixings/tube_clamp_square_base_plate_132.scad>;
|
|
use <../fixings/tube_clamp_square_base_plate_132_functions.scad>;
|
|
use <./brake_assembly_functions.scad>;
|
|
use <./fixing_ballscrew_to_bed.scad>;
|
|
use <./power_wheel_assembly.scad>;
|
|
use <./fixing_brake_ballscrew_to_brake_arms.scad>;
|
|
use <./brake_arm.scad>;
|
|
use <./fixing_brake_arm_to_brake_pad.scad>;
|
|
use <./brake_pad.scad>;
|
|
use <./fixing_brake_arm_to_rear_axle_leg.scad>;
|
|
use <./brake_spring_load_assembly.scad>;
|
|
|
|
|
|
|
|
module brake_assembly(angle_brake_rod) {
|
|
echo("Brake assembly:");
|
|
// Y_POS_LEAD_FIXING_BALLSCREW_TO_BRAKE_ARMS
|
|
y_pos_lead_fixing_ballscrew_to_brake_arms = get_y_pos_lead_fixing_ballscrew_to_brake_arms(angle_brake_rod, Y_POS_AXLE_REAR, X_POS_AXLE_LEG_REAR, X_OFFSET_FIXING_BRAKE_ARM_TO_LEAD_PLATE);
|
|
y_pos_ballscrew_end_front = -R_BED[1] / 2 + L_BRAKE_BALLSCREW_AXLE;
|
|
union() {
|
|
// ballscrew axle
|
|
color(COLOUR_ROD_THREADED) translate([0, y_pos_ballscrew_end_front, -Z_OFFSET_BALLSCREW_AXLE_TO_BED_BASE]) rotate([90, 0, 0]) cylinder(L_BRAKE_BALLSCREW_AXLE, D_BRAKE_BALLSCREW_AXLE / 2, D_BRAKE_BALLSCREW_AXLE / 2, center = false);
|
|
// fixing ballscrew to bed front
|
|
translate([0, y_pos_ballscrew_end_front - Y_OFFSET_BALLSCREW_LEG_FRONT_FIXING_FROM_END, 0]) fixing_ballscrew_to_bed();
|
|
// fixing ballscrew to bed rear
|
|
translate([0, -R_BED[1] / 2 + Y_OFFSET_BALLSCREW_LEG_REAR_FIXING_FROM_END, 0]) fixing_ballscrew_to_bed();
|
|
// ballscrew power wheel
|
|
translate([0, -R_BED[1] / 2 + Y_OFFSET_BALLSCREW_LEG_REAR_FIXING_FROM_END - D_BEAM_BRAKE / 2 - T_WASHER_BRAKE_BALLSCREW_POWER_WHEEL - T_BRAKE_BALLSCREW_POWER_WHEEL / 2, -Z_OFFSET_BALLSCREW_AXLE_TO_BED_BASE]) power_wheel_assembly();
|
|
// ballscrew power wheel washer
|
|
translate([0, -R_BED[1] / 2 + Y_OFFSET_BALLSCREW_LEG_REAR_FIXING_FROM_END - D_BEAM_BRAKE / 2 - T_WASHER_BRAKE_BALLSCREW_POWER_WHEEL / 2, -Z_OFFSET_BALLSCREW_AXLE_TO_BED_BASE]) rotate([90, 0, 0]) washer(T_WASHER_BRAKE_BALLSCREW_POWER_WHEEL, D_WASHER_BRAKE_BALLSCREW_POWER_WHEEL, D_BRAKE_BALLSCREW_AXLE);
|
|
// fixing ballscrew to brake rod
|
|
translate([0, y_pos_lead_fixing_ballscrew_to_brake_arms, -Z_OFFSET_BALLSCREW_AXLE_TO_BED_BASE]) {
|
|
fixing_brake_ballscrew_to_brake_arms();
|
|
|
|
for (index_side_x = [0:1:1]) {
|
|
mirror([index_side_x, 0, 0]) {
|
|
translate([X_OFFSET_FIXING_BRAKE_ARM_TO_LEAD_PLATE, 0, 0]) rotate([0, 0, (90 - angle_brake_rod)]) {
|
|
// brake arm
|
|
translate([R_BRAKE_ARM[0] / 2, 0, 0]) brake_arm();
|
|
// fixing brake arm to brake pad
|
|
translate([R_BRAKE_ARM[0] - X_OFFSET_FIXING_BRAKE_ARM_TO_BRAKE_PAD_FROM_END, 0, R_BRAKE_ARM[2] / 2]) rotate([0, 0, -(90 - angle_brake_rod)]) fixing_brake_arm_to_brake_pad();
|
|
// brake pad
|
|
translate([R_BRAKE_ARM[0] - X_OFFSET_FIXING_BRAKE_ARM_TO_BRAKE_PAD_FROM_END, 0, R_BRAKE_ARM[2] / 2 + T_FIXING_BRAKE_ARM_TO_BRAKE_PAD + (W_FIXING_BRAKE_ARM_TO_BRAKE_PAD - T_FIXING_BRAKE_ARM_TO_BRAKE_PAD) / 2]) rotate([0, 0, -(90 - angle_brake_rod)]) translate([T_FIXING_BRAKE_ARM_TO_BRAKE_PAD, 0, 0]) brake_pad();
|
|
}
|
|
// fixing brake arm to rear axle leg
|
|
translate([X_POS_AXLE_LEG_REAR, -y_pos_lead_fixing_ballscrew_to_brake_arms + Y_POS_AXLE_REAR, 0]) fixing_brake_arm_to_rear_axle_leg();
|
|
}
|
|
}
|
|
}
|
|
// Spring-loading assembly
|
|
translate([0, y_pos_ballscrew_end_front - Y_OFFSET_BALLSCREW_LEG_FRONT_FIXING_FROM_END + D_BEAM_BRAKE / 2, -Z_OFFSET_BALLSCREW_AXLE_TO_BED_BASE]) brake_spring_load_assembly();
|
|
}
|
|
|
|
// Shopping
|
|
echo(str("Ballscrew axle: Threaded Steel rod M", D_BRAKE_BALLSCREW_AXLE, " x ", L_BRAKE_BALLSCREW_AXLE, " - x1"));
|
|
// Fixing ballscrew to bed front
|
|
// Fixing ballscrew to bed rear
|
|
// Ballscrew power wheel
|
|
// Ballscrew power wheel washer
|
|
// Fixing ballscrew to brake arms
|
|
// Brake arms
|
|
// Fixings brake arm to brake pad
|
|
// Brake pads
|
|
// fixing brake arm to rear axle leg
|
|
// Spring-load assembly
|
|
}
|
|
|
|
|
|
angle_brake_rod = ANGLE_BRAKE_ROD_MAX;
|
|
|
|
brake_assembly(angle_brake_rod);
|
|
|