How to power 4 peristaltic pumps

Hello,

I am starting my first real Arduino project after picking up the starter kit and doing some of the projects in there. For my project I want to have the controller adjust ph and nutrients in a hydroponics solution. I plan to pick up 4 peristaltic pumps to pump the different fluids into the water but at 12v each I'm thinking I'll need something more beefy than the Uno and the Mosfet transistors the kit came with. What should I be shopping for that will allow me to plug the Arduino into a wall socket and run the 4 pumps (along with 2 probes) and a lcd touchscreen.

Welcome to the forum!

You are likely to get more help if you are more specific. What is the part number of your Mosfet's? What is the rated voltage and power of your pumps? Its even better if you can find links to the data sheets.

Its possible your Mosfet will be able to power the pump but no-one can tell without the specifics. You will,almost certainly, have to provide a seperate power supply for the pumps to avoid interference.

For your purchase you need not only the voltage, but also the current requirements of your pumps. The power supply must deliver at least the sum of all currents, and the FETs must supply the maximum (start/stall) current for a single pump. Try to find a motor driver module, that supports the voltage and current required by the pumps. The 12V supply can power the Arduino (and LCD) as well, you won't need another supply for these devices.

If you need feedback, about the actual speed of the pumps, rotary encoders are also required.

Welcome. we typically offer that is you sketch out your plan in simple boxes and then do the engineering needed to determine the correct devices for your uses, you will get a good grasp on the basics.

then find devices, in your case pumps, that will work with the chemicals and deceiver the quantities needed.

I will offer that if you want a device to deliver X, it should be able to deliver 4x. so if you need 20x parts per minute, your pump selection should be at least 40 ppm but also no more than about 80ppm.

once you have your pump selected for it's mechanical abilities, find it with the electrical abilities you need. 12vdc is great.

I if you never need to use more than 1 pump at a time, your power supply could be selected for 1 pump. if you are not sure, then select it for 4 pumps, plus more power.

as for the FET's you probably have the IRC540 ? keep them for some other project and get IRL540's or some such. the "L" indicated it can be driven by the low voltage of 5 volts of the Arduino. the "C" version requires an additional driver circuit.

There are many circuits available.

a hint is to use the word arduino in your google search.

irl540 arduino

FET circuit arduino

baseball cap arduino.....

rw950431:
Welcome to the forum!

You are likely to get more help if you are more specific. What is the part number of your Mosfet's? What is the rated voltage and power of your pumps? Its even better if you can find links to the data sheets.

Its possible your Mosfet will be able to power the pump but no-one can tell without the specifics. You will,almost certainly, have to provide a seperate power supply for the pumps to avoid interference.

Here is the pump I ordered, I only ordered 1 so far so I could try it out and make sure it works right before I buy the other three pumps. The site says the pump is 12v so I assume that's the required voltage, I'm not sure how "power" differs from voltage when you asked what the required voltage and power is.

I realized I won't need to run all 4 pumps simultaneously, I can just run them in sequence so a power supply capable of running one pump should be sufficient.

The transistors that come with the starter kit are linked below, the link has the datasheet available but I don't know how to read it. I'm not experience enough to know how to tell what voltage that transistor works with other than it says 100v in the name, I just know I have it already so I want to use it if I can :slight_smile: Does 100v in the title mean it can increase any input voltage to a maximum of 100v output?

http://www.infineon.com/cms/en/product/power/power-mosfet/20v-300v-n-channel-power-mosfet/80v-100v-n-channel-power-mosfet/IRF520N/productType.html?productType=5546d462533600a401533d2b9de87385.

The IRF502N MOSFET is not suitable for use with Arduino, although it may work to some extent.

You need a logic level MOSFET, which can be turned on by the 5V Arduino outputs.
The IRL540 logic level device or similar, will certainly be suitable for your project.

Adafruit lists the running current for the pump as 200-300 mA, so the starting/stall current will likely be less than 2 amperes (which your power supply MUST be capable of providing). If four motors will run at once, plan on a regulated power supply providing 12 V and 5 amperes or more.

Finally, don't forget the flyback diodes across each set of motor terminals.

jremington:
The IRF502N MOSFET is not suitable for use with Arduino, although it may work to some extent.

You need a logic level MOSFET, which can be turned on by the 5V Arduino outputs.
The IRL540 logic level device or similar, will certainly be suitable for your project.

