Forum: Mikrocontroller und Digitale Elektronik DogXL160 rührt sich nicht


von Heinz L. (ducttape)


Lesenswert?

Ich hab mir ein DogXL160 zugelegt. Leider tut's nicht was es soll. Ich 
hab inzwischen so ziemlich jede Resource die das Netz hergibt durch, 
aber aus irgendeinem Grund kommt nix.

Zusammengestoppelt hab ich es ähnlich dem in 
Beitrag "Re: Nochmal Hilfe zum DOGXL" beschriebenen 
Layout, nur dass ich statt des ATmega8 einen ATmega644p verwende. Den 
Code habe ich entsprechend verändert dass die beim ATmega644p belegten 
pins verwendet werden (ich verwende also ebenso SS, MOSI und SCK und hab 
im Code entsprechend PB2 auf PB4 verändert und setze die veränderten 
Pins auf Ausgang (also DDRB = 0b10110000 statt DDRB = 0b00101100). 
Zusätzlich sende ich am Ende der Initialisation ein 0xA5 um alle Pixel 
einzuschalten).

Nur bleibt's Display finster.

Inzwischen gehen mir die Ideen aus woran's liegen kann. Ich hab den 
SPI-Clock auf 94KHz runtergesetzt, ich hab die Verkabelung inzwischen 3x 
geprüft, ich hab verschiedenste Kondensatoren ausprobiert (nachdem hier 
öfter mal gesagt wurde dass Kerkos verwendet werden sollen, hab aber 
inzwischen alles von Kerko über Elko bis Tantal und von 0.1 bis 2.2mF 
durch).

Auf Pin 17 bleibt's übrigens nach Messung auch finster, ich geh also 
davon aus, dass das Display aus irgendwelchen Gründen meine Signale 
nicht "versteht". Nur ... warum?

Gibt's hier jemanden der das DogXL zum Laufen gebracht hat und noch 'ne 
Idee hat woran's bei mir scheitert?

von Simon K. (simon) Benutzerseite


Lesenswert?

Hardware Debugging hat nichts mit Voodoo oder Hellsehen zu tun, sondern 
mit logischem und strukturiertem Vorgehen.

Also: Her mit Schaltplan/Code und co.

von Heinz L. (ducttape)


Lesenswert?

Der Schaltplan inkl. code findet sich im verlinkten Artikel.

von Kurt H. (Firma: KHTronik) (kurtharders)


Angehängte Dateien:

Lesenswert?

Hallo Heinz,

für mein Projekt habe ich eine Mega644A und die u8g-Bibliethek 
verwendet. Da ich den Prozessor von der "eigentlichen" Anwendung per SPI 
anspreche, habe ich den UART im SPI-Master-Mode zur Steuerung des 
DOG-XL160 verwendet. Mit dem beiliegenden Code klappt das sehr gut.
Die u8g-Bibliothek ist zwar nicht sehr schnell, aber der Mechanismus zum 
Speichersparen ist schon gut.
Wenn Du auch den Code für den Touchscreen brauchst, lass es mich wissen. 
Ebenso habe ich einen Treiber für die LED-Beleuchtung ergänzt.

Grüße, Kurt

von spess53 (Gast)


Lesenswert?

Hi

>hab aber
>inzwischen alles von Kerko über Elko bis Tantal und von 0.1 bis 2.2mF
>durch).

Was ist denn denn an der Datenblattangabe 2 x 2µF/16V nicht zu 
verstehen? Hoffentlich hast du damit nicht die Ladungspumpe gekillt.

MfG Spess

von Kurt H. (Firma: KHTronik) (kurtharders)


Lesenswert?

Hallo Heinz,

wenn Du lieb bittest :-) schicke ich Dir auch ein passendes Eagle-Layout 
:-).

Herzliche Grüße, Kurt

von Heinz L. (ducttape)


Lesenswert?

@spess53: No weil's das erste fehlerhafte Datenblatt wär... Und ja, sind 
µF. Für den Tippfehler möchte ich mich entschuldigen (auch schon alles 
in Datenblättern gesehen, von umgekehrten Pinbelegungen mal ganz 
abgesehen).

Und Kurt, herzlichen Dank für den Code! Das Eagle layout wäre zwar fast 
zu schön, aber gäbe es ggf. die Möglichkeit einen Blick auf Deinen 
Schaltplan zu werfen? ganzliebguck

von Gerhard G. (g_g)


Lesenswert?


von Heinz L. (ducttape)


Lesenswert?

Danke für die Links, die hab ich aber schon durch. Ich glaub was man 
hier oder auch per Google über den dogxl finden kann hab ich bereits 
gesehen und mit recht hoher Wahrscheinlichkeit auch schon ausprobiert.

