Freetronics POE ethernet shield problem

I need some help debugging a problem with a POE ethernet board and 4-port POE injector from freetronics. I'm connecting it to a sparkfun arduino pro 328 5v/16Mhz. For testing, I'm using the example WebServer application.

When I power it from the FTDI cable, everything seems to work fine, but when I put the power jumpers in place and attempt to power it from POE, it seems to be resetting constantly. The symptoms are that the blue power LED next to the reset switch seems to flicker, and I don't see any of the ethernet status lights light up.

My best theory is that the power going down though the Vin pin is too noisy, and I need to filter it somehow. Should I put a couple of filter caps between Vcc and GND on the shield or Vin and GND?

-- Mitch

MitchP:

when I put the power jumpers in place and attempt to power it from POE, it seems to be resetting constantly

Please try removing the jumpers, applying power using the injector, and using a multimeter to measure the voltage being delivered to the two center pins on the PoE header on the Ethernet shield. It needs to match the input requirements for the Arduino itself since that's what is passed through to the Arduino's onboard regulator, ie: about 7 to 12Vdc.

The injector uses a 2.1mm DC jack to accept power from a power supply, which is the same jack as used on the Arduino itself. If you plug the power supply directly into the Arduino does it work OK?

Richard Crowley:

Sheesh. Would it kill them to post a PDF or JPG?

The schematic is provided as a PDF near the bottom of the page. It's titled "Project Worksheet / Schematic (PDF)", and it links to:

http://www.practicalarduino.com/freetronics/EthernetShield-Worksheet.pdf

Jon Arduino Shield List: http://shieldlist.org

I'm supplying the POE injector with a 12V switching wall-wort rated for 1000mA.

I just noticed that the Arduino Pro is only rated for 140mA, but it's not clear if that's from the 328, or from the 5v regulator. It's possible that the ethernet shield is just drawing too much power from the regulator.

I don't have a DMM or a oscilloscope with me right now, but I'll see if I can get some data there as well.

I just noticed that the Arduino Pro is only rated for 140mA

Unfortunately the Pro design cuts a lot of corners to get the production cost down, so its specs aren't as good as other models. I have a few Pros and did testing of the Ethernet shield prototypes with at least one of them, so that should be OK.

The current consumption of the Freetronics Ethernet shield should be pretty much identical to that of the official Ethernet shield anyway, and if the Pro couldn't supply enough current to run an Ethernet shield I'm sure it would be a well-known problem by now.

Just to be sure I'll fire up a Pro + Ethernet shield + PoE when I get home tonight and see if it behaves. It could be that the lack of power supply filtering on the Pro is a problem when combined with your switchmode supply, although the PoE injector includes a smoothing capacitor that should result in the Arduino receiving a better power supply when fed via PoE than when it's connected directly to the wall wart.

Jon Practical Arduino: www.practicalarduino.com

Now that I've plugged my oscilloscope into the Vout from the ethernet board, I've got some interesting data.

When I power the POE injector, it has a base voltage of 10.2V, but has a huge half-wave ripple (22.4V p-p) at 120Hz (with no load). I checked the power supply, and it's got a nice clean 12V. I'm interpreting this as just poorly regulated no-load behavior.

When I connect it to Vin, it settles down to a pretty smooth 12V. However, the Vcc starts to flicker on and off at a somewhat irregular 5-10Hz.

I think it's the resettable fuse going off. I measured the current draw from the POE pins on the board, and it was ~210mA, which would be consistent if the fuse's limit were 140mA. One solution would be to just build my own 5V regulation circuitry on the ethernet board (since it has that nice big prototyping area).

I'm more confused now than I was before!

When I power the POE injector, it has a base voltage of 10.2V, but has a huge half-wave ripple (22.4V p-p) at 120Hz (with no load). I checked the power supply, and it's got a nice clean 12V

I interpret that statement as: when you measure the output of the PSU directly it's a clean 12V, but when you pass it through the injector, down the wire, and measure it at the PoE header on the Ethernet shield, it's noisy and comes out at 10.2V.

