Go Down

Topic: Regression between uno and uno R2 VALIDATED. HARDWARE PROBLEM CONFIRMED (Read 27 times) previous topic - next topic

robert rozee

#15
Jun 21, 2011, 03:33 pm Last Edit: Jun 21, 2011, 03:40 pm by robert rozee Reason: 1

[...]
AFAIU, FET is not implied when board is powered through usb, right?


quite the opposite (i think), the FET bridges between USBVCC and +5V. when USB power is present current flows through the body-diode of the FET, supplying power (less 0.6v) to the LM358. this checks to see if VIN is absent, and if it is absent turns on the FET. if VIN is present, the FET remains turned off, preventing flow from the external source back into the USB connector (which is a big no-no). this is in theory, there are conditions when it fails to work as designed.

looking at the schematics of the R1 and R2 UNO, the only material difference i can see is that the R2 has a pull-down resistor on the 8U2's CTS output (which just happens to be D7!), this pin being used to provide a reset signal from the Arduino IDE to the 328p.

try the following: short the RESET line (which is active low) of the 328p to +5V. easiest way to do this is to bridge between pins 1 and 3 on the "POWER" connector (i''m assuming you have the UNO schematics there). then see if things start working correctly.

ed: oh, and DO NOT press the reset button on the board while the above short is in place!!!

foubarre

#16
Jun 21, 2011, 05:02 pm Last Edit: Jun 21, 2011, 05:31 pm by foubarre Reason: 1
Sorry, it did not help.
What i did to short them is to insert a flat-ended screwdriver in the power connector, then test for shortage, then plugged USB.

however, i found something interesting... Not willing to burn my macbook air usb port, i tried various machines.
All gave incorrect result, whatever the power shortage status was, EXCEPT one which gave me constant valid result, without even shorting the power connector.

It is a gamer PC based on an asus rampage 3 extreme motherboard and i'm using the front usb connectors.
As far as i've seen, they are normal usb connectors.

I'm pretty puzzled, to be honest.

robert rozee

#17
Jun 21, 2011, 05:30 pm Last Edit: Jun 21, 2011, 05:50 pm by robert rozee Reason: 1

What i did to short them is to insert a flat-ended screwdriver in the power input, then test for shortage, then plugged USB  [...]


oops, not quite what i meant. the link from RESET to +5V is to (while fitted) prevent the 8U2 from being physically able to reset the 328p. the UNO does not need to be connected to the USB port during this test, using the external power socket would be fine and look for the LED blinking (or not).

my reasoning is that it seems one possible cause of the problem you're seeing is the 8U2 repeatedly generating reset pulses that are stopping the 328p from running. assuming (1) no direct fault in the bootloader, and (2) no bug in the 328p silicon, the only three things that should be able to cause problems are (a) bad power, or (b) bad crystal, or (c) the RESET pin being pulsed or held low.

foubarre

#18
Jun 21, 2011, 06:02 pm Last Edit: Jun 21, 2011, 06:07 pm by foubarre Reason: 1
Ok. I'm happy i did not burn anything. Should have read better. (English not being my mother tongue, i should read better more often...)

Anyway, this did not succeed. I did a shunt between the 5V and reset pin of the board.

edit: Errr. as i said i should read better...
1 and 2 ought to be invalid because of the swap of CPUs that did not change results.

Power ought to be good, but i'll have to resort to scope to check that
Testing the cristal, i don't know how to, but i would be happy to. Any hint?
About the reset being pulsed or held low, i think the scope can also show this..

More tests coming along.

robert rozee

#19
Jun 21, 2011, 06:25 pm Last Edit: Jun 21, 2011, 06:31 pm by robert rozee Reason: 1
i'm still leaning a little towards wanting to consider some combination of:
(1) bad power - some design fault in the PCB meaning that on the R2 boards the 328p is not getting a clean enough supply to be able to correctly reset itself and start up when first connected to the supply,
and,
(2)a bootloader bug that only shows up when the 328p starts up from a 'bad' reset. i think it is VERY telling that you only see issues when a non-PWM-capable pin is tied high.

