Forum: Mikrocontroller und Digitale Elektronik Sinnlose Probleme mit LCD...


von Sonne (Gast)


Lesenswert?

Hallo,
ich benutze ein LCD Display mit HD44780 Baustein. Ich habe die
entsprechende Software geschrieben und das Display laufen gelassen. Es
lief eigentlich alles einwandfrei. Eines tages ging es nicht mehr, es
zeigte nur noch schwarze Balken im ersten Zeile (2x16). Ich habe sofort
an Softwarefehler gedacht. Tagelang habe ich mich gequält und mit der
Software herurumgefummelt. Plötzlich ohne irgendeine logische Erklärung
und mit der gleichen Software, die das Display eines Tages nicht mehr
lief, ging es wieder.
Jetz geht es noch mal nicht...Das ist komplett merkwürdig. Mit der
Software, der Display gestern hervorragend funktioniert hat, kann man
heute nichts mehr anfangen. Manchmal sieht man komplett komische
Zeichen... Die Cursorposition und die Anordnung ändert sich zufällig
und das Display gibt Zahlen die für mich keine Bedeutung haben, wie er
will...  Manchmall nur schwarze Balken und manchmall gar nichts wird
angezeigt...Und alles ohne irgendeine Änderung in der gleichen
Software.
An Harwarefehler habe ich deshalb auch gedacht und deswegen habe ich
noch 2 Stück das gleiche Display gekauft aber ohne Erfolg. Wenn das
Problem mit der µC wäre, musste ja er immer auftreten.
Wenn ich den µC ausser LCD Zwecke benutze, funktioniert alles
fehlerfrei...
Ich habe keine Löt- oder Kurzschlussproblem... Wo kann das Problem
liegen? Mein µC ist ein 8-Bit SAB80C537 und das Display ist von
pollin.de. Ich weiß es nicht was ich noch sagen kann...
Für jede Hilfe würde ich sehr Dankbar.
MfG

von Dirk (Gast)


Lesenswert?

Hi,

benutzt du das Busy-Flag oder Warteschleifen? Bei Warteschleifen
solltest du die Zeiten nochmal prüfen.

Vielleicht liegt es auch daran das deín Stack Überlaeuft....

Mfg
Dirk

von Jens123 (Gast)


Lesenswert?

nur eine zeile hoert sich nach einem problem bei der initalisierung
an..

und wenn es dann auch komplett schwarz ist dass der spannungsteiler von
der kontrast spannung einen hau weg hat..

alles sehr merkwuerdig..

villeicht aber auch nur ein bloeder fehler im programm

versuch dennoch mal einen anderen µC

von Mr_Boertsch (Gast)


Lesenswert?

Probleme entstehen auch, wenn die LCD Routinen von interrupts
unterbrochen werden, welche auch auf die LCD Routinen zugreifen.

Reentrerency ist das Stichwort und sollte vermieden werden. Jedoch
scheint mir dein Problem Grundlegenderart zu sein. Wie Dirk sagt. Die
Wartezeiten lieber etwas länger machen, als knapp.

mfg
Börtsch

von Sonne (Gast)


Lesenswert?

Hallo Dirk,
die Antwort lautet sowohl als auch... Normalerweise lief das Dispaly
mit oder ohne Busy-Flag. Jetzt läuft aber nichts mehr, mit oder ohne
BF. Ich bin kein Profi aber was meinst du mit Stacküberlauf und es ist
ja schonmal wunderbar funktioniert.Wenn also der Stack überläuft, warum
nicht gestern und jetzt?
MfG

von Stefan (Gast)


Lesenswert?

verwendest du die gleichen Verbindungskabel oder Platine(z.B.
µController Platine) für beide Displays -> kalte lötstelle...
Wackelkontakt...

von Sonne (Gast)


Lesenswert?

Ich habe auch sofort an Wartezeiten gedacht und diese sofort geändert.
fast nach jedem Befehl warte ich mindestens 15 ms und am Anfang der
Initialisierung etwa 45ms...geht trotzdem nicht.

