DC motors troubleshootings

I'm looking for help on how to troubleshoot two DC motors.

I have Arduino Uno R3 with accompanying Motor Shield, also R3. I use the shield to run two DC motors. Motors are just no-name motors with nominal (sticker) characteristics:

  • M1: 12V, 3W
  • M2: 12 V, 5W
    I'm using 9V power supply for Arduino. I read 8.67V on Vin/Gnd connectors, which seems fine.

When I run the motors I'm getting the following readings using a multimeter:

  • M1: 6.76, 310mA
  • M2: 6.9V, 160mA
    The voltage makes sense to me, but the currents don't. I can always assume that the stickers are incorrect but I'd like to know if there is anything I can do with my multimeter to troubleshoot if one of the motors is faulty somehow.

I took the measurements with both motors connected to connectors A and B, and with the other motor disconnected but the readings were the same. I assume they don't affect each other or Arduino. Motor Shield data sheet says connectors A and B can supply 2A each, so I also assume the motors are not causing that kind of trouble.

The reason to investigate this is because motors are to operate 24/7, cycling (i.e. with rest intervals nearly equal in length to run intervals, say 40s run, 35s rest). However, they often stop working for apparently no reason, sometime after a day, sometimes after a week. Connecting them to benchtop DC power supply will make them run again. I will leave them off for a day or so and the next they they will run again. And so on. I double-checked my Arduino code elsewhere on the forum and the code is fine. Also, motors are not to run 28 days or more, so I never run out of bytes in my float variables.

Please let me know if I can add any information. I'd appreciate any advice.

Schematic please ?

PSU specs please ?

Could you also take a few moments to Learn How To Use The Forum.
It will help you get the best out of the forum in the future.
Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

The more detail you provide the better the chance of a useful answer.

ballscrewbob,

Thank you for your reply. I'm sorry if I missed any information. I hope the amount of information I provided with my question gives me some credit to claim that I tried to follow the posting guidelines the best I could.

PSU is a stock AC100-240~ 50/60Hz 0.5A Max input to 9V― 1.5A output power supply with a DC jack ending that you can plug into standard outlet. That's why I just mentioned it is a 9V power supply.

Similarly for the scematic. These are just two motors connected to the shield's power connectors A and B. They run a peristaltic pump each but that's about it. I'm not fully sure what kind of schematic I can provide for that, but let me know if there is something specific I need to clarify.

Thanks again.

Do us all a favor and measure the motor resistance with your meter. If the motors have brushes, rotate the motor and pick the lowest resistance you see.

Then use Ohm's law to compute the maximum current draw for each motor. Report back.

Paul

As with any question we are only able to answer to the best of our knowledge, and if that knowledge is limited by lack of detail in the question then so will be the answer.

That's why you will see so many responses asking for specific details.

Links to the products or product specs being used means we can look up things or make calculations based on those facts.

Code so we can try it at our end and verify any issues or suggest improvements.

Schematics so we can identify any issues or missing items.

Almsot everything to do with your project has a bearing on what we need to assess things.

BTW there is no "stock" psu as there are so many different 9 volt supplies so what is stock to you may be inadequate to us.

SO we need to see WHICH peristaltic pumps you are using, which driver board, and now we have some PSU details

Paul_KD7HB:
Do us all a favor and measure the motor resistance with your meter. If the motors have brushes, rotate the motor and pick the lowest resistance you see.

Then use Ohm's law to compute the maximum current draw for each motor. Report back.

Paul

Paul,

Thanks for chiming in. Here's what I have. Let me know if I can provide more info.

Measuring resistance directly on the contacts gives me the following readings:

  • M1: 8.0 Ohm, which should give me 1.2A at 12V;
  • M2: 10.6 Ohm, which should give me 1.13A at 12V;

I was not sure regarding the motor type (it looks like this) so I rotated the shaft after each measurement. These are the lowest values.

I did another thing as well. I also read the current draw when the shaft is blocked (not rotating). These are the values I measured (Amps) and calculated (resistance). I read the current on the benchtop DC power supply, I did not use the multimeter for this. I don't know if it makes sense but it's just something extra I did.

M1: 3W

V A Ohm
12 1.03 11.65
10 0.846 11.82
8 .67 11.94
6 0.563 10.65

M2: 5W

V A Ohm
12 1.03 11.65
10 0.886 11.28
8 .68 11.76
6 0.53 11.32

I also double-checked the values that I reported in my first post. Once I connect the cassette and the pipework back to the shaft, I'm again seeing approximately the same currents.

Please let me know if I can test anything else.

The currents you computed are the values needed to get the motor to begin moving. You cannot read those values without seeing them on an oscilloscope. The are only drawn by the motor for a fraction of a second, but your power supply must be able to supply those values without reducing the voltage. Plan accordingly.

Paul

I guess your shield has the long obsolete L293 or L298 H-bridges which have bipolar transistor output elements and drop 1.5 volts (or more) turning it into heat. Are your pump lines getting clogged and causing motor overload?

When I run the motors I’m getting the following readings using a multimeter:

M1: 6.76, 310mA
M2: 6.9V, 160mA

What is the input voltage to the shield? Are you using PWM?

Paul_KD7HB:
The currents you computed are the values needed to get the motor to begin moving. You cannot read those values without seeing them on an oscilloscope. The are only drawn by the motor for a fraction of a second, but your power supply must be able to supply those values without reducing the voltage. Plan accordingly.

Paul

Well technically the power supply can be limited in current, these are the basic rules:

The power supply must be able to always supply more than the no-load current (with a generous
margin), so that enough torque is available to overcome friction.

The power supply is allowed to dip in voltage if its not able to handle stall current, but must not
latch-up, nor reduce its current, during this, nor be damaged by this!

Switch-mode supplies typically latch-up on over-current so cannot drive motors unless generously
rated for the full stall current.

Linear supplies may blow fuses on repeatitive overcurrent like this, but typically recover from
brief overload gracefully otherwise.

Bench power supplies with constant current limiting are happy to drive motors though, so long
as the current limit is set above the no-load current - the voltage drops till the motor speeds up...

High power motor drive circuits provide configurable current limiting specifically so the supply
doesn't have to be enormous (stall currents get very large for large motors, to the point that
actually stalling a large DC motor can destroy it by melting the windings rapidly)
Stall current can be 20 to 50 times the full load current for a large efficient motor, ie the windings
absorb hundreds to thousands of times more power at stall than at full load!

Small motors are less problematic, but note that holding any DC motor continuously at stall is
likely to cook it quickly...