5010 서보에 사용되었는데, 기어가 깨져서 오래된 기어박스를 제거했습니다.
모터에 적합하도록 직경을 조정해야 할 수 있습니다. 그것은 그저...
4:1 기어 비율
그것은 최소 53.1mm 폭, 22mm 높이입니다.
<BOSL2/std.scad> 포함하세요.
<BOSL2/gears.scad> 포함하세요.
/[통신사 설정]/
carrier_spoke_width = 8.0;
carrier_hub_extension = 3.0;
carrier_plate_thick = 2.5;
오버랩 마진 = 1.5;
/[워크플로우 제어]/
레이아웃 = "조립된"; // [조립된, 평평한]
/[가시성 토글]/
행성 표시 = 예;
쇼_링 = 트루;
쇼_캐리어 = 트루;
핀을 표시하려면 show_pins = true로 설정해야 합니다.
쇼_컵 = 트루;
쇼_록커 = 트루;
표지를 표시하려면 true를 입력해야 합니다.
/[기어 매개변수]/
피치 = 2.932;
행성_t = 15;
링_t = 태양_t + 2 * 행성_t;
두께 = 6.0;
클리어 = 0.3;
/[하드웨어 및 적합성]/
핀_다이아 = 3.1;
핀_추가 = 2.5;
핀 돌출량 = 0.5;
핀 홀 클리어런스 = 0.15;
/[컵 매개변수]/
컵_OD = 20.2;
컵_h = 6.1;
컵의 오목 깊이 = 3.5;
컵_리세스_ID = 17.4;
컵 중심 구멍 = 6.1;
컵_z_푸시 = 0.0;
/[커버 컨트롤]/
커버_베이스_두께 = 1.6;
핀_h = 두께 + 캐리어_플레이트_두께 + 핀_추가 + 핀_돌출;
피트 클리어런스 = 0.1;
모터 샤프트 D = 3.6;
z_offset = 0.0;
// --- 수학 ---
피치_다이아_선 = (선_t <)피치) / PI;
행성의 피치 직경 = (행성의 t 값)피치) / PI;
중심 거리 = (태양의 피치 직경 + 행성의 피치 직경) / 2;
링_아우터_테스 = 링_T + 18;
링_아우터_다이아메터 = (링_아우터_이빨)피치) / PI;
반지의 내부 직경 = (반지의 두께)피치) / PI;
확장 반경 = (반지의 내부 직경 / 2) + 오버랩 마진;
$fn = 64;
// --- 주요 실행 ---
만일 (레이아웃이 '평평'이라면) {
그리드 공간 = 링_T + 25;
선_기어_파트();
모드(grid_space, 0, 0) planet_gears_part();
모든 레벨을 완료하려면 다음 단계를 따르세요:2, 0, 0]) 링 기어 부품();
move([0, 그리드 공간, 0]) carrier_part();
모브([그리드 스페이스, 그리드 스페이스, 0]) 컵 부분();
모드(Move Mode)를 사용하여 그리드 공간을 이동할 수 있습니다.2, grid_space, 0]) 록커_파트();
모든 레벨을 완료하려면 다음 단계를 따르세요:3, 0, 0]) cover_part();
모드(Move Mode)를 사용하여 그리드 공간을 이동할 수 있습니다.3, grid_space, 0]) pins_part();
그렇지 않으면,
선_기어_파트();
행성 기어 부분();
링 기어 부품();
운송사 부분();
핀들의 부분();
컵_부분();
록커 파트();
커버 파트();
}
// --- 파트 모듈들 ---
모듈 pins_part() {
// 참고: 우리는 모든 3개의 핀을 조립된 상태로 렌더링하기 때문에 커버가 그것들을 사용하여 구멍을 자르를 수 있습니다.
만일 (show_pins 또는 $parent_geom)이라면,
pin_z_start = (레이아웃이 '평평'인 경우) ? 0 : -carrier_plate_thick - pin_protrusion;
색상("은색") {
만일 (레이아웃이 '평평'이라면) {
사이클(h=pin_h, d=pin_diam, anchor=BOTTOM);
그렇지 않으면,
for(a = [0, 120, 240]) {
회전([0, 0, a]) 이동([center_dist, 0, pin_z_start])
사이클(h=pin_h, d=pin_diam, anchor=BOTTOM);
}
}
}
}
}
모듈 cover_part() {
만일 (show_cover)이면,
z_pos = (레이아웃이 '평평') ? 0 : 두께;
move([0, 0, z_pos]) {
색상("lightgray", 0.8)
diff() {
유니온() {
// 접시 베이스
사이클(h=cover_base_thick, d=cup_od + carrier_hub_extension, anchor=BOTTOM);
for(a = [0, 120, 240]) {
rotate([0, 0, a]) {
모브([확장 반경/2, 0, 커버 베이스 두께/2])
cube([확장 반경, 운송용 스포크 폭, 커버 베이스 두께], anchor=CENTER);
모브([확장 반경, 0, 0])
사이클(h=cover_base_thick, d=carrier_spoke_width, anchor=BOTTOM);
// 핀을 위한 지원 영역
모브([center_dist, 0, 0])
사이클(h=cover_base_thick, d=carrier_spoke_width + 1.5, anchor=BOTTOM);
}
}
}
태그("제거") {
// 1. 중심 홀
사이클(h=100, d=모터_샤프트_d + 1, 안커=CENTER);
그것은...
나머지 모듈(캐리어, 기어, 컵, 로커)은 변경되지 않습니다...
모듈 carrier_part() {
만일 (show_carrier)이면,
z_pos = (레이아웃이 '평평')이면 캐리어 플레이트의 두께, 그렇지 않으면 0;
r_v = (레이아웃 == "평평") ? [180, 0, 0] : [0, 0, 0];
내부 허브 D = 컵 OD + 캐리어 허브 확장;
색상("slategray") 회전(r_v) 위로 이동(z_pos)
diff() {
유니온() {
사이클(h=carrier_plate_thick, d=inner_hub_d, anchor=TOP);
for(a = [0, 120, 240]) {
rotate([0, 0, a]) {
모브([확장 반경/2, 0, 캐리어 플레이트 두께/2])
cube([확장 반경, 캐리어 스포크 너비, 캐리어 플레이트 두께], anchor=CENTER);
모브([center_dist, 0, 0])
사이클(h=carrier_plate_thick, d=carrier_spoke_width + 1.5, anchor=TOP);
모브([확장 반경, 0, 0])
사이클(h=carrier_plate_thick, d=carrier_spoke_width, anchor=TOP);
}
}
}
태그("제거") {
사이클(h=carrier_plate_thick + 2, d=cup_od + fit_clearance, anchor=CENTER);
for(a = [0, 120, 240]) {
회전([0, 0, a]) 이동([center_dist, 0, 0])
사이클(h=carrier_plate_thick + 5, d=pin_diam + pin_hole_clearance, anchor=CENTER);
}
사이클(h=100, d=cup_center_hole, anchor=CENTER);
}
}
}
}
모듈 ring_gear_part() {
만일 (show_ring)이라면,
색상("화이트", 0.3) up(z_offset)
diff() {
스퍼 기어(circ_pitch=pitch, teeth=ring_outer_teeth, thickness=thick, anchor=BOTTOM);
태그("제거") {
스퍼 기어(circ_pitch=pitch, teeth=ring_t, thickness=thick+0.1, internal=true, clearance=clear, anchor=BOTTOM);
}
}
}
}
모듈 sun_gear_part() {
만일 (show_sun) 이면,
색상(“오렌지”) 위로(z_offset)
스퍼 기어(circ_pitch=pitch, teeth=sun_t, thickness=thick, shaft_diam=motor_shaft_d, anchor=BOTTOM);
}
}
모듈 planet_gears_part() {
만약 (show_planets)이면,
for(a = [0, 120, 240]) {
d_val = (레이아웃이 '평평'인 경우) ? (행성_t)2.5): center_dist;
회전(0, 0, (레이아웃 == "평평한" 경우) 0 : a)
дви동(move) : [(레이아웃 == "평평한") ? (a/120 미만)]d_val) : d_val, 0, z_offset])
색상("스카이블루")
스퍼 기어(circ_pitch=pitch, teeth=planet_t, thickness=thick, shaft_diam=pin_diam + fit_clearance, clearance=clear, anchor=BOTTOM);
}
}
}
모듈 cup_part() {
만약 (show_cup)이면,
p_z = (레이아웃 == "평평한") ? 0 : (- 캐리어 플레이트 두께 + 컵_z_푸시);
r_c = (레이아웃이 '평평')이면 [180, 0, 0], 그렇지 않으면 [0, 0, 0];
색상(‘라임’), 회전(r_c), 이동([0,0,p_z])
디프()
사이클(h = cup_h, d = cup_od, anchor = TOP) {
태그("제거") {
내려다(cup_h)
사이클(h = 컵 레세스 깊이, d = 컵 레세스 ID, 애너치 = 바닥);
사이클(h = cup_h + 10, d = cup_center_hole, anchor = CENTER);
}
}
}
}
모듈 rocker_part() {
만일 (show_rocker)이면,
r_dist = (링 외부 직경 + (12 * 피치 / PI)) / 2;
m_v = (레이아웃이 '평평')이면 0 0 0,
move(m_v) color("red")
스퍼 기어(회전 피치=피치, 이빨=12, 두께=тол, 축 직경=4.2, 애너커=바닥);
}
}
Теги
Источник модели
