Forum: Mikrocontroller und Digitale Elektronik Transistortester und Grafikdisplay mit ST 7108-Contoller funktioniert nicht.


von Supreme Kurt (Gast)


Lesenswert?

Ich habe in der Version 1.12 der Software des Transistortesters auf 
Seite 19 der .pdf-Datei den Hinweis gefunden, daß man dort mit Hilfe 
eines seriell/parallel-Wandlers mit 74HCT595 ein Display mit 
ST7108-Contoller betreiben kann. Also baute ich die Schaltung auf und 
schloß ein Display "Winstar 12864A-TMI-VN" an. Ich flashte die 
Transistortester.hex und die Transistortester.eep aus dem Verzeichnis 
ST7108 mittels ISP auf einen Arduino pro mini ohne weitere Beschaltung 
und setzte den Takt auf RC-Oszillator mit 8MHz ohne CKDIV.

Leider sehe ich nur ein ein paar einzelne Pixel und kurze Streifen auf 
dem Display.


Frage: Hat schon einmal jemand Anderer diese Sorte Display an dem Tester 
zum Laufen bringen können?

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

>Ich flashte die Transistortester.hex und die Transistortester.eep aus dem 
>Verzeichnis ST7108 mittels ISP auf einen Arduino pro mini ohne weitere 
>Beschaltung

Nungut, Du hast alles aufgebaut, vermutlich wie auf Seite 18 der 
PDF-Datei gezeigt.
Aber stimmt auch die Zuordnung zwischen Makefile und der gewählten 
Anschußbelegung? Oder anders ausgedrückt: Hast Du die Anschlußbelegung 
so ausgeführt, wie es die geflashte hex-Datei erwartet? Vermutlich 
nicht, oder Dir war die Anschlußbelegung des Displays nicht klar. 
Normalerweise versucht man immer zuerst das Statusregister zu lesen. 
Dann kann man Befehle ausprobieren und später in das Bildspeicher-RAM 
schreiben, was man dann direkt sieht.

Läuft alles auf 5 Volt?


mfg

von Supreme Kurt (Gast)


Angehängte Dateien:

Lesenswert?

Danke für Deine Antwort. Ja, die Schaltung ist die von Seite 18 aus der 
.pdf-Datei. Im Anhang ist sie zu sehen. Genau in dieser Port-Belegung 
ist sie auch
mit dem Arduino pro Mini verbunden und wird aus dessen 5-Volt Ausgang 
gespeist. Die 5 Volt sind auch da -an 74HCT595 und Display. Alle 
Verbindungen sind physisch da (wurde "durchgeklingelt")

In dem GIT-Archiv sind die beiden .hex bzw. eep-Dateien und das Makefile 
enthalten. Dort drin finden ich aber NICHT die Anschlußbelegung. Die 
muss irgendwo anders stehen. Aber wo?

Mein Problem ist: Ich habe mit der Bedienung dieser (welcher eigentlich) 
Programmierumgebung keinerlei Erfahrung, weiß also nicht: Welche 
Programme brauche ich, um die Quelltexte (welche der vielen) an welcher 
Stelle.

Deshalb hoffte ich, daß ich nicht der Einzige bin, der dieses Display 
mit 7108-Controller verwendet.

von Supreme Kurt (Gast)


Lesenswert?

Neuigkeiten: Mit einem "Stand alone" Atmega328P und ebenfalls auf intern 
8MHz eingestellt funktioniert es -aber nur, wenn man noch einmal extern 
2 NAND-Gatter als Inverter für die Signale CS1 und CS2 (Chipselekt) des 
Displays spendiert.

Mit dem Arduino pro mini funktioniert es trotz gleicher Dateien und 
gleichem Takt überhaupt nicht.  Unerklärlich, zumal der mit einem eigens 
geschriebenen Testprogramm, das an allen Ports nacheinander je eine LED 
als Lauflicht durchfeuert auch prima und zeitgenau funktioniert. Das ist 
Elektronik, wie sie leibt und lebt....

