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.
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 ;)
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.
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.