mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Fehlersuche (Mega16 + gLCD)


Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
allo zusammen!!

Hab ein "kleines" Problem mit einem mega16 und einem gLCD mit
T6963C-Controller!!

Mein mega16 läuft einwandfrei, habe ein Programm geschrieben, dass
einen Port abwechselnd von "Null" auf "Eins" setzt, und somit ein
Relais "klackern" lässt, damit ich weiß das der Controller noch
läuft.

hintergrundbeleuchtung funktioniert ebenfalls!!

stecke ich nun meine Flachbandleitung zur Verbindung des Controllers
mit den Pins an meinem Controller ein, so sehe ich dort alles
"schwarze Punkte".
Jedoch hört dann auch plötzlich mein Relais auf zu klackern!! Das heißt
irgendwas stimmt nicht so 100%!!

Ich kann auch den Kontrast verstellen, alles kein Problem!!

Woran könnte es liegen? Falsche Verdrahtung irgendwie?
Programmierfehler schließe ich mal aus, habe es mit Bascom gemacht, und
so ziemlich alles aus dem Beispiel übernommen...

Die Leitung ist relativ lang, ist ein altes Floppy-Kabel...so ca.
35cm...

Danke schonmal für eure Hilfe!!!

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch ein paar mehr Infos:

Das Programm lautet:

$regfile = "m16def.dat"
$crystal = 3686400 '(fuse bits habe ich in Bascom auf 1111 1111
gesetzt, scheint auch zu laufen)

Config Portd.2 = Output 'Relais über ULN2003 an Port D.2

Config Graphlcd = 240 * 64, Dataport = Portc, Controlport = Portb, Ce =
4, Cd = 1 , Wr = 2 , Rd = 3 , Reset = 0 , FS = 5 , Mode = 8

Cls
Wait 1
Cursor Off

wait 1
Do
Portd.2 = 1
waitms 500
Locate 1 , 1
Lcd "GMB"
Locate 2 , 1
Lcd "GLCD"
Portd.2 = 0
waitms 500
Loop


Habe alles wie oben angeschlossen, jedoch habe ich die
"Font-Select"-Leitung direkt auf Masse gelegt, und nicht an den
Port-Pin (ist das evtl. sogar schon der Fehler?!?! Der Port-Pin dem ich
"FS" zugewiesen hab, ist aber "frei" in der Luft) , gemäß Datenblatt
meines "Powertip PG24064LRU-ET A-H-SB" habe ich dann "8x8 dots
font"...

D0 ist an PC0, D1 ist an PC1, D2 an PC2 und so weiter

Kontrast lässt sich über das Poti regeln, also die Punkte werden alle
schwarz...

Beim einstecken der Spannungsversorgung ist für den Bruchteil einer
Sekunde ein Balken quer auf dem Display zu sehen, danach wird alles
"schwarz", je nach Kontrast halt

Wie kann ich testen ob der mega16 auch wirklich mit dem 3.6864Mhz-Quarz
läuft? Lese ich die Fuse-Bits aus, liest er "1111 1111" aus, also das
sollte ja passen soweit, richtig?

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab jetzt schon alles ausprobiert, habe auch mal "FS" direkt an
den zugeordneten Portpin gelegt, funktioniert alles nicht!!

Mitlerweile klackert das Relais gar nicht mehr.... :-/

Woran liegt es?!?

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe mal die Leitung gekürzt, ist jetzt ca. 10cm nur noch lang, es tut
sich aber immer noch nichts!!

Liegt es an der Programmierung? Habe alle Pins durchgemessen, es kommt
so an, wie oben beschrieben!! Habe direkt an den Pins am Controller
gemessen!!

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe jetzt mal ein Programm geschrieben, das auf das Display gar
nicht zugreift, nun bekomme ich "Hyroglyphen" angezeigt auf dem
display, die wild umherblinken!!

Schreibe ich wieder

"Config Graphlcd = 240 * 64" etc. in das Programm, dann hängt er sich
auf an der Stelle, und auf dem Display ist ein schwarzer Balken zu
sehen...der sieht aber auch nicht ganz "normal" aus, sondern
irgendwie merkwürdig (kann man schwer beschreiben)

Hat denn niemand einen Tip für mich? Ich bin mit meinem Latein am
Ende!!!!!!!!!!!!!!!

Autor: Sascha Str (sascha)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Schwarzer Balken?
Sieht nach einem Reset von dem Display aus. Sieht man, wenn der Reset
zu lange ansteht. Der Rest funktioniert wohl nicht, weil das Programm
nicht auf das Display zugreifen kann. Nutze kein BASCOM. Aber der
T6963C hat ein Status-Register, was vor dem Beschreiben ausgelesen
wird. Solange das nicht paßt, wird das nichts an Dsiplay geschickt.
Ansonsten siehe mal im Anhang. Da ist ein Source für WINAVR.

Mfg Sascha

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!!

Wie gesagt, solange kein Zugriff auf das Display erfolgt, sehe ich
wilde "Hyroglyphen", wenn ich dann in Bascom das Display
initialisiere, kommen 2 Fehlerarten vor:

Einmal hatte ich es so, das ich kurz einen schwarzen Balken sehe, der
dann direkt wieder verschwindet, und danach bleibt das Display leer.

