Go Down

Topic: Using Arduino Mega to control speed of a 50Hz AC Pump (Read 778 times) previous topic - next topic


I was wondering if it is possible to control an AC pump with the PWM settings of an Arudino Mega (or any appropriate shield)?

This link contains pictures of the pump controller in question

It runs at full speed at 50Hz and I assume that to change the pump speed, I have to vary the frequency input of  the supply voltage between 0 - 50Hz.

Assuming there is an input for this on pumps controller, how can I output a 0 - 50Hz signal from the Arduino?

I was also confused about how to do it firstly, and also how long each frequency pulse should last.


That looks like a VFD (Variable Frequency Drive) controlling the motor speed.  Without the model number it is hard to be specific, but most drives will take a external speed setpoint from a 0 to10 VDC or 4 to 20 mA signal.

There are numerous topics on this site on getting a 4 to 20 mA signal (either with a driver or a shield) from the Arduino.  If it is like most drives, there will be a setting in the drive setup to tell the drive to use the external setpoint.

Please post the manufacturer and model of the drive and a link to the manual.


Jul 09, 2016, 12:49 pm Last Edit: Jul 09, 2016, 05:33 pm by matthewd139
Ok this is good, bear with me as I won't be back in my lab until Monday. The only information I can get about the pump from the pictures I have is the transformer and safety relay product numbers. I'll let you know more when I know but if your interested here's the data sheet for them:



In the mean time do you have any suggestions where I can read up about get a 4 - 20 mA current out of a Mega?


Right sorry I've been busy for the last couple of days, but your help would really be appreciated.



Ok so I've found the model and manual, but I  gave it a quick flick through and don't really know where to start. Do you think it could be controlled with a 4 - 20 mA source?

If so which terminal would provide the control?


It looks like the setpoint is on AIN1 which is terminal 1 and 2.  That input looks to be 0 to 10V by default, but can be switched to 0 to 5V by IP13.  Does not look like it will take a direct 4-20 mA signal.  You can convert a 4 to 20 mA to 1 to 5V with a precession 250 ohm resistor or 2 to 10 V with a 500 ohm resistor.  To use a pot to set the speed, you would use Terminals 1,2, and 4 (4 is the power, 2 is the wiper, and 1 is ground.

From Application 2, in section 12, it looks like AIN2 (usually a feedback signal) which will take a 4-20 mA input can be used as an Auto setpoint.  I'm not sure how to turn that on from a quick look through the manual.


Is there a way to use a Mega rather than a pot to adjust the speed. I would like to run an experiment over a period of say 5 hours, where the Arduino will change the pump speed and take readings completely un manned?

Im not sure either but will be reading up on it today.


Putting a PWM output through an RC low-pass filter can give a tolerable analog output signal in the
0 to 5V range.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Go Up