2ba290a5985de42f99fe0f43595b7421b0ad2bfe
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
10 module
encoder_shaft(){
11 // measured with calipers, checked against the motor shaft
12 motor_shaft_big
= 3.7;
13 motor_shaft_small
= 4.8;
14 motor_shaft_length
= wheel_depth
* 3 / 4;
17 cylinder(h
= motor_shaft_length
,
21 // x direction is multiplied by 2 because the radius of the cylinder
22 // goes in both directions. the extra .1 is for overlap
23 cube([motor_shaft_big
* 2.1, motor_shaft_small
, motor_shaft_length
],
26 module
mounting_screw(){
27 cylinder(h
= wheel_depth
* 1.1, r
= 1, $fn
= 30, center
= true);}
30 translate([0, 0, wheel_depth
/ 2]){
32 cylinder(h
= wheel_depth
, r
= wheel_radius
, center
= true, $fn
= 30);
33 translate([0, 0, wheel_depth
/ 4]){
38 rotate(i
* 360/5, [0, 0, 1]){
39 translate([0, 0, -0.6 * wheel_depth
])
41 translate([0, 0, wheel_depth
/ 4]){
43 cylinder(h
= wheel_depth
/ 1.2,
44 r
= 0.85 * wheel_radius
,
46 cylinder(h
= wheel_depth
/ 1.2,
47 r
= 0.23 * wheel_radius
,
51 cube([wheel_radius
, wheel_radius
, wheel_depth
]);}
55 translate([0, 0, wheel_depth
/ 2]){
56 cylinder(h
= wheel_depth
,
57 r
= 0.85 * wheel_radius
,
59 translate([0, wheel_radius
* 0.3, 0]){
60 rotate([0, 0, (360 / 5) / 2]){
63 rotate([0, 0, 90 - 360 / 5])
66 module
between_spokes(){
69 cylinder(h
= wheel_depth
/ 2, r
= 1, $fn
= 30);}}