it's time to head off to bed over here (i'm in new zealand, christchurch to be precise) now that the earthquakes have quietened down for the night. but will check back tomorrow to see if anyone else has come up with other suggestions.

i've also posted a summary of the problem over on the adafruit forums, to see if anyone over there can shed any light:
http://forums.adafruit.com/viewtopic.php?f=25&t=21671

addendum: to check the crystal, use a scope to look for a clean train of pulses on pin 2 (XTAL2) of the 328p when the UNO is sitting in it's non-working state.

retrolefty

Very interesting symptom, sorry I don't own a Uno (R1 or R2) to help with the diagnosis. I hope we get a independent validation (reproducible) of the bug and a explanation/resolution of the cause.

Lefty

foubarre


Very interesting symptom, sorry I don't own a Uno (R1 or R2) to help with the diagnosis. I hope we get a independent validation (reproducible) of the bug and a explanation/resolution of the cause.

At the moment, we are two with that problem.
I yet don't know if i should hope more will.. :s

westfw

Would you be able to try the new bootloader mentioned here: http://arduino.cc/forum/index.php/topic,64105.0.html on one of the problem boards?  (I don't have any theory as to why this would result in a change, but it would be worth a try...)

foubarre

Thanks for the idea.

Unfortunatly, i only have UNO boards around and no isp.

Any hint on the possibility to use them anyway, one day?
(btw, i tried, just in case http://arduino.cc/en/Tutorial/ArduinoISP was outdated, but got this error http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1287836171 )

robert rozee

i had a good look over the schematics of the R1 and R2 today, and did spot one flaw that might be worth checking up on.

on both R1 and R2 boards there is a link on the schematic missing between GND and UGND pins on the 8U2. if this link is absent, and power is being supplied through the USB connector, then the 328p will likely be getting bad power via internal connects within the 8U2. on the pictures i've found of UNOs on the net, they all seem to have this link present, but that does not guarantee it being there on every manufacturing run of the board. if it is missing on the schematic files (i only looked at the pdf's), then it's possible the link was added during layout and later got 'lost' at some revision point.

the link is located on the reverse side of the PCB, appearing to be between a track running from pin 4 of the USB connector and the surrounding ground plane. check that it is there, and if not then try bridging with a solder blob across the adjacent pads.

someone else with a UNO in front of them might care to comment a little more.

foubarre

It's okay for that link. I have it on both revisions, identical.

The problem also occurs when powering via the external power input. I do use a medical grade 12v power supply for my tests too. Same problems arise when using usb and external supply.

foubarre

Here are the results from the scope:
All on R2 board, watch out for the different time scales.

pic1: 5V taken from the power pin on board without resistor
pic2: 5V taken from the power pin on board WITH resistor
pic3: reset taken from the reset pin on board, without resistor
pic4: reset taken from the reset pin on board, WITH resistor

unfortunatly, my scope only peaks at 5mhz, so i cannot check the crystal.

foubarre

same tests, on R1 board:

pic1: 5V taken from the power pin on board without resistor
pic2: 5V taken from the power pin on board WITH resistor
pic3: reset taken from the reset pin on board, without resistor
pic4: reset taken from the reset pin on board, WITH resistor

Reset looks pretty different...
However, on R2, using a resistor or not does not change the values by much. Not much enough imho to make the difference each time.

robert rozee

power looks reasonably ok, though that reset looks incredibly ugly!! the arduino designers should have placed a diode from RESET to +5V so as to clamp any overshoot on the pin, preventing it from rising more than 0.6v above the supply rail. does the RESET line look the same on the R1 board?

foubarre

last but not least, here is an other test on R2...
this time, i test the reset signal on powerup, then resetting using the button, without powering down in between.

pic1: first reset, no resistor
pic2: manual reset, no resistor
pic3: first reset, with resistor
pic4: manual reset, without resistor

Go Up