von Mr_Boertsch (Gast)


Lesenswert?

hmmm....

Kannst du mal deinen Code anhängen?

von Sonne (Gast)


Lesenswert?

hallo stefan,
ich habe an dem Kabel nichts geändert, habe nur ein µC, Wackelkontakt
habe ich nicht und wenn es kalte Lötstellen gäbe, würde ich ja von
Anfang an Probleme kriegen.. Es ist aber nicht so
MfG

von Dirk (Gast)


Lesenswert?

Hi,

Stack Overrun ist solch eine Sache .... am besten das Programm
Simulieren. Einige Simulatoren zeigen Stack Fehler an.

Da ich deinen µC nicht kenne hab ich noch ein Tipp ins blaue:

Ist deine VCC gefiltert (100nF am µC) ??

Mfg
Dirk

von Sonne (Gast)


Lesenswert?

@Mr_Boertsch,
der Code sieht so aus;

#include <reg52.h>
#include <string.h>
#include <stdio.h>

typedef unsigned char UChar;
typedef unsigned int  UInt;
typedef unsigned long ULong;

sfr  P4      = 0xe8;
sfr  P5      = 0xF8;
sbit P4_0    = P4^0;
sbit LCD_RS  = P4^1;
sbit LCD_R_W = P4^2;
sbit LCD_ENB = P4^3;
sbit BF      = P5^7;

void command(UChar);
void display(UChar *);
void display_Var(UChar);
void msDelay(UInt);
void Delay(void);
void CursorPosition(UChar);

/*================== MAIN ====================*/
void main(void)
{
UChar Impuls;
P4_0   = 1;



                              /*======= Display Initialisation....
========*/
    msDelay(15);
  command(0x38);     //0 0 0 0 1 DL N F   Sets interface data length
(DL=1) 8 Bit,
    msDelay(2);
  command(0x38);    //number of display line 2 (N=1) and character
font(F=0).
    msDelay(2);
  command(0x38);
    msDelay(2);
  command(0x0C);   //Display On/Off and settings control (40uS)
  command(0x01);   //Clears display and returns cursor to the home
position (1.64mS)
      Delay();
while(1)                                /*======== Display Befehle
=========*/
  {
  Impuls = P4_0;
   CursorPosition(0x81);
display("I=");
CursorPosition(0x86);
  if(Impuls == 1)
 { display_Var(0x31);}
  else
 { display_Var(0x4F); }
   }
}
/*===============COMMAND==============================*/
void command(UChar cmd)
{
 P5 = cmd;
                  //Register Select = 0; Data is to be treated as a
command or
LCD_RS  = 0;         //  special instruction, such as Clear Screen,
Position Cursor, etc..
          //Register Select RS = 1; Data being sent is text data which
should
                     // be displayed on the screen.
LCD_R_W = 0;      //Control Line R/W = 0; (WRITE) the information on
the
                     //  data bus is being written to the LCD.
          //R/W = 1; (READ) the program is effectively reading the LCD.
             //  Only one instruction ("Get LCD status") is a read
command.
LCD_ENB = 1;      //Data transfer action
LCD_ENB = 0;
}
/*================DISPLAY_VARIABLE=========================*/
void display_Var(UChar Impuls)
{
     Delay();
     P5 = Impuls; //[count];

   LCD_RS = 1;
     LCD_R_W = 0;
     LCD_ENB = 1;
     LCD_ENB = 0;
}
/*================DISPLAY==============================*/
void display(UChar *msg)
{
 UInt count;
 for (count=0; count <= strlen(msg)-1; ++count)
     {
       if(count == 16)
            command(0xc0);
       Delay();
       P5 = msg[count];
        LCD_RS  = 1;
      LCD_R_W = 0;
        LCD_ENB = 1;
        LCD_ENB = 0;
      }
}
/*==================MSDELAY=============================*/
void msDelay(UInt msec)
{
UInt cntr_1, cntr_2;
  for (cntr_1 = 1; cntr_1 <= msec; ++cntr_1 )
     {
      for ( cntr_2 = 1; cntr_2 <= 1000; ++cntr_2);
     }
}
/*================DAS MINIMUM DELAY================================*/
void Delay(void)
 {
    Next:
    LCD_ENB = 1;
    LCD_RS  = 0;
    LCD_R_W = 1;   //"Get LCD status" is a read command.
    P5 = 0xFF;
      while(BF)
      goto Next;
    LCD_ENB = 0;
    LCD_R_W = 0;
 }
