LCDs und GLCDs anschließen und ansteuern (BASCOM)

dino03 schrieb:
nimm mal Schottky-Dioden ...
danke! funkt mehr als perfekt! ;)

hätte noch 2 weitere Fragen:

1. habe jetzt den Inverter für mein Display bekommen. Es pfeift aber fürchterlich wenn der im Betrieb ist. Gibt es vielleicht eine Lösung dafür?

2. wie kann ich ihn richtig mit dem µC aus/einschalten, sprich geht das mit einem Transistor? Brauche ich eine Schutzdiode (Inverter = induktive Last?)

danke schon im Voraus!
 
1. habe jetzt den Inverter für mein bekommen.
Es pfeift aber fürchterlich wenn der im Betrieb ist.


Hallo Ramses!

Nun ja.... die EL-Inverter machen in Betrieb alle ein leichtes Geräusch.
Dass lässt sich nun mal nicht vermeiden.
Allerdings dürfte das wirklich nur minimal und kaum zu hören sein.



Gibt es vielleicht eine Lösung dafür?

Ja..... Beleuchtung ausschalten. ;)



wie kann ich ihn richtig mit dem µC aus/einschalten....

Mit einem Transistor und einer Freilaufdiode auf jeden Fall.
Es gibt aber auch MOS-FET`s die eine Diode bereits eingebaut haben.
Wenn mich nicht alles täuscht, müsste der BS170 auch eine Diode drin haben..... aber ob er die Belastung verträgt. :hmmmm:

Außerdem benötigt dein Inverter doch bestimmt 12V, oder?

Grüße,
Cassio
 
kaum zu hören...tja, entweder sind meine Ohren genau auf dieser Frequenz empfindlicher od. es gibt riesen Unterschiede in der Qualität

ich habe diesen HIER genommen (5V)
 
Hallo Ramses!

Dann scheint es wohl doch einige Unterschiede zu geben.....

Ich habe DIESEN HIER und der produziert nur ein kaum hörbares "Piepen".


Von der Belastung her müsste DIESER aber auch für das Dispaly ausreichend sein.

Grüße,
Cassio
 
Hallo zusammen!

Ich habe mal auf die Schnelle wieder ein Display getestet, welches mir zufällig beim Stöbern im Intenet aufgefallen ist. :wink:

Es ist ein GLCD mit 192x64 Pixel, welches mit einem KS0108 Controller ausgerüstet ist.....
Nun ist es zwar richtig, dass wir hier schon so ein GLCD in der "Sammlung" haben,
ABER nicht mit DREI Cs-Leitungen. :cool:

Aus dem Grunde war ich auch zu Beginn etwas skeptisch, ob es wohl fehlerfrei funktionieren würde.
Wie ihr aber sehen könnt, funktioniert es von der BASCOM-Seite aus problemlos und (was ich vorher nicht wusste)
in BASCOM gibt es dafür sogar eine entsprechende LIB (glcdks108-192x64.lib) . :D
GLCD19264-Testtext.jpg


Als Gimmik habe ich im Testcode mal ein Rollo eingebaut, dass als "CLS" funktioniert. :wink:
Einmal runter....
GLCD19264-runter.jpg

und dann wieder rauf:
GLCD19264-hoch.jpg



Hier nun noch der Testcode.....
Code:
$regfile = "m16def.dat"                                     'Mega16
$crystal = 8000000                                          'interner Takt

$hwstack = 64
$swstack = 64
$framesize = 64


' Configuriere das LCD
$lib "glcdks108-192x64.lib"                                 'BASCOM-LIB für 192x64 mit 3xCS
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portb , Cd = 0 , Rd = 1 , Ce = 4 , Ce2 = 5 , Ce3 = 6 , Enable = 2 , Reset = 3

' Bestimme die Ein und Ausgänge
Ddrc = &B0000_1111                                          '1 ist Ausgang 0 ist Eingang
Portc = &B1111_0000                                         'auf Hi oder Low setzen

Ddrd = &B1000_1111                                          '1 ist Ausgang 0 ist Eingang
Portd = &B0111_0000                                         'auf Hi oder Low setzen

'PORTA & PORTB = Display



Led Alias Portd.7                                           'Kontroll-LED

Const Aktiv = 0
Const Inaktiv = 1



Dim Z1 As Byte , Z2 As Byte

'0/0--------------------191/0
'|                      |
'|                      |
'0/63-------------------191/63

Cls
'----X1--Y1----X2---Y2----SET/DEL
Line(0 , 0) -(191 , 0) , 255                                'Linie zeichnen, oben
Line(0 , 63) -(191 , 63) , 255                              'Linie zeichnen, unten
Line(0 , 0) -(0 , 63) , 255                                 'Linie zeichnen, links
Line(191 , 0) -(191 , 63) , 255                             'Linie zeichnen, rechts

Line(2 , 2) -(189 , 2) , 255                                'Linie, oben
Line(2 , 61) -(189 , 61) , 255                              'Linie, unten
Line(2 , 2) -(2 , 61) , 255                                 'Linie, links
Line(189 , 2) -(189 , 61) , 255                             'Linie, rechts


Do
Led = Aktiv

Setfont Font8x8
'--Zeile--Pixel---------------------------Normal/Invers
Lcdat 2 , 5 , "Testprogramm GLCD-KS108"
   Wait 1
Lcdat 3 , 5 , " 192x64 Pixel mit 3xCs "
   Wait 1
Lcdat 4 , 5 , "  glcdks108-192x64.lib "
   Wait 1


Lcdat 7 , 29 , "von AVR-Praxis.de" , 1

Setfont Font16x16
Lcdat 5 , 48 , "Cassio"


Wait 6

'-----------------------------------
For Z2 = 3 To 60
Line(3 , Z2) -(188 , Z2) , 255                              'Linie zeichnen (runter)
Waitms 2
Next

Wait 1

For Z2 = 60 To 3 Step -1
Line(3 , Z2) -(188 , Z2) , 0                                'Linie löschen (hoch)
Waitms 5
Next


Led = Inaktiv
Wait 1

Loop

End


$include "font8x8.font"
$include "font16x16.font"


....und der Anschlussplan:
GLCD-192x64-Plan.gif



Warum es zu Beginn aber dann doch ein paar Probleme gab, schreibe ich beim nächsten Mal.

Grüße,
Cassio
 
Hallo zusammen!

Ich wollte ja noch etwas zu den anfänglichen Problemen mit dem Display schreiben....

Softwareseitig war ich doch recht erleichtert und begeistert, dass es zum Ansteuern sogar schon eine passende LIB in BASCOM gab.
Hardwareseitig wollte das Display zu Beginn aber absolut nichts anzeigen. :banghead:

Nun aber mal der Reihe nach....
Wie schon berichtet, habe ich das GLCD eher aus Zufall bei Pollin gefunden.
Ein Zufall war es deshalb, weil es nicht wie üblich unter der Rubrik "Aktive Bauelemente / Display" abgelegt ist, sondern als Einzigstes unter "Optoelektronik". :hmmmm:
Wer noch mal nachschauen möchte, hier ist der Link zu Pollin.


Als ich das Display nach der Lieferung dann testen wollte hatte ich mich nach dem ordnungsgemäßen Anschließen schon gewundert, dass sich der Kontrast nicht verstellen lies. :hmmmm:
Auch nach dem Aufspielen des Testprogramms auf den Mega16 tat sich nichts.
Es zeigte einfach nichts an!
Obendrein funktionierte noch nicht einmal die Hintergrundbeleuchtung.


Nach der Übrüfung aller Anschlusspins hatte ich dann heraus gefunden, dass der Pin "Vee" (der eigentlich eine negative Spannung zur Verfügung stellen sollte) keinerlei Potential aufwies. :hmmmm:

Auf der Rückseite war zu erkennen (habe den Bereich mal eingefärbt), dass die negative Kontrastspannung mit einem ICL7660 erzeugt wird.
GLCD19264-backside.jpg
Da lt. Datenblatt des ICL7660 der Pin 5 die negative Ausgangsspannung liefern soll, habe ich dort mal direkt gemessen......
Siehe da, hier standen die -5V auch zur Verfügung.

Nach einer genauen Untersuchung beider Platinenseiten (mit Entfernen des Displays) war zu erkennen, dass es einfach keine Leiterbahn von Pin 5 des ICL7660 zum Anschluss-Pin Vee gab.
Dies war also der Grund, warum der Anschluss-Pin Vee völlig potentialfrei war.

Das Gleiche "Problem" hatte übrigens die Hintergrundbeleuchtung auch.
Der Anschluss-Pin 20 vom Display war zwar mit der Anode der Beleuchtung verbunden, jedoch fehlte eine Verbindung zu GND!


Ich habe von der fehlerhaften Platine mal ein Detailfoto gemacht:
GLCD19264-offen.jpg



Nach dem erfolgreichen Reparieren sieht die Platine nun so aus:
GLCD19264-repariert.jpg


Fazit:
Das Display ist zwar mit 9,95 Euro recht günstig, trotzdem hätte Pollin mal auf die fehlerhafte Platine hinweisen können........
Oder soll es als defektes Display zu 6,95 Euro anbieten!

Die "Reparatur" ist zwar nicht besonders aufwendig, aber für 9,95 Euro gab es früher schon das 240x64Pixel GLCD.... und da musste man nicht erst die Leiterbahn frei kratzen und Brücken einlöten!


Obendrein scheint das Display aber generell ein Problem mit der Darstellung zu haben.
Sobald man das Display vollständig beschreibt geht der Kontrast stark zurück.
Füllt man das Display aber vollständig mit Pixeln, ist der Kontrast wieder sehr deutlich.
Woher das kommt habe ich allerdings noch nicht heraus gefunden....



Wenn also ein User mit dem Gedanken spielt sich das Display zu kaufen dann er bitte daran denken, dass er vor der Inbetriebnahme erst noch ein paar Brücken einlöten muss!

Grüße,
Cassio
 
Hallo,

ich versuche, GLCD 240x128 von Electronic Assembly anzusteuern. Datenblatt
Es zeigt wirrende Pixeln.

Diese GLCD hat kein FS, was BASCOM benötigt wird, sonst meckert er, wenn ich nicht angegeben habe.

Code:
$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600

'Datenblatt: http://www.lcd-module.de/pdf/grafik/dip240-7.pdf

'21       GND            GND
'22       +5V            +5V
'23       RV             Poti 10K
'24       VEE            Anschluss siehe Datenblatt
'25       C/D            PORTA.0
'26       WR             PORTA.1
'27       RD             PORTA.2
'28       CE             PORTA.3
'29       RESET          PORTA.4
'30-37    D0-D7          PORTC
'38       LEDoff         PORTA.5
'39       A              -[1K]-VCC
'40       C              GND

Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Porta , Cd = 0 , Wr = 1 , Rd = 2 , Ce = 3 , Reset = 4 , Fs = 5 , Mode = 8

Cls

Cursor Off

Wait 1

Locate 1 , 1

Lcd "MCS Electronics"

Locate 2 , 1 : Lcd "T6963c support"

Locate 3 , 1 : Lcd "1234567890123456789012345678901234567890"

Locate 16 , 1 : Lcd "write this to the lower line"
 
"Anfängerdisplay"

Hallo Leute,

Kann mir jemand ein Grafikdisplay emfehlen:
-einigermaßen günstig
-leicht anzusteuern

mit dem Pollin Display komm ich einfach nicht zurecht...:(

Danke im Vorraus!

Gruß
AVRuser
 
Diese GLCD hat kein FS, was BASCOM benötigt wird, sonst meckert er, wenn ich nicht angegeben habe.


Hallo Deaf Boy!

Das dein Display kein FS-Pin hat ist nicht schlimm!
FS steht für "FontSelect", damit kann man bei vielen Displays mit T6963 Controller zwischen zwei integrierten Schriftbreiten wechseln (8x8 oder 8x6).

Hast du dir mal DIESEN BEITRAG angesehen?
Da geht es auch um ein Display mit dem T6963 Controller.


Grüße,
Cassio
 
Hallo

Ich bin gerade dabei das 128x64 GLCD mit dem KS0108 Chipsatz von pollin anzusteuern. Bis jetzt konnte ich auch alle Probleme mit google lösen, und das Display zeigt auch etwas an. Jedoch habe ich jetzt noch zwei Probleme.

1. Es sind die Seiten vom Display vertauscht. Ich will den Text "123" in der Reihe 0 beginnen anzeigen, jedoch fängt der in der Mitte an.
2. Auf dem Display sind zwei Pixelbalken, die VOR der schrift auf dem Display erscheinen.

Auf dem Foto wird glaube ich deutlicher :)

Das ist mein kompletter Code zum Testen.
$regfile = "m32def.dat" ' specify the used micro
$crystal = 16000000 ' used crystal frequency
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space


'some routines to control the display are in the glcdKS108.lib file
$lib "glcdKS108.lbx"


Wait 2


'First we define that we use a graphic LCD
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 5 , Ce2 = 6 , Cd = 2 , Rd = 3 , Reset = 7 , Enable = 4


Setfont Font8x8

'---------------------------------------------------------------------
' Arbeitsschleife
Gosub Lcd_cls2
Wait 1


Lcdat 1 , 1 , "123"
Lcdat 1 , 30 , "123" , 1


Do
Loop
End 'end program

'---------------------------------------------------------------------
Lcd_cls2:
Glcdcmd &H3E , 1 : Glcdcmd &H3E , 2 ' both displays off
Cls
Waitms 10
Glcdcmd &H3F , 1 : Glcdcmd &H3F , 2 'both on
Return
'---------------------------------------------------------------------

$include "font8x8.font"
IMAG0008.jpg
 
Hallo!

Zu 1. Vertausch mal die CS Eingänge des Displays ( Ce=6,Ce2=5)

Zu 2. Hast Du JTAG ausgeknipst?

MfG
 
Also C1 und C2 hab ich getauscht und die Display Anzeige ist jetzt richtig herum. JTAG ist auch aus aber die Balken bleiben.
 
Hallo!

Kannst du zum Test mal deinen Systemtakt "runterschrauben"?
Verwende doch mal den internen 1MHz Takt und teste dann das Display noch mal.

Den externen Quarz musst du deswegen nicht entfernen.....
Einfach mal die FUSES umstellen.

Würde mich mal interessieren, ob die wirren Zeichen dann immer noch ausgegeben werden. :hmmmm:

Grüße,
Cassio
 
Ok die wiren Zeichen sind weg. warscheinlich wurde das Display nicht richtig aus und wieder ein geschaltet.

Danke für eure Hilfe.

Falls noch jemand das Problem hat. Ich habe das LCD mit einem Atmega 8 Betrieben und 8 MHz internet Oscillator. Da brauche ich nichteinmal zeiten zwischen den Initialisierungsschritten oder anzeigenwechsel.
 
Hallo!

Na, OK.... dann ist dir ja erst einmal geholfen, wenn es auch nicht die Lösung war. :wink:

Irgendwann hatten wir hier das Thema glaube ich schon mal (KS0108 und 16MHz).
Der Gute hatte dann auch eine Lösung gefunden, in der man die LIB nachbearbeiten musste.
Leider habe ich den Beitrag nicht (mehr) gefunden, um ihn hier her zu verlinken.
Wenn ich ihn noch finden sollte, stelle ich hier noch mal einen Link ein.

Grüße,
Cassio
 
Hallo (noch mal)!

Mensch, mensch, mensch.... da sucht man eine halbe Stunde und findet nix.....

Nun habe ich aber den Beitrag doch noch entdeckt! :)
Schau bitte noch mal HIER, da steht auch ggf. die Lösung für die LIB.... falls du die selbe Version verwendet hast.
Dukedolphin hat lediglich etwas "längere" Pausen eingesetzt und dann klappte es auch mit 16MHz. :D

Grüße,
Cassio
 
Ja den hab ich eben auch gefunden und schon geändert und es funktioniert jetzt auch mit 16 MHz.
 
Hallo!

Bei mir läuft das Pollin Teil mit einem M168 und 18,432MHz ohne Probleme
und ohne an einer Lib herumzuschrauben.

MfG
 

Über uns

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

User Menu

 Kaffeezeit

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

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


     Spende uns! (Paypal)