Hallo zusammen! Ich habe eine Frage betreffend einem 16*2 LCD (TC1602A-08 von Pollin). Das Display wird mit einem PIC angesteuert. Allerdings klappt das ganze nur, wenn ich den Pin DB7 berühre. Berühre ich den Pin mit einem Schraubenzieher, geht es nicht. Berühre ich selber jedoch auch noch den Schraubenzieher, geht es wieder. Berühre ich den Pin mit einem Tastkopf, geht es (auch wenn GND von Tastkopf nicht angeschlossen ist). Berühre ich den Pin direkt mit dem Finger geht es. Klemme ich eine Krokodilklemme mit einem etwa 20cm langen Kabel an den Pin, geht es wieder. Komischer Fehler, weiß einer Rat? Ich bin mit meinem Latein am Ende... Gruß Marius PS: An einem Wackelkontakt kann es nicht liegen. Ich kann den Pin sowohl auf dem LCD als auch am PIC selber anfassen, und es geht.
Hast du das LCD mittlerweile zum Laufen bekommen? Falls nein: Häng mal einen Pulldown von etwa 10k an RW und an E (auch wenn es noch so unsinnig klingt).
Hallo, laß mich raten: Deine Software nutzt die Abfrage des Busy-Bits? Da ds ja auf Bit 7 des Displays liegt, passiert wohl Folgendes: Das Timing zur Abfrage von Busy stimmt nicht, so daß Du durch Deine Aktionen mit Störimpulsen dafür sorgst, daß die Routine die Busy scheinbar richtig erkennt und weiter macht... Gruß aus Berlin Michael
Hallo, erstmal danke für die Tipps. Ich habe durch Ausprobieren herausgefunden, das wenn ich einen 10k Pulldown zwischen DB7 und GND schalte, alles funktioniert. Warum? Ich bin absolut ahnungslos! Blockkondensatoren sind genügend vorhanden. Die Software ist komplett in ASM geschrieben. Allerdings nicht von mir, sondern von einem Komilitonen. Das ganze Ding ist ein Projekt für die Uni, ich werde also mal meinen Prof fragen, was er dazu sagt. Es ist ja relativ schwer sowas über das Internet zu debuggen. Ich lasse es euch auf jedenfall wissen, wenn ich weis warum es ohne den Widerstand bzw. das Anfassen nicht klappt. Wenn ich ein anderes (natürlich auch HD44780 kompatibles) LCD anhänge, funktioniert alles tadellos. Timingprobleme die nur bei diesem Display auftreten, könnten also gut der Fehler sein. (Ja ich benutze das Busy-Bit) Gruß, Majus
Ich habe die Feiertage genutzt um meine LCD Lib mal an verschiedenen Controllern zu testen und das TC1602 war das einzige das nicht lief. Daher konnte ich einen Softwarefehler bei mir ausschließen (mit der Software, bzw. älteren Versionen davon laufen mittlerweile an die 100 LCDs). Interessanterweise brachte ich das LCD dann genauso zum Laufen wie du: Finger auf den Anschluss: LCD läuft. Das ganze sowohl mit als auch ohne Busyabfrage per RW. Und jetzt kommts: RW hängt direkt am µC über 1k an GND, um auch die Software ohne RW Testen zu können. Trotzdem funktioniert das ganze bei mir nur, wenn ich RW über entweder wenige kOhm am LCD an GND hänge, oder alternativ den Pin kapazitiv belaste (entweder mit einem Tastkopf, der 10M hat, oder eben mit dem Finger). Also genau das gleiche Verhalten wie bei dir. Ich vermute der Controller auf diesem LCD (vermutlich ein SPLC780A1) ist etwas empfindlich.
Wow, das ist ja ein Zufall. Vielen Dank für die Erklärung. Dann glaube ich doch wieder an Naturgesetze. Eine kapazitive Beeinflussung hatte ich auch als erste Vermutung. Ein 10nF Kondensator von DB7 nach GND brachte aber damals keine Verbesserung... Die Erklärung reicht mir aber auf jedenfall. Da kann ich wieder beruhigt schlafen. Wenn mans weis, ist das ja nicht weiter schlimm. Gruß, Marius
Marius B. wrote: > Eine kapazitive Beeinflussung hatte ich auch als erste Vermutung. Ein > 10nF Kondensator von DB7 nach GND brachte aber damals keine > Verbesserung... 10nF ist vermutlich etwas zuviel. Irgendwas im 10 oder 100pF Bereich sollte besser sein, und das kommt auch einem Finger, oder eben einem Tastkopf, einem längeren Kabel oder ähnliches näher.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.