PIC och OLED

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

PIC och OLED

Inlägg av Fredrick »

Jag mäter temperaturen med en DS1820 och visar resultatet med en OLED (se bild) problemet är bara den att den visar rätt temperatur i en sekund sedan fylls hela displayen med treor ("3") och nästa sekund visar den rätt temperatur igen och så håller det på som det vore en loop.

Kör jag in "Hello World" programmet i PICen så är allt normalt, men inte med temperatur programmet och nu till det roliga.... om jag sätter mitt finger på OLED´ens Enable pin så blir allting normalt med temperatur programmet. Det är inte en dålig lödning för det spelar ingen roll på vilken av de tre anslutningarna på OLED´n som jag sätter fingret på sålänge jag sätter fingret på Enable.

Är det något som stör min OLED och som stabiliseras när jag sätter fingret på Enable?

Någon idé på vad jag kan göra åt saken, vill helst att det skall fungera utan finger? :D

Bild
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Och vart är E kopplat ?
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Till PORTB.3 på en PIC16F872

OLED´n har en HD44780 kontroller krets
peter555
Inlägg: 6047
Blev medlem: 12 februari 2006, 10:02:22

Inlägg av peter555 »

Det kan inte vara så att du sätter PORTB.3 som ingång med jämna mellanrum ?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Programvarufel.
Lösning: Kolla programvaran... :roll:
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Koden är ok...

Jag kopplade in oscilloskopet men så fort jag sätter mätpinnen i mot Enable så fungerar displayen normal och det ser normalt ut, jag hinner alltså inte ansluta jord innan den fungerar??? :shock: :shock:
peter555
Inlägg: 6047
Blev medlem: 12 februari 2006, 10:02:22

Inlägg av peter555 »

Det tyder på att den är satt som ingång.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Men den är inte satt som ingång.......
peter555
Inlägg: 6047
Blev medlem: 12 februari 2006, 10:02:22

Inlägg av peter555 »

Ett annat alternativ kan vara att du lägger ut för korta pulser.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Har redan prövat den teorin...

Hur låga kablar kan man ha ifrån PIC´en till LCD´n och ställs det något krav på vad för kabel det skall vara?

Just nu är det vanlig flatkabel ifrån en gammal PC på 40cm
peter555
Inlägg: 6047
Blev medlem: 12 februari 2006, 10:02:22

Inlägg av peter555 »

Kabeln bör inte vara något problem, jag är 99% säker på att det är ett mjukvarufel.
BJ
Inlägg: 8864
Blev medlem: 11 april 2007, 08:14:53
Ort: En_stad

Inlägg av BJ »

Jag hade problem med kablarna till en oled-skärm en gång. Inte så mycket som du, men lite i alla fall.
Jag hade lösa trådar till den. Det blev störningar från dataledningarna så att den skrev dubbelt ibland.
Störningarna påverkade tydligen E så att den trodde att den fick riktiga signaler.
Jag satte en ic-krets alldeles intill skärmen, och så fick styrsignalerna gå genom den. Då fungerade det.
Så dom verkar vara lite känsliga.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

peter555 skrev:Kabeln bör inte vara något problem, jag är 99% säker på att det är ett mjukvarufel.
Nej. tror inte det...


Kan en lösning vara att sätta ett motstånd på några megaohm mellan E och jord, för det behövs ju väldigt lite för att den skall fungera.
Fredrick
Inlägg: 342
Blev medlem: 9 januari 2004, 23:12:33

Inlägg av Fredrick »

Provade precis att dra en kort kabel direkt ifrån Enable till PORTB.3 pinnen på PIC´en och då fungerar det. har även provat att byta Enable pinne till en annan utgång för att utesluta glapp i kabel eller i någon lödning.

Detta utesluter väl mjukvarufel iallafall???

Så dessa OLED´s verkar vara mycket kännsliga. vad skall man göra för att köra med längre kabel, iallafall över 20 cm..
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Kolla flanker

Inlägg av Swech »

Det kan ju vara inbördes förskjutning av sigalerna som spökar.
Alltså inte din längd av själva E signalen utan när den kommer i
förhållande till andra t.ex r/w ....
När du sätter på en lång kabel blir det fördröjningar och flankerna blir
lite sisådär, jordar du då med ditt finger försvinner säkert en del reflektioner
och displayen funkar igen.
Prova att justera tiderna MELLAN de olika signalerna :) lägg en paus
från det att du trixar med E tills dess att de övriga signalerna ändras...

Det kan alltså vara lömskt att signalerna kommer för fort inbördes trots att man har signaler som är flera millisekunder långa

Swech
Skriv svar