Arduino Uno and Motor shield IOREF power fail

Dear all,
my intension was to build a DCC++ controller as shown for example in the following video: Original / "Classic" DCC++ Base Station Tutorial (outdated) - YouTube
I have a brandnew Arduino Uno SMD Rev 3e and Arduino Motor Shield manufactured in week 39-18 (I could not see a version information on the board). The only connected power supply is through the USB connector. The Arduino Uno alone is working well but as soon as I plug the motor shield onto the Uno, the power supply/power LED is going off. I connected the shield pin by pin and the failure seems to be related to the IOREF pin and the motor shield is partly working if I connect all pins except the IOREF pin. The issue is that the IC2 4077D seems to be powered through the IOREF pin and does not create the inverted DIRA and DIRB signals if IOREF is not connected. This behaviour does not match with the circuit diagram of the Motor shield Rev3. Could someone help to get this issue sorted?
Thanks in advance.

Looks like IOREF is connected through 40V zeners to A2 & A3.
https://www.arduino.cc/en/uploads/Main/arduino_MotorShield_Rev3-schematic.pdf
ioref.png

SS14 is a very common schottky diode, not a zener, here used as protection for over-voltage.

My goof :blush:
Wait a minute!

Zener Schottkey
zener-diode_3.pngschottky-diode_1.png

Hi,

I have exactly the same problem as "nm2742" , but the board is the DIP-variant
The MotorShield is numbered 41-18
Both genuine Arduino and brand new (got them today...)
I searched a lot, but this is the only place which mentioned exactly the problem.
Any ideas ?

thanks

Hi,

I have exactly the same problem with two genuine motorshield tagged with 39-18 too, so much lost time until now ...

nm2742:
Dear all,
my intension was to build a DCC++ controller as shown for example in the following video: Original / "Classic" DCC++ Base Station Tutorial (outdated) - YouTube
I have a brandnew Arduino Uno SMD Rev 3e and Arduino Motor Shield manufactured in week 39-18 (I could not see a version information on the board). The only connected power supply is through the USB connector. The Arduino Uno alone is working well but as soon as I plug the motor shield onto the Uno, the power supply/power LED is going off. I connected the shield pin by pin and the failure seems to be related to the IOREF pin and the motor shield is partly working if I connect all pins except the IOREF pin. The issue is that the IC2 4077D seems to be powered through the IOREF pin and does not create the inverted DIRA and DIRB signals if IOREF is not connected. This behaviour does not match with the circuit diagram of the Motor shield Rev3. Could someone help to get this issue sorted?
Thanks in advance.

Same problem here: Arduino Motor Shield with a 41-18 label and Arduino Uno SMD Rev3.

The layout of my motor shield PCB differs from the Eagle files provided on Arduino Motor Shield Rev3 | Arduino Official Store. See the attached pics.

On my PCB IOREF is not only connected to the diodes but also to IC4. And IC4 is turned 180 degrees compared to the layout files. But it also is not a LMV358MMX, the device label does not match the information from the LMV358 data sheet.

PCB:

Eagle:

How does the PCB layout on your board look like?

Christian

Hi @nm2742, @slowrunner, @Jilb,
where did you buy the shields? I got mine from Distrelec.
Regards, Christian

Same problem here with two brand new motor shields rev 41-18 bought from (Elfa) Distrelec this week.

MarkT:
SS14 is a very common schottky diode, not a zener, here used as protection for over-voltage.

I'm not sure if this is the right place to ask this: How exactly does this over-voltage protection work here? I am planing to create a shield which is compatible with both Arduino Mega (5 V) and Arduino Due (3.3 V). Therefore I am looking at different shields that are already out there. I found the same principle with schottky diodes in the "Arduino 4 Relays Shield" (https://content.arduino.cc/assets/4RelaysShieldV2.0_sch.pdf).

But what happens if one of the TinkerKit inputs (which are connected to those A2 and A3 lines) applies for example 5 V? My guess would be that current would start flowing through the schottky diode. And that current might get quite high, since I don't find any current-limiting component on the shield nor on an Arduino Due in this path. So would this current and/or the rising voltage destroy the Arduino Due? Or does the TinkerKit need to limit this current or voltage somewhere?

Hi

@criesch

I bought my MotorShield from a german distributor in the north.
I sent it back, got exchange, but the same fault, sent it back, got exchange and again → the same !!!
So they gave me the money back which is fair enough, but didn’t solve my needs…
I have three different boards: Uno SMD, Uno DIP, Mega 2560
with each board its the same trouble: green light off - power down!
Some research show a very high current on the IOREF line between the board and the shield
which one usually would call a short circuit…
The guy at the hotline was very friendly, but insisted that the shield must be ok,
because I would be the only one with this fault, and it would be impossible that three shields have the same failing…

I ordered another one via my local bookstore! (a franzis isbn :slight_smile: … ) and that worked fine !!! with all boards!
Same label (41-18) but works as expected.

The layout must have changed compared to mentioned layout and eagle files.
I have a little drawing for what it looks like to me :confused:

Kind regards
Peter

m-shield.png

Hi @slowrunner
please have a look here: Motor Shield Keeps Uno from Booting when connected - #16 by criesch - Motors, Mechanics, Power and CNC - Arduino Forum

Best regards, Christian

jd25854:
I’m not sure if this is the right place to ask this: How exactly does this over-voltage protection work here?

No it is not the right place. You should not hijack a thread like this. But I will answer anyway…

It might be easier to look at the negative side protection first. With a diode between the signal pin and ground, any negative voltage gets “clamped” to just below zero volts. If the source is low-impedance - such as a car battery hooked up backwards - then the diode will burn out instantly and your circuit will be destroyed.

But the real purpose of the diodes is to protect against static discharges. You can easily build up 15,000V by walking on the wrong carpet and touching any part of the Arduino. That kind of voltage will destroy CMOS circuits (the Arduino chip) instantly. But there is not a lot of energy behind the discharge. A thousand amps might flow but only for a nanosecond. So the protection diodes are designed with that in mind.

Between those two extremes is inductive spikes like switching a motor or relay coil. Medium voltage and medium energy.

Hi @ criesch

thanks for that link, that is the board layout as it is on shield.
But what I think is that the IC4 is mounted the wrong way round, as you mentioned above
and that is what your foto shows.
The foto 4885.jpg in the other thread also shows it the wrong way round, your foto shows it the wrong way,
and the drawing I made from the failing boards (all three) shoes it it wrong way ( 180° turned).

My new board has it the right way, as it is in the eagle-board-file! an that are the “red” corrections in my drawing :confused:
so my conclusion is that there are a big series of boards where that IC4 is fitted
the wrong way and that causes the trouble!

If you think about it: the IC4 should be mounted with the mark in the lower left corner,
that means IOREF goes to pin 8 of that IC (which I didn’t find in the sheme) and in a TI DataSheet of an LM 358
that pin is → V+ positive supply <—
Now, with the IC4 mounted vice versa we have pin 4 at that position (please correct me if I’m wrong…)
and that is GND/V-
and that explains the short circuit when connecting the IOREF to a board with IC4 mounted the wrong way!

If you connect the shield pin by pin as “nm2742” you will see that all seems to work until you connect IOREF
But leaving that line open (by bending it out at the shield) will not work, probably because the reference is missing…

So everyone here, please check the way that IC4 is mounted on your MotorShield…

Kind regards, Peter

I turned IC4 around, and now everything works perfectly.

Wow. Amazing that that works.