Und einmal ist es so, das ich auch erst Hyroglyphen sehen, und nach der
Initialiserung in Bascom sehe ich dann einen schwarzen Streifen, der
sogar bis zum "Rand" geht, und dann nach abschalten der Spannung erst
gaaaanz langsam wieder verschwindet...

Autor: Sascha Str (sascha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Einmal hatte ich es so, das ich kurz einen schwarzen Balken sehe, der
dann direkt wieder verschwindet, und danach bleibt das Display leer.
"
Gut, Reset hat dann funktioniert.


"Einmal hatte ich es so, das ich kurz einen schwarzen Balken sehe,
der
dann direkt wieder verschwindet, und danach bleibt das Display leer.
"
Nicht gut, da bleibt der RESET an. Das Problem kenne ich.

"wilde "Hyroglyphen"

Ist normal, wenn das Display einegschaltet ist und noch nicht
initialisiert/Resetet wurde.

Mfg Sascha

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mmmmh...also, Reset "funktioniert" dann schonmal, aber warum bekommt
das Display keine Zeichen?

Was ich ja auch schon erwähnte: der mega16 hört auf zu arbeiten, nach
der Initialisierung ist eine Schleife, die das Relais mit 1Hz
"klackern" lässt, ziehe ich die Leitung zum Display heraus, geht der
Controller weiter...erwartet er evtl. eine "Rückmeldung" vom Display?
Ohne die er nicht weiter macht? Wenn ja, auf welcher Leitung wäre das?

Autor: Sascha Str (sascha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatte ich doch schon geschrieben:
Aber der T6963C hat ein Status-Register, was vor dem Beschreiben
ausgelesen wird. Solange das nicht paßt, wird das nichts an Dsiplay
geschickt.

void lcd_status(void)
        {
        DATA_DIR_IN();
        LCD_CD_H();             // Commando High
        LCD_RD_L();             // Read Low
        LCD_CE_L();             // Chip Enable Low
        LCD_STATUS = LCD_READ;  // Status lesen
        LCD_CE_H();             // Chip Enable High
    LCD_RD_H();             // Read High
        LCD_STATUS &= (0x03);   // Bits ausmaskieren
        }

So sieht es bei mir in GCC aus. Es wird auf 0x03 verglichen. Kommt was
anderes vom Display, ist es nicht bereit vom ATmega Daten zu
empfangen.

Mfg Sascha

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mmmmmh...dann werde ich mal versuchen, das mit GCC zu machen, ich hoffe
nur ich bekomme das hin...ist dann wohl ein Fehler in Bascom? Bzw. mein
Display nicht kompatibel dazu (obwohl es den T6963C-Controller
hat)!?!?!

Was könnte es denn noch für ein Fehler sein? Und warum macht der mega16
nicht weiter mit seiner "Arbeit"?!?!

Autor: Sascha Str (sascha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Er macht nicht weiter, weil er auf den passenden Status vom Display
wartet. Hast du JTAG abgeschaltet? Weil sonst geht der Port C nicht
so!

Mfg Sascha

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mmmmh...ich habe da "wissentlich" nichts an/abgeschaltet...könnte es
denn daran liegen? Steht wahrscheinlich im Datenblatt, wie ich JTAG
abschalte, oder?

Autor: Sascha Str (sascha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, per FUSEBIT. Und daran kann es dann wesentlich liegen.......
Sollte bei BASCOM beim Programmier-Menu aber auch stehen.


Mfg Sascha

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab in Bascom mal die Fuses gelesen, und JTAG ausgeschaltet, er zeigt
mir beim schreiben des Programmes immer "Difference at 0040", aber
das gLCD läuft jetzt!!

Woher könnte die Fehlermeldung kommen?

Wobei, es läuft ja...*lach*

Du bist mein Held!! :-P

Autor: Sascha Str (sascha)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon gut, bin damals selber darauf mal reingefallen.
"Difference at 0040"

Ev. mal den Mega16 ein paar mal löschen bevor du ihn wieder progst.
Könnte nen Fehler im Flash sein.

Mfg Sascha

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mmmmh...habe keine Ahnung woran es liegt, muss erstmal gucken ob ich das
mit Bascom überhaupt machen kann, das löschen...aber das soll mich nicht
weiter stören, hauptsache das gLCD läuft erstmal!!

Danke auf jeden Fall für die Hilfe!! Direkt der erste "Tip" passte!!
Das nenne ich mal Effizienz!! Und dazu noch der erste, der überhaupt
geholfen hat!!

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
natürlich geht das löschen mit bascom. heißt "erase"

Autor: Michael Fa (michael)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Bascom gibt es im Verzeichnis SAMPLES eine Datei mit dem Namen
t6963v3.bas diese habe ich als Basis genommen.

Guckst Du hier
http://www.db9xq.de/tacho.php

Autor: Nils B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab den Fehler schon gefunden, man sollte einen mega8 nicht parallel
dazu im Programmiergerät sitzen haben...*Kopf auf Tisch schlag*

Na egal, Danke nochmal vielmals an alle, besonders an Sascha für den
Tip mit dem JTAG!!!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.