bigjosh / TSL

CW&T Time Since Launch
https://cwandt.com/products/time-since-launch
Other
14 stars 6 forks source link

Rubbing causes spurious resets #53

Open bigjosh opened 5 years ago

bigjosh commented 5 years ago

DESCRIPTION: The XMEGA spontaneously resets when rubbing or handling the outside of the tube.

IMPACT: Slightly jarring user experience to have the screen flash unexpectedly during handling. Wastes a tiny amount of power on each reset.

CURRENT BEST THEORY: I think there are several modes here.

Any time there is a large voltage built up on one of the end caps, it generates a spark that jumps to the nearest place on the PCB and many of those paces can make it back to the XMEGA and glitch it. The large voltage could come from either one of the end caps touching something at high potential (like a finger after someone walks across a rug) or from touching the cloth after it has just been triboelectrically charged up from rubbing on the adjacent glass.

It is also possible that we are building up enough voltage on some XMEGA pin just from the static charge on the glass to cause a reset even without a spark. This would be likely if the reset pin was still enabled (and I do in fact see [E]xternal resets when I enable that pin), but without the reset pin enabled we still sometimes see [P]ower up resets which might be an interaction with the noise on the PDI pins or maybe other pins.

MITIAGTION STRATEGY: We could reduce user impact by getting rid of the “dashes” screen after a reset, with the downside being that all resets are now invisible so we might miss something else.

We can try to interrupt the shortest path that the sparks are currently taking to get to the board using insulators or non-conductive fasteners.

We can try to short out the charges on the glass and/or endcaps before it gets a chance to build up.

bigjosh commented 5 years ago

Added ground plane that connects to endcaps in 54a5891e81df2daa00ac884994af97db71020350.

Still needs to be tested to make sure it actually works.