Inrease/decrease gear pump voltage using labview and arduino mega 2560

Hi

I am using labview and arduino mega 2560 board to control water filtration experiment. The goal is to maintain constant filtered flow during experiment by increasing/decreasing the pump voltage based on the flow value recorded by a flow meter.

I am using PWM pin 3 to supply voltage to the pump however, the issue is that the maximum supplied voltage by the PWM pin is around 2.5V which is not enough to get the flow required for experiment (at least 5V-7.5V). The pump can be ran at max of 10V. The labview coding for PWM to increase/ decrease voltage based on a set condition (i.e flow) works well except that the pump is not getting enough voltage to pump higher flow!

is there any way to boost the voltage from PWM pin and make the pump run at higher voltages (i.e. 7.5V)?

Thank you all!

You're not trying to power the pump motor directly from the Arduino output pin, are you?
If so, STOP!
You need a power transistor in the works. How much current does the pump require?

Hi edgemoron,

  1. The pump is powered using external power cord (a black cord usually comes with the pump) connected to a wall electrical outlet

  2. The Arduino digital pin (40) is used to start/stop the pump (i.e. ON and OFF)

  3. The flow from the pump drive can be controlled either internally (i.e. manually), or by current (4-20mA) or voltage. The Arduino board can only supply and read voltage, so I set the pump drive to Voltage. the goal is to allow labview to increase/decrease the speed of the pump using the volatge from PWM pin. But, the Arduino can only increase the voltage up to 2.5V which is not enough for my experiments.

Does this make sense? I have been using the system for a year and it works well.

Where to get the power transistor and what does it actually do? The pump current (4-20mA) but can Arduino recognize current?

Thanks again!

Are you using a 5V Arduino? The PWM pin can supply Vcc with digitalWrite(pin, 255) unless the load impedance is too low causing excessive current draw and pulling the voltage down, can you post a datasheet or link to the pump?

Sounds like you have a pump controller with an analog 10V input that is low pass filtered (so it
works with PWM too).

You thus need a level-shifter to boost the Arduino pin's output to 10V, such as a common-emitter
NPN stage and pull-up resistor.

You need to tell us what the pump controller is (a link to a datasheet would be good).

Hi,
Welcome to the forum.

Please read the first post in any forum entitled how to use this forum.
http://forum.arduino.cc/index.php/topic,148850.0.html then look down to item #7 about how to post your code.

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png?

Can you post a picture of your project so we can see component layout?

What model Arduino are you using?

Thanks.. Tom.. :slight_smile:

MarkT:
Sounds like you have a pump controller with an analog 10V input that is low pass filtered (so it
works with PWM too).

You thus need a level-shifter to boost the Arduino pin's output to 10V, such as a common-emitter
NPN stage and pull-up resistor.

You need to tell us what the pump controller is (a link to a datasheet would be good).

Thanks Mark ,

here is the link to the pump. you can download the manual as PDF under RESOURCES section. Page 12 and 13 are about the remote control. I have explained the setup in details (see my previous comment).

https://www.coleparmer.ca/i/cole-parmer-digital-drive-for-micropump-a-mount-pump-head-remote-115vac/7521130?searchterm=75211-30

Hi,
I'm sorry but a picture is worth a thousand words, at least a circuit diagram please.

Also a copy of your code.

Check that pin3 on the pump is also gnd, it is the common for input but you aren't using it.

Write a simple bit of code that outputs PWM 255 and measure it without the pump connected and with the pump connected.
The 2.5V at 255 has us puzzled.

Please show on your circuit diagram where you are measuring the PWM/pump input voltage?

Thanks.. Tom.. :slight_smile:

Looks like pin 1 expects an analog voltage from 0 to 10V (common industrial control voltage) NOT PWM.
If you have a 10VDC power supply, the Arduino could simulate with 2 transistors a few resistors and capacitor.