Grafik LCD Display KS108

mex.de

Neues Mitglied
29. Aug. 2008
7
0
0
Sprachen
Hallo,

ich habe folgendes Porblem:

Ich habe mir bei LEDSEE.com ein 128x64 Grafik LCD Display gekauft. Erste Ansteuerungsversuche mit einem ATMEGA 32 auf einem Steckboard waren auch erfolgreich. Ich habe an der Schaltung nix geändert, nur dass ich sie auf eine Platine gebracht habe und schon funktioniert nix mehr. Ich habe mein Programm und den Schaltplan angehängt... Wenn mir jemand weiterhelfen könnte wäre das super...

Gruß Mex
 

Anhänge

  • programm.jpg
    programm.jpg
    69,4 KB · Aufrufe: 115
  • schaltplan.jpg
    schaltplan.jpg
    80,6 KB · Aufrufe: 134
Hallo Mex,

dein Programm sieht für mich in Ordnung aus, zumindest die Zuordnung der Datensignale und der Controlsignale zu den Portpins stimmt. Auch die Anschlußbelegung des Displays habe ich überprüft, diese stimmt auch. Angehängt habe ich das Datenblatt des LCDs (ich vermute, es ist das LCD, welches du verwendest). Pinbelegung des ATmega32 im DIP-Package habe ich auch überprüft, diese stimmt auch.

Hat sich denn etwas zu deinem Testaufbau geändert?
Stimmt die Betriebsspannung?
Sind Fuses richtig gesetzt? (gerade im Bereich Oszillator, Fuse Watchdog aus? Fuse Bootloader-Reset aus?)
Funktionieren denn andere Programmbereiche, geht zum Beispiel das Piezoelement?

Vielleicht helfen dir diese Stichpunkte schon mal weiter.

Grüße
Dirk
 

Anhänge

  • LCD.pdf
    444,4 KB · Aufrufe: 91
Hallo Mex,

ist Dein Testprogramm das exakt gleiche Stück Code wie bei Deinem Testaufbau oder hast Du hier Änderungen drin?

Hypothese: wenn alles 1:1 wie beim Testaufbau ist sollte es auch funktionieren. Jetzt müssen wir "nur noch" die Unterscheide finden.

Grüße,
Ma
 
Hallo...

erstmal Danke für eure Unterstützung... Das einzige was ich an der Schaltung geändet habe, sind die I2C Ports mit den Pullup Widerständen und die Anschlüsse für die Analogeingänge um das Touchpad anzuschließen... Das alles ist jedoch noch nicht im Programm berücksichtigt und die Analogeingänge sind noch offen, da ich ersteinmal das Display zum laufen bringen möchte :)

Bin im Moment ratlos, wo der Fehler liegen könnte...


Gruß Mex...
 
Hallo Mex,

... Das einzige was ich an der Schaltung geändet habe, sind die I2C Ports mit den Pullup Widerständen und die Anschlüsse für die Analogeingänge um das Touchpad anzuschließen... Das alles ist jedoch noch nicht im Programm berücksichtigt und die Analogeingänge sind noch offen, da ich ersteinmal das Display zum laufen bringen möchte...

das dürfte alles eigentlich nichts ausmachen.

Hast du denn mal folgendes kontrolliert:
Stimmt die Betriebsspannung?
Sind Fuses richtig gesetzt? (gerade im Bereich Oszillator, Fuse Watchdog aus? Fuse Bootloader-Reset aus?)
Funktionieren denn andere Programmbereiche, geht zum Beispiel das Piezoelement?
Grüße
Dirk
 
Sooooo Ich habs endlich geschafft, hab die Platine mal ohne Masseflächen geätzt und jetzt funktioniert es... vielleicht hat eagle beim erstellen des Polygons einen Fehler gemacht...

Trotzdem Danke für eure Tips!

Gruß Mex...
 
Glückwunsch, geschafft!

Welche Version von Eagle hast Du verwendet?
Hast Du direkt auf Film oder Folie gedruckt oder Gerberdaten erzeugt?
Alle EAGLE-Versionen von 4.90.1 bis 5.1.1 enthalten einen Fehler, durch den es in seltenen Fällen dazu kommen kann, dass unerwartete Wire-Fragmente in der Ausgabe des CAM-Prozessors und des PRINT-Befehls auftauchen, die zu Kurzschlüssen führen können.

Vielleicht war das ja Dein Problem!

Grüße,
Ma
 
Moin moin allerseits.