/*=================CURSOR_POSITION============================*/
void CursorPosition(UChar CurPos)
   {
       Delay();
    LCD_ENB = 1;
    LCD_RS  = 0;
    P5 = CurPos;
    LCD_ENB = 0;
   }

@Dirk,
Ich benutze ein µC (Infineon SAB80C537 8-Bit) von Phytec Messtechnik
GmbH. deshalb nehme ich an daß sie in dem Entwicklungsboard, daran
gedacht haben. Mit der Simulation muß ich mich noch einarbeiten...
MfG

von Mr_Boertsch (Gast)


Lesenswert?

Ich nehme mal an, dein Prozessor läuft mit 1Mhz?

von Mr_Boertsch (Gast)


Lesenswert?

Es kann auch sein, das dein Enable zu kurz auf 1 ist.

mach doch ein paar NOP's rein.

von Sonne (Gast)


Lesenswert?

Hallo Leute,
was ich noch gemerkt habe; der Displaykontrast kann ich nicht ändern!
egal welche Potiwert ich zwischen Pin2 und Pin3 benutze, oder aber gar
kein Widerstand(also gar keine Verbindung zwischen 2 und 3, direkte
Anschluss von -5V an Pin3), das Kontrast ändert sich gar nichts! Kann
so etwas die Ursache sein? Wo mache ich denn Fehler? Aussrdem die
Hintergrundbeleuchtung habe ich auch nicht angeschlossen.
MfG

von Sonne (Gast)


Lesenswert?

Hi Mr_Boertsch,
ich habe eine Warteschleife von 2 ms für Enable eingegeben und es hat
sich nichts geändert.
Gruß

von simon (Gast)


Lesenswert?

@Sonne
Du hast Gülle auf Deiner VCC! Wenn Du ein Oszi hast schau Dir mal die
Versorgungsspannung für Dein Display an. Grob geschätzt würde ich
raten, dass Du einen Brückengleichrichter hinter einem Trafo hast und
dann ein 7805 oder sowas kommt. Ich denke eine Diode im GL ist platt.

von Mr_Boertsch (Gast)


Lesenswert?

msDelay(18);
command(0x30);
msDelay(5);
command(0x30);
msDelay(2);
command(0x30);
msDelay(2);
command(0x3A);
command(0x3A);
command(0x01);
command(0x03);
Delay();



was passiert wenn du diese Init verwendest?

von Sonne (Gast)


Lesenswert?

Hallo Simon,
ich glaube, daß deine Antwort die richtige Weg zur Lösung ist. :-)Aber
moment! was meinst du mit Gülle auf der VCC? Welche VCC meinst du, den
von µC Board die Spannung, von LCD den +VCC oder oder von LCD -VCC? und
was ist ne Gülle?
Ausserdem wenn ich mit der Versorgungsspannung von LCD irgendetwas
ändere, manchmall wird der Treiber richtig heiß... obwohl ich gar keine
Kurzschluss sehe...
Für LCD Spannungsversorgungen habe ich so gemacht. +5 Volt habe ich
direkt aus dem +5V Pin auf dem µC genommen und den GND habe ich ebenso
aus dem Board. Für -5 Volt habe ich folgendes gemacht;
Ein zusätzliche Netzteil von 5 Volt genommen. Von diesen Netzteil, die
Pluspole an den GND von µC angeschlossen und die Minuspole als -5 VCC
für das LCD benutzt.
Und bisher hatte es eigentlich funktioniert. Ist das Problem bei der
Stromversorgung von der µC Board oder von dem extern angeschlosenen -5
Volt Versorgung?
Danke dir für dein Vorschlag...
Aber ich brauche noch einige, glaube ich
MfG

