Hi, ich probiere mit einem ATmega8 das EA DIPS082 (http://www.reichelt.de/LCD-Module-DIP-Anschluss/LCD-082-DIP/index.html?;ACTION=3;LA=444;GROUP=A523;GROUPID=3009;ARTICLE=53961;START=0;SORT=artnr;OFFSET=16;SID=12TsMXYn8AAAIAACpXQy0a666009ff95a11e797dd6858077931b7) anzusteuern. Ich bin dabei nach dieser Anleitung vorgegangen: http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD Nachdem das ansteuern nicht funktioniert hat habe ich beim überprüfen der Verbindungen festgestellt das die Pins 4 (RS) und 5 (R/W) am Display einen High-Pegel haben. Ich habe das Display nochmal komplett ausgelötet und nur die Pins 1 (Vss) und 2 (Vdd) angeschlossen, die Pins 4 und 5 haben aber nach wie vor High-Pegel. Die Pins dienen doch als Input, sollten die dann nicht auf Low liegen wenn nichts dranhängt? Hab ich mir beim löten was zerstört? Wie gesagt aktuell sind lediglich Pin 1 (auf GND) und Pin 2 (auf +5V) angeschlossen, alle anderen Pins hängen in der Luft. Bin für jede Hilfe dankbar. Gruß, Sino
SinoTech schrieb: > die Pins 4 und 5 > haben aber nach wie vor High-Pegel Hochohmig? zieh die mal in deiner Testschaltung versuchsweise über 1kΩ mach Masse. Wenn du dann Massepotential feststellst, ist es doch ein Eingang. mfg mf
Danke für die schnelle Antwort. Habe die PIN's jetzt mal über einen 10 kΩ Widerstand auf GND gelegt (hatte keinen 1 kΩ), und Messe jetzt jeweils 3.27V von den Pins zu GND.
10j sind zu viel. Wenn du nichts kleiners hast, dann schalte eben 3 oder 4 Stück 10k Widerstände parallel.
Ich habe noch 2 x 500 Ohm Widerstände gefunden und die in Reihe geschaltet. Jetzt messe ich jeweils 0.07 V von den Pins zu GND.
Hi >Ich habe das Display nochmal komplett ausgelötet >und nur die Pins 1 (Vss) und 2 (Vdd) angeschlossen, die Pins 4 und 5 >haben aber nach wie vor High-Pegel. Das ist normal. Die Pins haben interne Pull-Up-Widerstände.
Ich bekomme es einfach nicht hin :-( ... nachdem ich das Display komplett aus- und nochmal eingelötet habe ist mir auch schon der zweite Atmel abgeraucht (beim ersten war ich mir nicht sicher woran es lag, der zweite arbeitete aber solange bis das Display eingelötet war, erst danach machten die I/O-Ports nicht mehr was sie sollten. Insofern gehe ich davon aus das es am Display liegt). Anbei mal ein Schaltplan meines kleinen Aufbaus. Ich hoffe es ist einigermasen übersichtlich, das ganze ist nur Hobby und ich kenne mich mit Schaltplänen und eagle nicht sonderlich gut aus. Mache ich was falsch? Oder liegt es wirklich am Display? Bin dankbar für jede Hilfe. Gruß, Sino
Kurze Frage, auch wenn ich (so wie ich die Pinbelegung überflogen habe) erst mal keinen Fehler feststellen konnte: Wie groß ist denn das Poti? Und kannst du Pin 2, VCC, mal direkt hinter den Regler klemmen? (momentan sitzt der Pin zwischen dem AVR u. der Poti-Strecke). Weiterhin lässt man die anderen 4 Datenleitungen eines LCDs bei 4-Bit-Ansteuerung offen (und nicht auf GND!) soweit ich weiß..Fang mit meiner letzten Idee an, da bin ich mir relativ sicher ^^ Hoffe ich konnte helfen, lass hören ob meine Vorschläge 'was gebracht haben ;)
Du hast aber nicht zufällig die interne 2,56V Referenzspannung eingeschaltet? Das wäre dann nämlich schlecht... Aref liegt bei dir auf 5V
Für meinen Begriff fehlen ein paar Kondesatoren. 100nF direkt am Ausgang des 7805 gegen Masse, zwischen Pin 7, 8 und 20, 22 des Prozessor und zwischen Pin 1 und 2 des LCD. ARef offen lassen. 5V war bei den alten AT90 nötig. So wird auf Dauer die interne Referenzspannungsquelle vernichtet. Zu was soll der Pull Down an PB2 gut sein?
SinoTech schrieb: > Ich habe noch 2 x 500 Ohm Widerstände gefunden und die in Reihe > geschaltet. Jetzt messe ich jeweils 0.07 V von den Pins zu GND. Normal ist das nicht. Die HD44780 kompatiblen Kontroller sind recht hochohmig und sollten sich selbst mit einem 10K Widerstand bequem auf Masse ziehen lassen . Deine Vermutung bzgl. eines defekten Displays ist wahrscheinlich richtig. Zeigt das LCD denn die bekannten schwarzen Segmente, wenn du Strom anlegst ?
Wenn ich das richtig sehe, sind die Pins des LCD auf 3 Ports am µC verteilt. Die Routinen im Tutorial gehen davon aus, wenn ich mich richtig erinnere, dass das LCD für die Ansteuerung im 4-Bit Modus komplett an einem Port angeschlossen ist. Ich habe Anfangs auch diesen Fehler gemacht und mich gewundert, dass nichts funktioniert. Das lag dann an der falschen Initialisierung des µC. Ich erkenne im Schaltplan keine Notwendigkeit die Anschlüsse so wild zu verteilen. Pin 5 am LCD kann wie im Tutorial auf GND.
@Markus Die nicht genutzten I/O-Pins lässt man tatsächlich offen ... ich hätte schwören können ich habe gesehen das die auf GND gezogen wurden ... aber da hab ich mich wohl geirrt. Werde es nachher direkt mit offenen Pins und neuem Atmel versuchen (hab ja noch 3 hier ;-) ). @Peter Nein, die interne 2,56V Referenzspannung wird nicht benutzt. @Werner Die Kondensatoren am L7805 sind wie im Datenblatt beschrieben angeschlossen (jeweils 33uF an Ein- und Ausgang). Sind die restlichen Kondensatoren wirklich notwendig? Interne Spannungsreferenz im Atmel wird nicht benutzt, dann sollte es doch egal sein wenn ich 5V am ARef Pin anliegen habe, oder? Der PB2 Pin (Slave Select) liegt direkt auf GND (Atmel wird nur als Slave betrieben). Den 10K Widerstand habe ich zur Sicherheit eingebaut falls ich PB2 mal aus versehen auf Output setzen sollte. @Matthias Jep, die schwarzen Segmente sehe ich. Habe die nicht benötigten I/O Pins (benutze nur den 4Bit-Modus) aber fälschlicherweise auf GND gelegt, vielleicht hat das zu Problemen geführt. Ich probiere es nachher nochmal mit offenen Pins und neuem Atmel. @Jens Die Software aus dem Tutorial habe ich natürlich entsprechend angepasst. Aber sind in dem Tutorial nicht die Anschlüsse der Datenpins vertauscht? Zum initialisieren des Display wird der Wert 0b00000011 in PORTD geschrieben um die Pins DB6 und DB7 am Display auf high zu setzen. Allerdings werden durch den Code doch die Pins DB4 und DB5 auf high gesetzt, oder? (0b00000011 setzt die beiden untersten Pins des Atmel auf high, also PORTD0 und PORTD1 und die wiederum sind mit DB4 und DB5 verbunden). Danke für alle Antworten. Gruß, Sino
Jens schrieb: > Ich erkenne im Schaltplan keine Notwendigkeit die Anschlüsse so wild zu > verteilen. Das ganze ist eine Schaltung zum spielen und ausprobieren. Evtl. baue ich noch eine serielle Schnittstelle über einen MAX232 dran und an Port-C wollte ich mir auch nicht alle ADC Pins belegen.
Was fürn Pegel ist denn an der Read Leitung. Wenn du nen Read vom LCD machst schaltet das LCD natürlich Seine Treiber auf Output wenn der AVR seine auch auf Output hat ist das nicht gut.
Nimm doch mal diesen Schaltplan und das Hex File aus dem Programm. http://www.mikrocontroller.net/articles/Absolute_Beginner-AVR_Steckbrettprojekte
Das Hautproblem war der Compiler (avr-gcc-4.5.3) der anscheinend den Stackpointer nicht initialisiert hat, möglicherweise sind aber auch bei dem Display die Timings etwas anders. Mit neuem Compiler und anderem Display funktioniert jetzt jedenfalls alles.
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.