Ich habe mir auch ein Grafik Display besorgt und bekomme
hier "graue Haare". :-(

Dabei ist die Ansteuerung recht einfach weil diese über
RS232 erfolgt und mit einem Hex fähigen Terminal
Programm kappt das auch bestens.

Mein Problem ist das STK500 und der OUT Com Anschluß.
Das Display hat ein Anschlußkabel mit Weiblichen Stecker,
das SDK auch..ich habe mir also so einen Adapter für 10
Eurohnen!!! besorgt. Nur da tut sich NIX am Display?
Ich habe beim STK RDX/TDX mal vertaucht, tut sich auch
nix? Ich habe das Bascom Terminal am STK angeschlossen,
die gesendeten Befehle kommen so wie sollen an?

Ich habe am STK das Hex fähige Terminalprogramm
angeschlossen und den Programmierten String empfangen,
einwandfrei!

Das Display erwartet "echte" RS232 Pegel +- 10V das
stk500 hat ja einen ? Max232 on Board, damit sollte
das eigentlich passen.

Bleib halt nu noch RTX/DTX vertauscht..nur wenn ich
beim STK500 die Verbindungsleitung Portb verdreht
stecke sollte das dann passen, passt aber auch nicht?

Auch RTS/CTS einschalten bleibt ohne Erfolg.

Nach rund 48h mit etwas Schlafpause lasse ich jetzt
auch ein wenig nach, das baut dann Fehler in den Code
ein....:-(

Ich könnte von euch ein wenig Hilfestellung brauchen,
ICH wieß jedenfalls nicht weiter, selbst Hyperterm
liest den String sauber ein, ich breche AB. :-(

Datenblatt:
https://www.distrelec.com/distrelec/datasheets.nsf/WebAttachments/AB559AFF0D66EA50C12570E9005EEED5/$File/661319-661321.pdf

Grüße Richard
 
Hallo Richard,

halt stopp!!!! Was tust Du??????

Hab zwar noch keine Komplettlösung für Dein Problem aber bei einem thema stehen mir die Haare zu Berge!

Du schreibst, dass Du RxD und TxD am STK500 PortB verdrehst. Hmmmmmmm, damit stimmt die gesamte Ansteuerung des MAX232 auf dem STK500 nicht mehr. Diese Leitungen kannst Du nicht so einfach drehen. Das einizige wo Du drehen kannst ist Dein Verbindungskabel zwischen STK500 und Display. Die Tatsache, dass beide Komponenten weibliche Buchsen haben bedeutet für mich zunächst, dass Du ein normales Null-Modem-Kabel benötigst. Dort sind die Pin's 2&3 (TxD und RxD) gedreht. Angehängt findest Du eine klassische Beschaltung eines 9-poligen Nullmodemkabels. Vielleicht hilft Dir das weiter.

Von der HW her sollte es dann funktionieren. Aber bitte nix und nimmer Leitungen auf dem STK drehen.

Grüße,
Markus
 

Anhänge

  • nullmodem.gif
    nullmodem.gif
    5,6 KB · Aufrufe: 23
Hallo Richard,

halt stopp!!!! Was tust Du??????


Die Tatsache, dass beide Komponenten weibliche Buchsen haben bedeutet für mich zunächst, dass Du ein normales Null-Modem-Kabel benötigst. Dort sind die Pin's 2&3 (TxD und RxD) gedreht. Angehängt findest Du eine klassische Beschaltung eines 9-poligen Nullmodemkabels. Vielleicht hilft Dir das weiter.

Grüße,
Markus

Moin moin Markus.

Wenn ich auf dem Board TXD/RXD Tausche habe ich auch
einen Nullmodem Ausgang, dem MAX232 ist das voll
egal. :)

Daran kann es aber nicht liegen, Verbinde ich das STK
mit einem Terminal empfängt das Hex- Fähige Terminal
(Hterm) sauber den String fürs Display. Ziehe ich jetzt
das Kabel vom STK ab und schließe das Display daran
an, kann ich den String ans Display zurück senden, MIT
Erfolg!

Das Display hat noch 8 ein/Ausgänge, diese kann ich
über Hterm lesen und schreiben, ohne Probleme. Da
mit dem Terminalprogramm das SDK sowie auch das
Display zusammen arbeitet, kommt für mich eigentlich
nur noch ein Pegelproblem als Ursache in Frage?

Die Baudrate sollte stimmen, ich habe einen 16MHz
Quarz auf en STK stecken und den Jumper passend
gesetzt. Falls Du ein Ozzi hast, kannst Du einmal die
Pegel von der 2. RS232 am STK messen?

Nullmodem Kabel habe ich, nur die haben auf beiden
Seiten Weibliche Stecker, Kabel welche beidseitig
Männchen sind scheint es auch nicht zu geben. Ich
habe mir einen subd Adapter besorgt der Beidseitig
Männchen ist damit kann ich dann das Display an
das SDK anschließen...nur es tut sich halt NIX. :-(((

Zur Not hat das Display noch Cmos Eingänge, die
könnte ich dann diereckt an PB.0/PB.1/GND anschließen
und es so versuchen. Nur möchte ich nicht während
der Garantiezeit am Display herumbraten....das war
ziemlich teuer. :-(

Gruß Richard
 
Hallo Richard,

das verstehe ich jetzt nicht!!!! Aber ich lerne egrne dazu :flowers:

1. Der MAX232 hat doch aufgrund seiner Beschaltung richtungsgebundene Ausgänge und Eingänge. Oder?
2. Durch die Beschaltung mit den Kondensatoren bastelt der MAX232 sich eine Ladungspumpe und Spannungsinverter für die Ausgänge, oder?
3. Die Ausgänge haben intern vor dem Inverter ein PullUp und die Eingänge vor dem Inverter ein PullDown.

So, nun begriefe ich es wirklich nicht warum ich dann RxT und TxD beim MAX232 einfach umdrehen kann und dem Baustein das egal sein soll.

Ich begreifs nicht aber vielleicht kann mir jemand das mal erklären. Würde ich gerne begreifen!!!!

Hmmmm aber mit Deiner Display-Ansteuerung stehe ich auch auf dem Schlauch :eek:

Grüße,
Markus
 
Hallo Richard,

das verstehe ich jetzt nicht!!!! Aber ich lerne egrne dazu :flowers:

Moin moin Markus,

Erst einmal DU hast RECHT, Ich habe etwas auf den Schlauch gestanden. :-((

Ich habe mich dann mal mit den Meßgerät auf Signal-
verfolgung begeben, klar da muß ein Nullmodemkabel ran!
Nur, geholfen hat das NIX obwohl mein USB-RS232
Adapter auch nur so rund 6,4 V bringt. Ich fürchte beinahe
das beim STK500 die 2. Schnittstelle überhaupt nicht
über einen Max läuft! Da kommt der gleiche Pegel an wie
der vom Prozessorpin? Oder ich habe den Max gekillt?

Ich kann aber mit dem Pc sauber senden und auch Lesen.

Das Display habe ich jetzt über die cmos Eingänge und
Bascom serialout.. an Port A angeschlossen, klappt echt
super! Da bleibt mir ann auch die Pord Schnittselle zu
Testen frei. :) "Freu".

Jetz läuft hier so ne Bargraph Anzeige rauf/runter bis der
Chip glüht. :)))

Das Testprog ist aber arg zusammengeflickt, ich denke
ich werde für die Funktionen des Displays Sub`s
schreiben, bin mir aber noch nicht so sicher wie das
letztendlich aussehen soll. Ich bin ja Bascon Anfänger,
möchte aber natürlich nicht xyz Platz für variaben
verschwenden. In einer SUB Routine könnte ich (vermute
ich) immer die gleichen Variblen für z.B. X/Y Koardinaten
verwenden?

Noch besser wäre natürlich ne LIB mit etsprechenden
Befehlen, aber wie man DAS macht muß ich noch lernen!

Gruß Richard
 
HallO Richard,

noch ein kurzer Hinweis:

Beim STK500 hast Du nur Zugriff auf die RS232 SPARE aber nicht auf die RS232 Ctrl, die geht nämlich nicht zum Entwicklungs-Mega sondern hängt an einem eigenen Mega für die Steuerung und Kommunikation mit dem STK. Da ist eigene Logik dahinter und Du bekommst keine Signale rüber. Es bleibt also nur die RS232 SPARE.

Abhängig davon, an welchem Port Du nun die RS232 SPARE mit einem Patch-Kabel verbindest hats Du Zugriff auf RS232-0 oder RS232-1 z.B. von einem Mega128. Allerdings habe ich bis heute noch keine Pegelprobleme gefunden óder festgestellt. Kann aber gerne, falls es Dich interessiert mal in den nächsten Tagen mein Oszi anheizen und ein paar Plots erstellen.

Ich freu mich aber riesig, dass Du mit Deinem Vorhaben weiter gekommen bist und das Ding jetzt funktioniert, wenn auch auf einem anderen Weg! :flirt:

Grüße,
Markus
 
HallO Richard,


Ich freu mich aber riesig, dass Du mit Deinem Vorhaben weiter gekommen bist und das Ding jetzt funktioniert, wenn auch auf einem anderen Weg! :flirt:

Grüße,
Markus

Moin moin Markus.

Danke...aber mühsam ernährt sich das Eichhörnchen. :-(
Bei der texteingabe verlangt das Display am Ende ein
Hex 00 = chr(0). Mit Print klappt das, mit seraout leider
nicht...:-( Es hat etliche h`s gedauert bis ich in der
Bascom Hilfe (alles "Plattdeutsch") herausgefunden habe
das ich anstatt serout auch open comP.X nutzen kann
und dann mit Print #X, auch chr(0) senden kann...:)

Für heute reicht es mir so langsam, aber ich kann mit
nen Poti am ADC meinen Bargraph regeln und darunter
den Meßwert 0..255 ausgeben. Ich habe versucht das
in V anzuzeigen (REF) VACC, aber 5/255 ergibt negative
Werte...Da muß wohl wieder einige h die Bascom Hilfe
herhalten. :-((((

Grüße Richard
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)