Drive 5 24v DC Brushed Motor

Hello,

I want to drive 5 of these pumps with an Arduino Uno R4 wifi :

  • Rated Working Voltage: 24V
  • Motor Type: DC Brushed Geared Motor
  • I mesured 0.2A

I'm having trouble finding a solution that's simple enough and not too expensive (I've already made the mistake of plugging in a Chinese shield motor driver that said it was 36v compatible but was actually made for 12v...).

I don't need to change the direction of rotation of the motor (so I think I can share 1 bidirectional channel for 2 pumps), and I don't need to control the speed of rotation (PWR): I just want to activate it at full power in one direction. I wonder if I can't just use one relay per motor with a protection diode (but as there will be many small pulses (1-2 sec), maybe that's not ideal?).

There's also a "USB host shield" connected to the arduino (and I'm having trouble understanding which GPIO is occupied by it) : https://www.amazon.com/HiLetgo-Shield-Arduino-Support-Android/dp/B01MTU9OLM

Which solution do you find most suitable? Thank you in advance!

I have a few ideas and a few questions.

If you don’t want to vary speed I would question the need for a microcontroller at all, this depends on your application. What conditions need to be met to turn the motor on and off? What duty cycles are we talking about exactly?

Why use 2 pumps? Are you pumping to or from multiple locations or are you cascading them for flow control? OR, are you using one in each flow direction? Assuming they are bidirectional mechanically (these sorts of pumps generally are) you can use one pump and do simple direction control with two relays. Bare in mind with very low flow rates and dual directional flow the fluid in the pipework needs to be taken into account before you are truly changing the chemical properties one way or another between vessels, especially when duty cycles are short, if chemical properties are your main driver rather than simple level control that is.

Using an Arduino to pull relays in, depending on your conditions being satisfied, you can easily use a separate 24v power supply (this is essential to get your full motor voltage) switched through normally open contacts of the relays to power the motors.

Here is an example of DC motor direction control commonly used to drive car windows up and down. I added a POT for very simple, and limited, open loop speed control. In your case, you would use the Arduino rather than buttons to power the coil of the relays. You will need to use transistors, optocouplers, or a relay shield to do this however as a relay generally pulls way more than 40mA especially when first powered.

Hi mrbarry, thanks for your answer!

I’m building a weird instrument that serves cocktails :slight_smile: The 5 pumps will be used to move 5 different liquides based on a midi controller connected through the USB host shield.

The duty cycle will varied based on the player. I except one pump to be used between 1 and 60 seconds per minute, with 1 to 30 pulses of at least 500ms. I don’t know if a relay will accept this kind of uses?

Ok that makes it easier. Obviously omnidirectional control means a single relay, or transistor, can be used to switch the pumps on and off.
A relay will switch a few times a second but you need to take a few things into consideration. They have a declared maximum number of switching cycles, normally in the millions, so if you switch it every second 24/7 it will take about 12 days to switch a million times. Will you run it 24/7/365? As relays become physically bigger they like rapid switching less as a rule, industrial contact relays have electronics prohibiting fast cycling. The sort of relays you get on an Arduino shield should be fine to switch at the frequency you are looking for.

@Mysterarts
You can use one of these for each motor. Only $4.13 each (USD) for five

2 Likes

Hi, @Mysterarts

As you do not need to reverse your motors, you do not need a full H-Bridge motor driver.

A simple single MOSFET controlled by the PWM output of a controller will do it for you.

@jim-p suggestion would do that for you.

Tom... :grinning: :+1: :coffee: :australia:

PWM would be extraneous code for ‘on off’ selection when speed control isn’t required for run or ramps. But MOSFET would have must faster switching times than a relay, and not suffer contact bounce although bounce wouldn’t matter to turn a small DC motor on and off.
Greater electrical isolation can be achieved with things like optocouplers and reed relays etc. Both items are fairly robust too. There’s lots of options. Solid state relays tend to be bulky in comparison but are well packaged.

I am a fan of keeping things simple, my electrical ‘relay logic’ is stronger than my electronic principles, so I tend to lean that way. I’m here to build my electronic skills and maybe that will change. :+1:

Thank you for all your answers!

I see the advantages of the MOFSET, I’ll try to find a “compact “ component to control the 5 pumps at the same time. PMW could be useful maybe, it’s good to have the option. Which parameters should I check when selecting the right MOFSET like the one linked?

I’m also more used to relays, even if I’ve sometimes had issues with relay turning on for a short moment when powering the project and still not really now why :sweat_smile: In this case, I really need it not to happen…

That is a pre-made module it's 0.6 x 0.6 " how compact do you need?
Are you planning on making a PCB with surface mount parts?

Sorry it was not clear but I’m looking for a way to have only one board with the 5 (or more) channels to reduce the wiring! (If not I will use this type of components!) I do not plan to make a pcb.

Other than relays I've never seen such a board.

I cannot find them indeed! It’s surprising, that seems useful :thinking:
Thanks for your answer, I’ll go with the single ones.

Hi, @Mysterarts

Get a prototype running first, then think about size.
Are you going to make more than one of your project?
If not, worrying about reducing the wiring is of little concern.

Tom... :grinning: :+1: :coffee: :australia:

Yes you're right :wink:
It's just that this "prototype" will be used many times by multiple users and I've had issue in the past with disconnecting wires so I tend to use PCBs that allow me to reduce the wiring ^^

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.