projects
/
challenge-bot
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add notes for some wheel measurements
[challenge-bot]
/
wheel.scad
diff --git
a/wheel.scad
b/wheel.scad
index c361773198b866ae8b6b2bd8ad7385a0d2c5e2f1..131caf8d5af204b1f7fc47d891bddedb5054fe61 100644
(file)
--- a/
wheel.scad
+++ b/
wheel.scad
@@
-4,37
+4,48
@@
// https://gitorious.org/ozzloy/challenge-bot
// https://github.com/waynegramlich/challenge-bot
// https://gitorious.org/ozzloy/challenge-bot
// https://github.com/waynegramlich/challenge-bot
-wheel_depth =
7.65
;
+wheel_depth =
6
;
wheel_radius = 68/2;
module encoder_shaft(){
wheel_radius = 68/2;
module encoder_shaft(){
- motor_shaft_big = 3.7;
- motor_shaft_small = 4.8;
- motor_shaft_length = wheel_depth / 2;
+ // measured with calipers, checked against the motor shaft
+ motor_shaft_big = 3.7; // radius, gets doubled in cylinder
+ motor_shaft_small = 4.8; // total length of box
+ motor_shaft_length = wheel_depth * 3 / 4;
intersection(){
cylinder(h = motor_shaft_length,
r = motor_shaft_big,
center = true,
intersection(){
cylinder(h = motor_shaft_length,
r = motor_shaft_big,
center = true,
- $fn=100);
+ $fn = 30);
+ // x direction is multiplied by 2 because the radius of the cylinder
+ // goes in both directions. the extra .1 is for overlap
cube([motor_shaft_big * 2.1, motor_shaft_small, motor_shaft_length],
center = true);}}
module mounting_screw(){
cube([motor_shaft_big * 2.1, motor_shaft_small, motor_shaft_length],
center = true);}}
module mounting_screw(){
- cylinder(h = wheel_depth * 1.1, r = 1, $fn =
10
0, center = true);}
+ cylinder(h = wheel_depth * 1.1, r = 1, $fn =
3
0, center = true);}
module wheel(){
translate([0, 0, wheel_depth / 2]){
difference(){
module wheel(){
translate([0, 0, wheel_depth / 2]){
difference(){
- cylinder(h = wheel_depth, r = wheel_radius, center = true, $fn
=10
0);
- translate([0, 0, wheel_depth
/
4]){
+ cylinder(h = wheel_depth, r = wheel_radius, center = true, $fn
= 3
0);
+ translate([0, 0, wheel_depth
/
4]){
scale([1, 1, 1.1]){
encoder_shaft();}}
mounting_screw();
scale([1, 1, 1.1]){
encoder_shaft();}}
mounting_screw();
- for(i = [
0 : 4
]){
+ for(i = [
1 : 5
]){
rotate(i * 360/5, [0, 0, 1]){
translate([0, 0, -0.6 * wheel_depth])
rotate(i * 360/5, [0, 0, 1]){
translate([0, 0, -0.6 * wheel_depth])
- between_spokes();}}}}}
+ between_spokes();}}
+ translate([0, 0, wheel_depth / 4]){
+ difference(){
+ cylinder(h = wheel_depth / 1.2,
+ r = 0.85 * wheel_radius,
+ center = true);
+ cylinder(h = wheel_depth / 1.2,
+ r = 0.23 * wheel_radius,
+ center = true);}}}}}
module wheel_block(){
cube([wheel_radius, wheel_radius, wheel_depth]);}
module wheel_block(){
cube([wheel_radius, wheel_radius, wheel_depth]);}
@@
-43,18
+54,18
@@
module pie_slice(){
intersection(){
translate([0, 0, wheel_depth / 2]){
cylinder(h = wheel_depth,
intersection(){
translate([0, 0, wheel_depth / 2]){
cylinder(h = wheel_depth,
- r = 0.
7
* wheel_radius,
+ r = 0.
85
* wheel_radius,
center = true);}
translate([0, wheel_radius * 0.3, 0]){
center = true);}
translate([0, wheel_radius * 0.3, 0]){
- rotate([0, 0, (360
/5)/
2]){
+ rotate([0, 0, (360
/ 5) /
2]){
intersection(){
wheel_block();
intersection(){
wheel_block();
- rotate([0, 0, 90 - 360
/
5])
+ rotate([0, 0, 90 - 360
/
5])
wheel_block();}}}}}
module between_spokes(){
minkowski(){
pie_slice();
wheel_block();}}}}}
module between_spokes(){
minkowski(){
pie_slice();
- cylinder(h = wheel_depth
, r = 1, $fn=10
0);}}
+ cylinder(h = wheel_depth
/ 2, r = 1, $fn = 3
0);}}
wheel();
wheel();