Water pump project - Pumps not turned on and off at the right time

I am working on a water pump project and I've been using these two main links as reference:

  1. http://www.instructables.com/id/Automatically-water-your-small-indoor-plant-using-/?ALLSTEPS
    Modification:
    i. I added a 1kOhm resistor between base and A0.
    ii. I used NPN transistor, this is the transistor I used:
    http://www.amazon.com/uxcell-100Pcs-2N3904-Through-Transistors/dp/B00NQA64CY?ie=UTF8&psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00
    iii. This is the pump I have (12V):
    PQ-12/24 — Gear Pumps — Greylor
    NEW PUMP: http://www.simplypumps.com/pumps/perimax-pumps/pm200.aspx

I followed the instruction on the Instructables page: connect the USB, upload the code, disconnect the USB, then connect the Arduino to 12V power source, but it didn't work. I was using the same code as well.

  1. Motors 1

I couldn't turn on the pump at all, and I'm not sure what went wrong. I would really appreciate any comments!


NEW PUMP characteristics: 12V, 2A(max), 0.6A(min)
Update 1: Choice of relay - need 12V
Update 2: If use MOSFET instead, choice of MOSFET
Update 3: Driver chip?

That pump needs about 2 amps of current.
That transistor will not work.
Use a relay with that transistor or use a logic MOS FET directly, such as IRLZ44N or other.
You will need an external power supply for the pump.


.

Starting with the basics, I assume you have verified the pump runs if you connect 12vdc to it directly? As Larry indicates, the 2N3904 isn’t even close. That pump can take 2A and the 2N3904 is rated for a max collector current of 200ma (and the pump will take more when starting). Trying to push 2A through a 2n3904 is called a “fuse” :o

LarryD:
That pump needs about 2 amps of current.
That transistor will not work.
Use a relay with that transistor or use a logic MOS FET directly, such as IRLZ44N or other.
You will need an external power supply for the pump.


.

Thanks Larry! I can see why the transistor will not work now. I will update the post after I fixed (or at least attempted to fix) the circuit. Thanks!! :slight_smile:

gpsmikey:
Starting with the basics, I assume you have verified the pump runs if you connect 12vdc to it directly? As Larry indicates, the 2N3904 isn't even close. That pump can take 2A and the 2N3904 is rated for a max collector current of 200ma (and the pump will take more when starting). Trying to push 2A through a 2n3904 is called a "fuse" :o

Yes, I tested it with external power source first before I moved on to the Arduino to make sure the pump is not broken. Thanks for your comment! :slight_smile:

Updates: I decided to switch to this pump with 12V and its max current is 150mA as the flow rate desired is much slower. Will I get away with the transistor I have now? I set up the circuit but it wasn’t working.

its max current is 150mA

Very unlikely. You need to know the stall current of the motor, which is typically 5-10 times the running current.

Brushed DC motors briefly draw the stall current every time they start up.

Thanks! What kind of relay would you recommend? I only have 1 SRD-5VDC relay, so I don't think that'll work. Also, Larry mentioned that I could use a MOSFET instead. Will one combination be superior to the other?

Use a circuit similar to Q7, but exchange the relay for your 12V pump.

Thanks Larry! I look at the datasheet again on their official website, and it's different from the Amazon site, so I decided to follow the "official" datasheet instead.

Pump: 12V, I_max = 2A, I_min, = 0.60A

Below are what I think the MOSFET should have based on my understanding:

  • V_DS > 12V
  • I want minimum power dissipation, I use P = I^2*R, say that I want my Rds_on to be 0.05ohm, my P should be 0.4W - is this too high or would it work?

If I use IRFZ44N,
V_DS = 55V, Rds_on =0.0175ohm, I_D = 49A
V_GS has to be >10V, so that Rds_on won't increase.
Even if it does increase, it still meets my desired Rds_on

I also looked at IRL540,
V_DS = 100V, Rds_on = 0.077ohm, I_D = 28A
V_GS has to be >5V to maintain Rds_on at 0.077ohm
It doesn't meet my desired Rds_on, is my Rds_on too high?

I am not sure what are the other factors that I should take into consideration.


Another question, based on the 3rd comment (with 2 votes) from the above link, he/she mentioned that a driver chip is sometimes used, I have no experience with driver chip and I do not quite understand the purpose of the chip, when do I need a driver chip?

Thank you for helping out!! :slight_smile:

Hi,
See THIS post: and the discussion on that thread...

Hey Terry,

Thanks for the reply. The thread was really helpful. So far these are the MOSFETs I found:

http://www.nxp.com/documents/data_sheet/PSMN022-30PL.pdf
V_DS = 55V, I_D = 30A, R_ds(on) = 34mohm
V_GS_max = 2.15V,

V_DS = 55V, I_D = 30A, R_ds(on) = 22mohm
V_GS_max = 2V

I have a 12V external power supply

https://www.element14.com/community/servlet/JiveServlet/downloadImage/2-113433-196625/1600-898/WP_20140521_003.jpg

I decided to use this, I sub PN2222 for PN100. Will it work if I just use IRL540N to control the circuit instead of using IRF540N and a transistor?

Thanks!

I would put in R21 on the base.

But if you have an IRL540N this should work.

Sorry I was a little bit confused, R21? Are you referring to the R21 (12k) on the circuit you posted?

Yes
If you are using the IRF540 Q8 circuit.

But if you have IRL540 use the Q7 circuit.

Noted. Thank you so much! My parts will arrive tomorrow and I'll assemble them as soon as I can!

You can remove these lines.
~~ //Note: <--------------------------------<<<<~~
~~ //If we are in Auto mode when power fails, and the relay is ON,~~
~~ //upon power restore, the relay will not turn on again until the~~

Mmhmmm I don't actually see the lines you mentioned in the posts?... Am I missing something?

Also, I just realized the circuit is on imgur!!

Sorry that was meant for another thread :confused:

Hahh it's okay! Thanks for your help! :slight_smile: