Davo's bottle washer

Australia & New Zealand Homebrewing Forum

Help Support Australia & New Zealand Homebrewing Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

N3MIS15

Well-Known Member
Joined
4/10/10
Messages
97
Reaction score
41
Bottle washers have been done to death, but I figured I would post mine anyways. The main difference in mine is the 3d printed "nozzle".
I designed the "nozzle" to enable a snug fit with all bottles I had on hand (coopers PET, grolsh, coopers long neck and a random assortment of stubbies).
I printed in flexible PLA (polyflex) but intend to print in TPU in the future.
The "nozzle" is a snug fit in the 1/2" tees I got from bunnings, but the scad file is for the most part parametric anyways..
Few pictures:
IMG_20150926_120152.jpg

IMG_20151003_220906.jpg

washer.png

IMG_20151012_153624.jpg

Openscad source:
Code:
$fn=100;

pvc_pipe = 22;
socket_height = 40;

shelf_pos = socket_height/2;
shelf_height = 2;
shelf_width = 2;

relief_angle = 25;
relief_dia = 8.4;
relief_pcd = (pvc_pipe/2)+1;
relief_count = 6;

small_bottle_inner = 18.6;
large_bottle_inner = 22.2;
twist_count = 3;

module nozzle() {
    difference() {
        union() {
            difference() {
                union() {

                    translate([0, 0, -socket_height/4])
                        cylinder(r=pvc_pipe/2, h=socket_height/2, center=true);

                    translate([0, 0, (-(socket_height/2)+(shelf_height/2))+shelf_pos+shelf_height])
                        cylinder(r=(pvc_pipe/2)+shelf_width, h=shelf_height, center=true); //shelf

                    translate([0, 0, (-(socket_height/2)+(shelf_height/2))+shelf_pos])
                        cylinder(r1=(pvc_pipe/2), r2=(pvc_pipe/2)+shelf_width, h=shelf_height, center=true); 
                }
                
                translate([0, 0, -socket_height/4])
                    cylinder(r1=(pvc_pipe/2)-2, r2=2, h=socket_height/2, center=true);
                
                
                
                for (i=[0 : relief_count-1]){
                    rotate(i*360/relief_count+360/relief_count, [0, 0, 1])
                    rotate([relief_angle, 0, 0])
                    
                    translate([0, relief_pcd, 0])
                        cylinder(r=relief_dia/2, h=shelf_height*10, center=true);

                    
                }
            }
            translate([0, 0, socket_height/4+shelf_height*2])
                cylinder(r=12/2, h=socket_height/2, center=true);

            translate([0, 0, socket_height/4+shelf_height*2])
                for (i=[0 : twist_count-1]){
                    rotate(i*360/twist_count, [0, 0, 1])
                    linear_extrude(height=socket_height/2, center=true, convexity=10, twist=-30, $fn=1000)
                    square([small_bottle_inner, 2.4], center=true);
                }

                translate([0, 0, socket_height/8+shelf_height*2])
                    for (i=[0 : twist_count-1]){
                        rotate(i*360/twist_count, [0, 0, 1])
                        linear_extrude(height=socket_height/4, center=true, convexity=10, twist=-15, $fn=1000)
                        square([large_bottle_inner, 2.4], center=true);
                    }
        }
        
        cylinder(r=2, h=socket_height*2, center=true);
        
        translate([0, 0, -(socket_height/2)+0.5])
            difference() {
                cylinder(r=pvc_pipe/2, h=1, center=true);
                cylinder(r1=(pvc_pipe/2)-1, r2=pvc_pipe/2, h=1, center=true);
            
            } 
    }
}

nozzle();
 
N3MI said:
Bottle washers have been done to death, but I figured I would post mine anyways. The main difference in mine is the 3d printed "nozzle".
I designed the "nozzle" to enable a snug fit with all bottles I had on hand (coopers PET, grolsh, coopers long neck and a random assortment of stubbies).
I printed in flexible PLA (polyflex) but intend to print in TPU in the future.
The "nozzle" is a snug fit in the 1/2" tees I got from bunnings, but the scad file is for the most part parametric anyways..
Few pictures:
IMG_20150926_120152.jpg

IMG_20151003_220906.jpg

washer.png

IMG_20151012_153624.jpg

Openscad source:
Code:
$fn=100;

