Introduction: Custom Peristaltic Pumps (x6)
Peristaltic Pumps have become a very important and necessary part of doing research. However, the cost of buying one of these devices are very expensive. The commercial units often use a single motor, which lacks the flexibility to pump multiple independent fluid conduits at different speeds and time intervals simultaneously in an automated, user-programmed manner. The system we have designed is housed in a 3D printed case that can be printed on any standard 3D printer. We have also uploaded the design files so you can easily manipulate for your design needs (or put your logo on the top like we did!). This new system is controlled through Arduino IDE and thus is easily manipulated to adjust the code to suit your needs. To build this system (not including 3D printing time) it would take less than an afternoon from start to finish.
Here, we present a system the will use 6 individual motors, that can be scheduled to turn on/off, and each run at specified speeds. Essentially, this is an inexpensive way to perfuse things with 6 times more motors as the leading pump systems you can buy commercially.
If you don't need all 6 motors, this system can be easily scaled down by simply reducing the number of EasyDrivers and motors that are purchased and used.
Step 1: Bill of Materials and Necessary Tools (w/ Links)
Breadboard Dupont Jumper Wires
Stepper Motors (Buy 6 of these)
3D printed parts stl/step files (available in the next step)
Step 2: 3D Print the Casing (Original Files Attached)
We have a Thingiverse page!!!!!!!!!!!!!!!!!!!
https://www.thingiverse.com/thing:2832314
Print one of each file except for the the clip. Print two clips.
Attachments
Step 3: Soldering the Power Port
Solder the power port. Be sure to solder the red (+) to the short terminal and the black (-) to to the long terminal.
BEFORE YOU SOLDER ADD THE HEAT SHRINK TO THE WIRE.
Step 4: Setting Up the Power Distribution Board
Pass the wires through the bottom.stl and put the locking collar on to lock it in place. Then take the red wire and solder it to one end of the PCB board. Then take the black wire and solder it to the other end of the board. Now, all of the vertical pin holes are for positive and negative power.
Step 5: Solder the Easy Drivers (x6)
Now wire the EasyDriver.
First solder the motor wires. This is where the 4-wire comes in (black, green, red, and blue). If you bought the 4-wire we suggested then this is already in the correct order. Black goes to A1, Green goes to A2, Red goes to B1 and Blue goes to B2. Be sure to leave plenty of wire length, we suggest around 3 feet.
Then solder the power. This is on the top left of the chip (see image). Black goes to ground and red goes to power.
Step 6: Placing Each EasyDriver Into the Casing
Take the recently soldered easydrivers and place them in the easydriver holder final.stl. There are 6 slots for each. After they are placed in the slots put a piece of electrical tape spanning from the bottom tot eh top of the 3D print in order to hold them in place (notice in picture). Then route the power wires through the slot. This is for soldering to the power board.
Step 7: Connecting the EasyDrivers to the Power Distribution Board
Now solder the power cable to the red side and the ground cable to the black side.
Step 8: Wiring Diagram
Motor 1: pin 2 and 3
Motor 2: pin 4 and 5
Motor 3: pin 6 and 7
Motor 4: pin 8 and 9
Motor 5: pin 10 and 11
Motor 6: pin 12 and 13
These pins control the speed and the direction of each of the stepper motors.
Step 9: Remove the Power Port on the Arduino
By removing the original power port, it significantly reduces the footprint size of the Arduino.
To remove the power port, the absolute easiest way to do so is with a desoldering tool. However, the next best option is to use a desoldering braid and gently pressing it onto the solder using the soldering iron. The braid will then absorb the solder off the Arduino.
While this step is not totally necessary, it definitely helps the final product to be a lot cleaner, since you also won't have a 12V power barrel that extends out of the Arduino. But, a standard 12V power barrel can be used, too. With a power barrel, instead of directly soldering the power cables to the Arduino, the cables are screwed into the terminals.
Step 10: Connecting the Arduino to the Power Distribution Board
1st, cut a segment of wire that's about 9-10" long. This will allow for enough length to freely open and close the case. As shown in the first picture, solder the power cables to the Arduino. With the USB port facing downwards, the upper slot from where the power plug was removed from is the live 12V end and the bottom and right pins serve as ground. We're using the bottom pin for our setup.
2nd, feed the free end of the cables through the slot in the board holder. These are then soldered into the power distribution breadboard, shown in the fourth picture, just as the motor controller boards were.
Step 11: Prepping the Arduino for Wiring to the EasyDrivers
This step details the process of connecting the Arduino to each of the individual EasyDriver boards.
In the first picture, two segments with 6-right angle pin headers are plugged into the arduino in the slots labeled Digital 2-7 and Digital 8-13, with the headers pointing towards the EasyDrivers. Two segments M/M of the 6 piece rainbow jumper wires are then connected to the right-angle headers.
In the second picture, wire cutters are used to cut off the free end of the jumper wires as closely to the original casing as possible, in preparation to be soldered to each of the EasyDrivers. You do not need to strip the wires just yet, since they will be trimmed down to the proper length in the next step (we accidentally did a little extra unnecessary work).
Shown in the third picture, pass the wires corresponding with Digital 2-7 through the slot of the EasyDriver holder to the backside.
Step 12: Connecting the Easy Driver to the Arduino
Almost done with all the hardware work! Feel free to review the wiring diagram that was shown earlier on in the tutorial to double check that all the wiring is correct.
To have clean connections as shown in the third picture, cut each of the wires to the appropriate length where they reach slightly past the solder points on the EasyDrivers. This will then allow enough wire to be stripped and soldered into place. Be sure that motor 1 correlates with pins 2 & 3, and motor 2 correlates with pins 4&5, and etc.
Be sure that the step and direction are wired correctly!
Continue to cut and solder each wire accordingly for all 12 wires (if you're using all 6 motors).
Step 13: Test the Power
Moment of truth!
To test the power, connect a 12V power source to the plug bulkhead.
Check that all 6 of the easy drivers have lit LEDs and that the Arduino is also powered.
Step 14: Wiring the Stepper Motors
Be warned, this step is simple, but tedious.
For each easy driver chip, a JST male header will be crimped onto the 4 wires that are still free. The motors will also be crimped with a JST female header. Be sure that the colors of the wires coming from the EasyDriver match with that of the stepper motors! Again, if you're ever unsure of how the wires all connect, check back to the wiring schematic from earlier on in the tutorial!
If you're wiring up 6 motors, yes, you're going to have to crimp 48 wires.
We found that the best way to crimp the wires were to have a third hand (soldering tool) hold the wire while doing a first crimp on the larger slot. Then crimping the connector a second time to fully ensure that it will bit into the JST header and that there is good contact between the wire and crimped header.
Step 15: Close It Up!
Finally, close up the device. The images above show how each side will look. You can use some screws and nuts to hold the hinges in place.
Modifications can easily be made to the case to allow for various methods of attachment. In our case, we've glued on a neodymium magnet to the bottom shell.
Step 16: The Arduino Code
Upload the file: “Test Code”
After uploading this code to the arduino, open the serial monitor and it'll provide instructions to start the motors.
All motors should turn on when using this code and should be running at the same speed.
If not, then go back and check that each EasyDriver is receiving power. If power is being supplied, check to see that the pin and direction pins were soldered correctly. Finally, insure that the motor is securely hooked up to the EasyDrivers.
3 Comments
5 years ago
Looks good! Are you going to include the print files for the enclosures?
Reply 5 years ago
Bam! Added to Step 2. Thanks!
Reply 5 years ago
Yes! Adding that now!