Loading

Moineau Soap Dispenser

by emmett, published

Moineau Soap Dispenser by emmett Jan 31, 2012

Featured Thing!

Description

My girlfriend challenged me to make a hand soap dispenser that is cooler than anything we could buy at Crate & Barrel (or similar stores). The result, after a number of design iterations, is this bottle which now inhabits our bathroom.

This dispenser is designed to reduce waste in a number of ways. First, it is easily refillable, and so can be used for many years. Second, as the pump is turned, liquid soap spills from the spout back into a hole in the bottle, thus recycling any drips. Third, this design makes it easy to get as much or as little soap as you want, while commercial soap pumps often dispense more soap than necessary with a single squeeze.

Recent Comments

view all
The stl file that OpenSCAD generated for the rotor was non-manifold according to slic3r. After a bit of poking around, I found the problem:
The radius of the strait cylinder at the top of the rotor, was exactly the same as the root diameter of the rotor. This caused the two to share points/edges/triangles/something and resulted in the non-manafold STL file. The solution was to subtract some trivial amount from the radius of the strait cylinder, such that the two shared no parts.

Notice the addition of "-0.01" in the line below, from near the end of the rotor function.
translate([0,0,H-2*R2-2])cylinder(r=R2-c2-R1/2-0.01,h=2*R2);

Great thing, I look forward to printing it in the next few days.
You can probably just scale down all the components by the same percentage. If that doesn't work you'll have to dive into the OpenSCAD file. This is a pretty old design, so I can't promise very clean code...
hello ,nice design wanna print biut need to scale down litle be. How to proper scale?

More from Bathroom

view more

Liked By

view all

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag

Instructions

Print one of each part. Twist the crank onto the rotor (it's designed to be a tight fit, but if it doesn't work with your printer's calibration, you can adjust the crank tolerance parameter in the OpenSCAD file). Slide the rotor all the way down into the pump body.

To fill, simply remove the rotor, pour liquid soap into the top of the bottle, and slide the rotor back down into place. Be careful not to fill it too full, or when the rotor is inserted the soap may overflow from the vent hole.

To use, turn the crank clockwise until enough soap is pumped up that it begins to spill from the spout. Wipe your finger up the spout to get the desired amount of soap. The crank should turn easily; soap is viscous enough that a tight seal is unnecessary. This tolerance can also be adjusted in the OpenSCAD file.

The crank drives a progressing cavity*, or Moineau, pump which was invented by René Moineau in 1930 and first described in his doctoral dissertation. His idea helped him found a company that is still around today, selling these very pumps: http://www.pcm-pump.com/pump-manufacturer/history.html

The stl file that OpenSCAD generated for the rotor was non-manifold according to slic3r. After a bit of poking around, I found the problem:
The radius of the strait cylinder at the top of the rotor, was exactly the same as the root diameter of the rotor. This caused the two to share points/edges/triangles/something and resulted in the non-manafold STL file. The solution was to subtract some trivial amount from the radius of the strait cylinder, such that the two shared no parts.

Notice the addition of "-0.01" in the line below, from near the end of the rotor function.
translate([0,0,H-2*R2-2])cylinder(r=R2-c2-R1/2-0.01,h=2*R2);

Great thing, I look forward to printing it in the next few days.
hello ,nice design wanna print biut need to scale down litle be. How to proper scale?
You can probably just scale down all the components by the same percentage. If that doesn't work you'll have to dive into the OpenSCAD file. This is a pretty old design, so I can't promise very clean code...
printed nicely but rotor was supertight and got stuck, om UP min btw with crystal ABS
A high res version of this would print nicer. Still got the source?
 Sure, the source is soapPump.scad. Just fiddle with $fn, $fa or $fs to change the resolution. But beware, it'll take a lot longer to render at higher res.
Printed on a Replicator 1 (ABS), .27 layer height, 10% infill, 0 extra shells @ 80mm/s.  I've spent a ton of time calibrating my machine.  But the outcome is AMAZING.  It even pumps water!!!  The rotor fit perfectly!  Soap I'm using is a little thick, so if I turn it quickly it actually misses the drain back hole - or maybe because the pump in mine is so good :)
I always have trouble printing thin-walled structures in ABS; they always want to delaminate on me. Any tips?
Level the bed, block drafts if using ABS, maybe your temp isn't high enough... Check out my temperature tester thing I made.
Excellent application.

Something that is useful, not another idiotic i-widget that is something useless to snap onto an iphone.

Good to take and adapt for so many different applications around the house
Nice one!

These "everyday application things" are my favourite to see. real world and true to the ideals of the 3D maker revolution!

I can't wait to make this! I made your original Moineau pump and while it is a bit tough to turn, once primed it works quite well!

My hats off to you my good man!
I printed this part on a commercial 3D printer and it looks beautiful.

