mikrocontroller.net

Forum: Projekte & Code Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen


Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Da ich immer wieder auf einen grafikfähigen LCD Controller für 
controllerlose 320x240 Displays angesprochen werde, habe ich meinen 
alten auf der 640x480 Version 
(Beitrag "LCD Controller für 640x480 LCD mit mega8515") basierten Controller 
etwas aufgepeppt und mit neuen Features versehen:

- Einfache Schaltung aus nur wenigen Standardbauteilen
- Grafikmodus mit 4 Graustufen
- Textmodus mit 8x12 Zeichensatz, der Text in Grafik umwandelt
- Funktionen für Pixel, Linien, Rechtecke, Bilder usw
- Ansteuerung über UART (Standard: 19200 Baud), daher ideal als Display 
in einer µC Schaltung verwendbar. Die Grafikfunktionen entlasten dabei 
den anderen µC.
- Die LCD Routinen sind in Assembler geschrieben (für beste Ausnutzung 
der Rechenleistung), Ansteuerung und Kommunikation dagegen in C, daher 
leicht ist das ganze leicht erweiterbar.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So könnte das ganze aussehen, wenn es aufgebaut ist und läuft.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr beeindruckend. Danke fürs posten.

Gruß

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte schon die ganze zeit vor deinen großen Controller auf die 
displays umzumünzen, bin aber noch nicht dazu gekommen, naja jetzt hast 
du das ja gemacht, prima :D

Autor: Thorsten S. (whitenoise)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt,

ich konnte in deiner Schnittstellenbeschreibung die Schnittstelle zum 
Kreise zeichnen nicht finden.

Eine Frage dabei zur Umsetzung, bietet sie nur gefüllte Kreise, wie im 
Bild, oder ist es möglich die Randdicke zu Variieren?

Gruß,
Dennis

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wirklich beeindruckend Benedikt,

toll das Farbenspiel mit dem "schwarzen" (ist es doch wohl) Display.

Wigbert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dennis S. wrote:
> ich konnte in deiner Schnittstellenbeschreibung die Schnittstelle zum
> Kreise zeichnen nicht finden.

Gibt es auch nicht. Ich hatte zwar erst dran gedacht, aber dann doch 
sein lassen, da Kreis im Vergleich zu Rechtecken doch eher selten 
vorkommen. Bei der nächsten Version ist das aber drin.

Wo wir schon dabei sind: Kennt jemand eine Füllfunktion die auch auf dem 
AVR einigermaßen schnell läuft ? Floodfill scheitert schon alleine am 
Stack.

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in inrgend einer lib wurde das so gelöst:
man errechnet zwei auf gleicher höhe liegende Kreiskoordinaten und 
zeichnet von der einen koordinate zur anderen eine linie, das macht man 
für alle punkte, fertig ist der gefüllte kreis.

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder du machst es so: vom mittelpunkt ausgehen gehst du in y richtung 
nach oben bis du auf ein gleichfarbiges Pixel (rand) triffst, das gleich 
einmal nach unten.
Dann erhöhsat du x um eine und wiederholst das solange bis du in x 
richtung auf ein gleichfarbiges pixel triffst.
dann nochmal vom mittelpunkt aus nach links und fertig
Problem ist nru wenn andere objekte "im Weg" sind wird nicht der ganze 
kreis gefüllt. Man könnte natürlich auch einfach die koordinaten des 
Kreisrandes speichern oder das beim zeichnen miterledigen volgendermaßen 
vieleicht:
Ich geh jezt mal davon aus das du immer Viertelkreise zeichnest.
mx = mittelpunkt X
my = mittelpunkt Y

x=mx
oldx = x-1
y=my+radius
while(x < mx+radius) {
 
 drawPixel(x,y) //rand zeichnen
 if (x != oldx) { //x != alter postion, sonst haben wir schon gemalt!
  oldy = y //y sichern
  while( y > my ) { //sind wir schon am mittelpunkt?
     y--; //nach unten gehen
     drawPixel(x,y) //pixel zeichnen
  }
  y=oldy //y wieder herstellen
 }
 oldx = x //altes x speichern um "doppelmalen" zu verhindern falls
          //sich x in dieser iteration nicht ändert
 x = newXKoord(x) //neue X berechnen
 y = newYKoord(y) //neue Y berechnen
}
Jezt natürlich ungetestet aber das könnte so gehen, es werden halt immer 
streifen vom Rand runter bis zum mittelpunkt gezeichnet.
Muß man jezt halt nocheinmal spiegeln für die 4 Quadranten.

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist das für ein controller-loses Display?

Mfg
Thomas Pototschnig

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Pollin: 120460 (mechanisch und elektrisch identisch zu 120471).

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

>Bei der nächsten Version ist das aber drin.
Wirst Du die Hardware verändern?

Wigbert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, nur die Software.

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Benedikt,

respekt

vielleicht eine blöde frage aber,
um eine text zb.in Zeile 1 zu schreiben
ist es richtig 17,x1,y1 x=position y=zeile

mfg kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, genau so. Die Zeilen und Spaltenzählung beginnt aber C typisch bei 
0.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist jetzt noch nicht ganz klar welcher RAM
verwendet wird. Alle anderen Bausteine sind ja bezeichnet ;-).

Gibt es da einen Standard Reichelt Typ ?

Gruß Sven

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als SRAM findet irgendein schneller 32k x 8 SRAM mit 10-35ns Verwendung. 
Sowas hat Reichelt nicht.
Daher kann man in der lcd.c den RAM Zugriff ausbremsen. Dann kann man 
auch langsamere mit bis zu 90ns verwenden. Das wäre dann z.B. 62256-80 
von Reichelt.

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, danke. Dann würde dieser hier passen :

http://de.farnell.com/1271827/halbleiter/product.u...

Bestnr: 1271827

Danke schon mal für die Arbeit und die Veröffentlichung.
Überlege das ganze in SMD zu realisieren und zu veröffentlichen.


Gruß Sven

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hätte da mal eine Frage aus reinem Interesse:
Warum die etwas unorthodoxe Einblendung des externen Speichers in den 
Adressraum des AVR (A0 vom externen Interface wird nicht verwendet)?
Hat das Vorteile beim Auslesen des RAM für den LCD-Datenstrom?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven wrote:
> Ok, danke. Dann würde dieser hier passen :

Ja, der sollte funktionieren.

Stefan Ernst wrote:
> Ich hätte da mal eine Frage aus reinem Interesse:
> Warum die etwas unorthodoxe Einblendung des externen Speichers in den
> Adressraum des AVR (A0 vom externen Interface wird nicht verwendet)?
> Hat das Vorteile beim Auslesen des RAM für den LCD-Datenstrom?

Ja. Damit das ganze schneller geht, teile ich den 16bit Adresspointer in 
256 Zeilen und 256 Spalten auf, genau passend für das LCD.
Ich lese für das LCD 80 Bytes aus. Da das LCD nur 4bit hat, reicht ein 
Speicherbyte für 2 Datenpakete zum LCD, daher der Multiplexer und daher 
ist A0 nicht beschaltet.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. wrote:

> Ich lese für das LCD 80 Bytes aus. Da das LCD nur 4bit hat, reicht ein
> Speicherbyte für 2 Datenpakete zum LCD, daher der Multiplexer und daher
> ist A0 nicht beschaltet.

Ah, ich hatte übersehen, dass der Multiplexer am Ausgang durch das 
RD-Signal getoggelt wird. ;-)
Danke!

Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kleines Update:
Jetzt mit Routinen um einen (gefüllten) Kreis zu zeichnen.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt K.

noch mal zu Deiner Schaltung:

von IC1/PD4 kommt FLM/ AC
von IC6A/Pin5 kommt M/Frame.

sonst war FLM=Frame
und M=AC

Frame wird ja wohl gebraucht, welcher Pin wäre denn richtig?

Wigbert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Du hast recht, da habe ich wohl beim Verschieben der Pins nur ein Teil 
der Bezeichnung mitverschoben.
Hier iste die Beschreibung mit dem korrigierten Schaltplan.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Benedikt,

hab ein kleines Ausgabeproblem.

Anbei mal Dein "Titelbild"
Sieht so aus , als wenn der Text nicht aus der richtigen "Ablage"
"gemalt" wird.
Hab die Verdrahtung noch mal geprüft, laut DBL soll der mega 8515 nur
12 bis 22pF am Quarz haben, hab ich 15 statt deiner 27 drin.
Reset hat noch 10K an 5V+

Auf Befehle über RXD gehorcht die Schaltung Bedingungslos bei
19K2 .
als Speicher hab ich ein W24M257AK-15 ( hab ein paar ausprobiert) drin.

Fusebits des mega8515: CKOPT programmed(>8Mhz) rest unprogrammed.

habe beide Code (mit und ohne Kreis) ausprobiert.

Dank Dir mal schon.

Wigbert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du die Verdrahtung genauso wie im Schaltplan, oder hast du bei den 
Datenleitungen etwas verändert ?
Wenn du Pin 1 vom HC157 an Q statt an Q\ anschließt, dann sollte es 
passen.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
war wohl bisher der erste Nachbauer,
ansonsten:

ohne Worte.

Wigbert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ich da was im Schaltplan vertauscht, oder hattest du was falsch ?

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab den Pin1 vom HC157 an Pin9(Q)des HC74 angeschlossen (geändert)
zw. Pin8 u.Pin12 habe ich die Brücke des HC74 gelassen.
Der Rest ist alles nach Deinem Schaltplan. Nur ISP-Buchse hab ich 
zusätzlich drauf.

Wigbert

Autor: ChrisLiebig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Wigbert Picht

Darf man fragen um welches Display es sich genau handelt? Eine genaue 
Bezeichnung wäre echt Klasse!

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Wigbert

kannst du das Layout veröffentlichen?

Gerhard

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stimmt, ist nirgends erwähnt

von Pollin
Best.Nr. 120 471

Wigbert

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Gerhard wird demnächst kommen,
muss nach ein paar Schönheitsfehler abändern

Autor: Jens (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Die Schaltung im Beitrag bezieht sich ja auf die Displays von Pollin.
Best.-Nr.: 120 460 und 120 471
Ich habe das von Sharp (120 318). Kann ich das auch verwenden? Nur die 
Spannungen für das Display müsste ich da selbst erzeugen. Liege ich da 
richtig? Und müsste ich da im Programm etwas verändern?

Ich häng das Datenblatt gleich mit an!

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens wrote:
> Ich habe das von Sharp (120 318). Kann ich das auch verwenden?

Ja.

> Nur die
> Spannungen für das Display müsste ich da selbst erzeugen. Liege ich da
> richtig?

Ja, ich mache das so wie bei dem Link den Andreas gepostet hat.

Und müsste ich da im Programm etwas verändern?

Nein.
Nur aufpassen, dass da das Display mit 3,3V läuft. Also den Pegelwandler 
nicht vergessen.

> Ich häng das Datenblatt gleich mit an!

Datenblatt würde ich das nicht nennen. Irgendwo hier im Forum fliegt 
auch das richtige Datenblatt von Sharp rum, ich habs jetzt gerade nicht 
gefunden. Aber da es ein Standard 320x240 TFT ist, ist das Datenblatt 
sowiso eher uninteressant (abgesehen von der Pinbelegung).

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Datenblatt ist in dem Pollin-Downloadpaket auch drin (in "Daten").

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Warum 3,3V für das Display? Laut Schaltplan von Pollin betreiben die das 
LCD mit 5V und nur das FPGA mit 3,3V.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn's geht - ok. Im Datasheet von dem Teil steht halt 3.0-3,6V drin. 
Allerdings mit einem absoluten Maximum von immerhin doch 6V, also wohl 
nicht im Sinne des Erfinders, aber vielleicht machbar.

Aber: Bloss weil Pollin das reinschreibt, wird da kein Naturgesetz 
draus.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens wrote:
> Warum 3,3V für das Display?

Wie Andreas schrieb: Sharp garantiert nur 3,3V. Es mag bei 5V gehen, ist 
aber außerhalb der Specs.

> Laut Schaltplan von Pollin betreiben die das LCD mit 5V und nur das FPGA mit 
3,3V.

Wichtigste Merkregel bei Pollin: Nie deren Angaben vertrauen, da ist 
einiges falsch. Immer das orginal Datenblatt verwenden.

Autor: ChrisLiebig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo liegt eigentlich der Unterschied zwischen den Displays von Pollin mit 
den Nummern 120 460 und 120 471??? Hat nur der Rahmen ne andere Farbe 
oder wie?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Apropos Datasheet: Laut Sharp ist schon der kleinste Überschwinger am 
Eingang jenseits der Spezifikation. Ist nämlich nur 80-100% Vdd 
zulässig. ;-)

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab das zweite noch nicht ausprobiert, aber von der Bezeichnung her 
(NANYA hat da ein System drinne) ist das erste hell auf dunklem 
Hintergrund, das zweite andersrum. Und das erste geht garnicht ohne 
Hintergrundbeleuchtung (transmissive), das zweite kann sowohl mit wie 
ohne (transflexive).

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ChrisLiebig wrote:
> Wo liegt eigentlich der Unterschied zwischen den Displays von Pollin mit
> den Nummern 120 460 und 120 471??? Hat nur der Rahmen ne andere Farbe
> oder wie?

120 460 ist das hier:
http://www.mikrocontroller.net/attachment/34396/32...

und 120 470 ist das:
http://www.mikrocontroller.net/attachment/36571/GLCD.JPG


Das erste hat meiner Meinung nach einen leicht besseren Kontrast, dafür 
sieht man (wie Andreas schon wieder vor mir schrieb) garnichts ohne 
Backlight. Das  zweite ist dagegen auch ohne Backlight bei ausreichend 
vorhandenem Licht ablesbar.

Autor: ChrisLiebig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kann ich die 23V für die Hintergrundbeleuchtung erzeugen? Bin grade 
auf der Suche nach der IC-Lösung möglichst ohne viel äußere Beschaltung. 
Wieviel Strom benötigt denn das Backlight?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wenn du nicht nur 5V, sondern auch irgendwas ab 6-7V zur Verfügung 
hast, darf ungeregelt sein, dann wird es etwas einfacher: 
Beitrag "Re: Grafik-LCD Controller mit AVR und VRAM". Die Drossel darin 
gibt's übrigens netterweise auch bei Pollin.

Ob der Optokoppler zur Schaltung der Spannung wirklich nötig ist weiss 
ich nicht. Laut Datasheet soll die Spannung erst später eingeschaltet 
werden, zusammen mit DISP_OFF, also ist es sicherer so. Aber wenn 
DISP_OFF die Spannung im LCD sowieso schaltet, wär's ja egal.

In Beitrag "Re: Grafik-LCD Controller mit AVR und VRAM" habe ich den 
Wandler mal auf 10mA minimiert und das Kontrastpoti aus dem Wandler 
ausgelagert, ist aber so noch nicht getestet. Auch hier gibt's die Spule 
bei Pollin.

Strom für Vee ist laut Datasheet von dem Typ mit dunklem Hintergrund 
übrigens 3,4mA.

Autor: ChrisLiebig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure schnellen Antworten.

Leider habe ich nur die 5V zur Verfügung. Ich blicke in dem ganzen 
riesen Topic nicht mehr so recht durch, kann mir einer mal die richtige 
Schaltung zeigen, wie ich aus den 5V die -22V rauskriege?

Achso nochwas, was fürn SRAM kann ich da nehmen, ich brauche ja was mit 
ca. 20ns Zugriffszeit. Hat da jemand nen Beispiel für nen 5V Typ?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ChrisLiebig wrote:

> Leider habe ich nur die 5V zur Verfügung.

Du solltest den CCFL Inverter für die Hintergrundbeleuchtung nicht 
ausser Acht lassen. Es sei denn du willst die transflexive Version und 
nur bei genug Fremdbeleuchtung verwenden.

Der Inverter von Pollin ist nämlich ein 12V Typ, zu finden als 
Kaltlichtkathode für's PC Modding. Daher lag diese Variante der 
Spannungserzeugung nahe. Benedikt musste etwas mehr Aufwand treiben, da 
man mit dem MC34063A ohne Hilfstransistor aus 5V keine 23V zaubern kann.

> riesen Topic nicht mehr so recht durch, kann mir einer mal die richtige
> Schaltung zeigen, wie ich aus den 5V die -22V rauskriege?

Siehe Links oben, such in den Schaltbildern nach dem MC34063A.

> Achso nochwas, was fürn SRAM kann ich da nehmen, ich brauche ja was mit
> ca. 20ns Zugriffszeit. Hat da jemand nen Beispiel für nen 5V Typ?