von Benedikt (Gast)


Lesenswert?

Höchstwarscheinlich hast du beide LCDs geschossen.
Liegt -5V an wenn Vcc noch nicht anliegt -> LatchUp -> 44780 bzw.
Treiber kaputt
Mess mal den Strom am -5V Eingang und an Vcc. Fließen hier einige 10mA
-> neues LCD kaufen

von Sonne (Gast)


Lesenswert?

Hallo Mr_Boertsch,
ich habe dein Initialisationsvorschlag probiert und es hat sich leider
nichts geändert. Ich glaube das Problem ist etwas mit der
Stromversorgung... Das Display ändert sich gar nichts ausser schwarze
Balken, manchmal gar keine Balken und manchmal eine Mischung aus
halbdunkle  und dunkle Balken...
Etwas mit der Stromversorgung, etwas mit der Gülle? Was ist ne Gülle
überhaupt?
Gruß

von Sonne (Gast)


Lesenswert?

Hallo Benedikt,

Liegt -5V an wenn Vcc noch nicht anliegt -> LatchUp

Das stimmt ganz genau. Ich habe immer so gemacht...Du meinst somit sind
die Treiber kaputt...Ausserdem habe ich die Strommessungen gemacht. Das
Ergebnis ist ; an -VCC läuft 3mA  und an +VCC läuft 0.75 A.
Wenn der Treiber kaputt ist,warum hat es bisher ohne Fehler
funktioniert? Oder manchmal einwandfrei und manchmal GAR
NICHTS...funktioniert.
Ich glaube wir haben langsam die Lösung...
MfG

von Mr_Boertsch (Gast)


Lesenswert?

Naja. hätte ja sein können. aber ich vermute auch das irgendwo störungen
vorhanden sein müssen.

Gülle ist übrigens ein Synonym von Jauche. So zusagen Kuhmist.

von Stefan (Gast)


Lesenswert?

Die Latchup-Probleme hatte ich auch schon. Seitdem kommt bei mir ein
Serienwiderstand von 100Ohm in die Vcc-Leitung zum LCD-Display um den
Strom zu begrenzen.

von ubootfanat (Gast)


Lesenswert?

Zitat: und an +VCC läuft 0.75 A.

was für ein Display hast denn du da!!

Überleg mal: P = U*I = 5V * 0.75A = 3,75W!!!

von tex (Gast)


Lesenswert?

-5V am LCD? Sowas gibt es? Wofür?
Frage andersrum. Meine drei LCDs kommen alle mit +5V aus. warum der
Mehraufwand, wenn es ohne geht?

von Sonne (Gast)


Lesenswert?

@ubootfanat
eben... da stimmt etwas auf keinen Fall. Ich möchte aber die Ursache
auf jeden Fall wissen damit ich nächstes mal nicht die gleiche Fehler
mache. Das hier ist mein 3. Display...
Noch ein Paar Display will ich nicht mehr schlachten. Sollte ich auch
Serienwiderstand von 100Ohm in die Vcc-Leitung zum LCD-Display benutzen
 um den Strom zu begrenzen. (Wie der Stefan gemacht hat.)
Oder sollte ich von Anfang an etwas noch vernünftig machen?
Ausserdem habe ich zwischendurch in meinem µC irgendeine Störung
verursacht? Kann das sein daß er auch etwa eine Gülle hat?
MfG

von Sonne (Gast)


Lesenswert?

@tex
-5V am LCD? Sowas gibt es? Wofür?

Also tex, ohne -5V hatte ich noch nicht mal ein einziges Zeichen auf
dem Display gekriegt... mein Display hat ne HD44780 Baustein. Wie ist
es bei dir?
Gruß

von tex (Gast)


Lesenswert?

