dobervich: make caster standoff smaller for faster printing
[challenge-bot] / wheel.scad
CommitLineData
bc02cd24 1// challenge-bot
2// GNU AGPLv3 (or later at your option)
3// project available at these locations:
4// https://gitorious.org/ozzloy/challenge-bot
5// https://github.com/waynegramlich/challenge-bot
6
e93f053a 7wheel_depth = 6;
0d781ab9 8wheel_radius = 68/2;
9
bc02cd24 10module encoder_shaft(){
a0598357 11 motor_shaft_big = 3.7;
12 motor_shaft_small = 4.8;
0d781ab9 13 motor_shaft_length = wheel_depth / 2;
bc02cd24 14
15 intersection(){
16 cylinder(h = motor_shaft_length,
17 r = motor_shaft_big,
18 center = true,
e93f053a 19 $fn=30);
bc02cd24 20 cube([motor_shaft_big * 2.1, motor_shaft_small, motor_shaft_length],
21 center = true);}}
22
0d781ab9 23module mounting_screw(){
e93f053a 24 cylinder(h = wheel_depth * 1.1, r = 1, $fn = 30, center = true);}
0d781ab9 25
bc02cd24 26module wheel(){
0d781ab9 27 translate([0, 0, wheel_depth / 2]){
28 difference(){
e93f053a 29 cylinder(h = wheel_depth, r = wheel_radius, center = true, $fn = 30);
30 translate([0, 0, wheel_depth / 4]){
31 scale([1, 1, 2]){
0d781ab9 32 encoder_shaft();}}
33 mounting_screw();
e93f053a 34 for(i = [1 : 5]){
0d781ab9 35 rotate(i * 360/5, [0, 0, 1]){
36 translate([0, 0, -0.6 * wheel_depth])
e93f053a 37 between_spokes();}}
38 translate([0, 0, wheel_depth / 4]){
39 difference(){
40 cylinder(h = wheel_depth / 1.2,
41 r = 0.85 * wheel_radius,
42 center = true);
43 cylinder(h = wheel_depth / 1.2,
44 r = 0.23 * wheel_radius,
45 center = true);}}}}}
0d781ab9 46
47module wheel_block(){
48 cube([wheel_radius, wheel_radius, wheel_depth]);}
49
50module pie_slice(){
51 intersection(){
52 translate([0, 0, wheel_depth / 2]){
53 cylinder(h = wheel_depth,
e93f053a 54 r = 0.85 * wheel_radius,
0d781ab9 55 center = true);}
56 translate([0, wheel_radius * 0.3, 0]){
e93f053a 57 rotate([0, 0, (360 / 5) / 2]){
0d781ab9 58 intersection(){
59 wheel_block();
e93f053a 60 rotate([0, 0, 90 - 360 / 5])
0d781ab9 61 wheel_block();}}}}}
62
63module between_spokes(){
64 minkowski(){
65 pie_slice();
e93f053a 66 cylinder(h = wheel_depth / 2, r = 1, $fn = 30);}}
0d781ab9 67
68wheel();