Driving a high-current pump with PWM and PID

Hi all-

Does anyone have experience driving a high-current motor with PWM and PID?

I have a water pump, and I want it to keep a constant pressure. The problem is that it runs at 12v and 12A.

Just use a pair of high current MOFSETs and make a Darlington pair? Which ones?

Thanks!

If you want to interface it with the arduino you may want to do so threw a relay or some other means. This will defiantly need a separate power supply and added circuity that can drive the pump and protect the arduino.

ust use a pair of high current MOFSETs and make a Darlington pair?

No just one FET you can't make a darlington with a FET.

Are you sure that controlling the motor speed will control the pressure. 12A is a lot of current so be careful.

If you want to interface it with the arduino you may want to do so threw
a relay or some other means. This will defiantly need a separate power
supply and added circuity that can drive the pump and protect the
arduino.

PWM with a solid state relay sounds like a bad idea to me.

@ Grumpymike

Just one FET? Why couldn’t you make a darlington pair with a MOSFET? Do you know of a FET which will handle this much power?

Below are some motor controllers that might be of interest. You would need to replace the pot with a variable resistance pressure sensor or similar.

http://www.canakit.com/50a-dc-pwm-motor-speed-controller.html http://store.qkits.com/moreinfo.cfm/MX033 http://store.qkits.com/moreinfo.cfm/MXA066 http://store.qkits.com/moreinfo.cfm/MXA067

@ Zoomkat

Do I really need a motor controller? Why couldn’t I just use a FET to amplify the signal from the arduino?

You would need to replace the pot with a variable resistance pressure sensor or similar.

Doesn’t that kind of defeat the purpose of getting this kit?

Do I really need a motor controller? Why couldn't I just use a FET to amplify the signal from the arduino?

You probably can.

I think that this answers my question:

http://itp.nyu.edu/physcomp/Tutorials/HighCurrentLoads

but the MOSFET they're using isn't rated high enough.

Would an IRF540 work?

aburton,

Here is something to think about.

On other projects we have created what is called an SSR(Solid State Relay). we used a combination of an opto-isolator and a MOSFET to switch high current, high voltage loads with 5V signals from the computer.

So, you could use something like these parts together to create your motor ssr.
These parts I found at Jameco.com, but you can get them anywhere.

MOC3062 PhotoTriac Driver Optocoupler: MOC3062M: Fairchild Semiconductor : Optocoupler Triac AC Output 1 Channel 600VDRM 6-Pin PDIP White Bulk : Opto & Illumination

IRF540 - 100V, 27A MOSFET: IRF540: Major Brands : Transistor IRF540MOSFET N Channel 100 Volt : ICs & Semiconductors

The optocoupler is used to isolate the MOSFET from the low power circuits(Arduino). The MOSFET actually does the switching for the motor. The triac side of the optocoupler is on the same power line as the motors and the MOSFETs. The resistors are current limiting resistors to protect the parts from getting too much current and burning out.

Arduino —> resistor —> Optocoupler pin1 —> optocoupler pin2 —> Arduino GND

+12V -----> optocoupler pin6 and motor+
optocoupler pin4 —> resistor ----> MOSFET gate
-12V -----> MOSFET source ----->MOSFET drain -----> motor-

I hope this doesn’t confuse you too much. I could do a drawing later if you need one.

Hope this helps. :-/

Dan

The IRF540 has a good current rating and is inexpensive.You could parallel a couple incase there are starting current spikes. You could also probably use an NPN transistor to get the MOSFET gate voltage near to the 12v to make sure the MOSFET is in its best operating range. Don't forget the heatsinks and protection diode. Below is an IRF510 I used for testing the bottom motor.

@ zoomkat-

The tutorial I posted draws from an external 12v power supply. Would I still need the NPN transistor to regulate the voltage?

If you look at the IRF540 data sheet, there are curves that show the MOSFET will probably have its best performance at 7v or more gate to source (which will be ground) voltage. It can operate at 5v gate to source, but there will probably be more internal resistance resulting in heatup. You can get a 15 pack of NPN transistors at Radio Shack for $2.49, or order some if you order the IRF540s.

Sorry, I'm kind of an idiot-- I'm not sure I follow. Could you explain how you got to 7v, and how I should use the NPN?

@zoomkat:

That is why you use the photcoupler.

For one, it isolates the higher voltage and current from the arduino.

For two, you use the voltage from the motor supply to control the MOSFET. You get your full voltage for max performance.

8-)

Better explained by somebody else... but the FET "gate" is not a logic level gate... it prefers a higher voltage. The transistor will help with driving the gate at the higher voltage... so you drive the transistor with the Arduino... and the FET GATE with the Transistor.

Or an open collector Inverter would work.

+12v | \ / 10k \ ------- / IRF540 D -------- | |\ | |----| MOTOR |----- +12v Micro |---| \O--o--------| -------- | | / G |-- S ------- 7406 | GND

Thanks for your help!

I understand the concept, but I'm not sure where 7v came from. Also, I'm not sure how the transistor will work to amplify the voltage.

I definitely don't understand what an open collector inverter is.

Thank you for your help though!

@pwillard:

The optocoupler does the same thing as the transistor as it is basically a transistor itself. The added advantage is that it also isolates the arduino from the higher voltage and current. It how we control the 120v line level voltages for christmas light displays.

Here is a simple schematic of how it would work.

Hope this helps.

Dan

@Foto-worx

Very helpful with the diagram. I believe I have a good working plan now.

I still don't understand how the optocoupler works exactly (wikipedia gets waaay over my head in their explanations of ICs and transistors)

Do you know of a good reference?

The 7v and higher gate voltage I mentioned comes from the IRF540 datasheet (below, always good to look at them). Bottom is a link to a simple MOSFET switch setup. You would not use the 4013 part, but replace the 1K resistor supplying the gate with the NPN transistor between the battery + and the gate. If you are currently purchasing supplemental term life insurance, then the optical isolator is for you. Otherwise it is probably not needed. The schematic posted is missing a resistor to remove the charge on the MOSFET gate when the isolator is turned off. This could cause the MOSFET to go thru its linear range as the charge decays off, where it could smoke.

http://www.datasheetcatalog.org/datasheet/stmicroelectronics/9387.pdf http://www.ef-uk.net/data/rc-switch.htm