Ich habe
0V
+5V
Kontast, der was zwischen 0 und 5 V sein soll, macht ein spnnungsteiler
bei mir
einen Haufen Datenbits (8?)
noch irgendwas
und - und 0 für die Beleuchtung.

Ich meine es ist ein HD44780 bin aber nicht sicher, ist aber wohl der
verbreitetste?

Gülle ist übrigens ein anderes Wort für Schei.. Wenn Du sowas in Deinem
µC hast, würde er streng riechen ;-). (und ganz bestimmt nicht
funktionieren!) ;-)

Simon wollte damit wohl ausdrücken, das Deine Gleichspannung mit der Du
Dein Display versorgst nicht in Ordnung ist.

von Jens123 (Gast)


Lesenswert?

hast du die anderen datenpins (wenn im 4 bit mode) auf masse??

von Sonne (Gast)


Lesenswert?

@Jens123
Ich benutze das Display im 8 Bit Mode. Also keine Datenpins auf
Masse...
Gruß

von Jens123 (Gast)


Lesenswert?

versuch mal ein kleines programm ohne interupts etc nur textausgabe

von Sonne (Gast)


Lesenswert?

Hallo,
ich messe ständig den Strom an den VCCs von LCD. An -VCC ist er etwa
3mA aber an +VCC ändert er sich von 0.8A bis 12mA!
Verstehe also gar nichts...
MfG

von Jens123 (Gast)


Lesenswert?

wie gesagt schliess ein softwarefehler komplett aus
und minimier das programm..
nur das noetigste
wenn das nicht klappt wechsel mal den µC

von Sonne (Gast)


Lesenswert?

@Jens123
in meinem Programm gibt es keine Interrupts. Im Display sehe ich gar
nichts ausser schwarze Balken im ersten Zeile. Es ist egal welche
Initialisationssequenz oder was ausgegeben werden soll. Nur schwarze
Balken oder manchmal gar nichts.
Gruß

von Sonne (Gast)


Lesenswert?

@tex
Ich weiß was du meinst. Ich hatte es irgendwo gelesen... Dein LCD hat
das gleiche Treiber wie meine aber deine Kontrastversorgung ist anders
wie meine. Bei mir will er aber unbedingt -5 Volt für den Kontrast.
Danke für dein Vorschlag
MfG

von Jens123 (Gast)


Lesenswert?

dann schau mal, wann die balken kommen
beim initalisieren, oder ob sich der µC irgendwo aufhaenngt
lass ein paar leds in deinem programm blinken =)

oder in der main
PORTA = PINB

von Sonne (Gast)


Lesenswert?

@Jens123
ich habe das Programm Schritt für Schritt mit printf() funktion alles
untersucht. Nach jede Zeile habe ich ein Printf() funktion geschrieben
und alles in meinem Rechner angezeigt. Die Initialisation übt er
aus!(alle printf() Funktionen schreibt er problemlos im Rechner) und
wenn er in while(1) Schleife ist, manchmal läuft es ein Paar Schritte
weiter aber meistens bleibt es hängen. Was auf dem Display zu sehen
ist, entweder schwarze Balken oder merkwürdige Zeichen die gar kein
Sinn haben! Dann geht es gar nicht mehr...
Deswegen meine ich, daß ein bedeutendes Problem der Strom den er zieht
ist. Da es von 12 mA bis 0.8A schwankt...warum auch immer...
MfG

von Dirk (Gast)


Lesenswert?

Hi,

lad mal bitte das Datasheet zum LCD hoch ... maybe kann man dann mehr
sagen.

Mfg
Dirk

von Benedikt (Gast)


Lesenswert?

Wiso rätseln jetzt alle über Softwarefehler ?
Da ist so, als wenn ich mal kurz 12V an meinen CPU anschließen würde,
und mich über die Software aufregen würde, warum sie nicht mehr
geht...

Schließ mal nur Vcc und GND an und mess dann den Strom. Ist der hoch ->
neues LCD
wenn nicht, verbinde VLCD mit GND und messe hier den Strom.  Ist der
hoch -> neues LCD
Ansonsten kann das LCD noch funktionieren, also zumindest mal für
später aufheben.

