Electrical noise solution needed for I2C Arduino LCD

Thread Starter

steward

Joined Jan 21, 2011
53
So far these are a few suggestions I have received: Using a Ferrite core with wires looped around it to cancel noise. How about twisting wires to cancel noise? How about buying & applying 3M shielding tape? How about replacing an existing 4 wire non shielded non twisted pair cable with a top notch Belden 4 wire shielded cable? Beldon tech said 5v & 0V wires should be on one of the twisted pairs & the other 2 are the SDA & SDL twisted within their cable. grounded on just one side of course. https://www.amazon.com/dp/B00MEK4P5A/ref=pe_2640190_232586610_TE_dp_i1
How about custom making an aluminum cover over the rear of the I2C 20,4 LCD & connecting it to the earth or panel ground & covering & grounding any smaller openings with the 3M shielding tape. https://www.digikey.com/products/en...YD-ND 1345 X 1" TAPE COPPER FOIL 25.4X914.4MM

The LCD needs to be located within an inch or two of 240VAC switching electromechanical timer contacts on an existing commercial duty washing machine. I am thinking that the shroud around the rear of LCD is the most relevant solution & not the shielded wiring which consists of vcc (5vdc) gnd sdl & sda to & from the Arduino UNO clone SparkFun RedBoard.

Anybody have success stories on trying to solve I2C LCD noise problems. My prototype in the back room did not have any of the intermittent unexpected characters & blank screen from ambient noise ... but then I also had the specific LCD several inches away from the electromechanical timer. That distance needs to be within an inch or two for real world use of the user friendly backlit 20,4 I2C LCD . We need to keep costs from going out of sight on our very durable older washing machine controls modification project. Any suggestions will be greatly appreciated.
 

BR-549

Joined Sep 22, 2013
4,928
How hard would it be to cap bypass the terminal connections on the mechanical contact switch?

See if that helps.
 

Thread Starter

steward

Joined Jan 21, 2011
53
How hard would it be to cap bypass the terminal connections on the mechanical contact switch?

See if that helps.
I just counted 120 male 1/4" terminal ends on the commercial washing machines electromechanical timer. Cap bypass kind of went over my head ... I would rather go with a simpler solution if at all possible. Also there is very little physical space along side of those 120 terminals.
 

BR-549

Joined Sep 22, 2013
4,928
Wow....never saw one with that many contacts. I was thinking 2 dozen at the most. And guessing maybe 4-6 of those that might cause problems.

I'm not sure if I understand your situation. Have you verified that the interference is coming in on the communication line and not the power line? Can you see it on a scope?
 

JohnInTX

Joined Jun 26, 2012
4,787
You're using an I2C / LCD backpack of some sort?