Adafruit lists the running current for the pump as 200-300 mA, so the starting/stall current will likely be less than 2 amperes (which your power supply MUST be capable of providing). If four motors will run at once, plan on a regulated power supply providing 12 V and 5 amperes or more.

Finally, don't forget the flyback diodes across each set of motor terminals.

Why do you say the IRL520N won't work with Arduino? That is the transistor that came with the official Arduino starter kit

Hmm my power supply is 12v 1200mA max. How do I determine the starting/stall current, do I just hook it up and see if the pump runs? Since I'm now planning to run the pumps in sequence I should only need to provide 12v ~2amp based on what you said.

1/ a IRF540 needs more than 5v on it's gate to turn hard on.
2/ you may get away with smaller psu and a large capacitor to provide the starting pulse

regards Allan

efarley:
Why do you say the IRL520N won't work with Arduino? That is the transistor that came with the official Arduino starter kit

Hmm my power supply is 12v 1200mA max. How do I determine the starting/stall current, do I just hook it up and see if the pump runs? Since I'm now planning to run the pumps in sequence I should only need to provide 12v ~2amp based on what you said.

The "common" FET supplied with the kit is an ir-F-530 not an ir-L-530

It is my opinion that whomever chose the irF530 should be soundly slapped about the head where it is permissible by local laws and customs, or made to cry by stern insults if female.

for the IRL (L can switch 12 volt loads with a 5 volt input) connect as normal.

for an IRC....

put 12V on a pair of resistors to the gate of the IRC
connect a small transistor to the connection between the resistors and tie the emitter to ground.

when you put 5v on the small transistor, it will bring the voltage low and the IRC530 will turn off.
when you remove voltage from the small transistor, it will allow 12v to reach the gate on the FET

Either way, you can use either, but the IRL version requires less parts and is therefore preferred.

There are surprisingly many "official" Arduino recommendations that ignore the electrical limitations of the microprocessor and other components, like powering motors from the Arduino Vcc, running LEDs from port pins without current limiting resistors, etc.

It seems that most of the people involved in Arduino development were/are not experienced electronic engineers.

dave-in-nj:
The "common" FET supplied with the kit is an ir-F-530 not an ir-L-530

It is my opinion that whomever chose the irF530 should be soundly slapped about the head where it is permissible by local laws and customs, or made to cry by stern insults if female.

for the IRL (L can switch 12 volt loads with a 5 volt input) connect as normal.

for an IRC....

put 12V on a pair of resistors to the gate of the IRC
connect a small transistor to the connection between the resistors and tie the emitter to ground.

when you put 5v on the small transistor, it will bring the voltage low and the IRC530 will turn off.
when you remove voltage from the small transistor, it will allow 12v to reach the gate on the FET

Either way, you can use either, but the IRL version requires less parts and is therefore preferred.

Okay you keep implying I don't know what transistor I have so here's a photo. As you can see it's the IRF520N as I've said and linked to. (See Attachment). It comes in this starter kit: Arduino Starter Kit Multi-language — Arduino Official Store

rsz_img_20161208_092446.jpg

jremington:
There are surprisingly many "official" Arduino recommendations that ignore the electrical limitations of the microprocessor and other components, like powering motors from the Arduino Vcc, running LEDs from port pins without current limiting resistors, etc.

It seems that most of the people involved in Arduino development were/are not experienced electronic engineers.

Lack of electronic engineering is my problem. I am a programmer by profession so all of the programming is super basic for me, but figuring the voltage requirements for everything and making sure I don't fry any motors or boards is what concerns me. How do you recommend a newbee like me learn how to read this information so I know I'm buying compatible parts.

How do you recommend a newbee like me learn how to read this information so I know I'm buying compatible parts.

Unfortunately, you need at least some of the training to be an electronic engineer. Or post your question on a forum like this, where people who do have the experience can suggest better alternatives.

In this particular case, the relevant data sheet parameter is VGS(th) (gate source threshold voltage). In the photo below, the IRF540N transistor conducts 250 microamperes when the gate-source voltage is somewhere between 2 and 4 V. It is not guaranteed to turn fully on until VGS is around 10 V. That is not enough to run a motor when the gate is connected to an Arduino output pin!

Another very important parameter is RDS(on), the drain source resistance when fully on. You want this to be as low as possible (less heat evolved). You will note that for the IRF540 transistor, this value is given for VGS = 10 V, which is a strong hint that this transistor won't work well with Arduino.