Um das Problem mit der negativen Spannung zu umgehen am besten eine
Ladungspumpe verwenden (kleiner Oszillator, ein Kondensator und zwei
Dioden). Dann kann schonmal keine negative Spannung vor der positiven
anliegen. So habe ich es zumindest gemacht, nachdem ich bei 2 LCDs je
die 44100 Treiber geschossen hatte. Zum Glück hatte ich noch ein paar
rumliegen, jetzt funktionieren beide wieder...

von Sonne (Gast)


Angehängte Dateien:

Lesenswert?

@Dirk
Ich habe das Display vom pollin.de gekauft (Best.Nr. 120 128) wie -5
Volt Kontrastspannung angeschlossen soll stand in einem kleinen Zettel
bei der Lieferung. Das Digitalformat von diesem Zettel habe ich leider
nicht aber ich habe von HD4470 das Datasheet im Anhang hochgeladen.
MfG

von Dirk (Gast)


Lesenswert?

Hi,

mich haetten die Electrial Parameters des LCD's interessiert.

Ich vermute leider das Benedikt recht hat.
0.8A nur auf VCC ist viel zu viel. Das benoetigt nichtmal die
Background LED an Strom.

Mfg
Dirk

von T.Stütz (Gast)


Lesenswert?

Hallöle,

schwarzer Balken in erster Zeile+leer in Zweiter Zeile =>
Initialisierung nicht korrekt (Siehe Datenblatt S.46)

insbesondere die Zeitn genau einhalten

Wenn zu zu schnell auf das LCD-schreibst gibts "komische" effekte
(Datenblatt S.50) überprüf dochmal deinen Schreibvorgang mit dem Oszi

hoffe das hilft

Gruß aus dem Schwabenland

von Sonne (Gast)


Lesenswert?

@Benedikt
Seit etwa heute Mittag habe ich keine Änderung in dem Hardware gemacht
sondern ab und zu Software geändert und den Strom auf dem +VLCD
gemessen. Es ist mal 0.8A, mal 3-4mA. -VLCD ist immer 3mA. Das Display
dagegen hat manchmal funktioniert manchmal gar nicht. Z.B. jetzt
funktioniert wieder(Strom am +VLCD = 3 mA) aber dafür mein Text was er
ausgeben soll + merkwürdige Zeichen!
Deswegen kann ich nicht genau sagen ob der Strom immer zu hoch ist und
er gar nicht anzeigt. Dafür unregelmässig und schwankend. Mal
merkwürdige Zeichen, mal gar nichts im Anzeige.
Verstehe also ein große Null...
Gruß

von Sonne (Gast)


Lesenswert?

@T.Stütz
Ich würde so gerne hoffen, daß du recht hättest aber es ist leider
nicht so. In dem Datasheet ist die längste Warteschleife besteht aus
etwa 15ms. Ich gebe in meinem Programm mindestens 150ms für jede
Warteschleife! es geht trotzdem nichts...
MfG

von Benedikt (Gast)


Lesenswert?

Wenn das LCD mal gerade kein 0,8A zieht, und du es nicht ausschaltest,
ist dann der Strom mehr oder weniger konstant ?
Die 0,8A "dürfen" nur dann fließen, wenn VLCD vor den +5V
eingeschaltet wird (oder auch gleichzeitig, was das Verhalten erklären
könnte, dass es nur manchmal passiert.)

von Sonne (Gast)


Lesenswert?

@Dirk
0.8A nur auf VCC ist viel zu viel.

Du hast völlig recht. Den 0.8A Strom hat er in der vorletzten Messung
angezeigt. Dabei hat er nur schwarze Balken im LCD.
Jetzt aber, nur 3mA und komische Zeichen im LCD...
Ich hab gar keine Erklärung. Kann jemand das erklären?
Gruß

von Sonne (Gast)


Lesenswert?