Is that correct?

I don't understand how the injector could be doing anything like that. It's just a DC jack passing power through a bridge rectifier and then straight onto the spare Ethernet pairs: it's not much more than a breakout board. You'll lose a little bit of voltage due to the drop across the bridge rectifier, but there should be no more noise coming out than there is going in.

if the fuse's limit were 140mA

I assume you mean the polyfuse on the Arduino Pro. According to the schematic that should be a 500mA fuse, but I must admit that the reference design is not exactly clear. It looks like it's been deliberately obfuscated, with the 3.3V and 5V versions in the same file and the voltage regulator part number "#"d out. There are some misleading net names, too, like the VIN net being named "5V" when it should be the unregulated input from the DC jack and typically will not be 5V!

I'll do some more investigation myself but I'd be very interested to hear of your progress.

Jon

I don’t know if it helps, but here’s another bit of info that could be a clue.

The Arduino Pro design cheats a bit with the connections to the power header, and the 5V Pro supplies 5V to the header pin that normally supplies 3.3V on other Arduino models. Shields that rely on 3.3V from that pin will have problems.

Have a look at this:

Now I don’t think that’s the cause in this case, because the Freetronics Ethernet shield design doesn’t use the 3.3V pin from the Arduino at all. It breaks it out to a pad beside the prototyping area, but it’s otherwise totally isolated from the Ethernet shield itself. The Freetronics version implements its own 3.3V regulator onboard and does lots of filtering and decoupling, and expects to be supplied 5V from the Arduino.

The reference design doesn’t do that. It takes the 3.3V from the Arduino and connects it straight to the output of the onboard regulator and hence the Wiznet chip, which is a questionable design because it ties the output of two independent regulators together directly. That’s why the guy in the video had to cut the track on the Ethernet shield: the combination of two flaws (the Pro supplying 5V on a pin that should only ever be 3.3V, and the official Ethernet shield reference design connecting the 3.3V rail of the Arduino to the output of the 3.3V regulator instead of keeping it isolated) the two voltage regulators were fighting over what level that rail should be at.

As I said I don’t think that’s an issue in this case because the Freetronics version of the Ethernet shield fixes that design fault, but it may give you a clue where to look next.

Jon

Please excuse the very shaky pictures. I haven't yet figured out how to do a screen dump to the uSD card.

The ripple on the power pins can be seen here: http://www.sonic.net/~mrp/Images/ArduinoHacking/POERipple.jpg

This is with the pins unconnected. I'm pretty sure it's just picking up half-wave 60hz ripple from power lines nearby. When I connect it to any sort of load, it evens out.

And the 5v dropouts I'm seeing are here:

http://www.sonic.net/~mrp/Images/ArduinoHacking/5vFlicker.jpg

Well, putting in my own 5V regulator seems to have fixed the problem.

When I look at schematic for the Arduino Pro, the voltage regulator chip (U2) is clearly labeled as "Max Current Output: 150mA" Given that I'm also driving it at close to its voltage limit, it was probably failing pretty consistently.

What I don't understand if why I'm drawing 190 mA. That seems awfully high, given that I'm not really pushing the chip that hard. Any chance I've got a short or a solder bridge?

-- Mitch

The W5100 datasheet indicates that it draws up to 183mA max (typical 138mA on 10base-T, 146mA on 100base-T) so 190mA overall sounds quite reasonable when you add in a couple of LEDs and other parts.

This is really making me wonder why it worked for me at all in my early testing of the Ethernet shield prototypes with a Pro. Perhaps I had a combination of current consumption at the statistically low end of the scale, and a vreg on the Pro that was capable of sourcing statistically at the high end of the scale beyond its rating.

Given the 150mA max rating you mentioned on the Pro vreg, I'm puzzled how a Pro can work with any Ethernet shield unless powered via the FTDI cable. The W5100 alone would take its regulator to the top of its rating.

Jon