Problem with LCD display, electromagnetic noise

Status
Not open for further replies.

motomanxd

Newbie level 4
Joined
May 19, 2015
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
52
Hello,

I use this LCD display: http://www.artronic.com.pl/o_produkcie.php?id=684

Electromagnetic noise emitted by piezo ignition causes image disappear from the screen. Sometimes image disappears from all 3 segments (there are 3 chips, each 64x64 pixels), sometimes image disappears from one or two segments. It is enough to call displayOn() function to cause the image appear on the screen again - I do not need to redraw graphics. In my program, I call displayOn() in infinite loop, so the image appears automatically.

Please, see the film:

I would be glad, if you could suggest me what probably the problem is (in what way noise influences the LCD that the image disappears) and what I can do to improve immunity of the display. I think that a tip is that noise causes the image disappears and displayOn() cause the image appears again.

In my film, the display is without a case. But when I close metal case, the situation is a little bit better, but it does not solve the problem.


My displayOn():
Code:
#define DISPLAY_TURN_ON_OFF          0x3E
#define DISPLAY_SET_Z_ADDRESS        0xC0

void displayOn() {
    cbi(RS_OUTPUT_PORT, RS_OUTPUT_PIN);
    cbi(RW_OUTPUT_PORT, RW_OUTPUT_PIN);

    cbi(CSA_OUTPUT_PORT, CSA_OUTPUT_PIN);
    cbi(CSB_OUTPUT_PORT, CSB_OUTPUT_PIN);

    writeCommand(DISPLAY_TURN_ON_OFF | 0x01);
    writeCommand(DISPLAY_SET_Z_ADDRESS | 0x00);

    sbi(CSA_OUTPUT_PORT, CSA_OUTPUT_PIN);
    cbi(CSB_OUTPUT_PORT, CSB_OUTPUT_PIN);
    writeCommand(DISPLAY_TURN_ON_OFF | 0x01);
    writeCommand(DISPLAY_SET_Z_ADDRESS | 0x00);

    sbi(CSB_OUTPUT_PORT, CSB_OUTPUT_PIN);
    cbi(CSA_OUTPUT_PORT, CSA_OUTPUT_PIN);
    writeCommand(DISPLAY_TURN_ON_OFF | 0x01);
    writeCommand(DISPLAY_SET_Z_ADDRESS | 0x00);
}

void writeCommand(uint8_t cmd) {
    busyWait();
    cbi(RS_OUTPUT_PORT, RS_OUTPUT_PIN);
    cbi(RW_OUTPUT_PORT, RW_OUTPUT_PIN);
    DATA_OUTPUT_PORT = cmd;
    sbi(EN_OUTPUT_PORT, EN_OUTPUT_PIN);
    delay();
    cbi(EN_OUTPUT_PORT, EN_OUTPUT_PIN);
}
 

I wanted to add that electromagnetic noise does not distort the graphics (no undesired pixels appear, no pixels disappear - the image is exactly as it should be). From this it follows that interference does not affect the signals E, RS, CSA, CSB, PB0-PB7. Thus, the PCB is correct. Interference causes only that the image disappears from the display (and it is easy to cause it appears again by calling displayOn()).

And one more thing. I added reading status of the LCD in infinite loop. Normally bit number 5 is 0 (it means DISPLAY ON). Because of noise made with the gun, when the image disappears, bit numer 5 changes to 1 (DISPLAY OFF) for some short time. What does it mean?
 
Last edited by a moderator:

The test I did today.

First, the LCD was connected to a microcontroller with a signals tape. I sent graphics to the LCD. Then I disconnected the signals tape - the LCD was not connected to any circuit (power supply for the LCD was a battery). After that I did test with electromagnetic noise.

Please, watch a film: https://youtu.be/BI6yHHnOMIU

As you can see, graphics disappears from segments (there are three KS0108 chips on the LCD - each for 64x64 pixels) I approach the blue wire to.

Back of the LCD (the PCB with pull-down resistors for each signal, some capacitors for RST and power supply, contrast resistor) for this test: https://youtu.be/RJFNKu8pqLY

Any suggestions? Thanks in advance for your help.
 

It looks like the the induced noise resets the KS0108 chips. Screen goes off but the memory contents remains, so after you call displayOn the stored image reappears. Probably the display module does not have enough protection on the reset line of the KS0108.
 

What happens if the piezo ignition system is far away from the LCD? Does LCD display disappear or not?
Is there an electrical link between piezo ignition and the LCD?
 

What happens if the piezo ignition system is far away from the LCD? Does LCD display disappear or not?
Is there an electrical link between piezo ignition and the LCD?


Hi,

In my film, the piezo ignition system is far away (more than 20cm) form the LCD. Then I approached the blue wire (which is a part of the piezo ignition system) to the LCD. The image dissapeared when the blue wire was about 4-5mm from LCD's front. The piezo ignition system is not electrically linked to LCD.

 

Spark generated by ignition systems are able to induce significant level of noise, so that the reset on display that you are experiencing is somewhat absolutely normal, expected to occur not only on your display, but to many other boards not properly designed to operate under noisy environments.
 

Andre_teprom is right. May be other components are not designed under noisy conditions. You may check this out by keeping the distance between LCD and other components large enough so that noise does not affect the other components except LCD.
 

I guess the piezo ignition test is intented to simulate noise that can be expected in real life in your instrument's vicinity, e.g. eletrostatic discharge events. Your test shows that a usual graphic (or alphanumeric) display is far from being immune against external influence.

I believe every instrument designer who is required to do EMI tests knows this well. Metal cases, well considered grounding and a protective front window for the display are ususally required to comply with EMI standards.

At the end of the day, after implementing your protection measures, there may be still a temporary function loss caused by strong ESD events. The EMI standards (IEC 1000-4-2) require that your instrument will recover from it without user interaction, so monitoring the display state in software can be a possible solution.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…