Control the speed of a 24 V DC motor with extra control voltage wire with Arduin

Hi there,

I am trying to run a pump (see link) that is operated by a DC motor. It is the NF 25 TTDCB-4 version. It needs a supply voltage between 10 and 28 V. I have a 24 V (1 A) DC power supply. The speed is controlled by a separate voltage signal (Vctrl) between 0 and 5 V.

So far I connected my 24 V power supply to the two supply voltage wires of the DC motor. If I then connect the white (Speed control – input signal) and green (Frequency output – output signal) wire the pump will run. But, of course, I can not control the speed of the motor.

I tried to connect the white wire to the output pin 6 on my Arduino Uno and sent a PWM signal. I used the following code (this is only the important part):

int OutPin = 6;

void setup() 
{
   pinMode(OutPin, OUTPUT);
   Speed = 100; // value between 0 and 255
   analogWrite(OutPin,Speed);
}

However, the DC motor doesn't react to any value that I choose for Speed. It makes some noise, but the pump does not seem to transport any liquid. What did I do wrong? I also have the adafruit motor shield (link) here that I could use.

Thanks!!

You need an ANALOG voltage (0-5V) to drive the pump controller.

The PWM outputs are DIGITAL (Pulse Width Modulated) - which can be put through a filter to generate a low-current pseudo analog voltage.

You will be better off using a separate Digital-to-Analog converter chip/module to generate a stable voltage signal based on the value you set from the Arduino.

Edit: Corrected typo ADC/DAC

I found this information in the manual:
In the case of type NF25 DCB-4, the supply voltage is not designed for operation with pulse-width modulated voltages (PWM).
However, a PWM signal (frequency ≥ 500Hz ) can be used to control the control voltage.

Hi,
Have you got the gnd of the Arduino and the gnd of the motor controller connected to complete the control loop?

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

Tom... :slight_smile:

No I have not. I think that could be the missing piece.
So that means I have to connect the black wire (- Supply voltage, GND) with the minus of the DC power supply (already done) AND the GND of the Arduino (the one next to digital pin 13)?

Thanks!

I attached the drawing. I am not familiar with those drawings though, sorry. The dashed line is the missing connection, I think.

ProTob:
No I have not. I think that could be the missing piece.


I attached the drawing. I am not familiar with those drawings though, sorry. The dashed line is the missing connection, I think.

That very much looks like a missing link. Without it, it won't work (though if you have connected the grounds of the two power supplies together, that should be enough - but you didn't draw that part).

You may also be able to improve the control by adding a smoothing cap on your PWM output, which helps to convert your PWM blockwave into a fairly constant DC voltage.