OLED Display Noise problem


Closed Thread
Results 1 to 25 of 25

Hybrid View

  1. #1
    Join Date
    Dec 2012
    Location
    Türkiye
    Posts
    103


    Did you find this post helpful? Yes | No

    Default Re: OLED Display Noise problem

    I tried adding pause 100 command right after the lcdout commands but the noise only got lowered just a little .. This is definitely not normal .. But when I apply 1000 ms of delay it almost stops making noise on the screen(there is still a little) ... But It musn't be that bad .. It is an oled and the datasheet claims parameters for write/read around nanosecs .. Where do I do the mistake ? , May it have anything to do with the LCD or a defective circuit component ... On the other hand I think It musn't have because It can display chars succesfully with a huge amount of delay periods ...
    - Ipsa scientia potestas est -

  2. #2
    Join Date
    Sep 2009
    Posts
    755


    Did you find this post helpful? Yes | No

    Default Re: OLED Display Noise problem

    That sound to me as bad PCB design and/or power supply. But sill could be bad LCD driver.
    If long delays make artifact disappear, then capacitive coupling between LCD signals and power lines can cause that.
    You can try test that. Add pull down resistor 1K to LCD Enable pin, and create easy way to disconnect LCD and resistor from PIC, as close as possible to LCD.
    Code:
    pause 500
                            
    lcdout $FE,$28
    lcdout $FE,$17
    lcdout $FE,$06
    lcdout $FE,$08
    lcdout $FE,$01
    lcdout $FE,$02
    lcdout $FE,$0C
    
    lcdout $FE,$80,"BU BiR DENEMEDiR"
    LCDOUT $FE,$C0,"  iKiNCi SATIR  "
    PAUSE 10000' Disconnect only LCD enable pin before pause timeout
    Main:
    lcdout $FE,$80,"BU BiR DENEMEDiR"
    LCDOUT $FE,$C0,"  iKiNCi SATIR  "
    GOTO Main
    Display shouldn't update any more. If you see dots then 99% problem is with PCB layout, and decoupling.
    If there is no dots on LCD then problem is with LCD.

  3. #3
    Join Date
    Dec 2012
    Location
    Türkiye
    Posts
    103


    Did you find this post helpful? Yes | No

    Default Re: OLED Display Noise problem

    Quote Originally Posted by pedja089 View Post
    That sound to me as bad PCB design and/or power supply. But sill could be bad LCD driver.
    If long delays make artifact disappear, then capacitive coupling between LCD signals and power lines can cause that.
    You can try test that. Add pull down resistor 1K to LCD Enable pin, and create easy way to disconnect LCD and resistor from PIC, as close as possible to LCD.
    Code:
    pause 500
                            
    lcdout $FE,$28
    lcdout $FE,$17
    lcdout $FE,$06
    lcdout $FE,$08
    lcdout $FE,$01
    lcdout $FE,$02
    lcdout $FE,$0C
    
    lcdout $FE,$80,"BU BiR DENEMEDiR"
    LCDOUT $FE,$C0,"  iKiNCi SATIR  "
    PAUSE 10000' Disconnect only LCD enable pin before pause timeout
    Main:
    lcdout $FE,$80,"BU BiR DENEMEDiR"
    LCDOUT $FE,$C0,"  iKiNCi SATIR  "
    GOTO Main
    Display shouldn't update any more. If you see dots then 99% problem is with PCB layout, and decoupling.
    If there is no dots on LCD then problem is with LCD.
    Well ;

    I did exactly as you asked me to do and as you say it's got to do with the lcd then ...
    - Ipsa scientia potestas est -

  4. #4
    Join Date
    Oct 2009
    Posts
    583


    Did you find this post helpful? Yes | No

    Default Re: OLED Display Noise problem

    Quote Originally Posted by gunayburak View Post
    Well ;

    I did exactly as you asked me to do and as you say it's got to do with the lcd then ...
    I don't have the same chip, but used an 18F4580 with a 2 x 16 LCD and just changed the lines to run the LCD from port B to suit the EasyPIC5 development board and I don't get any strange random pixels and I'm running the chip at 20Mhz so the switching is much faster, so it would suggest that it is your hardware that is at fault.

    Code:
    ASM 
      __CONFIG    _CONFIG1H, _OSC_HS_1H
      __CONFIG    _CONFIG2L, _PWRT_ON_2L  
      __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
      __CONFIG    _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H  
      __CONFIG    _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L
    ENDASM
    
    
    DEFINE  OSC 20    
    
    DEFINE LCD_DREG  PORTB                  ' LCD Data port
    DEFINE LCD_DBIT  0                      ' starting Data bit (0 or 4)
    DEFINE LCD_EREG  PORTB                  ' LCD Enable port
    DEFINE LCD_EBIT  5                      '     Enable bit  (on EasyPIC 5 LCD)
    DEFINE LCD_RSREG PORTB                  ' LCD Register Select port
    DEFINE LCD_RSBIT 4                      '     Register Select bit   (on EasyPIC 5 LCD)
    DEFINE LCD_BITS  4                      ' LCD bus size (4 or 8 bits)
    DEFINE LCD_LINES 4                      ' number of lines on LCD
    DEFINE LCD_COMMANDUS 2000               ' Command delay time in us 
    DEFINE LCD_DATAUS 50                    ' Data delay time in us 
    
    '-------------------------------------------------------------------------------
    PORTA=%00000000     :      PORTB=%00000000
    TRISA=%00000000     :      TRISB=%00000000 
    'ADCON0=%00000001    :      ADCON1=%10110000
    'ANSELA=%00000       :      ANSELB=%00000000
    'OPTION_REG.7=0     
    '-------------------------------------------------------------------------------                                 
    
    
    pause 500
                            
    lcdout $FE,$28
    lcdout $FE,$17
    lcdout $FE,$06
    lcdout $FE,$08
    lcdout $FE,$01
    lcdout $FE,$02
    lcdout $FE,$0C
     
    MAIN:
                  
    lcdout $FE,$80,"BU BiR DENEMEDiR"
    LCDOUT $FE,$C0,"  iKiNCi SATIR  "
    
    goto main

    Replaced the 20Mhz with a 4Mhz xtal and recoded and the display was fine.

  5. #5
    Join Date
    Dec 2012
    Location
    Türkiye
    Posts
    103


    Did you find this post helpful? Yes | No

    Default Re: OLED Display Noise problem

    Quote Originally Posted by Scampy View Post
    I don't have the same chip, but used an 18F4580 with a 2 x 16 LCD and just changed the lines to run the LCD from port B to suit the EasyPIC5 development board and I don't get any strange random pixels and I'm running the chip at 20Mhz so the switching is much faster, so it would suggest that it is your hardware that is at fault.

    Code:
    ASM 
      __CONFIG    _CONFIG1H, _OSC_HS_1H
      __CONFIG    _CONFIG2L, _PWRT_ON_2L  
      __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_512_2H
      __CONFIG    _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H  
      __CONFIG    _CONFIG4L, _LVP_OFF_4L & _XINST_OFF_4L
    ENDASM
    
    
    DEFINE  OSC 20    
    
    DEFINE LCD_DREG  PORTB                  ' LCD Data port
    DEFINE LCD_DBIT  0                      ' starting Data bit (0 or 4)
    DEFINE LCD_EREG  PORTB                  ' LCD Enable port
    DEFINE LCD_EBIT  5                      '     Enable bit  (on EasyPIC 5 LCD)
    DEFINE LCD_RSREG PORTB                  ' LCD Register Select port
    DEFINE LCD_RSBIT 4                      '     Register Select bit   (on EasyPIC 5 LCD)
    DEFINE LCD_BITS  4                      ' LCD bus size (4 or 8 bits)
    DEFINE LCD_LINES 4                      ' number of lines on LCD
    DEFINE LCD_COMMANDUS 2000               ' Command delay time in us 
    DEFINE LCD_DATAUS 50                    ' Data delay time in us 
    
    '-------------------------------------------------------------------------------
    PORTA=000000     :      PORTB=000000
    TRISA=000000     :      TRISB=000000 
    'ADCON0=000001    :      ADCON1=110000
    'ANSELA=000       :      ANSELB=000000
    'OPTION_REG.7=0     
    '-------------------------------------------------------------------------------                                 
    
    
    pause 500
                            
    lcdout $FE,$28
    lcdout $FE,$17
    lcdout $FE,$06
    lcdout $FE,$08
    lcdout $FE,$01
    lcdout $FE,$02
    lcdout $FE,$0C
     
    MAIN:
                  
    lcdout $FE,$80,"BU BiR DENEMEDiR"
    LCDOUT $FE,$C0,"  iKiNCi SATIR  "
    
    goto main

    Replaced the 20Mhz with a 4Mhz xtal and recoded and the display was fine.
    What can I say .. I am so unlucky with these OLEDs .. But thanks for your effort anyway ..
    - Ipsa scientia potestas est -

  6. #6
    Join Date
    Dec 2012
    Location
    Türkiye
    Posts
    103


    Did you find this post helpful? Yes | No

    Default Re: OLED Display Noise problem

    Today a new EA OLED display has arrived yet the same problem still occurs ... There might be a picbasic incompatibility with the lcd because my connections are exactly the same with the code I shared , nothing more nothing less ..
    - Ipsa scientia potestas est -

  7. #7
    Join Date
    Oct 2009
    Posts
    583


    Did you find this post helpful? Yes | No

    Default Re: OLED Display Noise problem

    Looking at the data sheet, by default it's in 4/8 bit mode so should work the same way as a normal 2 x 16 LCD display. The only suggestion to prove if the OLED is part of a faulty batch would be to run the code above on a different PIC (18F4580 or the good old 16F877A) - If that works then the problem would appear to be with the original pic, if the OLED still gives odd pixels then its the display and I would send them back for a refund and order from a different supplier

Similar Threads

  1. Winstar OLED Display Problem with lcdout comands
    By bubbleless in forum mel PIC BASIC Pro
    Replies: 32
    Last Post: - 31st December 2019, 05:53
  2. Help With OLED Display / 128X64 SSD1306
    By Denner in forum General
    Replies: 6
    Last Post: - 25th May 2013, 15:40
  3. Problem with GOSUB/GOTO and Newhaven OLED question
    By Christopher4187 in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 12th April 2013, 10:24
  4. Pretty Sure a Noise Problem
    By Tobias in forum General
    Replies: 3
    Last Post: - 10th December 2009, 00:46
  5. OLED 128x128 color display
    By Ron Marcus in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 21st May 2007, 01:45

Members who have read this thread : 0

You do not have permission to view the list of names.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts