sinara-hw / Stabilizer

2-channel microcontroller servo with EEM and Ethernet based on STM32 CPU
Other
21 stars 5 forks source link

PoE turns on and off with Netgear GS308P #23

Closed sbourdeauducq closed 5 years ago

sbourdeauducq commented 5 years ago

When connected to a Netgear GS308P switch, the board is powered for a few seconds, then the Ethernet link establishes, then the switch cuts off power, and the cycle repeats. After a few cycles, sometimes the board stays powered on.

hartytp commented 5 years ago

@gkasprow what do you think?

hartytp commented 5 years ago

FWIW a 22uH coil craft chip inductor (DCR~11Ohm) also fixes the issue. So, I'm now relatively optimistic that this will not be present in the new revision with the EMI filter.

I am, however, concerned about the power handling of the EMI filter on Thermostat, but that's a separate issue.

@jordens @gkasprow any objections to closing this issue?

@gkasprow we really need to get the next batch of Stabilizer sent to manufacture this week. AFAICT, so long as no one has any more concerns about this issue, there is very little to do. Would you mind finishing off and preparing for manufacture asap please? Thanks!!

hartytp commented 5 years ago

I will play with it once I get a switch with 15W power delivery. All the switches I own are 30W ones

FYI My switch is 30W as well. For some reason I can only reproduce this on some switch channels on some boards, so I think it's something being very marginal. Anyway, I think I now have all the data we need on this...

gkasprow commented 5 years ago

OK, let's close and hope this will resolve the issue.

hartytp commented 5 years ago

Ok. As I said, if you think of any more measurements we should take, let me know.

gkasprow commented 5 years ago

I received the Netgear GS308P switch and I can confirm - the Stabilizer turns on for 3-4s, then turns off for another 3s and the cycle repeats. Now, I can debug this issue.

gkasprow commented 5 years ago

I placed 5Ohm resistor in series with PoE converter and it starts just fine. There is 0.3V drop on it.

gkasprow commented 5 years ago

I tried with the 100nF capacitor between G and S of T5 but it does not help. It looks like it's the PoE converter that causes a current spike.

hartytp commented 5 years ago

I placed 5Ohm resistor in series with PoE converter and it starts just fine. There is 0.3V drop on it.

That's roughly consistent with my observations. I found it hard to pick a small enough resistor to avoid interfering in the dynamics, while still getting a measurable signal.

What did the transients look like? 300mV on 5Ohm = 60mA.