Too bad the rotor doesn't fit in the base because there is not enough clearance.
What machine did you use? I'm surprised a commercial printer would have less dimensional tolerance than a Makerbot. Anyway, you can change the tolerance in the OpenSCAD file. You should only need to reprint the rotor.
Have you considered adding a ratcheting mechanism to make sure that it is only turned in the proper direction?
emmett - in reply to Guest
I suppose you could do that, though I like to turn it the opposite way to push out the liquid in order to remove the rotor and refill it.
Two questions, first - shells?

Second, has anyone tried to scale this? I'm thinking about a 75% size for the bathroom. See how long it takes the wife to notice ... :-D

I assume it'l scale just fine, but just thought I'd ask.
I used zero extra shells and 10% fill; the zig-zagging fill pattern made the walls completely solid. If you want to print it smaller, don't just scale it; re-render it from OpenSCAD. The reason is that the internal pump stator is designed to be exactly two threads thick so that the tolerances are correct. Make sure the "wall" parameter is 2 times your calibrated thread width, then divide it by 0.75, and then throw a scale(0.75) in front of each part.
I had already started printing a full-scale version before I got your reply (on my new 2012 ToM). I tried 1 shell (again, I hadn't seen your reply) and the pump crank wouldn't twist on the to pump rotor. I had to reprint the crank 2% larger, and even then it was tight. But with a little trimming of the bulging base layer I was able to assemble.

As for the rotor and the body, it fits inside, but it's too tight to turn without holding the base with one hand and turning the crank with the other. Not ideal for a soap dispenser. *DONT_KNOW*

I wish you had included your ideal settings in your original post so that I (and maybe others?) would
n't have wasted the plastic. Or maybe you did and I just didn't see it.

It is, however, a very cool example of what the printer can do, so thank you for putting it together.
Same issue with my first shot at building, the crank requires one hand holding the body and one hand to turn. I just finished recalibrating my thread width so will see if that does the trick.

In addition to complimenting emmett on the design I want to thank him for pointing out that the zigzag pattern is water tight. I didn't know that but the body of this is shipshap and hold water!
Well, if you printed it full scale with stock TOM settings, you've probably got as good a fit as mine. I find I have to hold onto the base when I crank as well, though once it's lubricated with soap it's quite easy. I think I might make some Sugru feet for it and see if that creates enough friction to keep the base from moving. I use 0.3mm layer height, 37mm/s, for a thread width of 0.42mm. You'll only have to mess with the OpenSCAD to finely adjust tolerances or if you want a different scale or thread width.
seems a bit unhygienic.
emmett - in reply to Guest
Really? It's pretty much the same as any other soap dispenser: you touch it before you wash your hands, but then you wash them. If the idea is that the soap itself somehow gets dirty, I think that would imply that soap isn't really a cleaning agent.
Depends on the soap. For your reading pleasure. Cool design though :)

ph.kcprofessional.com/download/Cartridge%20Vs.%20Bulk%20Soap.pdf
I find it funny their is no figures on the sealed refill containers... for all we know there was only one tested and it could have been replaced recently...

but as Emmett says it only matters whats on your hands at the end of the process.

if your the germ phobic type you can clean/disinfect/reprint it at your pleasure.
Or as the guest implies in his second post, just use antibacterial soap.
What kind of soap is not anti-bacterial? I'm pretty sure the "anti-bacterial" designation is a marketing ploy, since all soap is anti-bacterial if it is soap at all.

A clean thing is a happy thing!
I don't think soap, by definition, is antibacterial. Soap is just a surfactant that reduces surface tension of liquids, in order to make them easier to rinse off. Anti-bacterial soaps have added chemicals which kill bacteria.
emmett - in reply to Guest
Thanks for the reading. However, I must point out that's a SellSheat by a manufacturer based on an unpublished study (it says so in the fine print). What's important is not how many bacteria are in the soap (they're on your hands too, hence why you're washing them), it's how many are left on your hands after you've rinced. The whole point of soap is that bacteria stick better to it than to us, and it sticks better to water than to us, and hence goes down the drain, along with whomever it brought.
I love that it's a completely printable device, without the need for extra hardware.
I love this. It's perfect for 3D printing - it's unique and useful! I can't wait to print it.
Super impressive once again, emmett!

This is the kind of stuff that makes people realize what consumer 3D printing is all about.
I love it and maybe even more how this came out (a cool and bold challenge ^^)...

It's one of the many things here that just show how fabulous objects people can invent... and share, thanks for that :)
love it. have you noticed any evaporation issues?
No, though I imagine only the water portion of the soap would evaporate anyway. If it gets too viscous, you can always pour a little water back in.
Hope it gets featured! This is cool!
yes, it is cool
how cool it is
For those of you curious about the internal workings of this design, here is a cut-away animation (click for full size). I think this design helps showcase the power of 3D printers because this bottle would be nearly impossible to fabricate any other way (at least as a single piece).
JohnA - in reply to emmett
Does the bottom (internal) plane have some dish to it, so that soap tends to move toward the center?
emmett - in reply to JohnA
No, it's currently flat. I figured since it's refillable, it wouldn't be that important to get the last drops out.
Awesome design!
Top