Ich hatte mehr die Hoffnung dass mir jemand beantworten kann wie ich bei 
der Fehlersuche vorgehen soll, ich bin schließlich nicht der erste (denk 
ich mal) bei dem das Ding so GAR NIX anzeigt. Gibt's irgendeinen Pin den 
ich messen kann um der Ursache auf die Spur zu kommen? Sollte denn 
überhaupt "irgendwas" auf dem Display erscheinen bei der Initialisierung 
(wobei, den Befehl "alle pixel setzen" hab ich auch schon geschickt, so 
gesehen...)? Gibt es eine Möglichkeit zu prüfen ob der dogxl überhaupt 
meine Befehle erhält?

Was ich suche ist im Endeffekt ein "how to" für die Fehlersuche. Weil 
langsam beschleicht mich zunehmend das Gefühl dass einfach das Display 
hin ist. Nur wie find ich's raus?

von Kurt H. (Firma: KHTronik) (kurtharders)


Angehängte Dateien:

Lesenswert?

Hallo Heinz,

mir ging es sehr ähnlich, auch ich trauerte um den Display. Dann habe 
ich die u8g-Bibliothek genommen und es ging trotzdem nicht :-). Da ich 
den UART als SPI-Master verwende gab es ein paar Besonderheiten. Eine 
davon war, dass das Slave-Select zu früh weggenommen wurde. Als das 
behoben war lief alles fast auf Anhieb. Leider sieht man ja beim 
Einschalten nur den alten Inhalt oder Nix. Also auf jeden Fall die 
SPI-Signale kontrollieren oder von mir abkupfern :-).

Ich habe den LCD-Treiber auch einmal beigelegt, damit Du die Benutzung 
sehen kannst. Da ist zwar einiges an Bastelei drin, aber irgendwie muss 
man ja openSource zurückzahlen :-).

Grüße, Kurt

von Heinz L. (ducttape)


Lesenswert?

Herzlichen Dank für all den Code, nur irgendwie hab ich das Gefühl dass 
das Ganze damit komplizierter statt einfacher wird. Geh ich mal recht in 
der Annahme dass das Ganze für ein wenig mehr gedacht ist als lediglich 
die Ansteuerung eines DOG160?

Kann ich LED_init, Button_init, Touch_init usw rauswerfen ohne dass 
dabei Nebeneffekte auftreten? Bzw, welche Teile davon haben überhaupt 
mit dem Display zu tun?

Bitte versteh mich nicht falsch, ich bin sehr dankbar für jede Hilfe, 
aber wär's irgendwie möglich den Code zu isolieren der mit dem Display 
zu tun hat? So hab ich eher das Gefühl mir einiges an möglichen 
Fehlerquellen einzutreten.

von Heinz L. (ducttape)


Lesenswert?

So, herzlichen Dank an alle, besonders an Dich, Kurt! Das Display 
funktioniert. Zuerst hab ich's fast nicht bemerkt, weil's auf'm Kopf 
stand. Aber egal, es läuft! Die Hardwareseite ist damit als 
funktionierend abgeschlossen, der Rest ist trivial. :)

Ich werd trotzdem jetzt hergehen und die u8glib wieder aufgeben, auch 
weil das Ding UNHEIMLICH aufbläht. Der 644 soll schließlich noch ein 
bischen mehr tun als Grafik auf's Display zu zaubern und so toll die lib 
auch ist, sie kann weit, weit mehr als ich benötige.

Die Bestätigung dass mein Display funktioniert und ich jetzt "nur" mehr 
Software dafür schreiben muss reicht mir vorläufig. Vielleicht sollt ich 
ein kleines Demodingens zusammenkleistern für den nächsten dem's wie mir 
geht, wie ich der Suchfunktion entnehmen konnte war ich ja nicht der 
erste der mit dem Ding kämpft (und bevor jemand fragt, nein, leider 
konnte mir die Suchfunktion auch nur bedingt Erhellung bringen).

Danke nochmals an Dich Kurt und bei Deinem Projekt noch viel Erfolg!

von Kurt H. (Firma: KHTronik) (kurtharders)


Lesenswert?

Hallo Heinz,

offenbar hast Du die "Isolation" ja schon erledigt :-).
Die Treiber für LED (RGB-Backlight) und Touch sind weitgehend unabhängig 
vom LCD-Teil. Ich verwende dabei 4x3 Touch-Felder welche ich vom 
Hauptsystem per SPI und printf fülle.
Das ganze Display mit ATMega ist Teil meines Hörverstärkers mit 
DSP-Entzerrung und stellt die höheren GUI-Funktionen bereit.

Derzeit kämpfe ich mit dem C-Compiler für Sharc :-(

Grüße, Kurt

von Heinz L. (ducttape)


Lesenswert?

Naja, ich hab einfach aus der u8g, Deinem Schaltplan und einigem try and 
error was zusammengepfrimelt. Mein Ziel war im Endeffekt nur zu prüfen 
ob die Hardware so funktioniert wie ich sie zusammengestellt hab, der 
Rest fällt mir relativ leicht.

Mit SHARC hab ich bisher noch nix zu tun gehabt, da werd ich dir wenig 
helfen können.

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
Noch kein Account? Hier anmelden.