pvc_pipe = 22;
socket_height = 40;

shelf_pos = socket_height/2;
shelf_height = 2;
shelf_width = 2;

relief_angle = 25;
relief_dia = 8.4;
relief_pcd = (pvc_pipe/2)+1;
relief_count = 6;

small_bottle_inner = 18.6;
large_bottle_inner = 22.2;
twist_count = 3;

module nozzle() {
    difference() {
        union() {
            difference() {
                union() {

                    translate([0, 0, -socket_height/4])
                        cylinder(r=pvc_pipe/2, h=socket_height/2, center=true);

                    translate([0, 0, (-(socket_height/2)+(shelf_height/2))+shelf_pos+shelf_height])
                        cylinder(r=(pvc_pipe/2)+shelf_width, h=shelf_height, center=true); //shelf

                    translate([0, 0, (-(socket_height/2)+(shelf_height/2))+shelf_pos])
                        cylinder(r1=(pvc_pipe/2), r2=(pvc_pipe/2)+shelf_width, h=shelf_height, center=true); 
                }
                
                translate([0, 0, -socket_height/4])
                    cylinder(r1=(pvc_pipe/2)-2, r2=2, h=socket_height/2, center=true);
                
                
                
                for (i=[0 : relief_count-1]){
                    rotate(i*360/relief_count+360/relief_count, [0, 0, 1])
                    rotate([relief_angle, 0, 0])
                    
                    translate([0, relief_pcd, 0])
                        cylinder(r=relief_dia/2, h=shelf_height*10, center=true);

                    
                }
            }
            translate([0, 0, socket_height/4+shelf_height*2])
                cylinder(r=12/2, h=socket_height/2, center=true);

            translate([0, 0, socket_height/4+shelf_height*2])
                for (i=[0 : twist_count-1]){
                    rotate(i*360/twist_count, [0, 0, 1])
                    linear_extrude(height=socket_height/2, center=true, convexity=10, twist=-30, $fn=1000)
                    square([small_bottle_inner, 2.4], center=true);
                }

                translate([0, 0, socket_height/8+shelf_height*2])
                    for (i=[0 : twist_count-1]){
                        rotate(i*360/twist_count, [0, 0, 1])
                        linear_extrude(height=socket_height/4, center=true, convexity=10, twist=-15, $fn=1000)
                        square([large_bottle_inner, 2.4], center=true);
                    }
        }
        
        cylinder(r=2, h=socket_height*2, center=true);
        
        translate([0, 0, -(socket_height/2)+0.5])
            difference() {
                cylinder(r=pvc_pipe/2, h=1, center=true);
                cylinder(r1=(pvc_pipe/2)-1, r2=pvc_pipe/2, h=1, center=true);
            
            } 
    }
}

nozzle();
And how much would you sell a set of those for?
 
To be honest. I wouldn't, I created this for myself. I shared it so others could print their own. If anyone else would like to print and sell I would not object.
If I had to guess It would cost between $15-$20 in filament to print 20. Thats is just the raw materials, I have no idea what other peoples time is worth (that print took me about 14 hours)
 
Great idea, can't believe I didn't think of that! How's the squirt out of the nozzle? Did you taper it towards the top or is it straight through hole? I'm thinking I might borrow your idea but maybe have a couple of channels coming off at 45deg to spray the sides..
 
I originally had sprinklers screwed into them. It turned out that it worked better without them. Saying that there is nothing stopping you from tapping them to add a sprinkler nozzle (mine are tapped m5). I tried a bunch of different nozzles but in the end just left them as they were.
 
That is really very cool! Mind taking a few more closer up photos of the bottles on the nozzle?
 
The pet bottles sit on the lower "shelf" and the glass bottles sit on the upper. They both are an interference fit so the bottle cant fall over.
IMG_20151015_170205.jpg

IMG_20151015_170506.jpg
 
I hear ya. I'm currently building a garage to move my brewery out of the laundry :p
 
What's the inside diameter of a glass bottle? I could probably go measure one but I'm being lazy
 
How long is a piece of string indeed.. As far as I can tell the inner diameter depends on thickness of the glass. Somewhere around 18mm or 3/4". I tried a few different types, the grolsh being the smallest inner diameter at around 17mm. The source can be adjusted to suit whatever you have on hand.
 
Back
Top