Can you try putting an inductor in series with the PoE module? AFAICT, this also fixes the problem. It would be nice to see the current transients when the fault occur (although, that's hard to measure). But, AFAICT, any input filtering will resolve the issue.

gkasprow commented 5 years ago

1R resistor is too low.

hartytp commented 5 years ago

Too low? As in, too low to measure the current, or as in with 1Ohm the fault is still present?

gkasprow commented 5 years ago

with 1Ohm the issue still exists. I placed 47uH inductor and it did not help.

hartytp commented 5 years ago

Interesting. Can you measure the current transients with the 1Ohm resistor?

I guess the inductor I used had too much DCR, which is why the problem went away...

gkasprow commented 5 years ago

I used a big inductor that has very low ESR. I also tried to remove one of the 220uF cap at the converter output and also add a soft start circuit for T5. None of them help, even combined.

hartytp commented 5 years ago

@gkasprow out of curiosity, is the SS16 diode appropriate here? It has a max reverse voltage of 60V. Is that sufficient for PoE?

gkasprow commented 5 years ago

Most switches use 48..57V so it should be fine. However, we can go for 80V version.

hartytp commented 5 years ago

It would be interesting to see the current transients on a scope to try to understand what's going on that upsets the PoE switch. But, the only other thing I can think of is adding a ~10Ohm resistor, with a FET switch (+optocoupler) across it that can be used to short the resistor after power up.

gkasprow commented 5 years ago

one moment.

gkasprow commented 5 years ago

tek00012 tek00013 tek00014

So, we have 3.5A peak during on stage.

hartytp commented 5 years ago

Wow that’s huge! Is that the module itself or our load? In that case it sounds like a current limiting resistor + fet may be the way to go...

gkasprow commented 5 years ago

the module itself. Our load starts later. 10R gives far lower peak.

gkasprow commented 5 years ago

tek00015

gkasprow commented 5 years ago

What's interesting the module starts with high current, than it's charging the output caps. Then current falls to low value and then out load starts.

gkasprow commented 5 years ago

*our

gkasprow commented 5 years ago

We can add FET + cap at the PoE module input as a soft start circuit. I'll try it in a moment.

gkasprow commented 5 years ago

I will try with this MOSFET. I don't have many HV ones at home :)

gkasprow commented 5 years ago

OK, so I tried schematic like this and it works obraz

hartytp commented 5 years ago

Cool! Great job @gkasprow! Let’s go with that circuit and the beefier diodes for the next rev.

gkasprow commented 5 years ago

I used 2002STP4NK60Z instead of STN2NF10 but it should not make any difference

gkasprow commented 5 years ago

This influences all PoE circuits we have.

hartytp commented 5 years ago

Yes. We’ll need to fix thermostat as well

hartytp commented 5 years ago

So I think now all issues are fixed we can push out the new release quickly. That’s really great

gkasprow commented 5 years ago

Connecting scope messes up PoE negotiation. One needs to use a battery-powered one. Essentially what it does with connected scope, it turns on the voltage which charges the capacitor and shorts the resistor and then it turns it off to turn it on again and then it fails because the resistor is shorted by MOSFET.... I think optocoupler is a better solution. I will implement both approaches so one has a choice.

gkasprow commented 5 years ago

I will use this circuit obraz

hartytp commented 5 years ago

I’d still be inclined to hook up to cpu reset to make sure that the current limit is applied until all supplies are stable (in case the PoE is applied again before all caps have discharged)

Other than that lgtm

gkasprow commented 5 years ago

OK, good idea.

gkasprow commented 5 years ago

obraz

jordens commented 5 years ago

https://www.electronicproducts.com/Semiconductors/Applications/Five_top_things_no_one_thinks_about_for_PoE_--_but_should.aspx

2) Inrush current protection is key: You might think that most PoE-enabled switches (known as power sourcing equipment or PSE) will control inrush current on the switch side, so client-side current-limiting isn’t too important. But what about your customers who use an inexpensive power injector in cases where PoE is not available from their Ethernet switch? Most low end PoE injectors (devices that sit in series between the wall jack and the client) don’t do any type of negotiation or “soft start” while applying power to a client. Make sure your PD can current limit so your capacitors don’t pop off the board during a live insertion, if your customer might use one of these injectors!

But I am surprised that the module itself is so aggressive.

jordens commented 5 years ago

Not saying there's anything wrong with your circuit. But wouldn't inrush current limitation before the 440µF caps at the module output be a bit simpler?

gkasprow commented 5 years ago

As I wrote a few posts above, I tried it already. I removed one 220uF cap and added a soft start but this did not help because it was not the cause of the problem. The inrush peak appears when the PoE module input caps are charged, far before it starts operation.

jordens commented 5 years ago

Ah ok. I overlooked that. Then all good.

sbourdeauducq commented 5 years ago

This sounds like shoddy design from the PoE module. Instead of adding workaround circuits, isn't it simpler and cleaner to use a module from a different manufacturer, and test it carefully outside of the board in anticipation for similar shenanigans? The workaround circuits, if we do go this route, should probably be similarly tested as well.

gkasprow commented 5 years ago

@sbourdeauducq this model of the switch is the only one that causes problems. I tried it with 4 other switches from other vendors and there were no issues. There is no guarantee that other PoE modules will work with your switch. The workaround is simple and it works. Other modules I found are much bigger and would require a serious redesign of the board and in case of the Thermostat, we would have to use a bigger enclosure. I also have proven PoE converter design build from discrete components but its overall cost is higher than this module cost. I've just tried and it does not work with this particular switch. The switch you have seem to not conform to specification because it behaves in a slightly bizarre way. It detects an overcurrent and switches the load off after 3s. It looks like it does not have active overcurrent protection, but an only software one. The module we utilize I already used in a few other applications. Nobody complained so far. It is even installed in one HEP experiment.

gkasprow commented 5 years ago

I already tested this workaround circuit. I did it with 2 switches which I have at home.

hartytp commented 5 years ago

This sounds like shoddy design from the PoE module

I don't think this is a shoddy PoE module at all. I've been generally quite impressed with it. e.g. the fact that so far I haven't been able to see any increased noised in sensitive analog circuity when powered from PoE (even without the recommended EMI filter).

As @gkasprow says, we did look at a range of modules before choosing this one, and there weren't a huge number of options that fitted in with our other requirements (e.g. space). So, I still think this is the best.

If we really want to change in future then we can always design our own footprint compatible PoE module, but that's not a game I want to get into right now.