0

I am working with a robot that uses USB (not by choice lol) in a very static-prone environment, and I'm having problems with ESD locking up my USB hub. I found an "Industrial" USB hub that claims it can withstand a 15kV shock through air and an 8kV direct contact shock. I'm wondering what the effectiveness of that would be as compared to using USB Surge Protectors inline between a standard USB hub and the slave/master devices? What about using both at the same time? Would that actually help at all, or just introduce weird problems due to capacitance and whatnot?

Edit: I should mention that non-COTS PnP solutions are not an option unfortunately (for example I can't solder a special ESD protection chip to the data lines)

  • What do you mean "locking up" your USB hub? Did you design it? Do you have any additional information regarding what is "locking" up? USB usually is capable of "unlocking" itself gracefully if host software is written right. – Ale..chenski Nov 21 '18 at 05:19
  • @Ale..chenski it's just a standard USB hub off Amazon. And yes, it does unlock itself after the downstream device pulls the FTDI reset, but that causes an interruption in communications which is not desirable. (I am very confident that the USB hub is the problem because if I simply connect only the main downstream device to the USB hub, there is a problem, however, if the main device is connected directly to the controller, there is not a problem.) – You'reAGitForNotUsingGit Nov 21 '18 at 14:22

2 Answers2

3

There are two kinds of issues with ESD. One is irreparable loss of functionality, due to physical damage (or fatigue) caused by ESD events. In this case extra protection does help, provided that the extra components don't destroy USB signal integrity way beyond specifications.

The second kind is temporal functional disruption. There are several possibilities how an ESD event can disrupt the USB data flow. The most serious problem is when the cable shield on hub ports (in both directions) is not connected properly to signal ground plane, if it is simply tied together. In this case the ESD current spike goes along the shield and causes signal ground bounce, either within the hub itself, or within the USB host system. This creates signal collisions that are unexpected by USB protocol, so a hub will intentionally "garble" upstream signals (see Section 11.8.3, Collision), and the host port will be forced into disabled state. This is a mandatory feature of USB 2.0 hubs. Devices don't do this, that's why your FTDI device is less susceptible to ESD when plugged directly into root port. Since the problem is likely in improper shield connection inside your selected hub, no external extra protection will be able so help.

To fix your ESD sensitivity problem you will need to find a "better hub", or modify the current one by de-coupling the shield net from ground net.

AMPLIFICATION: Here is an idea how the shielding should be implemented in a SYSTEM:

enter image description here

There could be some weak coupling introduced between signal GND and SHIELD in host and hub, but all depends of geometry/conductivity of shielded components, and whether FCC EMI is of concern.

Ale..chenski
  • 38,845
  • 3
  • 38
  • 103
  • *"The most serious problem is when the cable shield on hub ports (in both directions) is not connected properly to signal ground plane, if it is simply tied together"* Ok, so I probed the resistance from the shield to the GND pin, and my meter reported about 0.7 ohms. So that means that they're connected directly, and that's bad, right? – You'reAGitForNotUsingGit Nov 26 '18 at 02:03
  • @AndroidDev, yes, this is bad. – Ale..chenski Nov 26 '18 at 02:04
  • Alright, so, two questions 1) Do you have a link for *Section 11.8.3*? and 2) Can you point me to a source that details more about how the shield should be connected properly to the signal ground instead of just tied together? (I was talking to someone else and they didn't seem to agree that it was a problem) – You'reAGitForNotUsingGit Nov 29 '18 at 03:24
  • @AndroidDev, Section 11.8.3 is from USB 2.0 base specifications, found in any USB.org document source, inside a big ZIP file. https://usb.org/document-library/usb-20-specification-released-april-27-2000 Regarding shielding, "*Ask six electrical engineers how to correctly ground and shield a measurement system, and you’ll likely get 12 different answers."* https://www.edn.com/electronics-news/4381145/Grounding-and-shielding-No-size-fits-all – Ale..chenski Nov 29 '18 at 04:10
  • @AndroidDev, see also some major background here (ESD and EMI are parts of the same problem), https://www.emiguru.com/ , and this article in particular http://7ms.com/enr/online/2010/02/notebook.shtml – Ale..chenski Nov 29 '18 at 05:13
  • @AndroidDev: For what it's worth: Having my curiosity awakened, I just measured the shield-ground resistance on **ten** "consumer level" usb-hubs in the 5-30 euro price range, from different manufacturers, including icy-box, anker, sitecom, speedlink. None of them had any appreciable resistance from shield to ground (all <0.5 Ohms). Most had upstream-shield, downstream-shield, and board-ground connected, but some had either upstream-shield or downstream-shield unconnected. – djvg Apr 19 '19 at 10:22
1

You could use USB isolator for your task, your problem is not ESD. When you work with a high power device especially when you power it from the line "ground loop" is the problem.

By the way, USB isolator protect your USB, isolate the PC from the device, in many cases in has ESD protector IC on it.

for example "https://www.amazon.com/SMAKN-Isolator-Digital-Isolation-Industrial/dp/B00XXPO4UG"

M KS
  • 401
  • 3
  • 10
  • Perhaps I should have added more details to the question. The robot is powered from a 12v battery pack, and ESD is for sure the issue, as I can see (and hear) the sparks when it touches metal sometimes. – You'reAGitForNotUsingGit Nov 21 '18 at 14:19
  • @AndroidDev Where did you see a spark? Which metal? – M KS Nov 21 '18 at 15:09
  • The spark was between the metal of the robot and another metal object. – You'reAGitForNotUsingGit Nov 21 '18 at 15:24
  • @AndroidDev There is a problem! By the way, isolator protects your computer from an unknown issue in robot circuit. you should check your circuit. With using the battery, you should not have a problem such a spark! – M KS Nov 21 '18 at 15:31
  • 1
    The robot drives around using mecanum wheels (extra friction & slipping by nature) on a foam tile floor, and the room has very low humidity. You can't tell me it's not ESD when I get zapped by touching a floor lamp just from walking across the floor for a while.... – You'reAGitForNotUsingGit Nov 21 '18 at 18:12
  • 1
    @AndroidDev, USB isolator can tolerate 2500 volt or above between two isolated circuits. The isolation reduces the number of discharge time. But it is useful if you can try to discharge the charge of the robot. A hung chain on the earth may help you like this https://www.reddit.com/r/whatisthisthing/comments/7cx6av/what_are_these_straps_hanging_off_the_back_of/ – M KS Nov 22 '18 at 13:32
  • I'd absolutely love to do that, but unfortunately that's not an option. (This is for a robotics competition and grounding the robot is explicitly forbidden) – You'reAGitForNotUsingGit Nov 22 '18 at 14:00