@Benedikt
Wenn das LCD mal gerade kein 0,8A zieht, und ich es nicht ausschalte,
 und wenn ich +VLCD rausstecke, flackert das Display (Was er vorher
noch nie gemacht hat!) und dann den Strom am +VLCD messe, sehe ich eine
Schwankung von 0.3mA (1.6 bis 1.9 mA). Dabei schreibt er den Text, was
er schreiben sollte, aber immer wieder ändert er seine Zeile und
Stellung (was er eigentlich nicht tun dürfte!). Manchmal tut er
komische Zeichen in dem Text...
Gruß

von Benedikt (Gast)


Lesenswert?

Dann nimm mal ein neues LCD, aber bau da die Ladungspumpe dran, damit du
das LCD nicht gleich wieder grillst...

von Sonne (Gast)


Lesenswert?

@Benedikt
danke für dein Vorschlag, aber was ist ne Ladungspumpe und wo finde ich
sie am günstigsten?
Gruß

von ubootfanat (Gast)


Lesenswert?

hast du schon versucht einfach das Display ohne Controller an die
Versorgungsspannung zu hängen (meines - allerdings mit
I2C-Erweiterungsmodul - schreib die Versionsnummer hin)

wenn das möglich ist dann probier einfach 1 Zeichen zu schreiben...

des Problem muss sich doch lösen lassen

mfg ubootfanat

von Sonne (Gast)


Lesenswert?

@ubootfanat
nein habe ich nicht probiert. Und ich habe auch keine Idee wie ich 1
Zeichen ohne µC auf dem Display anzeigen soll.
aber danke für dein Vorschlag.
MfG

von Benedikt (Gast)


Lesenswert?

@Sonne
Ein einfaches IC, das gerne verwendet wird ist der ICL7660. Schau dir
mal folgende Schaltung an:
http://www.dl5neg.de/powermeter/hardware/dspm03/DIGITAL.gif
Aber man sowas auch aus jeder beliebigen Taktquelle (NE555, Oszillator
mit CMOS Gatter, Ausgang am uC) zwei Dioden und zwei Kondensatoren
bauen.

von ubootfanat (Gast)


Lesenswert?

naja ok - ohne Controller ist es in der Tat schwierig ein Zeichen auf
das Display zu schreiben :)

hats was genützt? so ganz ohne Controller?

mfg

von edgar p (Gast)


Lesenswert?

...Sonne in der guelle?

du hast einen WAKO...
baue das ding mal neu auf...
...dann ist die guelle weg

...and sunny will be happy

von Sonne (Gast)


Lesenswert?

@Benedikt
Schließ mal nur Vcc und GND an und mess dann den Strom. Ist der hoch
->neues LCD
wenn nicht, verbinde VLCD mit GND und messe hier den Strom.  Ist der
hoch -> neues LCD
Ansonsten kann das LCD noch funktionieren, also zumindest mal für
später aufheben.


Wenn dein Theorie stimmt, dann ein LCD von mir (ins gesamt 3 Stück) ist
absolut kaputt.
Was kann ich machen um zu bestimmen daß die anderen nicht kaputt sind.
Ist das das einzige Verfahren?
Mit den anderen 2 LCDs bekomme ich an beiden +/- VLCD Pins etwa 1.5mA
ohne den µC anzuschliessen. Es ist in normalen Bereich.
Meinst du daß ich diesen LCDs benutze und weitere Ursachen (wenn dann!)
nur in Software suche?
MfG

von Benedikt (Gast)


Lesenswert?

Wenn du eine Software hast die definitiv funktioniert, dann würde ich
einfach mal damit die LCDs ansteuern.
Ansonsten würde ich ein anderes Modul (eines das ohne negative Spannung
auskommt, gibt es ja billig bei Pollin) verwenden um die aktuelle
Software zu überprüfen.

von Sonne (Gast)


Lesenswert?

@Benedikt

Bei Pollin, das einzige Display, was ich finden konnte, ist mein
Display und hat den BestellNr.120 128

Ich habe mindestens ein Software die definitiv funktioniert. Kannst du
bitte mir genaue Eingaben von einem LCD (BestellNr. und Adresse)
vorschlagen die ohne die negative Spannung auskommt.
Danke
MfG