It's hard to know exactly what's going on but here are some things to think about (I've worked in the laundry retrofit business).

You'll have to consider/deal with radiated / induced and conducted noise. Oversimplified, here are some things to consider:

Radiated noise generated by arcing on the mechanical switch contacts that transmits through the air and picked up in wiring and PCB traces. Radiated noise might be mitigated by putting the LCD into a grounded metal box but you'll need shielding for the wires.

Induced noise can be a problem when you have wires connected to sensitive inputs running alongside or in the same wireway as wires carrying large switched currents. Switching induces currents into the sensitive input wires. Separate the wires.

Conducted noise is picked up somewhere then conducted in the signal wires, fouling the communications. I2c is not differential so the best you can do is shield the wiring and pay attention to what is getting in. The Belden tech's advice is sound. Running the power in a twisted pair will minimize noise from power switching into the adjacent I2C in the same cable. That cable should be shielded. Consider running the I2C in a 3 wire shielded cable.

If you are getting random characters on an I2C LCD, it is likely noise at the LCD pins themselves. It is unlikely that transient noise would generate a valid I2C message. The first thing to look at is transients on the E line. Assuming you're not exceeding max voltages etc, transients on the E line will enter random data into the display. You can test this by breaking E out, putting a message on the display then grounding E to the LCD Vss pin. If you no longer get bad characters, there's your problem. Depending on what's driving E, you can load it with some resistance, add a little RC network etc.

Pay attention to the overall grounding scheme. Signals and Power should have their OWN grounds returning as close as possible to a well-filtered voltage regulator. That means that the I2C signal grounds should be separate from the LCD power and the Arduino power, too, connecting to ground only at the power source.

Once you get all of the hardware quieted down, consider periodic refreshes of the current display in firmware. I am never a fan of such patches on their own but it can be a way out when all else fails.

The main controller should have its watchdog timer enabled and the firmware should be able to effect a restart in mid-cycle, even after power failure.

Good luck!
 
Last edited:

Thread Starter

steward

Joined Jan 21, 2011
53
Yes John, I am using Brainy-Bits.com's backpack with the LCD I used the library they recommended. BR-549, all testing done now for over a year & using the identical sources of power do not produce the noise symptoms that are happening. If I move the whole LCD with the I2C backpack several inches away from those terminals with unshielded wires being at least 2 inches away from the terminals the LCD works perfectly. I need to find a way to keep the ambient electrical noise that seems to the problem when I am within that inch or two need that I originally stated. I know working with an oscilloscope & with the the right skills would make things more certain but I hoping to solve it by trying the aluminum gnd attached shroud, the Beldon shielded cable & the 3M shielded tape mentioned in my first post. In other words I have not had the opportunity to invest in a scope & the training needed to use it at this point in time.
 

be80be

Joined Jul 5, 2008
2,072
I did some boards for dryers they was for taking the money and setting the time. The board worked great
as long as there was no heat. Now the board could set heat and control it but what happen is the pic I used was getting to hot inside the dryer I changed to a better chip.

Heres a video of the coin testing
 

BobaMosfet

Joined Jul 1, 2009
2,113
There is a plastic sheeting you can get specifically for thermal protection around circuits. Put this between your pcb and a sheet of aluminum foil that you have tied to to ground via a wire connection, and see if that doesn't do the job. The aluminum foil should act as an antenna, catching any noise and grounding it.
 

Thread Starter

steward

Joined Jan 21, 2011
53
BobaMosfet,

I did a google search & could not find that specific thermal protective plastic sheeting. Can you link me to that specific sheeting?
 

BobaMosfet

Joined Jul 1, 2009
2,113
BobaMosfet,

I did a google search & could not find that specific thermal protective plastic sheeting. Can you link me to that specific sheeting?
Take a look at Kapton tape and see if maybe it can work for you in some configuration. My description of using aluminum with it may not be accurate, as it's been many years since I heard of this tape. I can't remember if it's conductive or not. I know some conductive tapes are used for EMI shielding, just not sure if Kapton has both properties you want.

http://www.all-spec.com/Catalog/Adh...MIq7eR353a2AIVQh2BCh19mAQDEAQYAyABEgKZGPD_BwE
 
Last edited:

Thread Starter

steward

Joined Jan 21, 2011
53
I have my Arduino ground commons connected to the Arduino Uno's boards three ground pins with a recommended star pattern. I am using the Atmel 325p's internal pullup resistors to avoid grounding loops.
I did not put those specific grounds with the machines earth ground unless it happens within the power supplies. I use a 12vdc pwr supply to power the Redboard & a 5vdc pwr supply for the 8 external relay bank following the 8 relay bank's recommended isolating technique on its schematic.
 

BobaMosfet

Joined Jul 1, 2009
2,113
If we back up a bit, if you haven't solved the problem, I think it is worth noting that you need to determine if your problem is EMI, or simply noise through ground. People think that ground magically holds to zero (relative to the other voltages in the circuit), when in fact it doesn't. Ground is a reference pint upon which every other switching, bias, and possible signal bump is imprinted from the rest of the circuit.

When you say you have no issues with your PCB farther away from the 240VAC switching mechanism, does this mean you've attached it elsewhere, or simply left it attached in the same way, but physically pulled the PCB away from the 240VAC mechanism, and moved it back, in order to register this interference? My initial assumption was EMI, but perhaps your noise is through ground, in which case you could filter it. 240VAC is a low-frequency signal, relatively-speaking, and should be easy to attenuate.
 

Thread Starter

steward

Joined Jan 21, 2011
53
If we back up a bit, if you haven't solved the problem, I think it is worth noting that you need to determine if your problem is EMI, or simply noise through ground. People think that ground magically holds to zero (relative to the other voltages in the circuit), when in fact it doesn't. Ground is a reference pint upon which every other switching, bias, and possible signal bump is imprinted from the rest of the circuit.

When you say you have no issues with your PCB farther away from the 240VAC switching mechanism, does this mean you've attached it elsewhere, or simply left it attached in the same way, but physically pulled the PCB away from the 240VAC mechanism, and moved it back, in order to register this interference? My initial assumption was EMI, but perhaps your noise is through ground, in which case you could filter it. 240VAC is a low-frequency signal, relatively-speaking, and should be easy to attenuate.
If one of the three star arranged grounds on the Arduino Redboard Uno is getting noise ... I suppose a very expensive oscilloscope is the only way to 100% be really able tp verify that??? I am not using the absolute cheapest wall bricks (almost though) for regulated power supplies from Amazon. Also, I did try a low cost Woods cat # 411 wall adapter transient voltage suppressor ... it did not help.
 
Top