:((

Fazit:

- Ich hätte GLEICH mit einem nackten Atmega328 anfangen sollen

- Entweder muss ich die Schaltung jetzt mit 2 zusätzlichen Invertern für 
die CS-Signale aufbauen, oder ich finde irgendwie heraus, wie und womit 
man das Ganze kompilieren muss, denn in diesem Make-file kann man 
einstellen, ob der Kontroller die CS-Signale invertiert ausgibt, oder 
eben nicht.

von Christian S. (roehrenvorheizer)


Lesenswert?

> - Ich hätte GLEICH mit einem nackten Atmega328 anfangen sollen


Zum Glück genügt es, wenn nur der Mikrocontroller nackt ist und 
DIL-Gehäuse hat.

Es wird irgend ein Detail geben, das beim Arduino anders ist und sei es 
nur das p hinter Mega328.


mfg

von sid (Gast)


Lesenswert?

Nenn mich verrückt, aber wie wär's denn,
wenn Du ersteinmal nur einen LCD sketch kompilierst und mit zB banalem 
"Hello World" guckst ob das Display mit dem pro mini generell auch ohne 
Inverter zusammenarbeitet (mit eventuellen Anpassungen im Display 
BeispielCode)

und falls das klappt, musst Du eben besagte Änderungen auch am Quellcode 
machen und ein neues hex file kompilieren,
ist ja eigentlich kein Hexenwerk

'sid

von Supreme Kurt (Gast)


Lesenswert?

Christian S. schrieb:
>> - Ich hätte GLEICH mit einem nackten Atmega328 anfangen sollen
>
>
> Zum Glück genügt es, wenn nur der Mikrocontroller nackt ist und
> DIL-Gehäuse hat.
>
> Es wird irgend ein Detail geben, das beim Arduino anders ist und sei es
> nur das p hinter Mega328.

...und ich habe es dann gefunden: Dieser Arduino pro mini mit der 
Aufschrift
"dswg_robot" hat einen Hardwarefehler: Der Pin PD1 auf der langen Seite 
der Platine endet im Nichts! Es geht von dort keine Leiterzug weg.

Von diesen Dingern besitze ich insgesamt 4 Stück und habe die restlichen 
3 auch angesehen: Bei Allen das Gleiche -> Pin endet im Nichts
Auf der Stirnseite der Platine hingegen ist er korrekt verbunden.

Sid schrieb:
> Nenn mich verrückt, aber wie wär's denn,
> wenn Du ersteinmal nur einen LCD sketch kompilierst und mit zB banalem
> "Hello World" guckst ob das Display mit dem pro mini generell auch ohne
> Inverter zusammenarbeitet (mit eventuellen Anpassungen im Display
> BeispielCode)

Nenn mich ebenfalls verrückt, aber würde das nicht gegen einen 
Hardwarefehler helfen.
Daß ich keine Möglichkeit sehe, da Ganze zu kompilieren, stand gestern
schon zu lesen. Somit muss ich eben auf 2 Inverter zurückgreifen und 
ohnehin eine Platine entwerfen, auf der ich das berücksichtigen kann.

Gruß

von sid (Gast)


Lesenswert?

Supreme Kurt schrieb:
> Daß ich keine Möglichkeit sehe, da Ganze zu kompilieren, stand gestern
> schon zu lesen. Somit muss ich eben auf 2 Inverter zurückgreifen und
> ohnehin eine Platine entwerfen, auf der ich das berücksichtigen kann.

Nun, ich las das als "uhh... ist das schwierig" nicht als
"uh... das kann ich definitiv nicht"

und zum testen ob der pro mini defekt ist oder es in der Tat nur ein 
fehler im setup ist, brauchst Du den Transistortester code ja nicht.
die arduino ide und der beispiel code für dein Dislpay reichen da 
locker.

'sid

von Supreme Kurt (Gast)


Lesenswert?

sid schrieb:
> Supreme Kurt schrieb:
>> Daß ich keine Möglichkeit sehe, da Ganze zu kompilieren, stand gestern
>> schon zu lesen. Somit muss ich eben auf 2 Inverter zurückgreifen und
>> ohnehin eine Platine entwerfen, auf der ich das berücksichtigen kann.
>
> Nun, ich las das als "uhh... ist das schwierig" nicht als
> "uh... das kann ich definitiv nicht"

Ich kann es nicht und ich muss es auch nicht können. So lange sich das 
Problem auf die o.g. Weise umgehen lässt, reicht mir das.

>
> und zum testen ob der pro mini defekt ist oder es in der Tat nur ein
> fehler im setup ist, brauchst Du den Transistortester code ja nicht.
> die arduino ide und der beispiel code für dein Dislpay reichen da
> locker.
>
> 'sid

Wie oben zu lesen: Der Fehler ist gefunden. Es liegt an dem 
unbeschalteten Pin D1. Nachdem ich den von dem gleichnamigen Pin auf der 
Schmalseite mittels Lackdraht geholt habe, funktioniert es auch mit dem 
Arduino.

Danke trotzdem für Deine Bemühungen.

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.