Previous question I asked here. Posting a new question because my previous approach included many incorrect assumptions.
I'm working on a product with a motor, a fan, and a LCD with capacitive touchscreen.
The most basic description of the problem is that the reported touches are inaccurate sometimes.
The touchscreen has an integrated FT5426 controller. This is the LCD in question: NHD-4.3-480272MB-ASXV-CTP (note the thumbnail is inaccurate).
The touchscreen is powered from a 3.3v linear regulator with a 100uF cap near the regulator output, and a 0.1uF decoupling cap near the ribbon connector. The 3.3v regulator input comes from a 5v switching regulator, which in turn comes from an external 24v power brick.
Below is what I've learned so far.
- When they are incorrect, touch coordinates are always left of the actual touch location.
- The Y coordinate never seems to have issues.
- The issue does not occur at all with some power supplies, and it occurs frequently with others.
- None of the power supplies have negative connected to earth.
- The issue does not occur if you touch the metal LCD bracket (which is connected to system gnd at several points).
- The severity of the issue increases dramatically if the motor or fan is running. Both have snubber caps and flyback diodes.
- The touchscreen controller talkes to a PIC32 via I2c. There is a 0.1uF decoupling cap close to the ribbon connector, as well as TVS diodes on the data and power lines.
- The 24v input from the power supply appears to be quite clean on an oscilloscope. Although there are sawtooth dips in the voltage when the motor is running.
- Connecting negative to earth gnd fixes the problem (but there's not an easy way to do this in the final product).
- Connecting the oscilloscope to the point where 24v power enters the board drastically reduces the problem, even with the scope earth is disconnected.
- The scope connection even helps somewhat when the scope is powered with lipo batteries and an AC inverter.
- I tried connecting an additional 0.1uF cap where the scope was connected (even though there is already extensive decoupling nearer to the voltage regulators). This didn't have any effect.
I tried disconnecting the earth from the AC input into a good supply, in case there was some kind of capacitive coupling to earth, but that had no effect.
The motor and fan running exacerbate the issue somewhat even when they are disconnected (PWM still going to mosfets).
The board has a solid ground plane, and generally follows good decoupling and routing practices. It also passed CE testing. That is to say, I don't think the design is excessively noisy.
- I tried adding a choke to the input power wires (although the power brick already has one, and that had no effect).
My questions are. Has anyone seen this issue before? And what are some possible causes, or things I can try to fix the problem?
What could the power bricks be doing that eliminates the problem? Neither shows excessive noise, and there is no gnd connection.
My goal is to make the touchscreen reliable with the good and "bad" power bricks.
Edit: Bingo, Sunny appears to be correct. I'm measuring huge common mode noise at 60hz (if I'm measuring correctly). The scope is connected to earth, and I have the probes connected to positive and negative where they enter the board. The ground clips are NOT connected.
I'm going to try adding a huge common mode choke. But does anyone have an idea for how to fix this without changing the power supply?
Edit: The common mode choke had little effect. I wrapped a pair of magnet wires around a torroidal ferrite, approximately 24 turns. When the probes are placed before and after the ferrite on the negative line, the signals are identical. ..The signal on the negative line is also identical if I turn off the machine (which disconnects the positive line from the power supply).