For the IRL540 transistor, VGS(th) is 1-2V and it is fully on when VGS = 5V, RDS(on) = 77 mOhms at ID = 17A.

Everybody has his individual approach to electronics. I started by measuring the characteristic curves of a resistor, diode (forward and reverse), Z-diodes, LEDs, and finally of transistors. The transistor circuit required to also understand Ohm's law, at least after killing the first transistor. After drawing some characteristic curves myself, I learned how to interpret the diagrams in the data sheets. Then I continued by building up simple circuits, then modified some parts and measured the difference to the original circuit design.

You may read about Ohm's law first, and how voltages and currents distribute across resistors in parallel and in series. Then verify your calculations by experiments.

Data sheets are confusing by a sea of numbers. Some experience is required to find the essential numbers, which for simple items (except transistors) boil down to the maximum allowed voltage, current and power. With transistors also the "behavioural" constants are important, e.g. the required gate voltage for turning a FET fully on and off.

That's enough for a head start, later on some understanding of capacitors will also be required. Then you'll understand why a FET gate should not be connected directly to a digital output, instead a gate resistor should be inserted, which limits the current while the gate capacity is charged and discharged. For safe discharge also a resistor to Gnd (gate-source) should be added, so that the transistor is turned off even if the microcontroller pin is reset to an input and cannot actively pull the gate low.

Motors. and other parts containing coils, also show some strange behaviour. Current will increase slowly when a voltage is applied, but if you then disconnect the cable by hand, you may experience an electric shock - the EMF strikes back! That's why seemingly useless diodes or other snubber circuits must be added, which allow the back EMF current to find a safe way, around the sensitive hand or switching transistors.

It also may be astonishing that electronic parts are not ideal, they always have some tolerances, and many parts are dimensioned by rules-of-thumb instead of exact calculations. But I'd suggest not to blindly trust such rules of other people, instead verify the results by calculations and experiments, until you know which rules are right and useful. As you may have read already, the parts and circuits in the Starter Kit are not always well chosen and designed. In the long term it's not sufficient that some circuit happens to work for somebody, instead it should work for everybody, under all reasonable circumstances.

Electronics artwork is based on experience and a few basic circuit patterns, followed by a numeric verification of the chosen operating point(s) and resulting limits, and by final tests of the life circuit.

BTW: the mentioned IRF540 data sheet roughly applies also to your (and my) IRF520. Compare the mentioned values yourself, and try to verify the more precise parameters of your FET in a test circuit. If you don't know how to build such a circuit, simply ask again :slight_smile:

I'm going to be purchasing some new transistors for my project and I'd like to pick them up from RadioShack so I don't have to wait on shipping. I checked and they don't sell IRL540 as suggested in this post, but they appear to have many other options. What characteristics should I be looking for?

First look for the Absolute Maximum Ratings in the datasheet, here for the IRL540.
Uds=100V and Id=20A must match your requirements, i.e. maximum supply voltage and load current.
If specified, the Vgs=5V for Id=20A @100°C (worst case) indicates a logic level FET, turned fully on by a 5V gate level.

Then look into the Static Specifications.
The Forward Transconductance tells the gate voltage, required to reach a certain drain current. 12S=12A/V means that 20A/12S=1.6V gate voltage is required for a drain current of 20A. But this is not an absolute gate-source voltage, you also need to know the threshold voltage, that determines when the FET starts conducting at all.
Add the maximum (worst case) Gate-Source Threshold Voltage (2V), to find the total voltage required to turn the FET on, summing up to 1.6+2=3.6V. The minimum voltage tells the maximum gate voltage allowed, to turn the FET fully off.

Now you can look up the same values for the IRF520, and calculate the allowed drain current from a 5V gate-source voltage.

For a real life circuit the need for a heat sink has to be considered, too, but that's a bit more complicated. Look up the On-State Resistance Rds(on)=0.077R and Thermal Resistance Junction-Ambient=62°/W, and compute the power consumed
at your intended load current. Then calculate the temperature drop on the thermal resistance at that power, add the ambient temperature (50°C for free air), and verify that the sum is below the maximum rated Junction Temperature (150°C). If near or above that temperature, you need a heat sink.

In this compressed form the calculations may look complicated, but essentially they are simple math, once you know where to look for and how to use the rated values.

