Baby's Bottle Milk Powder Dispenser
Baby's Bottle Milk Powder Dispenser - Introduction of concept -
1,66 year ago, I became a dad!
Among the many new stuffs I discovered there is one thing I never get used with :
Pour a 30mm diameter spoon, full of a fine milk powder, into a 34mm baby’s bottle opening !
A really difficult task for me , especially in the middle of the night!
So, I though about building this powder milk dispenser for baby's bottle.
The principle is easy:
manually dispense, in a more controlled way a defined number a measure into a baby's bottle without any loss.
The milk powder box is placer upside down on the top of the dispenser.
The milk is dispensed into the baby's bottle through a funnel
The powder flow is controlled with a rotative spoon place in the middle of the funnel which volume correspond to the measure sold with the milk (12ml). Each rotation corresponding to a the dispense of one measure.
As in my previous, and first , 3D instructable, I used OpenScad to design the object: a precise and easy to use command line editor. (Yes, "easy to use " and "command line" are compatible words! ;) ) and I print the object using 3DHubs services.
Parts and design are detailed in the following steps!
If you like My project, thanks for voting on the right corner for the 3DContest!
The Code...
The dispenser contains 3 parts:
- the top funnel on which the milk bottle is placed.
- The dispenser mesure that manualy rotate to dispense a defined volume of milk powder
- The dispenser tube that dispense the milk into the baby bottle
-Optional feet (not shown on image)
Find bellow the Openscad code to generate the dispenser model:
The code is oganised in 3 sections: Parameter and value, and one section per parts
You can generate the model to have a full overview, or generate only one part for printing
//PARAMETERS _____________________________
r=22; //radius sphere dispenser
epd=2;// thickness dispenser
rb=13; //radius baby's bottle openning
ep=4; //wall thickness
tol=0.5; //tolerance
h=30; //plate height
R=130/2;//Radius milk box
dm=10; //diametre manivelle
sec=4; //section fixation manivelle
lm=40; //lengh manivelle
dp=18; //diametre handle
n=1; //cavity number in dispenser
H=155; //dispenser height
DP=10; //feet diameter
res=100; //reslution
// DISPENSER MEASURE______________________________________________________
//rotate([0,90,0])
union(){ // dispenser
difference() { //sphere wall
sphere(r=r,$fn=res); // sphere ext
sphere(r=r-2,$fn=res); //sphere int
for(i=[1:n])rotate([i*360/n,0,0]) //quarter cut
translate([-r,epd,epd]){cube(size = [2*r, r, r]);}
}
difference() { //measure
difference() {
sphere(r=r,$fn=res);
for(i=[1:n])rotate([i*360/n,0,0]) // quarter cut
translate([-r,epd,epd]){cube(size = [2*r, r, r]);}
}
for(i=[1:n])rotate([i*360/n,0,0]) translate([0,r/1.4,r/1.4]) sphere(r=r,$fn=res); //measure cut
}
translate([-r+tol,0,0])rotate([0,90,180]) {cylinder(h=3*ep, d=dm,$fn=res);} //axe 1
translate([r+lm-1,0,0]){rotate([0,90,180]) {cylinder(h=lm, d=dm,$fn=res);}} //axe manivelle
rotate([0,90,0]) {translate([0,0,lm+r-1]){cylinder(h=r, d=dp,$fn=res);} } //handle
for(i=[1:10])rotate([i*360/10,0,0]) //grip
translate([r+lm-1,0,dp/2]){rotate([0,90,0]) {cylinder(h=r, d=dm,$fn=res);}
}
}
//DIPSPENSER TUBE__________________________________
union() {
difference() {
cylinder(h=r, r=r+ep,$fn=res);
sphere(r=r+tol,$fn=res);
cylinder(h=3*r, r=rb,$fn=res,center=true);
rotate([0,90,0]) {
cylinder(h=3*r, d=dm+tol, center=true,$fn=res);
}
}
translate([0,0,r]){ // funnel
difference() {
cylinder(h=r/2, r1=r+ep, r2=rb+ep,$fn=res);
cylinder(h=r, r=rb,$fn=res,center=true);
cylinder(h=0.05, r=r+tol,$fn=res, center=true); //debug hi
cylinder(h=2*r, r=rb,$fn=res); //debug lo
}
}
difference() { // fixation
union() {
translate([0,-r/2-R/2-tol-ep/2,r/2]){cube(size = [2*ep,R-r+ep,r], center=true);}
translate([0,-3*r-ep,r/2]){cube(size = [2*r,ep,r], center=true);}
}
translate([r/2,-3*r,r/1.3]){cube(size = [ep,4*ep,r/2], center=true);}
translate([-r/2,-3*r,r/1.3]){cube(size = [ep,4*ep,r/2], center=true);}
}
}
//TOP FUNEL______________________________________________
union(){
rotate([0,180,0]) {
difference() {
cylinder(h=h, r1=r+ep, r2=R+ep,$fn=res);
cylinder(h=h+tol, r1=r+tol, r2=R-ep,$fn=res);
translate([0,0,-1]) { cylinder(h=h, r=r+tol,$fn=res);}
rotate([0,270,0]) {
cylinder(h=4*r, d=dm+tol, center=true,$fn=res);
}
for(i=[1:3])rotate([0,180,-60+i*360/3]){ //hole
translate([R-ep/2,0,-h+ep]){
cylinder(h=H+h+r, d=DP,$fn=res);
}}
}
translate([0,0,h]){
difference() {
cylinder(h=ep, r=R+ep,$fn=res);
cylinder(h=2*h, r=R+tol, center=true,$fn=res);
}
}
}
}
//OPTIONAL FEET___________________________________________
*for(i=[1:3])rotate([0,0,-60+i*360/3]){
translate([R-ep/2,0,-h+ep/3]){
cylinder(h=H+h+r+r/2, d=DP);
}
}
From Code to Reality
I printed the parts in PETG to ensure a compatibility with food using 3DHUBs service!
I just need to find a way to have a nice glossy polish of PETG to improve cleanability and a better powder flow into the funel ... If you have any advices for polishing, I'm interested!
Thanks for your interest!