von Benedikt (Gast)


Lesenswert?

Da gibts doch eine Menge:
120 153
120 147
120 242
120 247
120 232

von Alex (Gast)


Lesenswert?

Hallo,
Ladungspumpen (Spannungsinvertierer) gibt es bei Reichelt, oder sonst
wo!!! IC 7660 - ist ein kleiner, billiger DIP. Da braucht man kein
zusätzliches Netzteil mit mächtig Strom.
Kann es im übrigen sein, dass das Netzteil einen Kurzschlusstrom von
eben den besagten 800mA hat?
Klar, wenn nur für kurze Zeit ein kleiner Hardware-Bug zuschlägt,ist es
ziemlich Möglich, das es dir das Display-Ram mit den schönen Textzeilen
zerwürfelt und du "Hyroglyphen" (***wie schreibt man das?***)
angezeigt bekommst. Oder das Display den kompletten Reset abbekommt.
Dann hast du wirklich nur noch schwarze Balken.
Ohne deine Software angeschaut zu haben, könnte ich meinen A***
verwetten, dass es ein Hardware-Bug ist.
Wenn eine Software mal gelaufen ist, dann läuft sie immer
(Restriktionen von außen mal abgesehen)

Gruß Alex

von Wolfgang (Gast)


Lesenswert?

Hast du die neg. Spannung über ein Poti angeschlossen? Habe gleiches LCD
über ein 25k Poti mit der neg. Spannung versorgt. Bei ca. –3V beginnt
der Kontrast und bei –3,2V ist er optimal. Prüf mal auf Wackelkontakt
des Poti. (Erklärt aber nicht den hohen Strom von 0,8A)
MfG
Wolfgang

von Sonne (Gast)


Lesenswert?

@Benedikt
vielen dank für deine Kommentare und für die Bestellnummern. Demnächst
kaufe ich mir eine von denen die du Bestellnummern aufgeschrieben
hast.

@Alex
***Hardware-Bug*** ist die beste Bezeichnung für mein Problem glaube
ich.
Also, demnächst erkenne ich einen Hardwarefehler so; Ich schreibe mein
Software und wenn es ein Paar mal fehlerfrei läuft und eines Tages gar
nicht mehr geht (wie reaktionslose schwarze Balken!)...Dann weiß ich,
daß das Problem aus der Hardware stammt und quäle ich meine Software
nicht mehr! Egal ob das Display ein Paar Tage später nochmal mit der
gleichen Software läuft oder nicht. Es ist ausgeschlossen
"Hardware-Bug..."

@ALLE
Vielen Dank an alle für die Kommentare und Hinweise die mir sehr viel
geholfen haben...
MfG

von Thorsten (Gast)


Lesenswert?

Interessant, es gab hier im Forum schon oft Probleme mit LCDs von
Pollin. Scheint teilweise wirklich Industriemüll zu sein, was die
verkaufen.

von Benedikt (Gast)


Lesenswert?

@Thorsten
Würde ich nicht unbedingt zustimmen.
Es kauft sich nur jeder die billigen LCDs, ohne Kenntnis der Materie.
Das mit der negativen Spannung ist aber kein Anfängerfehler, sondern es
fällt so ziemlich jeder das erste mal drauf rein (ich ebenso).
Selbst erfahrene Leute haben Probleme damit, der 44780 ist eben
ziemlich alt und empfindlich. Die Nachbauten von Samsung sind da nicht
besser...
Ich weiß, dass auch andere LCD Händler die definitv funktionierende
Ware verkaufen LCDs zurückkommen die auch mal einige Ampere gezogen
haben (man erkennt dann an der Hintergrundbeleuchtung ein paar Flecken,
genau da wo die ICs sitzen). Meistens ist die Ursache irgendein falsches
Anschließen, da die Leute Null Ahnung haben (LCD an 12V, LPT Port
anschließen aber keine Spannung anlegen usw.)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.