Polyfuses explained

From eLinux.org
Revision as of 00:26, 4 July 2012 by Mahjongg (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

A "polyfuse" is a fuse made from a polymere. Its a fuse that after it has "blown" will self heal, that is after several days it will (almost) behave as if nothing has happened.

The USB specifications say that all USB ports must be protected, but the protection may not be permanent, that is may not require human intervention to recover from. There are two ways to do that, the first is to use a polyfuse, and the second is a chip, called a current monitor and protection chip, the latter are quite expensive so the RPI uses polyfuses.

There are three polyfuses in a RPI, one to protect the whole board, this one is rated 1.1 Amperes, and is the device marked "F3" on the back of the board. There are also two smaller polyfuses, one to protect each USB port. These have a very low rating of just 140mA. A a polyfuse "blows", just like any regular fuse, because there is running so much current through it that it heats up, in a regular fuse that means so much current that a thin wire simply melt, in a polyfuse it means that a small piece of conductive (polymere) plastic get so hot that suddenly its resistance increases dramatically, so that it gets hotter still, and things escalate to a point that the resistance goes so high that most of the current stops flowing, after the current is turned off, a long time after the fuse has cooled down the fuse slowly regains it original state and in the end becomes conductive again.

With the USB polyfuses something special is going on, because these are designed to "blow" very quickly, with just a few 100mA, because they blow with very low currents does not mean they need less energy (heat) to blow, therefore they need more voltage over them, as P = U x I (Power equals voltage times current) (Ohms law). If they need more voltage across them, it means that with the same current running through them they need to have more resistance (U = I x R) Voltage equals current times resistance (yes also Ohms law). Thus it means that the lower the "blow current" (given the same mechanical size of the fuse) the fuse needs to have more resistance, so much resistance in fact that for normal currents the resistance becomes noticeable.

If a regular current of something like 100mA runs through it the voltage across the fuse can be something like half a volt, that means that the USB device gets half a volt less, so if the board gets 5.0 Volt, the USB device (when it uses 100mA) gets just 4.5 Volt.

Now normal 5V logic doesn't work then, as it can tolerate no more than 5% undervoltage, so at just 4.75 Volt it begins to stop working. Luckily the USB specification orders the manufactures of simple USB devices, such as keyboards and mice, devices that typically work behind a passive HUB (that gets its power from the computer, not from a separate PSU) that they should design their device so that it can work with the voltage behind a hub. Now it so happens that the design of such a passive HUB describes that the 5V should pass through a diode, so that deices connected to such a hub cannot feed back energy back into the PC, which can happen if they are USB devices with their own powersupply.

So elementary USB devices, so called "single current unit devices", where "1 current unit = 100mA". Are required to still work if their power is one diode drop (0.6 Volt typically) lower than 5V. That means keyboards and mice should work when they only get 4.4 Volt, not 4.75 Volt!

This is ONLY true for these devices, NOT for devices like sound cards, or WiFi adapters or external hard drives, that can use up to 5 current units (or 500mA).

Now coincidentally this means that they also work with the voltage available behind a USB polyfuse, which is typically 4.5 Volt, as we saw before, but other devices need 4.75 Volt, and wont work with 4.5 Volt. Powered HUB's work with 4.5 Volt, because they do not use it for power. However many powered hubs have their input 5V line, connected to their own 5V from the PSU, so that they could also work from the power given by a PC, other (more strictly designed according to USB specifications) do not connect the 5V from their input cable, but might "look at it", and only turn themselves on if they see it, so that they are off when the PC is off, to preserve energy.

The choice of these high resistance polyfuse has been the cause of many problems, because many people do use the PI for something other than its intended purpose, that is only with a wired keyboard and a mouse, they try to connect WiFi adapters and such , which may fail.

That is the story about the USB polyfuses, if they have triggered, their resistance can increase so much (for days) that even 4.5 volt isn't reached, and the keyboard only gets say 3.5 Volt, and it will fail, start repeating keys etc.

The main power input fuse is much less problematic, but it too can misbehave in similar way. Especially if for whatever reason it has gotten hot, such as prolonged soldering to it, or as the previous poster suggested by "baking it" (this is a bad idea, only to be done if you expect the soldering has gone wrong on the main chip). So do not heat any of the polyfuses unnecessary, but cooling them down also doesn't do any permanent good, its not how cool the polyfuses are that helps them recover, as its a chemical process, not a mechanical process. letting them have a rest in a cool place might help a "bad" polyfuse recover, but if they get hot again, the effect is undone again.

Some people who insist on using unsuitable USB devices on their RPI have thought of shorting the polyfuse, a process nicknamed a PiPass after a "bypass operation", simply bridging the fuse will lead to another problem, that is that the PI will reset when you connect a USB device, the correct solution is to leave a little bit of resistance in place, say 0.5 or 1 Ohm. Soldering a 1 Ohm resistor over the offending USB polyfuse will usually fix the voltage drop problem.