Control stepper motor pump with Arduino Uno, Current/Voltage signal, Square wave

Hi all,

I am planning to control a pump (KNF, FEM 1.02 TT.55RC, see link) with my Arduino Uno. It came with a controller (see page 9 link) but this controller needs signals to start the pump. I can either send a 4-20 mA or a 0-10 V analogue signal. Also, a continuous start signal is needed as the pump will not start without that signal. The dispense stroke will start at the falling edge of a signal. I used a simple switch and connected COM pins 2 and 8 on the controller but this will only make the motor rotate for a portion of a revolution and then stop. So I kind of need a signal that simulates that switch frequently which, I guess, is a square wave function.

So my first question is: is it possible to send a 4-20 mA or 0-10 V signal from the Arduino the the controller to control the speed of the stepper motor? If yes, how?

And my second question is: Is it possible to use the tone function to create a square wave signal which will make the pump run continuously? If yes, how would I have to connect it to the controller and what frequency would be best (I guess as high as possible?)? If not, what would you suggest instead?

I have a 24 V, 1 A power supply for the controller and a 9 V, 500 mA power supply for the Arduino Uno. If I get this to work I am planning to control the pump with LabVIEW. For this reason, I have already written software that can control the speed of a stepper motor connected to an Arduino.

Thanks a lot in advance! Please let me know if you need further information.


Before getting into your specifics, allow me a question. If you want the this pump to output fluid continuously, why did you buy a precise, single shot pump? Just curious.

Trying to create a compatible programmable analog output from and Uno will require additional components as you must first convert the PWM output to a voltage and then either level shift to 10 volts or convert to 4-20ma. The 0-10 volt version is easier but requires use of the 24vdc supply. Creating 4-20ma can be done with Uno's 5 volt supply but it requires a few more components due to the current source.

Ultimately, you can probably connect the 0-10 volt reference input to 10vdc (using a TL431, LM4040 or other means off of the +24 supply), thereby setting to the maximum metering stroke and then controlling the frequency of the square wave going into the START input put to give the desired flow rate.

We got this pump because we are hoping that this pump flows without significant pulsations.

What specific components would be needed?

Sorry I can not quite follow you there. Could you explain this to a beginner? Thanks! How would you create the square wave?

This pump dispenses doses of a liquid by use of a diaphragm, i.e. in strokes. The analog signal tells the controller the amount to dispense, and the Start signal ejects just that dose.