DIY Complete Paristaltic Pump Build (w/ lots of pics and videos)

Sisterlimonpot

Premium Member
As I get settled in with my new tank, aspirations of having a full blown SPS dominant tank requires me to have stable alkalinity, which means I will need a calcium reactor at some point in the future. From talking with friends and reading on line, I discovered that using a pump and needle valve to control flow through the reactor is a thing of the past and most successful reefers moved to a paristaltic pump a lot like the Kamoer FX-STP pump. I started digging further and found out that quality paristaltic pumps are really pricey. The first think I thought of when I saw the prices was, "I can't justify that!"

Understanding the basic concept of the pump, that it's a positive displacement pump and uses mechanical means to move liquid from 1 place to another without the liquid coming in contact with the pump itself.

Using the kamoer as a jumping off point I set some goals. The pump has to be:

1. accurate with dispensing fluid
2. robust enough to run nonstop
3. controllable, able to adjust fluid output throughout many different ranges (motor RPM or ml per minute)
4. able to run for 6 months without significant changes in output
5. able to get parts online with the ease
6. come in at a cost far below retail pumps

With all that in mind I started thinking about what motor to use? For accuracy, you can't beat a stepper motor, you can control very accurately the number of rotations and essentially program exact dosing regiment, a lot like how the neptune DOS works (at least I think they use a stepper motor design).

Down that rabbit hole I went. Outside of the basic concept, I didn't realize there were so many different stepper motor and applications, you have a unipolar, bipolar, Nema ratings, torque ratings... I was overwhelmed. I sought help on another forum and was able to narrow it down. I hopped on amazon and found one that seems like it would fit my needs. Side note, if you know me, I'm a touchy feely guy that needs to see and play with and sometimes take apart something to know weather or not it's going to work, pictures and data sheets can only go so far. I ordered a motor, driver and controller from amazon $37. And started playing with it.
 
<iframe width="560" height="315" src="https://www.youtube.com/embed/UKFJ4WP57lw" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

Ultimately I want to be able to control this with an Arduino, but for now I want to be able to play with it. The driver is pretty primitive in the fact that it has 6 dipswitches that allow you to set how many steps and pulses you want per revolution which boils down to a range of RPM and torque, You can also set how much current you want going to the motor, more current equals more torque but also more heat, moving forward I had to be careful with that.

I set off with making a large pump head to move large quantities of water quickly and designed the pump to have a 2.7" diameter rotary head:

8gbKI1sl.jpg


I designed all of this out or acrylic using a C02 laser to cut acrylic in layers. Ideally a 3d printer would be the best tool for the job, but I have to use what's available to me.

CPkHga1l.jpg


After putting the head unit together, I got to play with it:

<iframe width="560" height="315" src="https://www.youtube.com/embed/8lEQ5vkNG9Y" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

I quickly realized that this stepper motor didn't have the rotational torque requirements that was needed for this diameter pump. When I tried to manually squeeze the tube with the stationary frame, the resistance was too great and bogged the motor.

<iframe width="560" height="315" src="https://www.youtube.com/embed/ybrS00dragQ" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

What do I do from here? I see that I only had a handful of options,

1. Get a bigger motor
2. Incorporate a gear box to increase torque
3. Find a paristaltic tube with a thinner wall (easier to squish)
4. Make a smaller pump

Each had their pros and cons, I ended up scrapping the larger pump and making a smaller rotary head which obviously lower the motors torque requirements.

ofkWpcNl.jpg


This head had a 1.7" diameter.

F61a2ZTl.jpg


WbnmU7Jl.jpg


TSMaEIAl.jpg


b0k9yfwl.jpg
 
I already designed the mounting plate for the larger pump so it was easy to cut a new one with new locations of certain parts.

uMPIEYjl.jpg


Installed the motor and pump head

kR2hbwVl.jpg


Installed the pivoting frame

1rhUMR6l.jpg


Right now I'm simply using silicon tubing 6mm ID 9mm OD. In the future I plan to use a more durable tube.

Ywt6Prrl.jpg


Clamp it all down with the spring and nut

he7s5hEl.jpg


After getting it all together I wanted to test it out:

<iframe width="560" height="315" src="https://www.youtube.com/embed/dMP78ejCi-c" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>


<iframe width="560" height="315" src="https://www.youtube.com/embed/iVfJEOiiVF8" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
 
After verifying that it was going to work, I designed and cut out the pieces to make the box

Huwu6h9l.jpg


hQzpZ9zl.jpg


Tapped all the holes

f5csSq9l.jpg


Installed the driver

MM7RXiUl.jpg


I didn't get a good picture of installing the controller but here's where the control knob sits

5rhZ6V4l.jpg


Put the plate on

gh1VkKCl.jpg


ulXSk91l.jpg
 
Completed assembly

dUllwIll.jpg


Now it's time to test how quickly I can move 500ml of water.

SCmXyShl.jpg


For the most part this was on the low setting about 1:30 in I ramp up the speed, so you can hear and see the difference that it made.

<iframe width="560" height="315" src="https://www.youtube.com/embed/kGsEYxdHzEs" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>


As I explained earlier, the driver can be set to many different speeds and when a speed is selected you can only adjust the speed in a small range based on the position of the knob. I can foresee that once I get the desired range I want, I can set the dipswitches and utilize the knob to fine tune a particular amount of fluid transfer.

this particular setting, I was able to turn the dial all the way down and transfer 500ml in 1 minute 43 seconds. and turned all the way up I was able to get 500ml in just 59 seconds.

There's a lot more testing to ensure longevity, so in the meantime I put it on my ATO so that if a problem arises, I can easily detect it and it wont cause a catastrophic failure in my tank.

During this project I kept a spreadsheet of all my costs, minus cost of the acrylic, I spent $70. Not bad considering the alternative.
 
Jimmy, you need to work on your DIY skills. I mean, heck, anyone can build their own peristaltic pump... :) This is amazing, I have never met anyone who can do the things you can. Very very impressive!
 
If you are looking for more torque, you can use a driver like this: https://www.amazon.com/gp/product/B01FFFYVV8/ref=oh_aui_search_detailpage?ie=UTF8&psc=1 and here is a diagram to wire it up: https://www.pololu.com/product/1182

These drivers will allow you to send higher current to the stepper without breaching the voltage threshold-I utilize these on my DIY stepper solution. It's pretty simple to code against an Arduino as well, as it only takes two pins, one for direction (high/low digital) and one for a pulse (toggle between high and low for a step).

My Arduino is setup to run three pumps with these drivers, and the pumps have enough torque that I cannot stop them from turning. The solution utilizes MQTT messages to drive them, if you are interested I can try to do a writeup and link to it.
 
I've been looking at doing something similar for dosing 3-part.

You've gotten a lot lot farther than I have. It looks really good!
 
Back
Top