Beispielsweise gesockelte Cache-RAMs aus alten PCs der 486- und der 
ersten Pentium-Generation. Gibt's wohl auch bei Segor. Sind aber 
ziemliche Schluckspechte, was zu heftigen Transienten auf der 
Stromversorgung führen kann. Kondensator nicht vergessen, und kurze 
saubere VCC/GND-Führung.

Autor: ChrisLiebig (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, die Schaltung ist also nur für die Display-Spannung, oder? Ich werde 
die jetzt so erzeugen wie in Benedikts Schaltung ganz oben. Und wie wir 
die Spannung für die Hintergrungbeleuchtung erzeugt? Verstehe ich das 
jetzt richtig, dass der Schaltregler in Benedikts Schaltung nur für die 
Displayspannung ist?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ChrisLiebig wrote:
> Wie kann ich die 23V für die Hintergrundbeleuchtung erzeugen?

Die +23V von Pollin sind erstens keine +23V, sondern eher -18V (typisch 
Pollin halt: Schnell was zusammengegoogelt, nichts verstanden und falsch 
in die Beschreibung gepackt. Das ist genau das was ich hier geschrieben 
habe: Beitrag "Re: Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen"), und die sind 
nicht für die Beleuchtung sondern für das Display selbst.

> Und wie wir
> die Spannung für die Hintergrungbeleuchtung erzeugt? Verstehe ich das
> jetzt richtig, dass der Schaltregler in Benedikts Schaltung nur für die
> Displayspannung ist?

Ja. Die Hintergrundbeleuchtung benötigt einen CCFL Inverter.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, die -23V sind nur für's Display selbst.

Die Hintergrundbeleuchtung braucht so 400-800V, das baut man sich nicht 
selbst sondern kauft fertige sogenannte Inverter. Sind im Umfeld vom 
PC-Modding leicht erhältlich, arbeiten aber meist mit 12V.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. wrote:

> Die +23V von Pollin sind erstens keine +23V, sondern eher -18V

Aber arg temperaturabhängig. Bei -20°C sind es laut Datasheet -20V, bei 
+50°C -16,5V. Weshalb die Spannungseinstellung im produktiven Einsatz 
dem Anwender zugänglich sein sollte. Ein Poti direkt im Wandler ist 
dafür u.U. ungeeignet, weil man das da nicht rausoperieren darf. Geht 
also wie im Datasheet und meiner 10mA-Version gezeigt beispielsweise mit 
separatem Poti+Transistor, oder wie bei dir per PWM (bloss: wie stellt 
das dann der Anwender ein, wenn er doch nix sieht?).

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. wrote:

> Die +23V von Pollin sind erstens keine +23V,

Wenn man das vom Hersteller vorgesehene Kontrastpoti mit dem Transistor 
einrechnet, sind 0,6V weg, und nochmal ~1V wenn man den Kram per 
Darlington-Optokoppler schaltet (nicht jeder hat sich rechtzeitig mit 
Photo-MOS-Relais eingedeckt ;-). Sind zwar immer noch keine -23V, aber 
ganz so dämlich ist der Wert dann auch wieder nicht. Im Datasheet vom 
'159 Display sind es übrigens -22V.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und selbst dann sind es immer noch -23V und keine +23V...

Autor: jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt

Nochmal zu dem Sharp-LCD (obwohl ich weiß, das das nicht hier her 
gehört)
In dem Beitrag sind folgende Signale auf den Stecker geführt:
LP, D0-D3, XCK, M, Yd, DISP, +Versorgung(das ist klar)

Was gehört denn da zusammen, wenn ich diese Schaltung hier verwenden 
will. Die Signale sind hier anders benannt und das bringt mich etwas 
durcheinander.

Danke für die Hilfe!

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DISP ist ONOFF, Yd ist Frame. Die restlichen Bezeichnungen passen zu 
denen im Schaltplan.

Autor: CC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann mir jemand einen passenden CCFL Inverter empfehlen?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beispielsweise Pollin 700 637 und 700 638. Sind für 12V Betrieb.

Autor: Frager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde das Projekt sehr sehr interessant. Mal ne Frage: Wäre es 
möglich, das Display irgendwie noch mit nem Touch-Panel nachzurüsten?

Autor: Michael S. (micha-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie siehts denn mit nem fertigen Layout aus? Hat da jemand schon was 
fertiges?

Autor: Layout (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
habe mir den Grafik-controller nachgebaut, allerdings sind solche lücken
wie bei Wigbert zusehen
Pin1 vom HC157 an Pin9 des HC74
als sram habe ich den von reichelt 62256-80
vielleicht könnte mir jemand einen tipp geben

mfg

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
und am HC74 Pin 8 an 12

Wigbert

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja am hc74 pin8 und pin12 sind verbunden

kay

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit welcher Bildwiederholfrequenz wird das eigentlich betrieben?


80(320/4) x 244 x 70Hz = 1,36MHZ bei max.16 MIPS = ca. 12 Befehle 
zwischen den PixelClocks ???

Oder hab ich da falsch gerechnet?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Framerate ist in der param.h einstellbar. Momentan ist 85Hz 
eingestellt. Pro 4 Pixel werden etwa 3 Takte benötig, daher bleibt noch 
etwas Rechenleistung für andere Aufgaben übrig.

Autor: kay (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
hier nochmal ein foto ,von der ausgabe
jedes ic hat ein 100nf abblock kondensator
alle lötpunkte sind verlötet
vielleicht hat einer noch ein tipp

mfg
kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht nach einem Kurzschluss gegen Masse auf einer Datenleitung oder 
einer unterbrochenen Datenleitung aus. Da der Abstand 8 Pixel beträgt, 
muss der Fehler irgendwo im Bereich AVR, SRAM, Eingang Multiplexer 
liegen.

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
so es war eine kalte lötstelle am multiplexer,
danke für die hilfe.
nur der uart macht noch einpaar sorgenm der mc restet sich ab und zu und 
die cts led blinkt manchmal auf

mfg

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kay wrote:

> nur der uart macht noch einpaar sorgenm der mc restet sich ab und zu und
> die cts led blinkt manchmal auf

Du sendest vermutlich zu schnell die Daten. Sobald der Empfangspuffer 
überläuft kommt einiges durcheinander. Eigentlich sollten zwar die 
meisten Fehler abgefangen werden, aber es kann dennoch sein, dass 
irgendwo was durchkommt und dann Mist macht.

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
wenn ich ein rechteck zeichnen will
dann bekomme ich nur wirre zeuchen angezeigt baudrate ist 19200

zb.
29;für rechteck
50;x1
50;y1
139;x2
139;y2
0; füllfarbe
255; rahmenfarbe
ist das denn so richtig

mfg
kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht ganz:
Die X Koordinaten bestehen aus 2 Bytes, da die Breite mit 320 Pixeln 
nicht in ein Byte passt.

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wäre es so richtig,

29;für rechteck
50;
25;
139;
89;
0; füllfarbe
255; rahmenfarbe

oder wäre es möglich ein kleines beispiel wies richtig gemacht wird
zb ein rechteck

mfg
kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
29
100
0
110
200
0
220
255
255

Zeichnet ein volles Rechteck mit den Eckkoordinaten (100,110), 
(200,220).

29
0
1
10
1
16
50
0
255

Zeichnet ein leeres Rechteck mit den Eckkoordinaten (256,10), (272,50).

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke erstmal für die hilfe,
werd mich dann mal einarbeiten
danke
mfg
kay

Autor: Sven K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt:

Müsste das nicht so heissen ? Also 1 und 16 vertauscht ?

29
0
1
10
16
1
50
0
255

Gruß Sven

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, stimmt. Da hab ich die 2 Zeilen vertauscht.

Autor: Alexander Sewergin (agentbsik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab die Schaltung von  Benedikt K. noch nicht nachgebaut, hätte aber 
jetzt schon eine Frage:

Wieso gibt es zwei unterschiedliche Schaltplanvarianten (1mal nach 
Benedikt und 1 mal nach  Wigbert ). Damit meine ich die Pins 9 Q und 8/Q 
des Flipflops die auf zwei Arten an den Multiplexer angeschlossen 
werden. Hängt doch sicherlich vom verwendeten Display ab, stimmts?
Eventuell kann man das kurz und knapp erklären und in die .ZIP Datei 
aufnehmen?


Gruß Alex

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
>Ich hab die Schaltung von  Benedikt K. noch nicht nachgebaut, hätte aber
>jetzt schon eine Frage:
>
>Wieso gibt es zwei unterschiedliche Schaltplanvarianten (1mal nach
>Benedikt und 1 mal nach  Wigbert ). Damit meine ich die Pins 9 Q und 8/Q
>des Flipflops die auf zwei Arten an den Multiplexer angeschlossen
>werden.

Pin1 vom HC157 an Pin9 des HC74
am hc74 pin8 und pin12 verbinden
so funktionierts
hatte Wigbert ja auch so geschrieben da sonst pixelfehler auftreten

>Hängt doch sicherlich vom verwendeten Display ab, stimmts?
>Eventuell kann man das kurz und knapp erklären und in die .ZIP Datei
>aufnehmen?

NEIN

ich habs mir auch mehrfach nachgebaut und funktioniert

mfg
kay

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
um ein bild zuladen gibs ja den befehl 16
aber wie wird das korrekt eingegeben

16
0xAA
X=10
Y=50
XS
YS
255

mein bild liegt in einer tabelle,

für eine kurze erläuterung wäre ich sehr dankbar
mfg
kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
16
0xAA
0
0
7
10
0
Bilddaten (70 Bytes)

Damit wird ein 56x10 Pixel großes Bild mit 1bpp an Position 0,0 geladen

16
0xAA
0
0
13
10
1
Bilddaten (130 Bytes)

Damit wird ein 52x10 Pixel großes Bild mit 2bpp an Position 0,0 geladen

Je nachdem in welchem Modus man die Bilder läd, müssen die X Werte 
entweder durch 8 oder durch 4 geteilt angegeben werden.

Autor: kay (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
so habs mal probiert aber das display wird nur mit wirren zeichen 
gefüllt,
die bilddaten habe ich mal im anhang,auch das tool womit ich die 
bilddaten umwandle,
das bild hat 60x60

16
0xaa
0
0
60
60
1

bild:


vielleicht hat ja einer von euch mal ein beispiel

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du lädst da doch nicht etwa eine gif Datei ins Display? Du musst die 
Bildaten unkomprimiert mit 1bpp bzw. 2bpp senden. 1 Byte enthält also 8 
bzw. 4 Pixel.

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. wrote:
> Du lädst da doch nicht etwa eine gif Datei ins Display?

nein

das .gif bild wandle ich um mit diesem tool,das ergibt den
zb, diese tabelle wo das bild drin ist,
bild:
.db0x47,0x49,0x46,0x38,0x39,0x61,0xF0,0x00;
.db0x40,0x01,0x80,0x00,0x00,0xFF,0xFF,0xFF;
.db0x00...................
das lade ich in den controller der das dann ans display schickt

oder habe ich das ganze verkehrt verstanden

mfg
kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Bild hat 60x60 Pixel. Bei 1bpp wären das 450Byte. Bei 2bpp 900Byte. 
Deine Daten haben etwa 1,5kByte. Irgendwas passt da also nicht.

Autor: Kay B. (newbie)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
habe das gif bild mit paint gespeichert und zwar monochrom ,auflösung 
60x60pixel,542Bytes,dann das gif bild umgewandelt mit winbin (hat 
jetzt3.04Kb)damit ichs im avr(mega128) speichern kann der es dann zum 
lcd überträgt.
hab die beiden bild daten im anhang.
wenn ichs zum lcd schicke dann entsehen nur wahllose pixel.
vielleicht könnte mir einer von euch ein wenig weiterhelfen,
oder ein beispiel zum testen.

mfg
kay

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
kann mir denn niemand ein beispiel nennen oder ein tool womit ich die 
bmp`s umwandeln kann oder ein beispiel dass wäre sehr net.

mfg kay

Autor: kay (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
guten nabend
die funktion ein bmp anzuzeigen funktioniert nicht,zumindest bei mir 
nicht,es werden immer nur wirre zeichen dargestellt vielleicht wäre es 
möglich mir ein kleines stück weiter zuhelfen

mfg kay

Autor: Tobias Hagemeier (hse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Erstmal großes Lob für Deine Arbeit, Benedikt. Ich habe damit allerdings 
ein kleines Problem (naja, noch nicht ;)).
Ich will für ein Projekt deine Schaltung verwenden, muss aber mehr 
Informationen auf dem Display unterbringen als mit 40 x 20 Zeichen 
möglich ist (es geht dabei vor allem um die Zeichen pro Zeile, die 
Anzahl der Zeilen ist absolut ausreichend).

Gibt es eine einfache Möglichkeit, die Größe der Zeichen von 8 x 12 auf 
z.B. die bei anderen Display-Controllern (z.B. Epson) üblichen 5 x 7 zu 
reduzieren? Die entsprechenden Definitionen der Zeichen könnte ich 
Ändern, womit ich mehr ein Problem habe, ist das Auslesen durch die 
Assembler-Routine und die Positionierung auf "ganzen Zeichen", die du ja 
scheinbar vor dem Aufruf der lcd_writebyte-Routine vornimmst..
Ich vermute mal die 8 x 12 sind der "glatten" Ausrichtung an einer 
Byte-Grenze geschuldet? Dann wäre es vermutlich nicht so leicht das 
ganze hinzukriegen..

Gibts da eine einfache Methode das zu ändern bzw. irgendwo als Konstante 
festzulegen?

Danke für deine Mühe,
- Tobi

Autor: rudi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt, hallo liebe Community.

Ich habe eben mal das Projekt "trocken", ohne es testen zu können, unter 
der aktuellen Winavr Version (20080610) mit einem Atmega128 als Ziel 
erfolgreich compiliert, da ich leider keinen Atmega8515 zur Verfügung 
habe.
Sollte gehn, oder?

Testen kann ichs im Moment leider noch nicht...

Würde mich über ein ja, jain, nein von euch freuen ;-)

Danke Rudi

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Gibt es eine einfache Möglichkeit, die Größe der Zeichen von 8 x 12 auf
> z.B. die bei anderen Display-Controllern (z.B. Epson) üblichen 5 x 7 zu
> reduzieren?

Ja, das sollte kein Problem sein, da die gesamte Software im Grafikmodus 
läuft. Die Textzeichen werden daher als Bild in den Bildspeicher 
geschrieben.

> Ich vermute mal die 8 x 12 sind der "glatten" Ausrichtung an einer
> Byte-Grenze geschuldet?

Ja, da kann man ein ganzes Bytes einfach in den Speicher kopieren. Das 
geht am schnellsten, erlaubt aber auch nur das Positionieren eines 
Zeichens in 8 Pixel Schritten.
Da man für andere Textgrößen sowieso aus dem Bytraster fällt, kommt man 
um das Pixelweise setzen und löschen nicht herum. Mit 
lcd_setpixel(x,y,color) sollte eine Erweiterung auch ohne Eingriffe in 
den Assembler Code kein Problem sein.

Sowas in der Richtung sollte funktionieren (ich habs jetzt aber nicht 
ausprobiert):
void glcd_writechar(unsigned short xpos, unsigned char ypos, unsigned char c, unsigned char tcol, unsigned char bcol)
{  unsigned char i,j;
  for (i=0; i<8; i++)
  {  for (j=0; j<6; j++)
    {  if (pgm_read_byte(&font6x8[c][i])&(32>>j))
        lcd_setpixel(xpos+j,ypos+i,tcol);
      else
        lcd_clrpixel(xpos+j,ypos+i,bcol);
    }
  }
}

rudi wrote:
> Sollte gehn, oder?

Leider nicht.
Die Schaltung verwendet einen Adressbereich von 256x240Bytes=60kBytes, 
der mega128 erlaubt aber nur 59,75kByte für das externe RAM. Daher muss 
erstens das #define DDRAM 1024 auf 4096 erhöht werden, und zweitens 
werden die erste und die letze Zeile des Displays vermutlich dasselbe 
anzeigen, da eben zu wenig externer Speicher adressiert werden kann.

Autor: Tobias Hagemeier (hse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Benedikt!
Ich hatte mir den ASM-Quelltext gestern abend nochmal angeguckt. Das 
Konzept der Bitmuster im Array kann man ja beibehalten, muss dann nur 
gucken das man jeweils nur die ersten 6 Bit des Musters benutzt.
Natürlich muss das ganze dann bitweise adressiert werden, und mit einer 
entsprechenden Maske gearbeitet werden.

Meine Ideen bis jetzt:

- Zeichen laden (entsprechende Pixel-Zeile)
- Maske erzeugen (gleiche Breite wie das Zeichen und an selber Stelle)
- Bit-Offset laden (zum Zeichenanfang)
- Speicherstelle berechnen

So lange Bit-Offset > 0:
 Maske verschieben (links oder rechts..?)
 Zeichen auch verschieben (genau wie Maske)

- Maske XOR 255
- Byte b aus dem Display-RAM laden
- b = b & Maske
- b = b | Zeichen
- Byte b in Display-RAM schreiben

- Externe RAM-Speicherstelle + 1

- Zeichen laden (entsprechende Pixel-Zeile)
- Maske erzeugen (gleiche Breite wie das Zeichen und an selber Stelle)
- Bit-Offset laden (zum Zeichenanfang)
- Neues Bit-Offset = 8 - Altes Offset
- Speicherstelle berechnen

So lange Bit-Offset > 0:
 Maske verschieben (rechts oder links, andersrum wie beim ersten 
Schritt)
 Zeichen auch verschieben (genau wie Maske)

- Maske XOR 255
- Byte b aus dem Display-RAM laden
- b = b & Maske
- b = b | Zeichen
- Byte b in Display-RAM schreiben

- Externe RAM-Speicherstelle - 1 (damit ist der Zustand wie vorher und 
kann wie in deiner ASM-Routine fortgesetzt werden)



Das ist mal ganz schnell formuliert der Pseudocode (ASM-nah) den ich 
dafür umsetzen würde. Ich habe allerdings mit Assembler bis jetzt nicht 
viel gemacht (okay, bis auf ein paar Änderungen in fremdem Code) und 
weiß nicht genau ob ich dafür beliebige Register benutzen kann, da der 
C-Code da ja noch mit zusammen arbeiten muss. Eigentlich dürfte es kein 
Problem geben wenn ich mit push & pop die entsprechenden Register 
sichere, oder?
Dieser Code dürfte (sofern ich jetzt keinen Denkfehler drin habe) auch 
schneller arbeiten als jedes Bit per "setpixel" zu setzen..

Danke vielmals ;)

- Tobi

P.S: Mir fällt gerade auf, das es wenn ich aus dem externen RAM auch 
lese eventuell zu Fehlern kommen könnte.. Spielt das eine Rolle? Ich 
meine.. die Daten werden ja eigentlich beim Lesen auch ans Display 
übertragen. So ganz hab ich das aber noch nicht durchschaut was in der 
Schaltung abläuft ;)

Autor: Sachich Nich (dude) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welch ein Zufall dass genau dieses Display bei mir liegt und ich Montag 
Platinen fertigen lasse. Ich werde mal eine SMD-Platine 
zusammenstoepseln und das ganze aufbauen, vielen Dank Benedikt!

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Hagemeier wrote:

 Das ist mal ganz schnell formuliert der Pseudocode (ASM-nah) den ich
> dafür umsetzen würde.

Sollte soweit funktionieren. Dürfte auch auf jedenfall schneller sein
als die einzelnen Pixel zu setzen, vor allem da man mit einer Maske ja 
direkt alle 8 Zeilen untereinander schreiben kann.

> weiß nicht genau ob ich dafür beliebige Register benutzen kann, da der
> C-Code da ja noch mit zusammen arbeiten muss.

http://www.nongnu.org/avr-libc/user-manual/FAQ.htm...

> P.S: Mir fällt gerade auf, das es wenn ich aus dem externen RAM auch
> lese eventuell zu Fehlern kommen könnte.. Spielt das eine Rolle?

Dafür habe ich extra das Signal an PD3 eingeführt. Damit wird das 
Display quasi vom Datenbus getrennt, wenn keine Daten ausgegeben werden. 
Nur im Interrupt wird dieses Signal aktiviert, eine Zeile ans Display 
übertragen und anschließend das Signal wieder deaktiviert.

Autor: Alexander Sewergin (agentbsik)
Datum:
Angehängte Dateien:
  • preview image for 1.png
    1.png
    295 KB, 3804 Downloads

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab auch mal ein 320x240 Display angeschlossen, jedoch treten bei 
mir  senkrechte Schlieren/Linien auf.
Ich hoffe auf dem Bild kann man erkennen, was ich meine.

Könnte es daran liegen, dass ich das Display mit Lackdraht an die 
Platine angeschlossen habe und die Drähte jetzt wie Sender/Empfänger 
arbeiten und Influenzen in den benachbarten Drähten verursachen? Komisch 
ist aber, dass es neben der Schrift " 320x240 LCD Controller By 
Benedikt" keine Schlieren auftauchen.


Als Sram benutzte ich eins mit 15ns Zugriffszeit.
Die Platine ist gelayoutet und besitzt eine Massefläche.

Gruß Alex

PS: Hier mal ein kleies Video, auf dem ich die Kontrastspannung runter 
und wieder hoch regele. Durch die Kontrastspannung kann ich den effekt 
zwar abschwächen, bekomme ihn aber nicht weg.

http://mitglied.lycos.de/onrop/Alex/Elektronik/Fot...

(die Hintergrundgeräusche stammen von meinem Radio.... diese treten 
jedoch nur dann auf, wenn das LCD im Betrieb ist. Dabei ist das Radio 2 
m vom LCD entfernt.)

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alexander Sewergin wrote:

> ich hab auch mal ein 320x240 Display angeschlossen, jedoch treten bei
> mir  senkrechte Schlieren/Linien auf.

Dieser Effekt nennt sich Übersprechen. Er tritt vor allem an großen 
senkrechten oder waagrechten Linien auf, was hier der Fall ist.

Daran kann man leider recht wenig machen, das liegt am LCD. Vor allem 
blau-weiße sind davon stark betroffen, da diese einen Knick in der 
optischen Kennlinie haben: Zwischen blau und weiß kommt schwarz, was man 
auch schön im Video sehen kann.
Das ist der Grund, wieso ich keine blau weißen LCDs verwende, obwohl 
blau-weiß eigentlich gut lesbar ist.

Autor: Alexander Sewergin (agentbsik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man denn gegen das Übersprechen nichts machen?
Wieso tritt dieser Effekt eigentlich nur in der vertikalen Richtung auf?

Ich werde mal ein bischen mit den Frames per Seconde rumspielen oder 
halt auf Linienzeichnungen verzichten.



Gruß Alex

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man könnte die Ansteuerung etwas anpassen, eventuell mit passendem 
n-line usw. aber das ist alles nicht so einfach und es verursacht andere 
Störerscheinungen.

Das Phänomen tritt hauptsächlich vertikal auf, da die Einschaltdauer 
einer Zeile konstant ist (nämlich 1/240). Die Einschaltdauer einer 
Spalte dagegen variiert je nachdem wie viele Pixel in dieser Spalte 
aktiv sind (nämlich 0 bis maximal 240). Insgesamt spielen da sehr viele 
Faktoren eine Rolle (Widerstände der Leiterbahnen, Kapazitäten im LCD 
usw.), hier ist das ganze einigermaßen beschrieben: 
http://www.solomon-systech.com/pdf/Crosstalk%20Imp...

Autor: Alexander Sewergin (agentbsik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es scheint wirklich am LCD zu liegen. Ich habe das s/w LC-Display von 
Pollin angeschlossen und man erkennt keine vertikalen Linien mehr.

So langsam verstehe ich auch, wieso viele passive Displays auf dem Markt 
für wenig Geld verkauft werden. Die Bildqualität ist wohl nur mit viel 
Mühe gut einstellbar.


Gruß Alex

Autor: Alexander Sewergin (agentbsik)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich bekomme immer eine Fehlermeldung (AVRStudio4 + WinAVR20081118rc2) 
wenn ich das Programm neu compilieren möchte. Eventuell liegt es einfach 
an meinem Unvermögen mit dem GCC Compiler umzugehen. Auf dem Bild könnt 
ihr sehen, welche Headers ich eingefügt habe. Was muss ich mit lcd.c und 
uart.c machen? Die sind derzeit in dem selben Ordner, wo auch die main.c 
ist. Muss ich diese c. Files irgendwo einbinden?


Gruß Alex

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alexander Sewergin wrote:
> Muss ich diese c. Files irgendwo einbinden?

Ja und die .S auch.

Autor: Nils (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier ein sp14q002 Display (Datenblatt im Anhang).
So wie ich das hier sehe kann ich dieses Display mit diesem 
Selbstbaucontroller verwenden, nur wollte ich nochmal sicher gehen, 
bevor ich alle Teile bestelle, die ich brauche, und daraus wird dann 
doch nichts...

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, die Ansteuerung ist möglich.

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, vielen Dank!

Nun habe ich noch eine Frage, den Optomosfet kann ich ja, so wie ich das 
sehe rauslassen, oder?
Wenn ja, dann muss ich doch VLCD einfach mit an die Anode von D1 und 
ONOFF an PE0 (INT2) am Controller oder?
Im Schaltplan ist ONOFF nicht als invertiert beschriftet, in meinem 
Datenblatt ist das DISP.OFF(Low-Aktiv). Dann muss ich doch noch das 
Signal (am einfachsten mit einem Transistor, oder?) inververtieren??

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nils wrote:

> Nun habe ich noch eine Frage, den Optomosfet kann ich ja, so wie ich das
> sehe rauslassen, oder?

Ja.

> Wenn ja, dann muss ich doch VLCD einfach mit an die Anode von D1 und
> ONOFF an PE0 (INT2) am Controller oder?

Ja.

> Im Schaltplan ist ONOFF nicht als invertiert beschriftet, in meinem
> Datenblatt ist das DISP.OFF(Low-Aktiv). Dann muss ich doch noch das
> Signal (am einfachsten mit einem Transistor, oder?) inververtieren??

Nein.
Onoff: High = On, Low = Off
DispOff\ ist Low aktiv, Low deaktiviert also das Display.
Direkt verbinden und das Display sollte funktionieren.

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
ich hab nochmal eine frage bezüglich eines bmp zu laden,
die anderen funktionen wie rechtecke,linien, kreise usw funktionieren 
bestens aber wenn ich ein bild laden will werden nur wirre pixel 
dargestellt.

vielleicht wäre es möglich mal drüber zuschauen
was ich verkehrt mache

mfg
kay


ldi ZL,LOW (bmp*2)                ; Adresse des Strings in den
ldi ZH,HIGH (bmp*2)               ; Z-Pointer laden

;macro
;bmp mit 60x60 pixel
picture 0xAA,0,0,60,60,1


bild0:
lpm                               ; Erstes Byte nach R0 lesen
tst R0                            ; R0 auf 0 testen
breq _end                         ; wenn 0 verzw. zu _end
rcall senden                      ; UP "ausgeben auf uart
adiw zl, 1                        ; Adresse des Z-Pointers um 1 erhöhen
rjmp bild0                        ; wieder zum Anfang



senden:
mov r17,r0                        ;r0 nach r17 kopieren



send:
sbis UCSR0A,UDRE0    ; Warten bis UDR für das Byte bereit ist
 rjmp send
 OUT UDR0, r17
ret




_end:




;bilddaten
bmp:
.db 0, 0, 0, 0, 0, 11, 240, 0,
.db 0, 0, 0, 0, 3, 112, 0, 0,
.db 0, 0, 0, 0, 180, 0, 0, 0,
.db 0, 0, 0, 30, 0, 0, 0, 0,
.db 0, 0, 7, 192, 0, 0, 0, 0,
.db 0, 0, 248, 0, 0, 0, 0, 0,
.db 0, 31, 1, 228, 128, 0, 0, 0,
.db 7, 224, 255, 248, 0, 0, 0, 1,
.db 124, 63, 255, 0, 0, 0, 0, 32,
.db 135, 253, 224, 0, 0, 0, 0, 33,
.db 255, 206, 0, 0, 0, 0, 92, 57,
.db 161, 192, 0, 0, 0, 6, 3, 16,
.db 56, 0, 0, 0, 0, 64, 112, 223,
.db 0, 0, 0, 0, 0, 15, 0, 224,
.db 0, 0, 0, 0, 0, 176, 112, 0,
.db 0, 0, 0, 0, 2, 63, 0, 0,
.db 1, 160, 0, 0, 96, 0, 0, 127,
.db 248, 64, 0, 0, 0, 0, 11, 231,
.db 136, 0, 0, 0, 0, 0, 185, 128,
.db 0, 0, 0, 0, 0, 15, 128, 251,
.db 128, 0, 0, 0, 0, 64, 127, 252,
.db 0, 0, 0, 0, 2, 127, 247, 96,
.db 0, 0, 0, 0, 31, 243, 210, 0,
.db 0, 0, 0, 0, 254, 22, 192, 0,
.db 0, 0, 0, 15, 208, 56, 0, 0,
.db 0, 0, 0, 251, 10, 0, 0, 0,
.db 0, 0, 0, 127, 0, 0, 0, 0,
.db 0, 0, 3, 192, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 2, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 6, 0, 0, 0, 0, 0, 0, 1,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 0, 0, 0, 0, 0, 0, 0,
.db 0, 16, 0, 0, 0, 0, 0, 0,
.db 7, 0, 0, 0, 0, 4, 0, 1,
.db 224, 0, 0, 0, 0, 0, 0, 126,
.db 0, 0, 0, 0, 0, 0, 127, 224,
.db 0, 0, 0, 0, 0, 127, 252, 0,
.db 0, 0, 0, 0, 11, 255, 192, 0,
.db 0, 0, 0, 0, 63, 248, 0, 0,
.db 0, 0, 3, 131, 255, 128, 0, 0,
.db 0, 1, 252, 127, 240, 0, 0, 0,
.db 0, 63, 255, 158, 0, 0, 0, 0,
.db 0, 255, 248, 224, 0, 0, 0, 0,
.db 7, 190, 28, 0, 0, 0, 0, 0,
.db 26, 7, 128, 0, 0, 0, 0, 0,
.db 251, 224, 0, 0, 0, 0, 0, 1,
.db 248, 0
.db 0,0

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kay B. wrote:

>
> vielleicht wäre es möglich mal drüber zuschauen
> was ich verkehrt mache

> bild0:
> lpm                               ; Erstes Byte nach R0 lesen
> tst R0                            ; R0 auf 0 testen
> breq _end                         ; wenn 0 verzw. zu _end

Da dein erstes Datenbyte schon 0 ist, wird die Schleife direkt 
abgebrochen und gar nichts gesendet.
Besser ist es mit einem Zähler eine feste Anzahl an Bytes zu senden, da 
man nie weiß welche Bytes in den Bilddaten enthalten sind.

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
könnte mann das so machen


ldi r18,7      ;zähler für daten = 8
bild0:

lpm                               ; Erstes Byte nach R0 lesen
dec r18                           ;zähler für daten
rcall senden                      ; UP "ausgeben auf uart
brne bild0                        ;alle 8bytes durch?
adiw zl, 1                        ; Adresse des Z-Pointers um 1 erhöhen
ldi r18,7                         ;zähler für daten = 8
rjmp bild0                        ; wieder zum Anfang

mfg kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso lädst du den Zähler immer wieder neu innerhalb der Schleife?
Das brne und das dec stehen auch an komplett falschen Stellen.

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
so müsste es doch gehen
wenn der der befehl lpm alle 8byte gelesen hat dann wird der z-pointer
um eins erhöt oder bin ich da auf den holzweg?`


ldi r18,7                           ;zähler für daten = 8
bild0:
lpm r17,z+                         ; Erstes Byte lesen
rcall senden                       ; UP "ausgeben auf uart
dec    r18
brne   bild0
adiw zl, 1                         ; Adresse des Z-Pointers um 1 erhöhen
rjmp bild0                         ; wieder zum Anfang


senden:
sbis UCSR0A,UDRE0    ; Warten bis UDR für das Byte bereit ist
 rjmp senden
 OUT UDR0, r17
ret




_end:

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kay B. wrote:
> hallo,
> so müsste es doch gehen
> wenn der der befehl lpm alle 8byte gelesen hat dann wird der z-pointer
> um eins erhöt oder bin ich da auf den holzweg?`

Ja, du machst das komplett falsch. Der z-pointer muss nach jedem Byte 
erhöht werden.

Hier mal ein Ausschnitt mit dem ich Daten aus dem Flash in der RAM 
kopiere. Er zeigt aber zumindest das Prinzip.
ldi ZL, low(2*BMP)
ldi ZH, high(2*BMP)

ldie XL, low(ramstart)
ldie XH, high(ramstart)

ldi r16, count

Loop:
  lpm temp, Z+
  st X+, temp
  dec r16
  brne Loop

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
werd das morgen mal versuchen

danke nochmals
mfg
kay

Autor: Kay B. (newbie)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
so habe die leseschleife etwas umgeändert,es werden nur wirre pixel 
dargestellt.
ich weiss aber nicht ob die tabelle mit den bilddaten so überhaupt 
richtig ist,das bild hab ich mal im anhang.

mfg kay



 ldi r18,7      ;zähler für daten = 8bytes pro tabellen zeile

 bild0:
 lpm r17,z+                        ; Erstes Byte  lesen
 rcall senden                      ; UP "ausgeben auf uart
 adiw zl, 1                        ;Adresse des Z-Pointers um 1 erhöhen
                                   ;nächste zeile lesen
 dec r18                           ;zähler für daten
 brne bild0                        ;alle 8bytes durch?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kay B. wrote:

>  ldi r18,7      ;zähler für daten = 8bytes pro tabellen zeile

Wieso 8 Bytes? Das Bild ist 60x60 Pixel = 3600Bits = 450Bytes groß.

Das adiw ist auch überflüssig, da dies lpm z+ schon erledigt.

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
egal wie ich die lese-schleife schreibe,es kommt wiegeseagt nur 
pixelsalat raus

schade das das nicht funktioniert

mfg
kay

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Benedikt,
habe mir mal den  beitrag"LCD Controller für 640x480 LCD mit mega8515"
angesehen und das logo was du da verwendest mal probiert und das 
funktioniert,
also ist meine bild-tabelle nicht inordnung
aber wie wandelst du denn die bmp`s um?
vieleicht könntest du mir ein wenig weiterhelfen
mfg kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich speichere das Bild als BMP in Schwarzweis mit 1bit pro Pixel. Dann 
entferne ich die ersten 62Bytes der Datei, der Rest sind die reinen 
Bilddaten.
Einfacher geht es z.B. mit solchen Tools (davon gibt es etliche, das war 
jetzt das nächstbeste das ich gefunden habe):
http://en.radzio.dxp.pl/bitmap_converter/

Autor: Kay B. (newbie)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
so habe jetzt mal das programm probiert
egal welche auflösung das bild hat aber ich bekomme nur  zeichensalat 
raus,habe die datei im anhang,das bild hat eine auflösung von 132x176 
Pixel

vielleicht könntest du mir nochmal weiterhelfen
mfg
kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Probier das mal

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habs grad mal ausproniert das haut sogar hin,aber warum haut das bei mir 
nicht hin,132x176 = 23232byte´s/8 = 2904byte bei meinen convertierungen 
komme ich nie ganz auf die byte`s

mfg
kay

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Datei habe ich mit dem Programm erstellt, Einstellung: horizontal
Dann nur noch das C Array passend für den Assembler angepasst (jeweils 
ein .db am Anfang von jeder Zeile)

Autor: Nils (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soo jetzt kamen meine Teile von Reichelt erst, doch statt einem Latch 
war ein FlipFlop drin...

Ich habe hier noch den Bustreiber 74LS245 liegen. 
http://www.ralfzimmermann.de/ttl_ic/0e34.html

In die Schaltung soll ein 74HC245.
http://www.ralfzimmermann.de/ttl_ic/0e39.html

Nun habe ich mir das angesehen und wenn ich DIR von 245er auf H lege und 
dann G\ nochmal invertiere und dann an PE1 (ALE) von uC gehe, müsste das 
doch eigentlich klappen?

Theorethisch, aber dann ist ja noch die Geschwindigkeitsfrage, muss es 
unbedingt ein HC sein oder reicht der LS auch (wenn das überhaupt so 
nutzbar ist.) ?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nils wrote:

> Nun habe ich mir das angesehen und wenn ich DIR von 245er auf H lege und
> dann G\ nochmal invertiere und dann an PE1 (ALE) von uC gehe, müsste das
> doch eigentlich klappen?

Nein, der 245er ist ein Bustreiber, du brauchst aber ein Latch. Mit 
einem 574 würde es eventuell auch noch gehen, aber mit einem 245 auf 
keinen Fall.

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mal eine Platine im Eagle zu dem Thema gemacht.

Die IC´s sind alles DIL Bausteine es kommen nur ein paar wenige SMD 
Kondensatoren und Widerstände zum Einsatz. Habe die Bauform 1206 gewählt 
weil sie sich von Hand noch sehr gut löten lassen.

Auf dem Bord ist eine 5V Spannungsversorgung und die -22V für das 
Display enthalten.

Habe mich an das Orginal von Benedikt K. gehalten.

Für den Anschluss des Displays habe ich eine Stiftleiste vorgesehen 
(Raster 2,5mm)

Die Belegung ist

1  -> Frame
2  -> LOAD
3  -> CP
4  -> VDD (5V)
5  -> GND
6  -> VSS (-22V) Diese müsste mit dem NAN YA LTBE9T372G1K überein stimen
7  -> D0         Nur bei M AC hab ich keine Angabe gefunden was es ist!
8  -> D1
9  -> D2
10 -> D3
11 -> Display Off
12 -> M AC

Eventuell besteht ja Interesse und man könnte eine Sammelbestellung von 
Platinen loslassen.

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
 ich hätte Interresse

mfg

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat wer 2 von diesen Winbond S-Rams abzugeben??

Dann hätte ich auch interesse an einer Platine

MFG Max

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Habe heute die Größe des Boards auf 100mm x 80mm geschrumpft.

hab mal die Preise bei Bilex im Kalkulator berechnen lassen und er sagt 
mir das eine Leiterplatte, 2-lagig, mit Lötstoplack und Verzinnung ca. 
7,5€ kostet.

Finde das einen guten Preis.

Die Berechnung gilt für 12 Eurokarten also 24 einzelne Leiterplatten.

Alle die Interesse haben einfach melden dann würde ich eine Bestellung 
abschicken.

Können auch gern einen anderen LP Hersteller nehmen, war nur so die 
erste Adresse wo ich geschaut habe.

Eventuell schaut auch einer nochmal über die Platine quer, um eventuell 
Fehler die sich eingeschlichen haben noch zu ändern.

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Blitzlampe: Warum sind die meisten Leiterbahnen auf den TOP Layer ( Rot 
), das heisst du müsstest jede Fassung oder IC von oben festlöten, wäre 
sehr umständlich. Da am besten man den Buttom (Blau ) Layer zum löten 
verwendet wird entsprechend den Layer wechseln.

Sind die Platinen Durchkontaktiert und mal getestet worden ?

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Avr Nix wrote:
> @Blitzlampe: Warum sind die meisten Leiterbahnen auf den TOP Layer ( Rot
> ), das heisst du müsstest jede Fassung oder IC von oben festlöten, wäre
> sehr umständlich. Da am besten man den Buttom (Blau ) Layer zum löten
> verwendet wird entsprechend den Layer wechseln.

???
Jede Bohrung ist gleichzeitig eine Durchkontaktierung und kann somit von 
beiden Seiten gelötet werden.

Autor: Picht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Jede Bohrung ist gleichzeitig eine Durchkontaktierung und kann somit von
>beiden Seiten gelötet werden.

na, ja für Profis sei das Löten wohl kein Problem, ich hatte meine 
Platine so geändert, das nur noch jede 2. Fassung von beiden Seiten 
gelötet werden braucht. Oder anders gesagt, genügend Platz für den 
Lötkolben da ist.

Wigbert

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich sind die Platinen Durchkontaktiert,
Die meisten Leiterbahnen sind übriegens auf der Seite der Leiterplatte 
wo nicht die IC´s sitzen. Es gehen nur wenige Leiterzüge unter den IC´s 
lang (BOTTOM Layer)

Habe im Anhang noch mal das Layout gespiegelt wer damit besser 
zurechtkommt ist aber die selbe Platine.

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wollte nicht deine Platine nieder machen, aber wenn es eng wird und du 
keine Präzisionfassung   benutzt wird man mit dem löten Schwierigkeiten 
haben, da man nicht von oben Löten kann bzw kaum dran kommt.

Wenn man auf top Layer Leitungen weg gehen und auf den Bottom layer 
gelötet wird  hast du keine Verbindung.
....aber wenn alle Durchkontaktiert (hülse) sind sollte das nicht 
passieren

Ich nehmen auch mal eine Platine.

Wird der Spannungsregler nicht zu warm ?

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kritik ist immer gern willkommen solange sie hilfreich ist.

Kenne das Problem auch, wenn man Platinen bügelt muss man schon drauf 
achten wie und wo man die Via´s setzt weil es schnell passiert das man 
nicht mehr rankommt zum löten. Aber bei einer "richtigen" Platine sind 
alle Bohrungen durchkontaktiert und somit reicht es wenn man eine Seite 
verlötet.

Die Platine lässt sich ohne Akrobatik löten und bestücken, das Bild im 
Anhang zeigt wo alles gelötet werden muss. Jeder grüne Punkt ist eine 
Lötstelle + die SMD Bauteile.
Es muss nur diese Seite gelötet werden!

Das Bild zeigt übrigens die Unterseite und die IC's Sitzen auf der 
anderen Seite.

Der 7805 wird bei 12V Eigangsspannung und einem Laststrom von 0,1A ca. 
46°C + Umgebungstemp warm.

Wenn jemand, der die Schaltung schon aufgebaut hat, mal den Strom messen 
könnte wäre das super. Somit könnte man abschätzen wie hitzig es wird 
und ggf. noch gegensteuern.

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier nochmal beide Seiten der Platine.

Autor: Picht (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
>Kritik ist immer gern willkommen solange sie hilfreich ist.

Stimmt.

Ich hatte damals die Sockelpins fürs Durchkontaktieren genutzt,
um Einzelstücke selbst fertigen zu können.

Industriell hergestellte Platinen haben natürlich Durchkontaktierungen.

Wenn es zu einer Sammelbestellung kommt, vielleicht kannst Du die
Stecker fürs Pollindisplay(wenn Bedarf) zulegen. Die gibt es nun mal
für ein paar Cent (zB.Farnell).

Wigbert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal die Schaltung und das Layout kontrolliert, passt alles 
soweit, bis auf eine Kleinigkeit, die allerdings mein Fehler ist:
Der CLK Eingang des FlipFlops das M/AC erzeugt, muss an Frame/FLM und 
nicht an LP/Load. Für die beiden Pollin LCDs ist das aber egal, denn die 
erzeugen dieses Signal intern selbst. Daher ist es mir bisher nicht 
aufgefallen, dass dies falsch war. Nur andere LCDs (wie z.B. Hitachi 
SP14Q001 oder das Sharp LCD das es noch bei Pollin gibt), benötigen 
dieses Signal.
Den korrigierten Schaltplan habe ich mal angehängt.

Ich würde den TXD Pin auch noch mit rausführen. Er wird zwar momentan 
nicht benötigt, aber falls man doch mal irgendetwas erweitert, (z.B. 
Zurücklesen der Daten), dann kann man ihn verwenden.

Das Optorelais ist leider bei Pollin nichtmehr erhältlich und daher nur 
noch teuer/schwer zu bekommen. Das Pollin LCD besitzt einen ON/OFF Pin, 
daher ist ein Schalten der VLCD nicht unbedingt notwendig. Ein 
(Löt)Jumper um diesen zu überbrücken, wäre daher vielleicht sinnvoll.

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So habe den CLK auf FLM FRAME gelegt und einen Jumper zum überbrücken 
für das Optorelais hinzugefügt.

Die UART Schnittstelle habe ich jetzt neu gemacht. Jetzt ist eine 4 
polige, 2,5mm Raster Stiftleiste vorgesehen, mit folgender Belegung.

Pin 1 -> RxD
Pin 2 -> TxD
Pin 3 -> GND
Pin 4 -> RTS (BUSY)

Habe die Displayschnittstelle jetzt auch mit 2,5mm Stiftleiste versehen, 
da die andere schwierig zu bekommen ist. Desweiteren sind die Signale 
jetzt beschriftet.

@  Picht
Die Displayschnittstelle habe ich extra mit der Stiftleiste gemacht, 
damit ist die Platine universell für viele Display´s und man kann 
Flachbandkabel direkt einlöten. Wer will kann sich immer noch eine 
kleine Adapterplatte mit einer passenden Buchse machen und diese auf die 
Stiftleiste Löten oder stecken.

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wegen den RAM nicht alle sind sp breit es gibt auch die schmalen die wie 
ein ATMega 8 aussehen. könntest du noch eine Leiste Paralle zu einer 
Seite einbauen , sodas man beide Breiten einbauen kann, das wäre sehr 
Universell.
Oder sonst müsste man extra eine Adapterplatine basteln, so könnte man 
den schmalen 28poligen Fassung oder den Breiten 28poligen Fassung 
nehmen.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Avr Nix wrote:
> Wegen den RAM nicht alle sind sp breit es gibt auch die schmalen die wie
> ein ATMega 8 aussehen. könntest du noch eine Leiste Paralle zu einer
> Seite einbauen , sodas man beide Breiten einbauen kann, das wäre sehr
> Universell.

Ja, das wäre sinnvoll. Die schnellen SRAMs sind nämlich alle nur in der 
schmalen Ausführung erhältlich. Für die langsamen RAMs muss die Software 
angepasst werden (lcd.c, Waitstates aktivieren).

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ok, habe es hinzugefügt.

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So war heut nochmal bei Bilex und hab jetzt einen Preis von 8€ für 
folgende Platine
12 x LEITERPLATTEN   (ergibt 24 einzelne Platinen)
2-Lagig Durchkontaktiert
100x160 mm
Materialstärke: FR4 1.55mm;
Oberfläche: Chemisch Gold(RoHs konform)
Cu Außenlagen Enddicke: 70 µm;
Lötstop: doppelseitig grun
Positionsdruck: ohne
  
Netto:  147.39 €
MwSt:    29.48 €
Brutto: 176.87 € 
Versand  14.00 € 


Verzinnt oder vergoldet macht im Preis kein unterschied genauso wie die 
Kupferstärke.
Also hab ich mich für Gold entschieden, das lässt sich auch noch nach 
langer Zeit super löten.

Also melder wer eine will, bin erst bei 6 Eurokarten.

Autor: Kay B. (newbie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo Blitz Lampe,
ich hätte gern 6 stück.
mfg kay

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, es haben sich verschiedene Leute gemeldet und ihr Interesse 
angemeldet.
Vielen dank erstmal!

Ich würde dann am WE, eventuell kommen bis dahin noch ein paar 
Bestellungen hinzu, Platinen ordern.

Wenn es bei den 12 Platten bleibt wären es 8€ + Porto zu euch. Würde das 
mit der Post im gepolsterten Umschlag verschicken. Versandkosten fallen 
nur die von mir zu euch an.

Würde mich mal bis zum WE schlau machen (wegen Porto) und euch dann am 
WE die Bankdaten und den Preis mailen. Will diese nicht unbedingt im 
Netz veröffentlichen nicht das mir die anderen 6*10^9 Leute auf der Erde 
auch noch Geld überweisen ;-) man weiß ja nie.

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wär auch mit 2 Platinen dabei (hab nur ein Display, aber man weiß ja 
nie ;) )

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach so, habe jetzt nicht darauf geachtet, aber mache eine 
Schriftmarkierung was oben und was unten ist auf den Platinen.

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe heut noch die gewünschte Kennzeichnung der Seiten hinzugefügt. 
Hoffe das es so gemeint war.
Ansonsten einfach anmeckern :-)

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hoffe man erkennt es hier etwas besser.

Im Top Layer steht "TOP + Bauteilseite" und im Bottom Layer habe ich 
"Bottom + Lötseite" eingefügt.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuchs mal als png oder gif, das sollte besser lesbar sein, und 
kleinere Dateien erzeugen.

Autor: Hugga Bugga (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Versuchs mal als png oder gif, das sollte besser lesbar sein, und
>kleinere Dateien erzeugen.

Ist Falk im Urlaub ?

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe es als Eagle Datei und als als Bild ins das ZIP File gepackt.

Autor: Florian K. (makrocontroller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bestelle drei Platinen (falls jetzt noch möglich).

Es wäre jedoch zu überlegen, ob man auf dem Board noch eine Schaltung 
zur Erzeugung der HV Wechselspannung für die Hintergrundbeleuchtung 
vorsieht (sicher, dann sollte man einen Berührschutz haben, z.B. Einbau 
in ein Gehäuse). Und wer diese Schaltung nicht braucht, muss die 
Bauteile ja nicht einlöten. Ich habe folgende Schaltung getestet:
http://www.elektronik-kompendium.de/forum/forum_en...
Sie zieht etwa 300 mA bei 5 V Versorgungsspannung und bei 
angeschlossenem Display (nicht 12 V wie auf dem Bild). Ich habe die 
Schaltung etwas modifiziet: Widerstände 1K, Transistoren 2N3055, mehr 
"Rückkopplungswindungen", Kondensator überflüssig (ich verstehe 
prinzipiell den Zweck des Kondensators, aber bei meinen Tests ergab sich 
dadurch kein besserer Wirkungsgrad). Vielleicht könnte man den 
Wirkungsgrad aber noch mit einer ZVS Schaltung verbessern, die ich 
jedoch noch nicht getestet habe:
http://img236.imageshack.us/img236/5286/flybackdri...
Sie scheint zwar für einen Zeilentrafo konzipiert zu sein, dürfte sich 
aber auch für ca. 500 V Ausgangsspannung anpassen lassen (geeigneter 
Ferrtikerntrafo).

Noch eine Frage: Hat jemand eine Ahnung, wie stark sich die 
Bildwiederholungsrate verringert, wenn man die 70 ns SRAMs von Reichelt 
benutzt und das Programm entsprechend anpasst ?

Autor: Blitz Lampe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Einen CCFL Inverter würde ich nicht auf die Platine machen.

1. Bekommt man diese günstiger gekauft, als man es selber bauen kann.
2. Es schwierig ist einen Trafo zu bekommen bzw selber zu wickeln.
3. Er die Verlustleistung am 7805 extrem in die Höhe treibt.
4. Weil der gekaufte Inverter oder ein ausgebauter sicher funktionieren.
5. Es nicht abzuschätzen ist ob die Störung des Wandlers die Funktion 
der Schaltung beeinflussen.
6. Kein Platz mehr ist.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Florian K. wrote:

> Noch eine Frage: Hat jemand eine Ahnung, wie stark sich die
> Bildwiederholungsrate verringert, wenn man die 70 ns SRAMs von Reichelt
> benutzt und das Programm entsprechend anpasst ?

An sich garnicht, da sich der LCD Controller soviel Zeit nimmt wie er 
braucht. Allerdings benötigt ein Speicherzugriff dann 3 statt 2 Takte, 
was die CPU Auslastung auf >80% erhöht. Die Grafikbefehle werden dann 
entsprechend langsamer ausgeführt.

Autor: Florian K. (makrocontroller)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Thema fertige CCFL Inverter: Hier gibt es einen:
http://www.lc-design.de/shop/de/k006u005s001.htm
Allerdings kostet es erst wieder Versandkosten ...
Die bei Pollin
http://www.pollin.de/shop/detail.php?pg=NQ==&a=ODc...
oder
http://www.pollin.de/shop/suche_ergebnis.php?S_TEX...
wären wohl auch geeignet, allerdings stört mich, dass man dann extra
noch 12 V Versorgungsspannung braucht. Aber vielleicht kann man sie ja
umbauen (Windungszahlen, Widerstände, Kondensatoren), so dass sie auch
bei 5 V einen ausreichenden Output bringen ?

P.S: Ich bestelle trotzdem 3 Platinen, auch wenn der CCFL Inverter
darauf keinen Platz mehr hat.

Autor: nix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der CCFL Inverter braucht für das Display braucht nicht umbedingt 12V, 
ich habe ein Inverter der für 12V ist für die Hindegrundbeleuchtung auf 
7..8V laufen. Das sollte man ausprobieren.

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe soeben die Bestellung abgeschickt.

Habe allen eine Mail geschrieben.
Sollte ich einen vergessen haben einfach mir noch ne Mail schreiben.

Laut Bilex sollen die Platten bis zum 20. gefertigt werden und dann 
müssten sie 3-4 Tage später bei mir eintreffen.

Werde Sie dann umgehend an euch weiter leiten.


!!!! Habe auch noch ein paar Platten über also wer noch eine will kann 
sich immer noch melden!!!!!

Autor: Rainer Deutsch (dl1auz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
falls noch verfügbar, würde ich  2 Platinen nehmen
Rainer

Autor: Adalbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
falls noch verfügbar, würde ich auch 2 Platinen nehmen
Adalbert

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe heut eine Mail bekommen, die Platinen sollen am 26-27.01 bei mir 
einschlagen, werde sie dann umgehend an euch verschicken.

Autor: Blitz Lampe (blitzlampe)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gestern sind die Platinen an euch raus. Hoffe das ihr sie bald bekommt.
Habe eine mal fix aufgebaut um zu schauen ob alles soweit passt.

Es sind noch 2 Stück über also wer noch eine oder beide will kann sich 
melden.

Im Anhang ist der Funktionstest zu sehen.

Autor: Johannes M. (johannesm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hätte gerne die beiden Platinen. Habe dir eine Nachricht geschickt.

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Blitzlampe: Danke, die Platinen sind angekommen.

AVRNix

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Welche Häkchen müssen in PonyProg gesetzt werden für die 
Schaltung/Platine von Blitzlampe?

Danke für die Hilfe.

Autor: Blitzlampe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst den Atmega auf alle fälle auf 16MHz ext. Quarz stellen

Schau dir mal die Seita an da findest du auch die Einstellungen für 
PonyProg.

http://www.engbedded.com/cgi-bin/fc.cgi/?P_PREV=AT...

Autor: Avr Nix (avrnix) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

auf dem Display ist nur auf der rechten Seite ein Streifen Muster drauf.
Woran kann das liegen, ich habe alle Lötstellen 3x neu verlötet?

Was könnte das Problkem sein das nur die linke Hälfte OK Angezeigt wird 
und rechts streifen auftauchen?

Danke

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Avr Nix wrote:
> Was könnte das Problkem sein das nur die linke Hälfte OK Angezeigt wird
> und rechts streifen auftauchen?

Ich habe ehrlich gesagt nicht die geringste Vermutung woran das liegen 
könnte.
Der Text sieht OK aus, auch auf der rechten Seite.
Da es weder Software noch Hardware mäßig irgendwelche Unterschiede 
zwischen beiden Seiten gibt, ist das ganze sehr seltsam.
Dazu kommt noch, dass jeder 2. Pixel anscheinend betroffen ist, aber die 
Pixel liegen ja gemeinsam zusammen mit den funktionierenden Pixel in 
einem Byte.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Fängt die Störung bei einer Zweierpotenz (Bits/Bytes in der Zeile) an 
und wiederholt sich alle 8 Bits? Dann könnte eine irgendwie geartete 
Kopplung zwischen einem Adress- und einem Datenpin vom RAM bestehen.

Adress/Datenpins untereinander und gegeneinander durchklingeln. 
Speichertestprogramm basteln. Korrekte Funktion vom Adresslatch testen. 
RAM und Adresslatch tauschen.

Stützkondensatoren sind ja wohl überall drin? Wie sieht der Aufbau aus?

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe die Platine von Blitzlampe und mehre RAM wie den 
W24M257AK-15 und dem Em51M256A-15P getestet alles das gleiche Ergebnis.

Jetzt darf ich mal das Datenblatt suchen und schauen ob die überhaupt 
passen, was ich gedacht habe.

Ich habe hier noch ein HM62256ALP-70G der passt doch ?

Ich meine mich erinneren zu können das die von der PINs her stimmig 
sind.

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mh anscheinend ist die PIN Belegung gleich.

Em51M256 datenblatt:
http://www.datasheetarchive.com/pdf-download/Datas...

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der SRAM sollte eigentlich funktionieren.
Aktivier mal testweise in der lcd.c in der void lcd_init(void) die 
Waitstates um ein Timingproblem auszuschließen.

Autor: Blitzlampe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Verändert sich die Störung, wenn du mit dem Finger an den Rahmen des 
Displays fast oder diesen mit Masse verbindest?

Ich frage deshalb, weil bei mir ein Inverter wo solche Störungen auf der 
Spannungsversorgung erzeugt hatte, das ich auch Streifen im Display 
gesehen habe. Diese haben sich aber verändert wenn ich den Finger an den 
Rahmen gehalten oder mit Masse verbunden habe.

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,
Noch eine andere Frage welche Zahl ist bei dir Grau und Hellgrau?
Und könntest du mal ein Beispiel in deiner PDF aufnehmen wie man ein 
Rechteck und Kreis in den 4 Graustufen etc. zeichnet?

Und -
Wo soll ich Waitstates erhöhen? bzw. könntest du nicht eine passende HEX 
posten? Da ich nicht mit C arbeite, Danke

void lcd_init(void)
{  cli();
  wdt_disable();
  MCUCR=(1<<SRE)|(0<<SRW10);          // Enable XMEM    !!! Die Null vor 
dem SRW Bit durch eine 1 ersetzen, !!!
                        //          !!! wenn der verwendete SRAM mehr 
als 35ns hat     !!!
  OCR1A=10;
  OCR1B=128;
  TCCR1A=(1<<COM1B1)|(1<<COM1B0)|(1<<WGM10);  // Enable PWM (Kontrast)
  TCCR1B=1;                  // 8bit PWM

  OCR0=RELOAD;
  TCCR0=(1<<WGM01)|2;              // 2MHz Timer Takt, CTC
  TIMSK=(1<<OCIE0);

  sei();
  lcd_clear();

  lcd_block(50,10,269,79,0,255);
  lcd_block(60,20,109,69,64,255);
  lcd_block(150,15,189,45,64,64);
  lcd_block(180,40,219,75,128,128);
  lcd_block(200,20,239,50,255,255);
  lcd_string(10,120,PSTR("320x240 LCD Controller"),255,0);
  lcd_string(15,140,PSTR("\xB8"" by Benedikt"),255,0);

  wdt_enable(WDTO_250MS);
  ENABLE_VLCD=1;
}

Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Avr Nix wrote:
> Noch eine andere Frage welche Zahl ist bei dir Grau und Hellgrau?

Die Farben sind 8bit Werte, man kann jeden Wert senden, es werden aber 
nur die 2 MSB verwendet:
0, 64, 128, 192 sind also eine Möglichkeit für die 4 Graustufen.

> könntest du nicht eine passende HEX posten?

Ist im Anhang.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Avr Nix wrote:
> Und könntest du mal ein Beispiel in deiner PDF aufnehmen wie man ein
> Rechteck und Kreis in den 4 Graustufen etc. zeichnet?

Hab ein paar Beispiele eingebaut.

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke benedikt,

aber hat nicht genutzt mit der Erweitung der Waitstate. und habe alle 
Lötreste beseitigt, bei Blitzlampe tat es doch auch die Platine.

der HM62256ALP-70G würde auch mit deiner neuen HEX Funktionieren?

Danke

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, der sollte gehen. Allerdings ist die Software dann etwas langsamer.

Autor: Sikipaa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
gibts irgendwann nochmal eine bestell aktion ?
würde mitmachen die displays gibts ja noch

Autor: karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt:

Es ist dir möglich einen kleinern Zeichensatz zu Integrieren?

Gruss
karl

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möglich ist alles.

Autor: karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
machts du das auch ?

gruss
Karl

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Momentan habe ich dazu leider keine Zeit. Und ehrlich gesagt habe ich da 
auch wenig Bedarf daran, da das Display doch ziemlich groß ist.
Die Software war eigentlich auch mehr als Basis für eigene Erweiterungen 
gedacht, so dass jeder selbst eigene Befehle implementieren kann. Dazu 
gibt es die ganzen Schnittstellen Funktionen wie lcd_setpixel(). Damit 
sollte sich eine eigene Schriftart schnell einbauen lassen.

Autor: Johannes M. (johannesm)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
bin heute auch dazu gekommen den Controller in Betrieb zu nehmen.
An dieser Stelle nochmal vielen Dank an Benedikt für Schaltung und 
Software sowie Blitzlampe für die Platinen-Aktion.

Autor: Maximilian Keller (langerhans)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Hat evtl. jemand noch so eine Platine für mich übrig?
Ich habe nämlich das Gefühl, dass ich das mangels Schaltplanlesekünsten 
nicht so schnell auf Lochraster realisieren könnte... ;)

Ich würde sie sowohl neu, als auch fertig bestückt nehmen, natürlich 
gegen entsprechende Bezahlung!

Reciht eigentlich ein alter Inverter aus einem Notebook oder brauche ich 
da nochwas neues?

Und ausserdem frage ich mich ob es eine komplette Bauteilliste gibt??

MfG

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Platine zum Abgeben hab ich leider keine mehr über. Auf Lochraster würd 
ich das ganze nicht Aufbauen wollen wäre mir zuviel Drahtverhau.

Der Inverter aus dem Notebook sollte das Display zum leuchten bringen.

Bauteil Wert       Device          Package      Description                                                    
C1      100n       C-EUC1206       C1206        CAPACITOR, European symbol                                     
C2      100n       C-EUC1206       C1206        CAPACITOR, European symbol                                     
C3      100n       C-EUC1206       C1206        CAPACITOR, European symbol                                     
C4      100n       C-EUC1206       C1206        CAPACITOR, European symbol                                     
C5      100n       C-EUC1206       C1206        CAPACITOR, European symbol                                     
C6      100n       C-EUC1206       C1206        CAPACITOR, European symbol                                     
C7      100n       C-EUC1206       C1206        CAPACITOR, European symbol                                     
C8      27p        C-EUC1206       C1206        CAPACITOR, European symbol                                     
C9      27p        C-EUC1206       C1206        CAPACITOR, European symbol                                     
C10     100n       C-EUC1206       C1206        CAPACITOR, European symbol                                     
C11     100µ       CPOL-EUE5-5     E5-5         POLARIZED CAPACITOR, European symbol                           
C12     47µ        CPOL-EUE5-5     E5-5         POLARIZED CAPACITOR, European symbol                           
C13     100µ       CPOL-EUE5-5     E5-5         POLARIZED CAPACITOR, European symbol                           
C14     1n         C-EUC1206       C1206        CAPACITOR, European symbol                                     
C15     10µ        CPOL-EUE5-5     E5-5         POLARIZED CAPACITOR, European symbol                           
C16                CPOL-EUE5-5     E5-5         POLARIZED CAPACITOR, European symbol                           
D1      1N4148     1N4148          DO35-10      DIODE                                                          
D2      1N4148     1N4148          DO35-10      DIODE                                                          
D3      1N4148     1N4148          DO35-10      DIODE                                                          
IC1     MEGA8515-P MEGA8515-P      DIL40        MICROCONTROLLER                                                
IC2     74AC02N    74AC02N         DIL14        Quad 2-input NOR gate                                          
IC3     74HC74N    74HC74N         DIL14        Dual D type positive edge triggered FLIP FLOP, preset and clear
IC4     74HC157N   74HC157N        DIL16        Quadruple 2-line to 1-line data SELECTOR/MULTIPLEXER           
IC5     74AC573N   74AC573N        DIL20        8-bit D latch BUS DRIVER                                       
IC6                62256P          DIL28-6      MEMORY                                                         
IC7                78XXS           78XXS        VOLTAGE REGULATOR                                              
IC8     MC34063AP  MC34063AP  DIL08                                                                       
JP1                JP1E            JP1          JUMPER                                                         
JP2                PINHD-1X4       1X04         PIN HEADER                                                     
JP3                PINHD-1X12      1X12         PIN HEADER                                                     
K1      AQV21SMD   AQV21SMD        DIL06SMD     PhotoMOS Relay NAiS                                            
L1      470µ       L-EU0204/7      0204/7       INDUCTOR, European symbol                                      
LED1               LEDCHIPLED_1206 CHIPLED_1206 LED                                                            
Q1                 CRYSTALHC49U-V  HC49U-V      CRYSTAL                                                        
Q2      BC327      BC327           TO92         PNP Transistor                                                 
R1      2,2k       R-EU_M1206      M1206        RESISTOR, European symbol                                      
R2      47k        R-EU_M1206      M1206        RESISTOR, European symbol                                      
R3      1          R-EU_M1206      M1206        RESISTOR, European symbol                                      
R4      47k        R-EU_M1206      M1206        RESISTOR, European symbol                                      
R5      3,3k       R-EU_M1206      M1206        RESISTOR, European symbol                                      
R6      330        R-EU_M1206      M1206        RESISTOR, European symbol                                      
R7      330        R-EU_M1206      M1206        RESISTOR, European symbol                                      
R8      100        R-EU_M1206      M1206        RESISTOR, European symbol                                      
R9      0          R-EU_0207/10    0207/10      RESISTOR, European symbol                                      
R10     0          R-EU_0207/10    0207/10      RESISTOR, European symbol                                      
R11     560        R-EU_M1206      M1206        RESISTOR, European symbol                                                                                                             
X2                 W237-102        W237-102     WAGO SCREW CLAMP 

Autor: Maximilian Keller (langerhans)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Schonmal vielen Dank für die Bauteilliste! Hat es was zu bedeuten, dass 
manchmal der Wert fehlt?

Vielleicht findet sich ja noch jemand, der mir eine Platine schicken 
kann.
Leider wäre eine einzelne oer 2 viel zu teuer...

MfG

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja der Kondi C16 ist irgendwas zwischen 10µ und 47µ ich hab 22µ 
genommen.
Der Speicher( IC6 ) muss Pinkompatibel zum Layout sein, ich hab den von 
Reichelt genommen. (steht weiter oben welcher das ist)
Der IC7 ist ein 7805 im TO220.
Q1 ist ein 16MHz Quarz.
Led jenachdem was für eine Farbe man will. Ich hab sie gar nicht erst 
bestückt, weil sieht man nach dem Einbau sowieso nicht.

JP1...JP3 sind Lötpads, die haben keinen Wert. Die Anbschlussklemme X2 
auch nicht.

http://www.platinenbelichter.de/ macht dir die Platte zum guten Preis 
allerdings ohne Lötstopp und keine Durchkontaktierung. Ist halt bissel 
mehr gelöte nötig dürfte aber gehen.

Autor: Vul Kain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wo bekommt man dieses AQV21?
Ich versuche gerade alle Bauteile bei Pollin + Reichelt zusammen zu 
suchen, aber ein AQV21 gibt es dort nicht?

Gruß,
Kain

Autor: Wigbert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Conrad,
AQV212

Wigbert

Autor: Vul Kain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gibt es keine alternativen von reichelt oder pollin?
wegen einem IC extra bei conrad zu bestellen scheint mir recht 
schwachsinnig^^

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Teil kannst du auch weglassen oder ersetzt es durch einen Jumper. Es 
dient nur dazu das man die Kontrastspannung ein- ausschalten kann.

Autor: Vul Kain (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

Wenn ich es ersetze fallen K1 und R8 weg oder? (Ich beziehe mich auf den 
Schaltplan im angehängten PDF)
Was ist R6? 1 Ohm? Wenn ja wieso?
Reichen überall 1/4 Watt Widerstände und 16V Kondensatoren?

Danke für eure Hilfe,
Kain

Autor: Vul Kain (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
sry...der Anhang...

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vul Kain wrote:
> Wenn ich es ersetze fallen K1 und R8 weg oder?

Ja.

> Was ist R6? 1 Ohm?

Ja.

> Wenn ja wieso?

Strombegrenzung für den 34063

> Reichen überall 1/4 Watt Widerstände und 16V Kondensatoren?

Ja, solange nicht anders angegeben.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wollte mir den Controller jetzt auch mal nachbauen. Hab aber noch ne 
Frage zum Zuschalten von der Displayspannung.
Irgendwo hieß es mal, man könne bei manchen Displays auf den OptoMosFet 
(bzw. aufs schalten überhaupt) verzichten.

Muss ich jetzt bei diesen beiden Displays
Pollin 120471
Pollin 120460
einen Schalter einbauen, oder kann ich ihn weglassen, weil die Displays 
ja einen DISPOFF eingang haben?

Gruß, Sebastian

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Optomosfet kannst du bei den Displays weglassen.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr gut. Dankeschön.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt hab ich doch noch ein Problem:

Hab die Schaltung nach deinem Plan aufgebaut und auch alles nochmal 
überprüft, aber wenn ich einschalte ist bei mir das ganze Display nur 
gelb. Hab jetzt das weiß-auf-schwarz Display von Pollin.
Das einzige was ich bisher festgestellt hab ist, dass die 
Kontrastspannung von -17V im Leerlauf auf -11 bei angeschlossenem 
Display zusammenbricht. Ist das normal? Hab die Schaltung für die 
Kontrastspannung so wie im ersten Plan aufgebaut. Nur halt den Mosfet 
hab ich nicht drin.

Sebastian

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

ich komm jetzt zwar auf -17 bis -18 Volt Kontrastspannung (auf Masse 
bezogen), aber das Display ist immernoch einfach nur gelb. Im Datenblatt 
steht doch -22V bezogen auf die 5V Versorgungsspannung, also -17 Volt 
bezogen auf Ground.
Sind gute 200mA auf der 5V-Versorgung für die gesamte Schaltung + 
Display normal?

Für alle die's interessiert: Ich hatte die Versorgungsspannung am 
Spannungswandler nicht ausreichend gepuffert und zusätzlich auf meinen 
Versorgungsleitungen so viel Spannungsabfall, dass die ganze Schaltung 
nur noch mit gut 4 Volt lief.

Sebastian

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian wrote:
> aber das Display ist immernoch einfach nur gelb.

Prüf mal nach ob die Signale vom AVR zum LCD wirklich richtig verdrahtet 
sind oder ob da irgendwo was vertauscht ist, oder ein Kurzschluss ist.

> Sind gute 200mA auf der 5V-Versorgung für die gesamte Schaltung +
> Display normal?

Kommt auf den Stromverbrauch  vom Speicher, den Wirkungsgrad des 
Spannungswandler usw. an. Ich komme auf 100-150mA, grob passt es also.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab jetzt nochmal nachgemessen. Konnte aber weder Vertauschungen noch 
Kurzschlüsse finden. Mich irritiert auch das satte Gelb des Displays. 
Woher könnte das kommen?

Sebastian

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian wrote:

> Woher könnte das kommen?

Das kommt daher, dass das Display nicht richtig angesteuert wird und 
daher dauerhaft die volle Spannung sieht, anstelle von 1/240tel der 
Zeit.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Werde die schaltung morgen mit zu meinen Eltern nehmen, da hab ich ein 
Oszi. Ich denke damit komm ich schneller auf den Fehler.

Danke schonmal soweit.
Sebastian

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oszi ist leider kaputt :-( Hab das Display aber trotzdem zum laufen 
gebraucht. Hatte nach dem alten Plan gelötet in dem zwei Signalnamen 
verdreht waren.
Vielen Dank an Benedikt für dieses Tolle Projekt.

Sebastian

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
wäre es möglich das glcd über akkus zuversorgen.

mfg

Autor: Christian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da ich von AVR keine Ahnung habe, diesen nicht programmieren kann etc 
(ich mache nur noch ARM7), wäre es möglich eine Platine mit fertig 
programmiertem AVR zu bekommen, so dass ich diese als Black Box mit der 
Uart meines ARM7 System verbinden kann?

Gruss,
Christian

Autor: Christian J. (elektroniker1968)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Biete dafür auch 640x480 (2-Halbbilder) LCD Displays monochrom (ablesbar 
ohne Hintergrundbeleuchtung) an. Interface standard.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>wäre es möglich das glcd über akkus zuversorgen.

wieso nicht? Wo siehst du das Problem? Du brauchst 5 Volt für die 
Schaltung und etwas 150mA wenn du die Kontrastspannung aus dem Akku 
erzeugst. Hintergrundbeleuchtung nicht mitgerechnet. Sollte halt nicht 
grade ne Knopfzellen-reihenschaltung sein. Aber im Prinzip seh ich 
nichts, was dagegen spricht.

Sebastian

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich werde diese Leiterplatten nachmachen lassen in blau. Natürlich 
mehrere, damit der Preis stimmt.

Er wird 10€/Platte + 1€ Versand liegen für ca 20 Stück. Billiger wirds 
erst wieder ab 100.

auf den Cent genau weiss ich das noch nicht, habe nur grob für 10 
kalkukiert (1,0mm FR4, doppelseitig, durchkontaktiert, blau beidseitig, 
geschnitten, 5 AT) incl. Ritzen des Nutzens. Lieferzeit ca 10 Tage ab 
Bestellung.

Falls jemand welche haben will möge er bitte eine e-mail an 
admin@der-scirocco.de senden die NUR folgenden Inhalt hat:

Name
Anschrift
Telefon
Anzahl !

Ich antworte mit meinen Kontodaten + Anschrift. Versand per Brief 1€.
Nur Vorkasse.

PS: Ich habe schon vor einem Jahr mal eine Sammelbestellung (HF Booster) 
gemacht, diejenigen (zB Benedikt) wissen, dass die Ware auch ankommt.

Einsendeschluss ist der 1.5., dann geht die Bestellung raus, ich werde 
trotzdem ein paar mehr machen lassen als Reserve. Grafikdisplay wollen 
sicherlich viele haben zumal es einfach bedienbar ist. Vielleicht findet 
sich ja auch noch jemand, der die "wesentlichen" Bauteile (zb ICs, 
Quartz, Stecker) als Sammelpacks bestellt, damit nicht jeder sich die 
zusammensuchen muss.

Benedikt.... kann bis dahin vielleicht die Software noch etwas 
verfeinert werden? zb "Zeichne Koordinatensystem" Funktion (Achsen, 
Teilstriche), Scrolling um eine Zeile für fortlaufenden Text?


Gruss,
Christian

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich werde die Platine noch um einen FPC Stecker erweitern für die Pollin 
Displays. Kann mir jemand sagen welcher der Eagle 5.0 Lib da passt 
(genauer Name und welcher Pitch)? Ich habe das Display nicht hier. 
Benedikt, stimmt die Reihenfolge der Pins für das Pollin? Nicht dass die 
nachher genau seitenverkehrt sind oder überkreuzt....

Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Christian J. wrote:

> ich werde die Platine noch um einen FPC Stecker erweitern für die Pollin
> Displays. Kann mir jemand sagen welcher der Eagle 5.0 Lib da passt
> (genauer Name und welcher Pitch)? Ich habe das Display nicht hier.

In Eagle 4.x gibt es zumindest keinen passenden Stecker, keine Ahnung ob 
das mittlerweile drin ist.

Ich habe mal ein Foto von dem Display angehängt.
Die Kabel gehen auf der linken Seite vom Display raus, Pin 1 vom 
Anschlusskabel ist oben. Die Kontakte von dem Folienkabel liegen auf der 
Seite, auf der die Beschriftung auf dem Folienkabel ist (wenn man das 
Kabel also ausklappt nach links, dann auf der Vorderseite). Das Kabel 
hat ein Pitch von 1mm.

Hier gibt es das Datenblatt von einem sehr ähnlichen Display:
http://www.mark-products.com/pdf/g320x240/159/159%20spec.pdf
Die Belegung passt, die Spannungen passen, nur scheint da ein Stecker 
anstelle des Folienkabels drauf zu sein.

Ich würde auf die Platine noch einen ISP Anschluss für den mega8515 
machen. Dann kann man leicht die Software an eigene Bedürfnisse 
anpassen. Die ganzen Schnittstellenfunktionen zum LCD Controller sind im 
Programm ja enthalten.

Autor: Christian J. (elektroniker68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Benedikt,

leider versthe ich Deinen Text nicht ganz. Um ganz sicher zu gehen 
zeichne vielleicht die Belegung auf einem Foto des Kabels ein. Ich habe 
das Display grad hier in der Firma. Auf der platine sieht man eine 
kleine 2 neben dem Lötfeld. Bitte für Dumme mal erklären, ich möchte 
keine Fehler machen. Eagle 5 hat hunderte dieser Stecker mit dabei. Ein 
ISP Stecker würde den Rahmen sprengen, die Platte ist ja schon sehr 
dicht. Ich möchte die Größe nicht wesentlich verändern. Da ich keine 
Ahnung vopm Avr habe würde ich auch nicht wissen wo anschliessen.

Bisher 3 Bestellungen.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian J. wrote:
> Auf der platine sieht man eine kleine 2 neben dem Lötfeld.

Das ist der Rest der teilweise verdeckten 12. Oben ist Pin 1, unten Pin 
12. Es stimmt also mit dem Datenblatt überein.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
also mit Hardware könnte ich aushelfen
den Stecker hatte ich von Farnell,
Rest sollte kein Problem sein.
Ich wickle eigentlich alles ganz professinell ab.
Beitrag "Re: [S] Leute die einen Logic Analyzer (MiniLA) bauen wollen"
Ich hatte mal ein Adapter gebaut
Beitrag "Re: Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen"
Ich such die LIB des Steckers noch raus

Wigbert

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian J. (elektroniker68)
ich hab noch mal wegen der LIB nachgeschaut, habe das nur mit der
Hand geroutet, eine LIB ist aber schnell gemacht
ISP sollte schon rauf, muss ja nicht , so wie bei mir, eine 
Pfostenbuchse
sein

@Benedikt
wie schnell müssen die S-Rams nun wirklich sein , um den AVR nicht 
auszubremsen

Wigbert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wigbert Picht-dl1atw wrote:

> wie schnell müssen die S-Rams nun wirklich sein , um den AVR nicht
> auszubremsen

Das hängt hauptsächlich von der "OE\ Access Time" des SRAMs ab:

Im Datenblatt vom mega8515, Seite 202, Tabelle 98, Punkt 10:
Read Low to Data valid: max 1.0*tclcl-50ns. Bei 16MHz ist tclcl=62,5ns. 
Das SRAM darf daher maximal 12,5ns brauchen zwischen dem Anlegen des RD 
Impulses bis die Daten stabil sein müssen.
Das von mir gerne verwendete IS61C256 Cache SRAM hat in der langsamsten 
25ns Ausführung hier nur 9ns. Es ist also ausreichend schnell.
Bei der Low Power Variante IS62C256 dagegen, hat selbst die 45ns 
Variante hier 25ns. Dies kann funktionieren, da die Werte jeweils die 
garantierten Maximalwerte sind, muss aber nicht.
Es gibt Aussagen hier im Forum, dass selbst 70ns SRAMs ohne waitstates 
funktionieren. Ausprobiert habe ich bis 35ns (nur Cache SRAMs).

Zusätzlich ist natürlich noch die Zugriffszeit wichtig:
Das wäre Punkt 5 im Datenblatt: Address valid to RD Low: 1.0*tctc-10ns.
Insgesamt ergibt sich dadurch eine Zeit von 2.0*tctc-20ns, also 105ns 
zwischen Adresse gültig bis Daten stabil, was eigentlich alle SRAMs die 
obige Bedingung erfüllen, auch erfüllen.

Das Latch ist da meiner Meinung nach absolut unkritisch, da die 
Zugriffszeit ja im vergleich zu der OE Zeit des Speichers extrem groß 
ist. Ich verstehe bis heute nicht, warum Atmel da ein AHC573 empfiehlt.

Autor: Christian J. (elektroniker68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Wigbert,

12 Pins mit Pitch 1,0 reichen mir schon, die Lib gibt es. Senkrechter 
Stecker wohl am besten.

Das ISP..... wer würde die Platine übernehmen, wenn ich das FPC drin 
habe? Müsste nochmal aufgerippelt werden dann. 4 Befestigungsösen wären 
schon sehr schön, dann kann man sie auf ein Demobrett schrauben.  Oder 
sag mir einfach mal einer an welche Pins das ISP kommt und in welcher 
Reihenfolge. Ein paar Pfostenstecker dürften reichen. Dann wäre eine smd 
Variante für den Avr ja auch wohl besser denke ich.

Also Tabelle:

Pin xyz ---- ISP Pin 1
Pin ....

usw.

(Status: 4 Bestellungen)

Autor: Christian J. (elektroniker68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vcc
MOSI
MISO
SCK
Reset
GND


Ist das so richtig?

Kommt Leute, ich will gleich routen..... je schneller kriegt ihr die 
Platinen.

Autor: Blitzlampe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt schon was du aufgeschrieben hast.

Der Standard ISP Stecker ist ein 10 poliger Wannenstecker mit folgender 
Belegung.

Wannenstecker   ISP Signal

Pin 1            MOSI
Pin 2            VCC
Pin 3            NC
Pin 4, 6, 8 ,10  Gnd
Pin 5            Reset
Pin 7            SCK
Pin 9            MISO

Autor: Blitzlampe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach was ich noch sagen wollte, warum macht ihr keinen Bootloader auf den 
Atmega dann könnte man das Teil in der Platte neu bespielen und man 
könnte gleich die RX und TX Leitung der seriellen Schnittstelle nutzen. 
Wäre doch die einfachste Lösung oder?

Autor: Christian J. (elektroniker68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, dann müsste noch ein Pegelwandler mit rein. Ich möchte da nicht 
zuviel rumdoktorn.

Ich mache eine Pfostenleiste, Wannenstecker ist schon wieder zun gross 
und ich denke mal die meisten haben diese Programmierdapater auch selbst 
gebaut mit diesen kleinen Steckern.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian J. (elektroniker68)
die Molex- Stecker, falls Du das Routen noch mal vergleichen willst

http://de.farnell.com/molex/52271-1279/socket-ffc-...

Wigbert

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also ich könnte so auf die Schnelle mit S-Rams

IS61C256AL-12 oder
AS7C256A-12

aufwarten

@Benedikt
wären die schnell genug, bin mir mit dem DBL nicht so sicher

Wigbert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, die sind mehr als ausreichend schnell (12ns Zugriffszeit und 5 bzw, 
3ns Output Enable).

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Benedikt
Dank Dir

gut 0,80 Euro(Brutto) das Stück, allerdings in SOJ oder TSOP

Ich glaub es gibt DIP/SOJ Adapter

Wigbert

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wigbert,

ist leider nicht dabei und ich habe keinen Nerv den zu zeichnen, weil 
ich ewig nicht mehr mit dem Eagle Designs gemacht habe. Hast Du da eine 
Lib zu.?
Ich wollte auch einen stehenden verwenden, habe Hirose in der Lib aber 
die gibts leider nicht bei Farnell mit dem Footprint.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian J. (elektroniker1968)
na, ja
schlag ein von Digikey vor. Den kriege ich dann auch her


Wigbert

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei Digikey sind keine Bilder dabei. Es gibt hunderte davon. Leider 
ebenso in der Eagle Lib.

Du, ich habe das letzte Mal vor 4 Jahren mit Eagle gearbeitet V3.xx. 
V5.xx habe ich aber da ist zu viel Neues drin. Am Routen würde ich 3 
Tage sitzen. Kann ich Dir das Board schicken und Du änderst das ab? Ich 
kann mir keine Fehler leisten.

Zu ändern wären:

- Alle ICs durch smd Bauteile ersetzen, spart viel Platz. Schnelles Ram 
gibts wohl auch nur als SO Gehäuseform, die DIPs sind aus der Mode.
  (den AVR gibts als PLCC glaube ich)
- ISP Interface einfügen
- FPC Stecker
- smd LED vielleicht durch 3mm ersetzen, die hat jeder rumliegen.

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Folgendes, ich habe einen stehenden mit DIP Footprint:

Hirose: FH21-12S-1DSA

kannste den besorgen?

Autor: Christian J. (elektroniker1968)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sähe dann so aus, also beide Stecker.... mal eben auf die Schnelle 
gemacht.

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So,

ich habe die Änderungen drin, also ISP und FPC Stecker. Alles andere 
bleibt so. Bitte an blitzlampe er möge sich mal melden, da sind ein paar 
Sachen im Board die wohl versionsbedingt nicht "fassbar" sind. Ausserdem 
bin ich eine Null im Routen.

Die Sache steht und fällt allerdings mit der Beschaffbarkeit des obigen 
FPC Steckers.

(5 Bestellungen)

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hirose: FH21-12S-1DSA

Digikey:
http://search.digikey.com/scripts/DkSearch/dksus.d...

ist aber nicht senkrecht, seltsam?

Ware wird nur auftragsbezogen beschafft, da erstmal nicht bezahlbar

Wigbert

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch, der ist senkrecht :-) Die Pins hinten sind verdeckt. ist aber 
osolet, müsste man einen Ersatz für finden:

http://search.digikey.com/scripts/DkSearch/dksus.d...

Passt auch vom Footprint her

Warten wir erstmal ab wie viele Bestellungen kommen. Die 10 müssen schon 
voll werden.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achja , wird durchkontaktiert, ich war auf SMD aus

Wigbert

Autor: Kh Loeter (loeter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

@ Christian J.

> Warten wir erstmal ab wie viele Bestellungen kommen. Die 10 müssen schon
> voll werden.

Von mir wird auch noch ne Bestellung kommen, und ich hab ein paar Leute, 
die sich auch dafür interessieren. Ich hab aber noch nicht von allen 
eine Antwort bekommen. Momentan sind 4 Platinen sicher, es könnten aber 
noch 4 weitere hinzu kommen. Sobald ich die genaue Anzahl habe, schicke 
ich Dir ne Mail mit der offiziellen Bestellung und Anzahl.

Im übrigen würde ich es bevorzugen, die ICs auf der Platine im DIL zu 
lassen. Denn das macht doch gerade den Charme der Platine aus. Die 
meisten dürften noch nen 8515 in der Bastelkiste haben, und ein altes 
Cache RAM findet sich auch ganz leicht. Also kann man die Schaltung mit 
minimalem Kostenaufwand aufbauen. In SMD würde für mich bedeuten, dass 
ich alles bestellen müsste, obwohl die meisten Teile schon da sind. Ich 
wär froh, wenn ich die mal verbrauchen könnte. Ausserdem lassen sich DIL 
ICs sockeln, was bei Modifikationen und weiteren Verbastelungen einfach 
viel mehr Spaß macht.

Die ISP Signale noch rauszuführen wäre Spitzenklasse. Dabei würde es mir 
reichen, wenn einfach die Pins 1-8, Reset, Vcc und GND direkt neben dem 
DIL40 1:1 auf ein einreihiges Pfostenfeld gehen. Das braucht kaum Platz 
im Layout.

Gruß und schonmal Danke für Deine Mühe

 Kai

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe alles auf DIL gelassen, nur kam neben dem Pfostenstecker noch 
ein FPC hinzu und eben der ISP. Bzgl Routen warte ich noch auf eine 
Rückmeldung vonn blitzlampe, weil das jemand machen soll der mehr 
Erfahrung hat als ich, es ist viele Jahre her bei mir.

Einer generellen smd Lösung stehe ich aber offen gegenüber, vor allem 
wegen des Platzes, die Platine ist doch recht gross. Mal schauen, 
vielleicht gibts ja auch zwei Varianten.

Ich halte das aber noch für ausbaufähig, da ich selbst mit Avr nichts am 
Hut habe und dafür auch keinerlei Werkzeuge habe müssten das aber andere 
machen. Die Doku ist noch verbesserungsfähig, vor allem das Laden von 
Grafiken sollte verbildlicht werden, vielleicht mit Beispiel dazu. Was 
mir noch nicht klar ist, wie das Uart Protokoll Befehlsende erkennt, 
wenn zB die Daten abreissen oder aus dem Takt kommen.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian J. wrote:
> Was
> mir noch nicht klar ist, wie das Uart Protokoll Befehlsende erkennt,
> wenn zB die Daten abreissen oder aus dem Takt kommen.

Garnicht. Die Software erwartet exakt xs*ys Bytes an Bilddaten.

Das ganze war eigentlich als Embedded LCD Controller gedacht, der 
parallel zur eigentlichen Software auf dem selben AVR läuft.
Die UART Ansteuerung war mehr ein Beispiel um von extern Grafik auf das 
Display zu bekommen, daher ist das Protokoll sehr einfach gehalten.

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meinste, Du kriegst da noch einen Timeout hin? Wenn das Host System zB 
resettet wird muss der Grafikcopntroller da ja irgendwie mitkriegen. Was 
ganz einfaches halt, zb wenn 100ms kein Byte zur Uart kam wird 
rückgesetzt.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das halte ich für keine gute Lösung, denn dann muss man andauernd 
sinnlose Daten schicken.
Ich würde dann eher die Resetleitung an den Master klemmen und so den 
LCD Controller neustarten wenn der Master neustartet.

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also spendieren wir noch einen Reset Pin am Uart Stecker....
(PS: Der Arm7 hat ein Flag, wenn in der Uart nichts mehr ankommt :-)

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ich hätte folgenden Vorschlag:
ich könnte bis Ende der nächsten Woche eine Digikey Bestellung
rauszögern. Dann würden die FFC-Stecker Versandkostenfrei nach DL
kommen. Das Beste wäre wohl, alle nach Christian J. zu schicken,
und Christian legt sie bei Bedarf den Platinen bei.
Ahnlich könnte man es, bei Bedarf mit S-Rams machen.

Wigbert

Autor: Blitz Lampe (blitzlampe)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hab mir das mal angeschaut, kannst du eventuell mir mal das Bord 
zuschicken?

Wenn du Bilder vom Layout hochlädst würde ich den TStop und BStop Layer 
ausblenden.

Das AQV21 könnte man ja mal gegen einen Typ ersetzen welchen man noch 
bekommt bei Reichelt oder Conrad. Viele hatten mich nach Quellen für das 
Teil gefragt.

Die Bohrung bei der Spule L1 ist von mir etwas ungünstig gesetzt wurden. 
bedingt duch das Gehäuse läst sich dort nur schwer ne schraube 
durchquetschen.

Die Bohrung für die Alternativen Spulen Pads sind auch etwas klein 
ausgefallen.

Autor: Christian J. (elektroniker68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Lampe,

ich sende Dir heute abend das Design zu wenn ich wieder zu Hause bin. 
Schaus Dir bitte nochmal an und route es. Eine Resetmöglichkeit muss 
aber unbedingt vorhanden sein als Synchronisationsmarke. Vielleicht 
lässt sich in der Software ja doch was machen, vielleicht mit dem Busy 
Pin, wenn der zB ab und zu mal als Eingang geschaltet wird. Dann kann 
der Host einen Reset mit Low Pegel erzwingen, ich denke nicht dass der 
Pin Schaden nimmt, wenn er ein paar Mikosekunden "gegen gepolt" ist.

Ich würde allerdings nur ungern als Bauteillieferant agieren, da das 
dann ein Durcheinander gibt, oder aber der Stecker wird per se auf den 
Platinenpreis aufgeschlagen, die 1,90 sind ja nicht die Welt und ohne 
den ist es eine Frickelei. Ich denke aber, dass diese Projekt das 
Potential hat als kompletter Bausatz angeboten zu werden, das ist mit 
Abstand die günstigste Grafikdisplay Variante die ich je gesehen habe 
und wenn keine Kinderkrankheiten mehr auftauchen kann das ein 
Dauerbrenner werden. smd wäre natürlich noch schöner :-)

Autor: Christian J. (elektroniker68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Blitzlampe.,... schick mir bitte eine e-mail, damit ich Deine 
Mailadresse habe für das Layout!

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Link stimmt sind so ein Stecker ca o,54 Euro Netto
soll wegen den paar Kröten jeder noch eine Briefmarke von mir bezahlen?
Aber macht wie Ihr denkt, wie gesagt, mein Angebot steht ....
Ein Bausatz zusammenzustellen ist vom Gesamtwert und der Menge wenig 
attraktiv.

Wigbert

Autor: Christian J. (elektroniker68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wigbert,

dann bestell doch einfach mal 25 und sende sie an mich. Geld übeweise 
ich Dir dann, lege jeder Platine einen solchen bei.

Ok?

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da ich leider ein 3 tage altes Backup zurückspielen musste und 
idiotischweise vergessen haben die Outlook Datendatei zu sichern, bitte 
ich alle, die sich gemeldet hatten für Platinen ihre Mail nochmal 
abzusenden.

Tut mir leid, war aber nicht beabsichtigt.

(Layout ist fertig zum Review!)

Autor: Christian J. (elektroniker1968)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier die Dateien für Eagle zum Durchschauen.

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte um Rückmeldung, die Platine ist fertig !!! Wer kann ein Review 
machen ???

Bitte dringende Bitte an jene, die noch welche haben wollen ihre Mail 
nochmal zu senden, ich verschicke die Platine am Montag aber solange 
keine 10 voll sind lohnt sich das nicht.

Autor: Kh Loeter (loeter)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich hab grad Eagle installiert, und schau mir das Layout mal an. Bei mir 
ist es allerdings auch schon ein paar Jahre her, seit ich das letzte mal 
was mit Eagle gemacht habe. Deshalb möchte ich erst mal nicht zu viel 
versprechen.

Eine Sache ist mir aber auf den ersten Blick schon aufgefallen. Auf den 
Top-Layer und auf dem Bottom Layer befindet sich eine gestricheltes 
Rechteck, das einmal rund um die Platine läuft und teilweise mit 
Leiterbahnen in Berührung kommt.
Da ich alle Lagen, die nichts mit Kupfer zu tun haben, ausgeschaltet 
habe, fürchte ich dass das auch auf der Platine so sein wird. Diese 
Strichellinie müsste man noch löschen, weil sie an manchen Stellen 
Beinahe-Kürzschlüsse provoziert.

Gruß
         Kai

Autor: Kh Loeter (loeter)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Soo,

Jetzt habe ich mich auch daran erinnert, wozu die gestrichelte Linie 
war. Vergesst das letzte Posting, war Blödsinn. Wie gesagt Eagle ist 
schon etwas länger her. Das sind natürlich die Masseflächen.

Ich hab mich nun ein wenig mit dem Layout beschäftigt und noch ein 
bischen Kosmetik betrieben. Folgendes ist mir aufgefallen bzw. habe ich 
geändert.

- Der Beschriftungsdruck von SV3 war vertauscht.
- Verschieben einiger Leiterbahnen, um ein paar Unterbrechungen der 
Masse-Flächen zu beseitigen.
- Einfügen einer 8-Poligen Pfostenleiste an den Pins 1-8. Dann sind 
diese ungenutzten Pins für Basteleien zugänglich. Wers nicht braucht, 
muss es nicht einlöten.

Die Änderungen habe ich diesem Posting angehängt. Wär nicht schlecht, 
wenn sich noch wer anders findet und nochmal drüber schaut.

Gruß

         Kai

Autor: Christian J. (elektroniker1968)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

muss Dich leider enttäuschen, die DRC Schablone von Bilex findet da 26 
Fehler (1 Kurzschluss), was Distanzen etc angeht. Ich habe die 
Platinenumrand absichtlich etwas erweitert, da muss Luft sein zum Rand 
zum Ritzen und Schneiden. Lade Dir bitte die .dru Datei von Bilex 
herunter oder nimm diese im Anhang und lass den DRC drüber laufen. Bilex 
nimmt nur fehlerfreie Platinen an.

Lade dann Dein Board nochmal hoch.

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wir haben fast 20 Platinen zusammen...... bitte alle nmochmal melden, 
die mir in den ersten beiden Tagen geschrieben haben und nicht auf der 
Liste stehen.

Bisherige Besteller:

O.Hagendorf (2)
k. Hingst (8P + 10 Buchsen)
M. Prader (1)
L. Jentsch (1)
W.Friedl-Grimm (1)

zu jeder Platine kommt die FPC Buchse hinzu.

Bitte die FPC Buchsen dann mal bestellen, mich kontaktieren wegen der 
Rechnung und mir diese dann bitte zusenden.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

>wir haben fast 20 Platinen zusammen

ist doch schön

der Link aus
Beitrag "Re: Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen"
sind wirklich die gewünschten FFC-Stecker?
ich warte noch das Wochenende, wenn die Platinen bestellt werden,
ist ja die genaue Stückzahl bekannt

Wigbert

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bestell den mal, wenn er nicht passt geht das auf meine Kappe.
Schick mir mal ne Mail, damit die lieferadresse auf mich geht.

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
führ mal ratsnest aus, dann wird aus dem rechteck eine lückenfüllende 
fläche ;)

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
>Bestell den mal, wenn er nicht passt geht das auf meine Kappe

und dann?

ob mal jemand, der die brd.Datei geladen hat, den Stecker mit dem 
gerouteten Stecker vergleichen kann.

stimmen sollte das schon.

Wigbert

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
der Gerade,
falsche Seite erwischt

Wigbert

Autor: Kh Loeter (loeter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Christian J.
Mein DRC hatte keine Fehler gezeigt. Danke für den Tipp. Aber kein 
Problem, die meisten Fehler sind schon raus. Knifflig wirds mit den 
Abständen an den Platinenrändern.

@ Hauke Radtki
Ratsnest habe ich dann auch entdeckt. Musste mich erst wieder an das 
Eagle Look&Feel gewöhnen. Aber langsam kommt das verstaubte Wissen 
wieder ans Tageslicht.

Mir ist aufgefallen, dass die Elkos alle 5mm Raster haben. Die Elkos die 
ich hier von Reichelt rumliegen habe, sind meistens im 2,5-er Raster. 
Bei den nicht allzu großen Werten auch verständlich. Ich versuch mal 
noch den Elkos ein zweites Rastermaß als Alternativbestückung 
beizubringen.

Was haltet ihr davon der Schaltung noch einen Reset Taster zu verpassen?

Könnte derweil schonmal jemand den Stecker mit dem gerouteten Stecker 
vergleichen?

Ich schick nachher nochmal einen aktualisierten Stand.

Gruß
      Kai

Autor: Kh Loeter (loeter)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wie versprochen hier nun der aktuelle Stand.
Ich hab jetzt noch nen Reset Taster dazu gefummelt, und an den Elkos 
sowie der Spule zusätzliche Pads für ein alternatives Rastermaß 
eingefügt. Der DRC lief bei eben Fehlerfrei.

Da ich sicher auch Fehler mache, wers nett, wenn jetzt nochmal jemand 
drüber schauen könnte.

Gruß
           Kai

Autor: Christian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nimm bei der Drossel bitte auch 5mm Abstand. Ich habe hunderte davon 
hier und kann die beilegen, meine haben einen sehr kleinen 
Innenwiderstand, sind auf Ferrit gewickelt. Elkos ruhig alle auf 2,5mm, 
notfalls nimmt man eben Tantals. 5mm würde ich weglassen.

Bitte das Layout dann heute noch schicken. Reset Taste braucht es wohl 
eher nicht, der Platz wird langsam eng.

Autor: Kh Loeter (loeter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann eigentlih einer erklären, warum sich auf dieser Platine in der 
Freeware Version von Eagle manche Bauteile nicht verschieben lassen. 
Eagle hat mir jetzt ziemlich oft eine Meldung gegeben, dass diese 
Operation mit der Freeware-Version nicht möglich sei. Setzt man das 
Bauteil dann woanders hin, dann geht es. Die Platine ist doch nur 80x100 
groß, dann müsste doch alles gehen?

Autor: Kh Loeter (loeter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich war wohl einen Tick schneller.

- Reset Taster ist drin.
- Raster 2,5 bei Elkos auch.
- Raster 5mm bei Drossel auch.

Schau mal bitte ob es so passt, mir laufen grad die Augen über. 
Aktueller Stand ist als DIP3.zip im obigen Posting.

Die Raster 2,5 und 5 mm könnten evtl. nicht ganz exakt stimmen, weil ich 
die Lötaugen von Hand platziert habe, und die Bauteile sich alle an 
einem unterschiedlichen Raster orientieren. Das war wohl nicht von 
Anfang an richtig eingestellt, oder ist geändert worden. 0,1mm hin oder 
her dürften aber bei den bedrahteten Bauelementen kein Problem sein.

Gruß
          Kai

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

der Reset Taster ist zwar wegen der Äthetik nicht mein Fall aber man 
muss ihn ja nicht einbauen, Ich würde sagen wir lassen es jetzt so, wenn 
die Steckerfrage geklärt ist. Gefällt mir gut.

PS: Vielleicht mal eine Eagle 5.x Vollversion besorgen :-) Ich habe bis 
heute noch nicht kapiert wie man Innenlagen routet, geschweige denn wie 
man das einstellt.

Autor: Kh Loeter (loeter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit der Freeware-Version gehen soweit ich weiss Innenlagen gar nicht.
Die Vollversion ist sicher nicht schlecht, aber für die wenigen Layouts 
zu denen ich privat noch Zeit finde, lohnt sich die Anschaffung nicht.

Ich wollte mir eigentlich mal KiCAD genauer ansehen. Das ist OpenSource 
und somit ohne Einschränkungen und Eagle sehr ähnlich. Denn manchmal 
will man auch ne grössere Platine machen, auch wenn die Schaltung 
einfach ist. z.B. um Befestigungslöcher zu irgendwas passend zu setzen.

Das wäre auch bei dieser Platine interessant gewesen. Dann hätte man die 
Platine so dimensionieren können, dass sie genau auf die Langlöcher des 
Displays passt.

Bzgl. dem Taster: Ich hab halt den genommen, den ich schon da hab. 
Ausserdem ist er bei Pollin und Reichelt billig und leicht zu 
beschaffen. Ich werd ihn wahrscheinlich auch erst dann drauflöten, wenn 
ich vor habe an der Software rum zu stricken.

Gruß
         Kai

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich weiss nicht, ob mein ARM7 stark genug ist um den reset Pull Up 
herunter zu ziehen, der Arm kann nur ~0,8mA pro Pin. Es wäre auf jeden 
Fall noch wichtig eine Synchronisation zu schaffen, damit das Protokoll 
nicht durcheinander kommt. Sowas hat jede gute Statemachine drin.

Kann da jemand was per Software bauen? Ggf. ziehe ich dann statt dem 
Reset Pin einen anderen Pin zur Uart leiste, der intern zurücksetzt, 
wenn er low gezogen wird. Oder zB resettet die Uart wenn sie 100 Mal 
0x00 bekommt oder irgendetwas anderes. Evtl ist ja noch ein Timer frei, 
der ~50ms nach dem letzten zeichen die Statemachine zurücksetzt.

Warum? es muss vermieden werden, dass sich der Avr in einem 
undefinierten Zustand befindet, wenn nicht alle Zeichen kommen. Das ist 
zb immer der Fall, wenn jemand am Host System auf Reset drückt. Es gibt 
dann keine Chance mehr den Avr dazu zuu bewegen, dass er wieder auf 
Befehle wartet.

Wie gesagt, das MUSS ein richtiges System drin haben, das gehört zu 
Statemachines dazu.

1. Timer überwacht Uart, kommt x ms kein zeichen mehr leert er Puffer 
etc und setzt zurück. Hat ARM automatisch, komt 3 Perioden kein Zeichen 
wird ein Flag gesetzt.

2. Ein Pin wird abgefragt, ist sehr zeitsparend.

3. Eine Befehlsfolge wird vereinbart, zB ein Kommando 0xff wird oft 
gesendet bis AVR mit 0xnn antwortet. Da wäre aber nicht so gut, weil ein 
TX Pin für den Host ausreichen soll, ein Display antwortet normalerweise 
gar nicht, bzw muss es nicht.

meine bevorzugte Lösung: 1

Wenn eben möglich sollte uart auf 56700 hochgedreht werden.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie wärs einfach den Tx-Pin mit rauszuführen? Dann kann man je nach 
bedürfnissen beliebig komplexe Bestätigungen zurücksenden bzw. über 
diesen Pin synchronisieren.

Weils oben mal angesprochen wurde: Ich hab den Reichelt-Ram den Benedikt 
ziemlich am anfang mal genannt hat (hat glaub ich 70ns). Der läuft bei 
mir problemlos ohne Waitstates. Wie das bei einem anderen Exemplar ist 
kann ich natürlich nicht sagen.

Sebastian

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

es gibt auch Leute die keinen Avr haben (zB ich :-) und es soll ja bei 
mir als ARM, PIC user auch laufen. Ein biriktionales Protokoll ist immer 
aufwendig, das mit der Busy leitung ist schon super,  ein Tx, ein GND 
und eine Busyabfrage. Über die Busyabfrage könnte auch was laufen, wenn 
sie zB 10us auf Input geschaltet und gesampled wird, damit der Host dort 
resetten kann.

Ich hoffe nur jemand kann das für mich irgendwann machen, da ich uzwar 
jemanden habe, der Avr bespielen kann aber mehr auch nicht.

Wenn der reichelt läuft ist es doch gut.

PS: Ich habe inzwischen auch eine smd Version (AVR als TQFP) fast 
fertig, die ist nur halb so gross. Nur die schwer zu beschaffenden 
Bauteile als bedrahtet belassen bzw nur dann smd wenn Platz gespart 
wird.

Autor: Christian J. (elektroniker1968)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal ein Entwurf, 80 x65mm

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bitte alle Besteller eine Mail an admin@der-scirocco.de zu senden, 
die NUR folgende Angaben enthält:

Betreff: Grafikcontroller
Name; Vorname
Lieferadresse
Telnr (für Komplikationen)
Anzahl Platinen.

Ich bestelle erst wenn ich alle Daten habe und schicke die Kontodaten 
dann per Sammelmail raus. Die FPC Stecker sind fester Berstandteil der 
Lieferung, kosten 70c glaube ich. Gratis gibts die Spule mit dabei.

Ich kann mit e-mails über kryptische Accounts ohne Name, ohne Adresse 
wirklich nichts anfangen.

Gruss,
Christian

O.Hagendorf (2)
k. Hingst (8P + 10 Buchsen)
M. Prader (1)
L. Jentsch (1)
W.Friedl-Grimm (1)
T.Kalbe (2)

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bestellung von 20 Platinen ist gerade abgeschickt worden. Bitte jetzt 
auch die FPC Stecker bestellen.

Autor: Christian J. (elektroniker1968)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe auf 30 Platinen aufgestockt, da noch weitere Bestellungen kamen.... 
bitte 30 FPC Stecker bestellen, Ende nächster Woche sind die Platinen 
da!

Autor: Kh Loeter (loeter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte 32 FPC Stecker bestellen. Sonst geht es mit den Platinen nicht 
auf. Ich hab Christian gebeten bei meiner Bestellung noch zwei mehr dazu 
zu legen.

Kai

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bitte 32 FPC Stecker

bis heut Abend kann die Steckeranzahl ja noch korrigiert werden

Wigbert

Autor: Christian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

funzt der Inverter von Pollin an deren Displays? Die haben derzeit nur 
einen einzigen im Angebot für 4,95€ mit Lampe.

Wird ja mal Zeit zu bestellen, nech? ;-)

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, der Inverter sollte gehen. Eventuell muss man die Betriebsspannung 
etwas reduzieren, da der Inverter für längere Röhren (=mehr Spannung) 
ausgelegt ist.
Ich betreibe die Displays immer mit der niedrigst möglichen Spannung, ab 
der die CCFL sauber zündet.

Autor: Christian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt,

danke für die Info. Schwingst Du Dich nochmal an den Code Deines 
Erfolgsprojektes wegen der notwendigen Synchronisation? Busy Pin etc? 
Bei mir gehts leider nicht, weil ohne Arme keine Kekse, AVR ist für mich 
kein Thema.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian J. schrieb:
> Schwingst Du Dich nochmal an den Code Deines
> Erfolgsprojektes wegen der notwendigen Synchronisation? Busy Pin etc?

Wenn du mir genau sagst was ich machen soll, kann ich es versuchen.

Autor: Christian J. (elektroniker68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

irgendeine Möglichkeit, den Controller in den Idle State zu kriegen, 
d.h. wenn nach dem x.ten Byte der Strom abreisst aber y Bytes erwartet 
werden muss er raus wieder in den Empfang. Der Busy Pin liesse sich doch 
10us auf Input schalten und auswerten, der kurze Kurzschluss macht es ja 
auch nicht.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie weiter oben erwähnt: Etwas besseres als den Reset Pin rauszuführen 
fällt mir nicht ein.
Eine weitere Möglichkeit wäre zwischen Daten und Befehlen zu 
unterscheiden (z.B. über ein bestimmtes Byte das vor einem Befehl 
gesendet wird. Allerdings muss man dieses dann, falls es zufällig ein 
Datenbyte ist, auch wieder extra kennzeichnen, was die Ansteuerung 
wiederum aufwendiger macht.)

Bzw. eine Möglichkeit gibt es momentan schon: Worst case erwartet der 
Controller 255x255=65025 Bytes.
Der Befehl 0 ist nop. Wenn man also 65025x 0 sendet, dann sollte der 
Controller wieder bereit sein für neue Befehle.
Ich könnte das ganze noch auf 80x240=19200Byte begrenzen, dauert bei 
57600Baud aber trotzdem noch 3,3s.

Autor: Wigbert Picht (wigbert) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

mal für Dumme, war da nicht schon ein Busy Pin vorhanden,
der den Datenfluss stoppt und was soll synchronisiert werden?
Ok es gibt wohl keine Check Rückantwort,
das alles richtig angekommen ist, wäre bei Einsatz eines Abgesetzten
Displays vielleicht notwendig.

Wigbert

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wigbert Picht-dl1atw schrieb:
> mal für Dumme, war da nicht schon ein Busy Pin vorhanden,
> der den Datenfluss stoppt und was soll synchronisiert werden?

Ja, den gibt es. Der stoppt die Datenübertragung wenn der Empfangspuffer 
überläuft.

Autor: Christian J. (elektroniker68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leute,

nicht so schwerfällig. Jedes Protokoll MUSS eine Möglichkeit bieten, 
dass es aus einemm fernen State zurück in den Idle State kommt. Die 
ganze Sache ist ja nichts anderws als eine Statemachine.

Meinetwegen kann man das auch mit dem WDT machen, dass er aus einer 
Empfangsschleife rausgeht, wenn keine neuen Bytes mehr kommen, jedoch 
müssen natürlich die Inhalte des Sram unverändert bleiben.

Timeout ca 100ms. Derzeit hängt der Avr unrettbar fest, wenn das 
Protokoll unterbrochen wird oder man sendet dermassen viel Müll rüber, 
dass selbst die Bitmap Funktion überläuft.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian J. schrieb:
> Meinetwegen kann man das auch mit dem WDT machen, dass er aus einer
> Empfangsschleife rausgeht, wenn keine neuen Bytes mehr kommen, jedoch
> müssen natürlich die Inhalte des Sram unverändert bleiben.

Kann ich gerne einbauen, ist eine Sache von ein paar Sekunden. Aber wie 
gesagt: Ich finde die Lösung nicht gut, denn dann resettet der AVR 
ununterbrochen wenn keine Daten gesendet werden.

> Derzeit hängt der Avr unrettbar fest, wenn das
> Protokoll unterbrochen wird oder man sendet dermassen viel Müll rüber,
> dass selbst die Bitmap Funktion überläuft.

Das stimmt nicht: Wie oben geschrieben: Man muss einfach nur Daten 
senden, damit die Funktion die erwartete Anzahl bekommt. Wenn man nicht 
weiß wieviele, dann einfach 0en senden, denn die werden als Befehl 
ignoriert.

Autor: Michael Prader (praderbz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht ist es eine bescheuerte Idee, aber wie wäre die Anwendung des 
SLIP-Protokolls?

Lg
Michael

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht in die oben erwähnte Richtung, dass es feste Werte gibt die 
einen neuen Befehl ankündigen, ähnlich STX/ETX.
Soll ich das ganze auf solch ein Protokoll umbauen (ähnlich dem das ich 
bei meinem 640x480 Controller verwendet habe)? Also alle Daten die 
ankommen sind Bild oder Textdaten, erst wenn ein bestimmtes Zeichen 
erkannt wird (z.B. der Escape Code 27), dann wird der darauffolgende 
Wert als Befehl interpretiert.
Um den Datenwert 27 zu senden ist dieser 2x hintereinander zu 
übertragen.

Das ganze hat dann den Nachteil, dass man nicht dumm die Bilddaten 
übertragen kann, sondern alle Bytes auf den Wert 27 prüfen muss, und 
diesen dann doppelt einfügen muss. Dies empfand ich als ziemlich nervig.

Autor: O. Hagendorf (ohagendorf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Christian J. schrieb:
>> Meinetwegen kann man das auch mit dem WDT machen, dass er aus einer
>> Empfangsschleife rausgeht, wenn keine neuen Bytes mehr kommen, jedoch
>> müssen natürlich die Inhalte des Sram unverändert bleiben.

Benedikt K. schrieb:
>Kann ich gerne einbauen, ist eine Sache von ein paar Sekunden. Aber wie
>gesagt: Ich finde die Lösung nicht gut, denn dann resettet der AVR
>ununterbrochen wenn keine Daten gesendet werden.

Ohne jetzt die Sourcen bzw. das Protokoll genau zu kennen, aber was 
spricht dagegen den WDT erst dann zu aktivieren, nachdem das erste Byte 
empfangen wurde und wieder zu deaktivieren, wenn alle Kommandos 
abgearbeitet wurden?
Dann is ein einfacher Neueinstieg möglich, sollte ein Kommando 
abgebrochen werden und der ständige Reset wird vermieden, wenn der Host 
gerade keine Kommandos sendet.

Autor: Christian J. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohne jetzt die Sourcen bzw. das Protokoll genau zu kennen, aber was
spricht dagegen den WDT erst dann zu aktivieren, nachdem das erste Byte
empfangen wurde und wieder zu deaktivieren, wenn alle Kommandos
abgearbeitet wurden?

---

Wenn der Avr einen solchen WDT hat, der sich abschalten lässt wäre das 
eine gute Lösung. Das Protokoll sollte einfach bleiben, so dass jeder 
damit umgehen kann.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mal den besagten Timeout eingebaut. Allerdings nicht global 
über den WDT, sondern nur lokal in der Schleife die die Bilddaten 
empfängt.
Bei allen anderen Befehlen hängt das ganze also weiterhin, was meiner 
Meinung nach nicht schlimm ist, denn für die restlichen Befehle reichen 
worst case 8 nops. Notfalls kann ich das aber noch einfügen, es macht 
den Code halt etwas unleserlich und bläht diesen etwas auf.
Im LCD Interrupt wird eine Variable runtergezählt, und sobald