DrDiettrich:
First look for the Absolute Maximum Ratings in the datasheet, here for the IRL540.
Uds=100V and Id=20A must match your requirements, i.e. maximum supply voltage and load current.
If specified, the Vgs=5V for Id=20A @100°C (worst case) indicates a logic level FET, turned fully on by a 5V gate level.

Then look into the Static Specifications.
The Forward Transconductance tells the gate voltage, required to reach a certain drain current. 12S=12A/V means that 20A/12S=1.6V gate voltage is required for a drain current of 20A. But this is not an absolute gate-source voltage, you also need to know the threshold voltage, that determines when the FET starts conducting at all.
Add the maximum (worst case) Gate-Source Threshold Voltage (2V), to find the total voltage required to turn the FET on, summing up to 1.6+2=3.6V. The minimum voltage tells the maximum gate voltage allowed, to turn the FET fully off.

Now you can look up the same values for the IRF520, and calculate the allowed drain current from a 5V gate-source voltage.

For a real life circuit the need for a heat sink has to be considered, too, but that's a bit more complicated. Look up the On-State Resistance Rds(on)=0.077R and Thermal Resistance Junction-Ambient=62°/W, and compute the power consumed
at your intended load current. Then calculate the temperature drop on the thermal resistance at that power, add the ambient temperature (50°C for free air), and verify that the sum is below the maximum rated Junction Temperature (150°C). If near or above that temperature, you need a heat sink.

In this compressed form the calculations may look complicated, but essentially they are simple math, once you know where to look for and how to use the rated values.

Okay that's a ton of information that went over my head... I started by looking for a MOSFET with a Vgs = 5V however everything I find is Vgs = +/-20V, the lowest MOSFET I can find locally is a Vgs = +/- 15V :frowning: If I understood correctly that means all of these fets would need 20V to fully open are are incompatible with the Arduino?

VGS(th) is the threshold level.

This MOSFET will work.

jremington:
VGS(th) is the threshold level.

This MOSFET will work.

How about this one? It's listed as a logic level N channel enhancement mode fet with a RDS(on) = 0.99 Typ. at VGS = 5V. It lists the Drain-Source voltage as 100V which I think means it can handle up to 100V, which is good since I'll only need 12V. Also it lists Id as 14A @ 100C which again is well over the .2A-.3A I need. So if I'm reading this right this transistor will switch on with 5V on the drain but can handle up to 15V before it's damaged. The Transistor can also handle loads up to 100V and 14A @ 100C. Am I reading this correctly? I'm still a little confused about the VGS(th), which this rates at as MIN: 1.0V, Typ: 1.6V, MAX: 2.5V. I don't know what that means, but I know I've seen those numbers in other posts I've been reading so I guess I'll do more reading about that.

http://www.frys.com/product/3235861?site=sr:SEARCH:MAIN_RSLT_PG

As already mentioned, the threshold voltage indicates the point where the FET starts conducting. This voltage varies with the die temperature, drain-source voltage and other factors, that's why a range of voltages is given. A voltage below the minimum threshold will safely turn the FET off, and a voltage above the maximum threshold will turn the FET on, more or less. The excess gate-source voltage, above the actual threshold level, indicates how much current can flow from drain to source.

You can make your hands dirty and connect your FET to a voltage source, say 5V DC, add a LED and a current limiting resistor between drain and +, and a pot between 5V and Gnd, with the wiper connected to the gate. Then measure the gate voltage at which the LED starts shining, that's the actual threshold voltage. A minimal voltage difference is sufficient to turn the LED fully on and off, as indicated by the Forward Conductance. The unit "mhos" or "mhOs" is the plural of Ohm in reverse, equivalent to S (Siemens) or current/voltage (A/V). 10mhos means that a Vgs increase of 1V allows for a 10A increase of Igs, or 2mV will be sufficient to turn the LED fully on at 20mA, or 300mV for your 3A pumps.

If you drive the gate from an Arduino output, supplying 0V and 5V, the pump will turn on and off as long as the actual threshold voltage is somewhere between 0.3V and 4.7V. For a 3.3V controller the threshold voltage must be in the range 0.3V to 3V, still valid with the listed threshold range of 1.0V to 2.5V. But then only 3.3V-2.5V=0.8V Vgs remain in the worst case, so that the worst case source current then is limited to 0.8V*10S=8A.